PHP:
13:53:10.304] [Error - TalkAction Interface]
[13:53:10.304] data/talkactions/scripts/teleporttown.lua:onSay
[13:53:10.304] Description:
[13:53:10.304] data/talkactions/scripts/teleporttown.lua:33: attempt to concatenate field '?' (a nil value)
[13:53:10.304] stack traceback:
[13:53:10.304] data/talkactions/scripts/teleporttown.lua:33: in function <data/talkactions/scripts/teleporttown.lua:1>
Script:
PHP:
function onSay(cid, words, param, channel)
local master = false
if(words == '/t') then
master = true
elseif(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")
return true
end
local tid, t = cid, string.explode(param, ",")
if(t[(master and 1 or 2)]) then
tid = getPlayerByNameWildcard(t[(master and 1 or 2)])
if(not tid or (isPlayerGhost(tid) and getPlayerAccess(tid) > getPlayerAccess(cid))) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[(master and 1 or 2)] .. " not found.")
return true
end
end
local tmp = getPlayerTown(cid)
if(not master) then
tmp = t[1]
if(not tonumber(tmp)) then
tmp = getTownId(tmp)
if(not tmp) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Town " .. t[1] .. " does not exists.")
return true
end
end
end
local pos = getTownTemplePosition(tmp, false)
if(type(pos) ~= 'table' or isInArray({pos.x, pos.y}, 0)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Town " .. t[1] .. " does not exists or has invalid temple position.")
return true
end
pos = getClosestFreeTile(tid, pos)
if(type(pos) ~= 'table' or isInArray({pos.x, pos.y}, 0)) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Destination not reachable.")
return true
end
tmp = getCreaturePosition(tid)
if(doTeleportThing(tid, pos) and not isPlayerGhost(tid)) then
doSendMagicEffect(tmp, CONST_ME_POFF)
doSendMagicEffect(pos, CONST_ME_TELEPORT)
end
return true
end