Ir para conteúdo
  • 0

Comando de pula de clan


Slyton

Pergunta

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++

    <talkaction words="/clan" event="script" value="clan.lua"/>

 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

 

 

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

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

 

 

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa, não havia lido o código corretamente por falta de atenção haha. Mas já encontrei o erro, segue meu post lá em cima corrigido. Vlw galera s2

Link para o comentário
Compartilhar em outros sites

  • 0

Humm testei e deu perfeitamente so que tem um probleminha, kkkk

a primeira vez que usa o comando e de graça? não tem como mudar isso? AEHUUHUE

Editado por Slyton
Link para o comentário
Compartilhar em outros sites

  • 0

Tem sim, já estava no código desde o começo rs, mas eu retiro para você. Ficando assim:

 

 

 

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 (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)
    return true
end

 

 

 

Flw!

Editado por Roksas
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...