Boa tarde, o problema seria:
- Ele checa se o valor da storage 92823 é menor que 1. [OK]
- MAS, ele não seta a storage 92823 para 1, após mudar o clan/rank, ou seja. O código entende que a "primeira vez que ele muda de clan" é eterna rs.
Aqui está o código arrumado:
function onSay(cid, words, param, channel)
if (param == "") then
return sendMsgToPlayer(cid, 20, "Estao faltam os parametros! [clan name], [rank]")
end
local t = string.explode(param, ",")
local clans = {'Volcanic', 'Seavell', 'Orebound', 'Wingeon', 'Malefic', 'Gardestrike', 'Psycraft', 'Naturia', 'Raibolt'}
if not isInArray(clans, t[1]) then
return sendMsgToPlayer(cid, 20, t[1].." nao é uma clan valido!")
elseif not tonumber(t[2]) then
return sendMsgToPlayer(cid, 20, "Parametros errados! [clan name], [rank].")
end
local rank = tonumber(t[2])
local clan = t[1]
if (getPlayerStorageValue(cid, 92823) < 1) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Essa é sua primeira vez mudando de clan. Nas próximas, terá o custo de 10 diamonds.")
doPlayerSendTextMessage(cid, 27, "Agora você pertence ao clan "..clan..", rank: "..rank.."")
setPlayerClan(cid, clan)
setPlayerStorageValue(cid, 92823, 1)
setPlayerClanRank(cid, rank)
else
if getPlayerItemCount(cid, 12237) < 10 then
return doPlayerSendCancel(cid, "Você precisa de 10 diamond para mudar de clan.")
elseif rank > getPlayerStorageValue(cid, 862281) then
return doPlayerSendCancel(cid, "Sorry, not possible.")
end
doPlayerSendTextMessage(cid, 27, "Agora você pertence ao clan "..clan..", rank: "..rank.."")
doPlayerRemoveItem(cid, 12237, 10)
setPlayerClan(cid, clan)
setPlayerClanRank(cid, rank)
end
return true
end







info
Grupo: Artesão
Registrado: 23/01/13
Posts: 104
Reputação: +8
Char no Tibia: Slyton
Bom estou com um pequeno problema com o script.
- Jurandir: Mais como funciona o comando?
- Eu: O comando funciona da seguinte maneira, o player fala o comando passa de 1 clan para o outro, gastando uma taxa após falar o comando que são 10 Diamonds.
- Jurandir: Mas oque esta acontecendo?
- Eu: Após falar o comando, o player tinha que gasta 10 Diamonds e passar de clan, so que ele fala o comando passa de clan so que não gasta os 10 Diamonds.
Valendo Rep++
function onSay(cid, words, param, channel) if param == "" then return sendMsgToPlayer(cid, 20, "Estao faltam os parametros! [clan name], [rank]") end local t = string.explode(param, ",") local clans = {'Volcanic', 'Seavell', 'Orebound', 'Wingeon', 'Malefic', 'Gardestrike', 'Psycraft', 'Naturia', 'Raibolt'} if not isInArray(clans, t[1]) then return sendMsgToPlayer(cid, 20, t[1].." nao é uma clan valido!") elseif not tonumber(t[2]) then return sendMsgToPlayer(cid, 20, "Parametros errados! [clan name], [rank].") end local rank = tonumber(t[2]) local clan = t[1] if getPlayerStorageValue(cid, 92823) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Essa é sua primeira vez mudando de clan. Nas próximas, terá o custo de 10 diamonds.") doPlayerSendTextMessage(cid, 27, "Agora você pertence ao clan "..clan..", rank: "..rank.."") setPlayerClan(cid, clan) setPlayerClanRank(cid, rank) else if getPlayerItemCount(cid, 12237) < 10 then return doPlayerSendCancel(cid, "Você precisa de 10 diamond para mudar de clan.") elseif rank > getPlayerStorageValue(cid, 862281) then return doPlayerSendCancel(cid, "Sorry, not possible.") end doPlayerSendTextMessage(cid, 27, "Agora você pertence ao clan "..clan..", rank: "..rank.."") doPlayerRemoveItem(cid,12237, 10) setPlayerClan(cid, clan) setPlayerClanRank(cid, rank) end return true end