JonatasLucas
New Member
- Joined
- Jun 12, 2013
- Messages
- 116
- Reaction score
- 3
![4046492f5547493292cf8949cec7f5c5a52192c4.png](/proxy.php?image=http%3A%2F%2Fimg.gforum.tv%2Fimg%2F4046492f5547493292cf8949cec7f5c5a52192c4.png&hash=2f2660706cbbe9d0eb2c12cce4af5b70)
citizen.lua
Code:
function onStepIn(creature, item, position, fromPosition)
if item.actionid > 30020 and item.actionid < 30050 then
local player = creature:getPlayer()
if player == nil then
return false
end
local town = Town(item.actionid - 30020)
player:setTown(town)
end
return true
end
doors.lua
Code:
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local itemId = item:getId()
if isInArray(questDoors, itemId) then
if player:getStorageValue(item.actionid) ~= -1 then
item:transform(itemId + 1)
player:teleportTo(toPosition, true)
else
player:sendTextMessage(MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
end
return true
elseif isInArray(levelDoors, itemId) then
if item.actionid > 0 and player:getLevel() >= item.actionid - 1000 then
item:transform(itemId + 1)
player:teleportTo(toPosition, true)
else
player:sendTextMessage(MESSAGE_INFO_DESCR, "Only the worthy may pass.")
end
return true
elseif isInArray(keys, itemId) then
if target.actionid > 0 then
if item.actionid == target.actionid and doors[target.itemid] then
target:transform(doors[target.itemid])
return true
end
player:sendTextMessage(MESSAGE_STATUS_SMALL, "The key does not match.")
return true
end
return false
end
if isInArray(horizontalOpenDoors, itemId) or isInArray(verticalOpenDoors, itemId) then
local doorCreature = Tile(toPosition):getTopCreature()
if doorCreature ~= nil 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:sendTextMessage(MESSAGE_STATUS_SMALL, 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 item.actionid == 0 then
item:transform(doors[itemId])
else
player:sendTextMessage(MESSAGE_INFO_DESCR, "It is locked.")
end
return true
end
return false
end
USE TFS 1.2 VERSION 10.77