Ir para conteúdo
  • 0

Porta de Level


Marshmello

Pergunta

Ola Galera To cm Problema Na Minha Porta De Level Quando Eu Clico Ele So Entra e sai  Alguem Pode Me ajudar

 

 

Minha Door.lua

Spoiler

local function checkStackpos(item, position)
    position.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
    local thing = getThingFromPos(position)
 
    position.stackpos = STACKPOS_TOP_FIELD
    local field = getThingFromPos(position)
 
    return (item.uid == thing.uid or thing.itemid < 100 or field.itemid == 0)
end
 
local function doorEnter(cid, item, toPosition)
    doTransformItem(item.uid, item.itemid + 1)
    doTeleportThing(cid, toPosition)
    closeDoor(toPosition)
end
 
function closeDoor(pos)
    pos.stackpos = 253
    local item = getThingFromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 1})
    if getThingFromPos(pos).uid > 0 then
        return addEvent(closeDoor, 200, pos)
    end
    doTransformItem(item.uid, item.itemid - 1)
end
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(fromPosition.x ~= CONTAINER_POSITION and isPlayerPzLocked(cid) and getTileInfo(fromPosition).protection) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
        return true
    end
 
    if(getItemLevelDoor(item.itemid) > 0) then
        if(item.actionid == 189) then
            if(not isPremium(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end
 
            doorEnter(cid, item, toPosition)
            return true
        end
 
        local gender = item.actionid - 186
        if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender)) then
            if(gender ~= getPlayerSex(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end
 
            doorEnter(cid, item, toPosition)
            return true
        end
 
        local skull = item.actionid - 180
        if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
            if(skull ~= getCreatureSkullType(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end
 
            doorEnter(cid, item, toPosition)
            return true
        end
 
        local group = item.actionid - 150
        if(group >= 0 and group < 30) then
            if(group > getPlayerGroupId(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end
 
            doorEnter(cid, item, toPosition)
            return true
        end
 
        local vocation = item.actionid - 100
        if(vocation >= 0 and vocation < 50) then
            local playerVocationInfo = getVocationInfo(getPlayerVocation(cid))
            if(playerVocationInfo.id ~= vocation and playerVocationInfo.fromVocation ~= vocation) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end
 
            doorEnter(cid, item, toPosition)
            return true
        end
 
    if(item.actionid == 190 or (item.actionid ~= 0 and getPlayerLevel(cid) >= (item.actionid - getItemLevelDoor(item.itemid)))) then
    doorEnter(cid, item, toPosition)
else
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Apenas jogadores com Level "..(item.actionid - getItemLevelDoor(item.itemid)).." ou superior podem passar.")
end
 
        return true
    end
 
    if(isInArray(specialDoors, item.itemid)) then
        if(item.actionid == 100 or (item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) > 0)) then
            doorEnter(cid, item, toPosition)
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
        end
 
        return true
    end
 
    if(isInArray(keys, item.itemid)) then
        if(itemEx.actionid > 0) then
            if(item.actionid == itemEx.actionid and doors[itemEx.itemid] ~= nil) then
                doTransformItem(itemEx.uid, doors[itemEx.itemid])
                return true
            end
 
            doPlayerSendCancel(cid, "The key does not match.")
            return true
        end
 
        return false
    end
 
    if(isInArray(horizontalOpenDoors, item.itemid) and checkStackpos(item, fromPosition)) then
        local newPosition = toPosition
        newPosition.y = newPosition.y + 1
        local doorPosition = fromPosition
        doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
        local doorCreature = getThingfromPos(doorPosition)
        if(doorCreature.itemid ~= 0) then
            local pzDoorPosition = getTileInfo(doorPosition).protection
            local pzNewPosition = getTileInfo(newPosition).protection
            if((pzDoorPosition and not pzNewPosition and doorCreature.uid ~= cid) or
                (not pzDoorPosition and pzNewPosition and doorCreature.uid == cid and isPlayerPzLocked(cid))) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            else
                doTeleportThing(doorCreature.uid, newPosition)
                if(not isInArray(closingDoors, item.itemid)) then
                    doTransformItem(item.uid, item.itemid - 1)
                end
            end
 
            return true
        end
 
        doTransformItem(item.uid, item.itemid - 1)
        return true
    end
 
    if(isInArray(verticalOpenDoors, item.itemid) and checkStackpos(item, fromPosition)) then
        local newPosition = toPosition
        newPosition.x = newPosition.x + 1
        local doorPosition = fromPosition
        doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
        local doorCreature = getThingfromPos(doorPosition)
        if(doorCreature.itemid ~= 0) then
            if(getTileInfo(doorPosition).protection and not getTileInfo(newPosition).protection and doorCreature.uid ~= cid) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            else
                doTeleportThing(doorCreature.uid, newPosition)
                if(not isInArray(closingDoors, item.itemid)) then
                    doTransformItem(item.uid, item.itemid - 1)
                end
            end
 
            return true
        end
 
        doTransformItem(item.uid, item.itemid - 1)
        return true
    end
 
    if(doors[item.itemid] ~= nil and checkStackpos(item, fromPosition)) then
        if(item.actionid == 0) then
            doTransformItem(item.uid, doors[item.itemid])
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
        end
 
        return true
    end
    
    local houseDoors = {
        [11790] = 11792,
        [11791] = 11792,
        [11792] = 11790,
        [11793] = 11795,
        [11794] = 11795,
        [11795] = 11793,
        [11796] = 11797,
        [11797] = 11796,
        [11798] = 11799,
        [11799] = 11798,
        [11800] = 11801,
        [11801] = 11800,
        [11802] = 11803, -- alterado v1.6
        [11803] = 11802,
    }
    
    if houseDoors[item.itemid] then      
       doTransformItem(item.uid, houseDoors[item.itemid])
       return true
    end
 
    return false
end

 

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

sss

Desculpe o Doble Port 

 

Man Agr ta dando esse erro

 

Spoiler

[18/08/2016 20:54:31] [Error - Action Interface] 
[18/08/2016 20:54:31] data/actions/scripts/other/doors.lua:onUse
[18/08/2016 20:54:31] Description: 
[18/08/2016 20:54:31] attempt to index a nil value
[18/08/2016 20:54:31] stack traceback:
[18/08/2016 20:54:31]     [C]: in function 'doTeleportThing'
[18/08/2016 20:54:31]     data/actions/scripts/other/doors.lua:13: in function 'doorEnter'
[18/08/2016 20:54:31]     data/actions/scripts/other/doors.lua:79: in function <data/actions/scripts/other/doors.lua:16>

 

 

 

ELE Abre a Porta Mais n Entra Da Esse Erro ae

Editado por BrendoGraphics0
ERros
Link para o comentário
Compartilhar em outros sites

  • 0

SS foi todos ae da esse erro aki

 

Spoiler

[18/08/2016 20:54:31] [Error - Action Interface] 
[18/08/2016 20:54:31] data/actions/scripts/other/doors.lua:onUse
[18/08/2016 20:54:31] Description: 
[18/08/2016 20:54:31] attempt to index a nil value
[18/08/2016 20:54:31] stack traceback:
[18/08/2016 20:54:31]     [C]: in function 'doTeleportThing'
[18/08/2016 20:54:31]     data/actions/scripts/other/doors.lua:13: in function 'doorEnter'
[18/08/2016 20:54:31]     data/actions/scripts/other/doors.lua:79: in function <data/actions/scripts/other/doors.lua:16>

 

Link para o comentário
Compartilhar em outros sites

  • 0

Eu estou Usando Uma Pota de Level com Level 350

 

Doors.lua

Spoiler

local function checkStackpos(item, position)
    position.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
    local thing = getThingFromPos(position)

    position.stackpos = STACKPOS_TOP_FIELD
    local field = getThingFromPos(position)

    return (item.uid == thing.uid or thing.itemid < 100 or field.itemid == 0)
end

local function doorEnter(cid, item, fromPosition)
    doTransformItem(item.uid, item.itemid + 1)
    doTeleportThing(cid, toPosition)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(fromPosition.x ~= CONTAINER_POSITION and isPlayerPzLocked(cid) and getTileInfo(fromPosition).protection) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
        return true
    end

    if(getItemLevelDoor(item.itemid) > 0) then
        if(item.actionid == 189) then
            if(not isPremium(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, fromPosition)
            return true
        end

        local gender = item.actionid - 186
        if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender)) then
            if(gender ~= getPlayerSex(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, fromPosition)
            return true
        end

        local skull = item.actionid - 180
        if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
            if(skull ~= getCreatureSkullType(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, fromPosition)
            return true
        end

        local group = item.actionid - 150
        if(group >= 0 and group < 30) then
            if(group > getPlayerGroupId(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, fromPosition)
            return true
        end

        local vocation = item.actionid - 100
        if(vocation >= 0 and vocation < 50) then
            local playerVocationInfo = getVocationInfo(getPlayerVocation(cid))
            if(playerVocationInfo.id ~= vocation and playerVocationInfo.fromVocation ~= vocation) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, fromPosition)
            return true
        end

        if(item.actionid == 190 or (item.actionid ~= 0 and getPlayerLevel(cid) >= (item.actionid - getItemLevelDoor(item.itemid)))) then
            doorEnter(cid, item, fromPosition)
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
        end

        return true
    end

    if(isInArray(specialDoors, item.itemid)) then
        if(item.actionid == 100 or (item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) > 0)) then
            doorEnter(cid, item, fromPosition)
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
        end

        return true
    end

    if(isInArray(keys, item.itemid)) then
        if(itemEx.actionid > 0) then
            if(item.actionid == itemEx.actionid and doors[itemEx.itemid] ~= nil) then
                doTransformItem(itemEx.uid, doors[itemEx.itemid])
                return true
            end

            doPlayerSendCancel(cid, "The key does not match.")
            return true
        end

        return false
    end

    if(isInArray(horizontalOpenDoors, item.itemid) and checkStackpos(item, fromPosition)) then
        local newPosition = toPosition
        newPosition.y = newPosition.y + 1
        local doorPosition = fromPosition
        doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
        local doorCreature = getThingfromPos(doorPosition)
        if(doorCreature.itemid ~= 0) then
            local pzDoorPosition = getTileInfo(doorPosition).protection
            local pzNewPosition = getTileInfo(newPosition).protection
            if((pzDoorPosition and not pzNewPosition and doorCreature.uid ~= cid) or
                (not pzDoorPosition and pzNewPosition and doorCreature.uid == cid and isPlayerPzLocked(cid))) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            else
                doTeleportThing(doorCreature.uid, newPosition)
                if(not isInArray(closingDoors, item.itemid)) then
                    doTransformItem(item.uid, item.itemid - 1)
                end
            end

            return true
        end

        doTransformItem(item.uid, item.itemid - 1)
        return true
    end

    if(isInArray(verticalOpenDoors, item.itemid) and checkStackpos(item, fromPosition)) then
        local newPosition = toPosition
        newPosition.x = newPosition.x + 1
        local doorPosition = fromPosition
        doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
        local doorCreature = getThingfromPos(doorPosition)
        if(doorCreature.itemid ~= 0) then
            if(getTileInfo(doorPosition).protection and not getTileInfo(newPosition).protection and doorCreature.uid ~= cid) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            else
                doTeleportThing(doorCreature.uid, newPosition)
                if(not isInArray(closingDoors, item.itemid)) then
                    doTransformItem(item.uid, item.itemid - 1)
                end
            end

            return true
        end

        doTransformItem(item.uid, item.itemid - 1)
        return true
    end

    if(doors[item.itemid] ~= nil and checkStackpos(item, fromPosition)) then
        if(item.actionid == 0) then
            doTransformItem(item.uid, doors[item.itemid])
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
        end

        return true
    end
    
    local houseDoors = {
    [11790] = 11792,
    [11791] = 11792,
    [11792] = 11790,
    [11793] = 11795,
    [11794] = 11795,
    [11795] = 11793,
    [11796] = 11797,
    [11797] = 11796,
    [11798] = 11799,
    [11799] = 11798,
    [11800] = 11801,
    [11801] = 11800,
    [11802] = 11803,                        --alterado v1.6
    [11803] = 11802,
    }
    
    if houseDoors[item.itemid] then      
       doTransformItem(item.uid, houseDoors[item.itemid])
       return true
    end

    return false
end
 

 

Tile.lua

Spoiler

local config = {
    maxLevel = getConfigInfo('maximumDoorLevel')
}

local increasingItems = {[416] = 417, [426] = 425, [446] = 447, [3216] = 3217, [3202] = 3215, [11059] = 11060}
local decreasingItems = {[417] = 416, [425] = 426, [447] = 446, [3217] = 3216, [3215] = 3202, [11060] = 11059}
local depots = {2589, 2590, 2591, 2592}

local checkCreature = {isPlayer, isMonster, isNpc}
local function pushBack(cid, position, fromPosition, displayMessage)
    doTeleportThing(cid, fromPosition, false)
    doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)
    if(displayMessage) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The tile seems to be protected against unwanted intruders.")
    end
end

function onStepIn(cid, item, position, fromPosition)
    if(not increasingItems[item.itemid]) then
        return false
    end

    if(not isPlayerGhost(cid)) then
        doTransformItem(item.uid, increasingItems[item.itemid])
    end

    if(item.actionid >= 194 and item.actionid <= 196) then
        local f = checkCreature[item.actionid - 193]
        if(f(cid)) then
            pushBack(cid, position, fromPosition, false)
        end

        return true
    end

    if(item.actionid >= 191 and item.actionid <= 193) then
        local f = checkCreature[item.actionid - 190]
        if(not f(cid)) then
            pushBack(cid, position, fromPosition, false)
        end

        return true
    end

    if(not isPlayer(cid)) then
        return true
    end

    if(item.actionid == 189 and not isPremium(cid)) then
        pushBack(cid, position, fromPosition, true)
        return true
    end

    local gender = item.actionid - 186
    if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender)) then
        if(gender ~= getPlayerSex(cid)) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    local skull = item.actionid - 180
    if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
        if(skull ~= getCreatureSkullType(cid)) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    local group = item.actionid - 150
    if(group >= 0 and group < 30) then
        if(group > getPlayerGroupId(cid)) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    local vocation = item.actionid - 100
    if(vocation >= 0 and vocation < 50) then
        local playerVocationInfo = getVocationInfo(getPlayerVocation(cid))
        if(playerVocationInfo.id ~= vocation and playerVocationInfo.fromVocation ~= vocation) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    if(item.actionid >= 1000 and (item.actionid-1000) <= config.maxLevel) then
        if(getPlayerLevel(cid) < item.actionid - 1000) then
            pushBack(cid, position, fromPosition, true)
        end

        return true
    end

    if(item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) <= 0) then
        pushBack(cid, position, fromPosition, true)
        return true
    end

    if(getTileInfo(position).protection) then
        local depotPos, depot = getCreatureLookPosition(cid), {}
        depotPos.stackpos = STACKPOS_GROUND
        while(true) do
            if(not getTileInfo(depotPos).depot) then
                break
            end

            depotPos.stackpos = depotPos.stackpos + 1
            depot = getThingFromPos(depotPos)
            if(depot.uid == 0) then
                break
            end

            if(isInArray(depots, depot.itemid)) then
                local depotItems = getPlayerDepotItems(cid, getDepotId(depot.uid))
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Your depot contains " .. depotItems .. " item" .. (depotItems > 1 and "s" or "") .. ".")
                break
            end
        end

        return true
    end

    return false
end

function onStepOut(cid, item, position, fromPosition)
    if(not decreasingItems[item.itemid]) then
        return false
    end

    if(not isPlayerGhost(cid)) then
        doTransformItem(item.uid, decreasingItems[item.itemid])
        return true
    end

    return false
end
 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui está o erro:

Citar

local function doorEnter(cid, item, fromPosition)
    doTransformItem(item.uid, item.itemid + 1)
    doTeleportThing(cid, toPosition)
end

A função telepothing está com o nome do parâmetro errado.

 

Substitua ela por esta:

Citar

local function doorEnter(cid, item, toPosition)
    doTransformItem(item.uid, item.itemid + 1)
    doTeleportThing(cid, toPosition)
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Exatamente só essa.

 

Somente apague isso:

Citar

local function doorEnter(cid, item, fromPosition)
    doTransformItem(item.uid, item.itemid + 1)
    doTeleportThing(cid, toPosition)
end

 

E ponha isso no lugar dele.

Citar

local function doorEnter(cid, item, toPosition)
    doTransformItem(item.uid, item.itemid + 1)
    doTeleportThing(cid, toPosition)
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Mudanças de distro acarreta em mudanças de funções. 

 

Isso pode piorar ou resolver seu problema.

Cria uma copia do arquivo doors.lua para caso dê errado, você repor o script original.

No script doors.lua, apague tudo e ponha esse no lugar:

Citar

--[[> Marcryzius <]]-- 
CHAVE_DOORS = {} 
local function getKeyUsed(key,posx,posy) 
   for k,v in pairs(CHAVE_DOORS) do 
      if(v.aid == key and v.x == posx and v.y == posy)then 
         return k 
      end 
   end 
   return false 
end 

function onUse(cid, item, fromPosition, itemEx, toPosition) 
local self = Player(cid) 
local door = Item(item) 
local itemid = door:getItemId() 
local MSG = MESSAGE_INFO_DESCR 
   if not(checkStackpos(fromPosition,toPosition))then return true,self:sendTextMessage(MSG,'You can not close the door because someone is using it.')end 
   if(item.actionid == 0 and not(isInArray(keys, itemid)))then 
      if(doors[itemid])then 
         door:transformItem(doors[itemid]) 
      elseif(isInArray(horizontalOpenDoors,itemid) or isInArray(verticalOpenDoors, itemid))then 
         door:transformItem(itemid -1) 
      elseif(isInArray(closingDoors, itemid) ~= true)then 
         door:transformItem(itemid +1) 
      end 
   elseif(getItemLevelDoor(itemid) > 0)then 
      if(getPlayerLevel(cid) >= item.actionid-getItemLevelDoor(itemid))then 
         door:transformItem(itemid +1) 
         self:teleportThing(toPosition, true) 
      else 
         self:sendTextMessage(MSG, "You are not experienced enough to pass.") 
      end 
   elseif(isInArray(specialDoors, itemid))then 
      if(item.uid > 0 and item.uid < 1100)then 
      local id = item.uid > 0 and item.uid-1000 or 0 
         if(getPlayerStorageValue(cid, item.actionid) == id)then 
            door:transformItem(itemid +1) 
            self:teleportThing(toPosition, true) 
         else 
            self:sendTextMessage(MSG, "The door seems to be sealed against unwanted intruders.") 
         end 
      else 
         if(getPlayerStorageValue(cid, item.actionid) > 0)then 
            door:transformItem(itemid +1) 
            self:teleportThing(toPosition, true) 
         else 
            self:sendTextMessage(MSG, "The door seems to be sealed against unwanted intruders.") 
         end 
      end 
   elseif(isInArray(keys, itemid))then 
      if(isCreature(itemEx.uid))then 
         self:sendTextMessage(25,'Using this key in some doors.') 
      elseif(itemid == 10091 or itemid == 2090)then 
         self:sendTextMessage(25,'Key: '..(itemEx.actionid == 9999 and 'Not Find..' or itemEx.actionid == 0 and 'Door Unlock' or itemEx.actionid)..'.') 
      elseif(itemEx.actionid == item.actionid and doors[itemEx.itemid])then 
         if not(getKeyUsed(itemEx.actionid,toPosition.x,toPosition.y))then 
            table.insert(CHAVE_DOORS,{aid=itemEx.actionid,x=toPosition.x,y=toPosition.y}) 
         else 
            table.remove(CHAVE_DOORS,getKeyUsed(itemEx.actionid,toPosition.x,toPosition.y)) 
         end 
         doSendMsgText(toPosition,"Click",1) 
      elseif(isInArray(horizontalOpenDoors,itemEx.itemid) or isInArray(verticalOpenDoors,itemEx.itemid) and item.actionid == itemEx.actionid)then 
         doTransformItem(itemEx.uid,itemEx.itemid-1) 
         for k,v in pairs(CHAVE_DOORS) do 
            if(v.aid == itemEx.actionid and 
            v.x == toPosition.x and v.y == toPosition.y)then 
               table.remove(CHAVE_DOORS,k) 
            end 
         end 
         doSendMsgText(toPosition,"Cleck",2) 
      elseif(doors[itemEx.itemid])then 
         self:sendCancelMessage('Wrong key for this door.') 
         doSendMsgText(toPosition,"Cleck",4) 
      else 
         self:sendCancelMessage('Use this key in doors.') 
      end 
   elseif(getKeyUsed(itemEx.actionid,toPosition.x,toPosition.y) and doors[itemid])then 
      door:transformItem(doors[itemid]) 
   elseif(isInArray(horizontalOpenDoors, itemid) or isInArray(verticalOpenDoors, itemid) and getKeyUsed(itemEx.actionid,toPosition.x,toPosition.y))then 
      door:transformItem(itemid-1) 
   else 
      self:sendTextMessage(25,'It is locked.') 
   end 
   return true 
end 
 

 

Tu irás a precisar usar essa livraria em seu servidor.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
Spoiler

[20/08/2016 16:02:52] [Error - Action Interface] 
[20/08/2016 16:02:52] data/actions/scripts/other/doors.lua:onUse
[20/08/2016 16:02:52] Description: 
[20/08/2016 16:02:52] data/actions/scripts/other/doors.lua:11: attempt to call global 'Player' (a nil value)
[20/08/2016 16:02:52] stack traceback:
[20/08/2016 16:02:52]     data/actions/scripts/other/doors.lua:11: in function <data/actions/scripts/other/doors.lua:10>

ERROO

Editado por BrendoGraphics0
EROO
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...