SL
action

Comando de pula de clan

Por Slyton, 09 de abr. de 2014 em Scripts

resolvido
script
9
2.4k
SlytonS
09 de abril de 2014 às 14:06

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

 

 

RoksasR
09 de abril de 2014 às 14:16

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 Abril 9 por Roksas

SlytonS
09 de abril de 2014 às 14:19

  1. Tenho certeza que e olha.
  2. 14:19 You see 100 Diamonds.
  3. It's color come across as violent and aggressive.

    ItemID: [12237].

LordbaxxL
09 de abril de 2014 às 14:20

@Edit

Momento!

Editado Abril 9 por Lordbaxx

RoksasR
09 de abril de 2014 às 14:22

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

SlytonS
09 de abril de 2014 às 14:26

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 Abril 9 por Slyton

RoksasR
09 de abril de 2014 às 14:30

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 Abril 9 por Roksas

SlytonS
09 de abril de 2014 às 14:55

OPA opa opa Pego Diboa POdem Fechar o toPICO PORFAVOR

zipter98Z
09 de abril de 2014 às 18:08

Tópico movido para a seção de dúvidas e pedidos resolvidos.