• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Solved Zao Gate of Expertise doesn't close

Ataro

Member
Joined
Oct 28, 2010
Messages
689
Reaction score
19
Location
Netherlands
Okay so I got my gate of expertises at zao (The green ones)
They have item id's:
Vertical
-Closed: 12165
-Open: 12166
Horizontal:
-Closed: 12156
-Open: 12157

Problem: When opening door I get pushed to it's location and that works fine.
But when leaving the door it remains open and can be closed manually
When still standing in the door when open and u use it again you get pushed out like you should but the door remains open.

Actions.xml:
Code:
<action fromid="12154" toid="12166" event="script" value="other/doors.lua"/>

Items.xml:
Code:
    <item id="12165" article="a" name="gate of expertise">
        <attribute key="type" value="door"/>
        <attribute key="levelDoor" value="1000"/>
        <attribute key="blockprojectile" value="1"/>
    </item>
    <item id="12166" article="a" name="gate of expertise">
        <attribute key="type" value="door"/>
    </item>
  <item id="12156" article="a" name="gate of expertise">
    <attribute key="type" value="door" />
    <attribute key="levelDoor" value="1000" />
    <attribute key="blockprojectile" value="1" />
  </item>
  <item id="12157" article="a" name="gate of expertise">
    <attribute key="type" value="door" />
  </item>

000-constant.lua
Code:
doors = {[1209] = 1211, [1210] = 1211, [1212] = 1214, [1213] = 1214, [1219] = 1220, [1221] = 1222, [1231] = 1233, [1232] = 1233, [1234] = 1236, [1235] = 1236, [1237] = 1238, [1239] = 1240, [1249] = 1251, [1250] = 1251, [1252] = 1254, [1253] = 1254, [1539] = 1540, [1541] = 1542, [3535] = 3537, [3536] = 3537, [3538] = 3539, [3544] = 3546, [3545] = 3546, [3547] = 3548, [4913] = 4915, [4914] = 4915, [4916] = 4918, [4917] = 4918, [5082] = 5083, [5084] = 5085, [5098] = 5100, [5099] = 5100, [5101] = 5102, [5107] = 5109, [5108] = 5109, [5110] = 5111, [5116] = 5118, [5117] = 5118, [5119] = 5120, [5125] = 5127, [5126] = 5127, [5128] = 5129, [5134] = 5136, [5135] = 5136, [5137] = 5139, [5138] = 5139, [5140] = 5142, [5141] = 5142, [5143] = 5145, [5144] = 5145, [5278] = 5280, [5279] = 5280, [5281] = 5283, [5282] = 5283, [5284] = 5285, [5286] = 5287, [5515] = 5516, [5517] = 5518, [5732] = 5734, [5733] = 5734, [5735] = 5737, [5736] = 5737, [6192] = 6194, [6193] = 6194, [6195] = 6197, [6196] = 6197, [6198] = 6199, [6200] = 6201, [6249] = 6251, [6250] = 6251, [6252] = 6254, [6253] = 6254, [6255] = 6256, [6257] = 6258, [6795] = 6796, [6797] = 6798, [6799] = 6800, [6801] = 6802, [6891] = 6893, [6892] = 6893, [6894] = 6895, [6900] = 6902, [6901] = 6902, [6903] = 6904, [7033] = 7035, [7034] = 7035, [7036] = 7037, [7042] = 7044, [7043] = 7044, [7045] = 7046, [7054] = 7055, [7056] = 7057, [8541] = 8543, [8542] = 8543, [8544] = 8546, [8545] = 8546, [8547] = 8548, [8549] = 8550, [9165] = 9167, [9166] = 9167, [9168] = 9170, [9169] = 9170, [9171] = 9172, [9173] = 9174, [9267] = 9269, [9268] = 9269, [9270] = 9272, [9271] = 9272, [9273] = 9274, [9275] = 9276, [10276] = 10277, [10274] = 10275, [10268] = 10270, [10269] = 10270, [10271] = 10273, [10272] = 10273, [10471] = 10472, [10480] = 10481, [10477] = 10479, [10478] = 10479, [10468] = 10470, [10469] = 10470, [10774] = 10776, [10775] = 10776, [10779] = 10780, [10781] = 10782, [10783] = 10785, [10784] = 10785, [10788] = 10789, [10790] = 10791}
closingDoors = {12157, 12166, 1224, 1226, 1228, 1230, 1242, 1244, 1246, 1248, 1256, 1258, 1260, 1262, 3541, 3543, 3550, 3552, 5104, 5106, 5113, 5115, 5122, 5124, 5131, 5133, 5289, 5291, 5293, 5295, 6203, 6205, 6207, 6209, 6260, 6262, 6264, 6266, 6897, 6899, 6906, 6908, 7039, 7041, 7048, 7050, 8552, 8554, 8556, 8558, 9176, 9178, 9180, 9182, 9278, 9280, 9282, 9284, 10279, 10281, 10283, 10285, 10474, 10476, 10483, 10485, 10780, 10782, 10789, 10791}
verticalOpenDoors = {12166, 1211, 1220, 1224, 1228, 1233, 1238, 1242, 1246, 1251, 1256, 1260, 1540, 3546, 3548, 3550, 3552, 4915, 5083, 5109, 5111, 5113, 5115, 5127, 5129, 5131, 5133, 5142, 5145, 5283, 5285, 5289, 5293, 5516, 5737, 5749, 6194, 6199, 6203, 6207, 6251, 6256, 6260, 6264, 6798, 6802, 6902, 6904, 6906, 6908, 7044, 7046, 7048, 7050, 7055, 8543, 8548, 8552, 8556, 9167, 9172, 9269, 9274, 9278, 9282, 10270, 10275, 10279, 10283, 10479, 10481, 10483, 10485, 10789, 10791}
horizontalOpenDoors = {12157, 1214, 1222, 1226, 1230, 1236, 1240, 1244, 1248, 1254, 1258, 1262, 1542, 3537, 3539, 3541, 3543, 4918, 5085, 5100, 5102, 5104, 5106, 5118, 5120, 5122, 5124, 5136, 5139, 5280, 5287, 5291, 5295, 5518, 5734, 5746, 6197, 6201, 6205, 6209, 6254, 6258, 6262, 6266, 6796, 6800, 6893, 6895, 6897, 6899, 7035, 7037, 7039, 7041, 7057, 8546, 8550, 8554, 8558, 9170, 9174, 9272, 9276, 9280, 9284, 10273, 10277, 10281, 10285, 10470, 10472, 10474, 10476, 10780, 10782}
specialDoors = {1223, 1225, 1241, 1243, 1255, 1257, 3542, 3551, 5105, 5114, 5123, 5132, 5288, 5290, 5745, 5748, 6202, 6204, 6259, 6261, 6898, 6907, 7040, 7049, 8551, 8553, 9175, 9177, 9277, 9279, 10278, 10280, 10475, 10484, 10781, 10790}
keys = {2086, 2087, 2088, 2089, 2090, 2091, 2092, 10032, 10091}

