Re: MultiAlcoveManager
Posted: Tue Jan 20, 2015 4:59 pm
You can take the stuff and you can put it back. Concerning the weapon-only-racks there is the restriction that some weapon just fit on certain places.
Normal situation is free manipulation with items like another alcove object. But is possible to set variable with script in object ( canRemove = false) for disabling to take item from rack.TheStoryteller01 wrote:This looks amazing.
Is it actually possible to take stuff from the racks or is this just for the looks?
Yes this positions of object in rack is stricly defined for each item( group of items if they have simmilar root position and type ) separately. But this system is open and it is possible to add new positions for custom items if it need.THOM wrote:You can take the stuff and you can put it back. Concerning the weapon-only-racks there is the restriction that some weapon just fit on certain places.
Hi AdrTru,AdrTru wrote:I published version 1.5 of this mod....
Code: Select all
function onMoveThru(dir)
local dx, dy = getForward(dir)
local tile = party.map:entitiesAt(party.x, party.y)
for ent in tile do
if ent.mamdata ~= nil and ent.mamdata.getCanMoveThru() ~= nil and MAM_Racks[ent.id] ~= nil then
local canMoveThru = MAM_Racks[ent.id].canMoveThru or MAM_onMoveThru or false
if (canMoveThru == false) and (ent.facing == dir) then return false end
end
end
local tile = party.map:entitiesAt(party.x + dx, party.y + dy)
for ent in tile do
if ent.mamdata ~= nil and MAM_Racks[ent.id] ~= nil then
if (MAM_Racks[ent.id].canMoveThru == false) and (ent.facing == (dir + 2) % 4) then return false end
end
end
return true
end
Code: Select all
function onMoveThru(dir)
local dx, dy = getForward(dir)
local tile = party.map:entitiesAt(party.x, party.y)
for ent in tile do
if ent.mamdata ~= nil and ent.mamdata.getCanMoveThru() ~= nil and MAM_Racks[ent.id] ~= nil then
local canMoveThru = MAM_Racks[ent.id].canMoveThru or MAM_onMoveThru or false
if (canMoveThru == false) and (ent.facing == dir) and (ent:getElevation() == party:getElevation()) then return false end
end
end
local tile = party.map:entitiesAt(party.x + dx, party.y + dy)
for ent in tile do
if ent.mamdata ~= nil and MAM_Racks[ent.id] ~= nil then
if (MAM_Racks[ent.id].canMoveThru == false) and (ent.facing == (dir + 2) % 4) and (ent:getElevation() == party:getElevation()) then return false end
end
end
return true
end
Thanks a lot! I have tested it just now and it works fine. I don't use your asset in ORR3, only in the mod I am working on.AdrTru wrote:Oki, thank you for report.
There is changed function for respected Elevation.But for OOR3 project I changed MAM like Pedestal ( there isnt need this function )SpoilerShowCode: Select all
function onMoveThru(dir) local dx, dy = getForward(dir) local tile = party.map:entitiesAt(party.x, party.y) for ent in tile do if ent.mamdata ~= nil and ent.mamdata.getCanMoveThru() ~= nil and MAM_Racks[ent.id] ~= nil then local canMoveThru = MAM_Racks[ent.id].canMoveThru or MAM_onMoveThru or false if (canMoveThru == false) and (ent.facing == dir) and (ent:getElevation() == party:getElevation()) then return false end end end local tile = party.map:entitiesAt(party.x + dx, party.y + dy) for ent in tile do if ent.mamdata ~= nil and MAM_Racks[ent.id] ~= nil then if (MAM_Racks[ent.id].canMoveThru == false) and (ent.facing == (dir + 2) % 4) and (ent:getElevation() == party:getElevation()) then return false end end end return true end
I will create new mod version for nexus site asap.
Hi AdrTru,AdrTru wrote:In Nexus is new version MAM.
- mod now worked without need fw hook.
- keep compatibility with object in dung ( read readme.txt for instalation )
- add hook for hanging shields on wall
- racks are redefined lke pedestal for manipulating items from both sides
- fix for bug on moving thru rack in different elevations ( as pedestal )