Ir para conteúdo

Damiiian

Membro
  • Registro em

  • Última visita

  1. Damiiian postou uma resposta no tópico em Suporte Tibia OTServer
    Hiho i have small question how to remove npc on map i no see "nahlesar" in game yes i try remove file this npc and have this informations on console [Error - Npc::loadFromXML] Failed to load data/npc/Nahlesar.xml: File was not found
  2. Damiiian respondeu ao post em um tópico de Damiiian em Suporte Tibia OTServer
    22827
  3. Damiiian respondeu ao post em um tópico de Damiiian em Suporte Tibia OTServer
    unlockedDoors = { } local function isDoorLocked(keyId, position) if keyId == 0 then return false end if unlockedDoors[keyId] then for i = 1, #unlockedDoors[keyId] do if position == unlockedDoors[keyId][i] then return false end end end return true end local function toggleDoorLock(doorItem, locked) local doorId = doorItem:getId() local keyId = doorItem:getActionId() local doorPosition = doorItem:getPosition() if locked then for i = #unlockedDoors[keyId], 1, -1 do if unlockedDoors[keyId][i] == doorPosition then table.remove(unlockedDoors[keyId], i) end end if not doors[doorId] then doorItem:transform(doorId - 1) end return end if not unlockedDoors[keyId] then unlockedDoors[keyId] = {} end doorItem:transform(doors[doorId]) unlockedDoors[keyId][#unlockedDoors[keyId] + 1] = doorPosition end function onUse(player, item, fromPosition, target, toPosition, isHotkey) local itemId, actionId = item:getId(), item:getActionId() if isInArray(questDoors, itemId) then if player:getStorageValue(actionId) ~= -1 then item:transform(itemId + 1) player:teleportTo(toPosition, true) else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "The door seems to be sealed against unwanted intruders.") end return true elseif isInArray(levelDoors, itemId) then if actionId > 0 and player:getLevel() >= actionId - 1000 then item:transform(itemId + 1) player:teleportTo(toPosition, true) else player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Only the worthy may pass.") end return true elseif isInArray(keys, itemId) then if not target or not target:isItem() or not target:getType():isDoor() or Tile(toPosition):getHouse() then return false end local targetId = target:getId() if isInArray(openSpecialDoors, targetId) or isInArray(questDoors, targetId) or isInArray(levelDoors, targetId) then return false end local targetActionId = target:getActionId() if targetActionId > 0 and actionId == targetActionId then if not isDoorLocked(targetActionId, toPosition) then toggleDoorLock(target, true) elseif doors[targetId] then toggleDoorLock(target, false) end else player:sendCancelMessage("The key does not match.") end return true end if isInArray(horizontalOpenDoors, itemId) or isInArray(verticalOpenDoors, itemId) then local doorCreature = Tile(toPosition):getTopCreature() if doorCreature then toPosition.x = toPosition.x + 1 local query = Tile(toPosition):queryAdd(doorCreature, bit.bor(FLAG_IGNOREBLOCKCREATURE, FLAG_PATHFINDING)) if query ~= RETURNVALUE_NOERROR then toPosition.x = toPosition.x - 1 toPosition.y = toPosition.y + 1 query = Tile(toPosition):queryAdd(doorCreature, bit.bor(FLAG_IGNOREBLOCKCREATURE, FLAG_PATHFINDING)) end if query ~= RETURNVALUE_NOERROR then player:sendCancelMessage(query) return true end doorCreature:teleportTo(toPosition, true) end if not isInArray(openSpecialDoors, itemId) then item:transform(itemId - 1) end return true end if doors[itemId] then if not isDoorLocked(actionId, toPosition) then item:transform(doors[itemId]) else player:sendTextMessage(MESSAGE_INFO_DESCR, "It is locked.") end return true end return false end
  4. Damiiian postou uma resposta no tópico em Suporte Tibia OTServer
    hello all i have problem with Rathleton Door IN GAME Door id its change from 22826 to 22819 IN Game command /i door full work .. ;/ Thanks for help !

Informação Importante

Confirmação de Termo