I already checked with other gates of expertise and they work fine.
Am I missing something?

TFS version: 0.4.3777.19
 
Code:
function onStepOut(cid, item, position, lastPosition)
    if(getTileInfo(position).creatures > 0) then
        return true
    end

    local newPosition = {x = position.x + 1, y = position.y, z = position.z}
    local query = doTileQueryAdd(cid, newPosition)
    if(query == RETURNVALUE_NOTENOUGHROOM) then
        newPosition.x = newPosition.x - 1
        newPosition.y = newPosition.y + 1
        query = doTileQueryAdd(cid, newPosition) -- repeat until found
    end

    if(query == RETURNVALUE_NOERROR and query == RETURNVALUE_NOTENOUGHROOM) then
        doRelocate(position, newPosition)
    end

    position.stackpos = -1
    local i, tileItem, tileCount = 1, {uid = 1}, getTileThingByPos(position)
    while(tileItem.uid ~= 0 and i < tileCount) do
        position.stackpos = i
        tileItem = getTileThingByPos(position)
        if(tileItem.uid ~= 0 and tileItem.uid ~= item.uid and isMovable(tileItem.uid)) then
            doRemoveItem(tileItem.uid)
        else
            i = i + 1
        end
    end

    local itemInfo = getItemInfo(item.itemid)
    doTransformItem(item.uid, itemInfo.transformUseTo)
    return true
end
 
Add the attribute in items.xml like the other doors or change itemInfo.transformUseTo to item.itemid - 1.
That's causing errors in my console.
Just found a different closingdoors.lua and that one seems to work

I think my server has mixed distribution files. But it was the only one I could find around here.
Bit off topic but what do you think would be the distribution for a 8.6 (realmap) server? Since I also heard a lot of bad things about rev 3777
And do you by coincidence have the download link to that distribution?

P.S Great that dedicated people like you are still around btw! It's been a few years since I last visited here


closingdoors.lua
Code:
function onStepOut(cid, item, position, fromPosition)
    if(getTileInfo(position).creatures > 0) then
        return true
    end

    local newPosition = {x = position.x, y = position.y, z = position.z}
    if(isInArray(verticalOpenDoors, item.itemid)) then
        newPosition.x = newPosition.x + 1
    else
        newPosition.y = newPosition.y + 1
    end

    doRelocate(position, newPosition)
    local tmpPos = position
    tmpPos.stackpos = -1

    local i, tmpItem, tileCount = 1, {uid = 1}, getTileThingByPos(tmpPos)
    while(tmpItem.uid ~= 0 and i < tileCount) do
        tmpPos.stackpos = i
        tmpItem = getTileThingByPos(tmpPos)
        if(tmpItem.uid ~= item.uid and tmpItem.uid ~= 0 and isMoveable(tmpItem.uid)) then
            doRemoveItem(tmpItem.uid)
        else
            i = i + 1
        end
    end

    doTransformItem(item.uid, item.itemid - 1)
    return true
end
 
They all have good and bad parts, doesn't really matter that much, it if works good enough for you, you should use it.
 
Back
Top