Ir para conteúdo

Moonshadow

Posts Recomendados

5dpR5.png

 

Nome: Soul Gain

Função: Toda vez que o player dá use em um vampire lord token (vampire_lord_token.gif), ele ganha 10 de soul.

 

- soulGain.lua

 

function onUse(cid, item)
if getPlayerPromotionLevel(cid) < 5 then
if getPlayerSoul(cid)==100 then
doPlayerSendCancel(cid, "Seu soul já está no máximo.")
return true
end
if getPlayerSoul(cid) < 90 then
doPlayerAddSoul(cid, 10)
doSendMagicEffect(getCreaturePosition(cid), 17)
doPlayerRemoveItem(cid, 9020, 1)
else
local taxa = 100 - getPlayerSoul(cid)
doPlayerAddSoul(cid, taxa)
doSendMagicEffect(getCreaturePosition(cid), 17)
doPlayerRemoveItem(cid, 9020, 1)
end
end
if getPlayerPromotionLevel(cid) > 4 then
if getPlayerSoul(cid)==200 then
doPlayerSendCancel(cid, "Seu soul já está no máximo.")
return true
end
if getPlayerSoul(cid) < 190 then
doPlayerAddSoul(cid, 10)
doSendMagicEffect(getCreaturePosition(cid), 17)
doPlayerRemoveItem(cid, 9020, 1)
else
taxa = (getPlayerSoul(cid) - 200) * (-1)
doPlayerAddSoul(cid, taxa)
doSendMagicEffect(getCreaturePosition(cid), 17)
doPlayerRemoveItem(cid, 9020, 1)
end
end
end

 

 

- No actions.xml coloque:

 

<action itemid="9020" event="script" value="soulGain.lua"/>>

 

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

Só um detalhezinho, quando você declarou as variáveis "taxa", você usou "getPlayerSoul(cid) - 100", mas o correto seria "100 - getPlayerSoul(cid)".

Do jeito que você fez, o valor de "taxa" vai ficar negativo e em vez de adicionar soul ao player, vai remover.

 

Por uma questão de estética, eu não usaria a função doPlayerRemoveItem, mas sim doRemoveItem(item.uid, 1).

E não precisava repetir as mesmas duas funções dentro de 4 ifs, a doSendMagicEffect e a doPlayerRemoveItem, bastava colocar elas 1x no final do script.

 

Bom script de toda forma

Link para o comentário
Compartilhar em outros sites

Até que o script não ficou tão ruim vendo que você está iniciando agora, outra coisa, e você que faz as imagens? ficam bem boas!

 

parabéns amigo, rep+

Link para o comentário
Compartilhar em outros sites

Só um detalhezinho, quando você declarou as variáveis "taxa", você usou "getPlayerSoul(cid) - 100", mas o correto seria "100 - getPlayerSoul(cid)".

Do jeito que você fez, o valor de "taxa" vai ficar negativo e em vez de adicionar soul ao player, vai remover.

 

Por uma questão de estética, eu não usaria a função doPlayerRemoveItem, mas sim doRemoveItem(item.uid, 1).

E não precisava repetir as mesmas duas funções dentro de 4 ifs, a doSendMagicEffect e a doPlayerRemoveItem, bastava colocar elas 1x no final do script.

 

Bom script de toda forma

 

Opa, valeu pelas dicas.

 

Valeu pelos comentários.

 

@Vodkart

 

Opa, sou eu que as faço sim, valeu.

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

  • 3 weeks later...

Valeu precisava desse sistema pra meu ot de bomberman '-' õ/

Assim vou poder botar NPC que vai vender recarga extra de bomba pra o nego caçar por mais tempo :D

(sim meu system de bombas gasta soul e.e)

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

×
×
  • Criar Novo...