resolvido o problema era as pos (x,y,z) das cities q estevam erradas
edit -------------------------------------------------------
galera da uma ajuda aqui no meu script na hora de volta do pvp ele ta dando esse erro
[30/01/2014 18:10:32] [Error - MoveEvents Interface]
[30/01/2014 18:10:32] data/movements/scripts/PVP/Trade_Back.lua:onStepIn
[30/01/2014 18:10:32] Description:
[30/01/2014 18:10:32] data/lib/011-string.lua:29: attempt to index local 'str' (a number value)
[30/01/2014 18:10:32] stack traceback:
[30/01/2014 18:10:32] data/lib/011-string.lua:29: in function 'explode'
[30/01/2014 18:10:32] data/movements/scripts/PVP/Trade_Back.lua:13: in function <data/movements/scripts/PVP/Trade_Back.lua:3>
segue abaixo o lib
string.split = function (str)
local t = {}
return not str:gsub("%w+", function(s) table.insert(t, s) return "" end):find("%S") and t or {}
end
string.trim = function (str)
return str:gsub("^%s*(.-)%s*$", "%1")
end
string.explode = function (str, sep, limit)
if(type(sep) ~= 'string' or isInArray({tostring(str):len(), sep:len()}, 0)) then
return {}
end
local i, pos, tmp, t = 0, 1, "", {}
for s, e in function() return string.find(str, sep, pos) end do
tmp = str:sub(pos, s - 1):trim()
if tmp ~= "" then --alterado v1.8
table.insert(t, tmp)
end
pos = e + 1
i = i + 1
if(limit ~= nil and i == limit) then
break
end
end
tmp = str:sub(pos):trim()
if tmp ~= "" then --alterado v1.8
table.insert(t, tmp)
end
return t
end
string.expand = function (str)
return string.gsub(str, "$(%w+)", function(n) return _G[n] end)
end
string.timediff = function (diff)
local format = {
{"week", diff / 60 / 60 / 24 / 7},
{"day", diff / 60 / 60 / 24 % 7},
{"hour", diff / 60 / 60 % 24},
{"minute", diff / 60 % 60},
{"second", diff % 60}
}
local t = {}
for k, v in ipairs(format) do
local d, tmp = math.floor(v[2]), ""
if(d > 0) then
tmp = (k < table.maxn(format) and (table.maxn(t) > 0 and ", " or "") or " and ") .. d .. " " .. v[1] .. (d ~= 1 and "s" or "")
table.insert(t, tmp)
end
end
return table.concat(t)
end
e aqui o TRADE_BACK
local tileClans = {33800, 33801, 33802, 33803, 33804, 33805, 33806, 33807, 33808}
-- psy ore win nat sea gard male rai volc
function onStepIn(cid, item, pos)
if isSummon(cid) then
return false
end
--
local storage = 171877
if isInArray(tileClans, item.actionid) then
storage = 171878
end
--
local b = string.explode(getPlayerStorageValue(cid, storage), "/")
local t = string.explode(b[1], ";") --alterado v1.8
--
if #getCreatureSummons(cid) >= 1 then
for i = 1, #getCreatureSummons(cid) do
doTeleportThing(getCreatureSummons(cid)[i], {x=tonumber(t[1]) - 1, y=tonumber(t[2]), z=tonumber(t[3])}, false)
end
end
doTeleportThing(cid, {x=tonumber(t[1]), y=tonumber(t[2]), z=tonumber(t[3])}, false)
setPlayerStorageValue(cid, storage, -1)
return true
end