Ir para conteúdo
  • 0

Stamina chegar a 0, receber uma mensagem


roriscrave

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0

Bom dia Roriscrave.. Blz?

Bom, sou novo na área, então.. Não sei se vou conseguir lhe ajudar, mas..

vamos lá:

Arquivo.Lua

function onUse(cid, item, fromPosition, toPosition)

local stamina = getPlayerStamina(cid)
local min = 60

if item.itemid == 2470 then
if stamina >=0 then
doPlayerSendTextMessage(cid, 27, "Sua stamina está em " ..stamina / min.. ".")
end

end

return true
end



Actions.XML

<action itemid="2470" event="script" value="nomedoArquivo.lua"/>




Essa action, tem a seguinte função: se você der use nela, ela lhe envia uma mensagem dizendo sua stamina, (não acho mt utíl, mas se quiser.. tá aew.)
Só mude o id do item.. para qual quiser.
Ps: a mensagem vai chegar em hrs . minutos.
Mas se você quiser que eu deixe só em minutos, só falar.. E se você souber, só fazer deixa-lo em minutos.. rs'
(Acho melhor só em minutos, mas vamos seguir o padrão)

Também, tem a opção de colocar no "creaturescript" uma checagem para isso.
Vá em data/creaturescript/scripts/advancesave.lua
E adiciona esse script:

local hrs = 60

local stamina = getPlayerStamina(cid)

if stamina == 0 then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Sua stamina está em " ..stamina / hrs.. ", você precisa renova-la!")
end



Oque vai acontecer? Sempre que o player avançar um skill//level e se a stamina dele for igual a 0, ele vai receber um BroadCast (Mensagem em red na sua tela) informando da sua stamina 0.. Pedindo pra renovar e tal.

Caso ainda não esteja satisfeito com o processo (de receber a mensagem somente após um avanço no level//skill) você também tem a opção de por esse script em data/creaturescript/scripts/Idle.lua ..
Ponha em baixo do último end antes do return true..
Oque vai acontecer?
Se o player pegar stamina 0 em qualquer lugar, seja upando, ou matando bixos em eventos, ou em qualquer lugar mesmo, o BroadCast vai aparecer para ele.. rs'

Então, é isso !

Espero ter lhe ajudado, vlw ! :D


Resolvido ?

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

  • 0

no caso do advanced não faz sentido, porque stamina chegou a 0, ele não ganha EXp, etnão não upa level.

agora o do Ilde me chamou a atenção, vou testar aqui, se der certo marco como resolvido... seu reP+ ja foi dado so por ter tentado ajudar!

Link para o comentário
Compartilhar em outros sites

  • 0

Blz ! Obg. rsrs'

 

Mas acho que você não entendeu o caso do Advance.

O advancesave ocorre da seguinte maneira, SEMPRE que o player avança um level ou um skill, o script do Advancesave ele SALVA essas informações, ou seja, esse script roda para "salvar" as info do char, caso o ot caia ou algo assim, sempre que ele recebe um level.

Então, oque aconteceria pondo o script a mais que passei ?

Sempre que o player ganha um level a mais, sempre que ele avança um skill/level, o script de save roda, pra salvar.. E essa checagem que passei, vai rodar tbm, já que você vai adc..
E então, ele recebe uma mensagem de "youadvancelevel..." blá blá blá.. E vai receber a mensagem da stamina baixa tbm.. rsrs'

 

É isso.. ! :D

 

E obg pelo resp ^^

 

Vlw.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...