Funçao Addhealth(Cid, Amount, Times, Interval, Deny, S)

MatheusGlad

<~~> Scripter <~~>
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 09/09/09Posts: 528Char no Tibia: Emekalo Makalo

Alienado: Qual a funçao do script?

Mkalo: Ela vai adicionando vida para o player ate ele ser atacado. (nao exatamente)

 

Bem, como eu nao mexi na source pra fazer (eu nem sei como), a funçao pode ter seus fails classicos, porque ela funciona guardando a life antiga, se voce perder life e ficar com uma life menor que a life antiga, o script para.

 

Bugs:

Se voce healar sua vida com exura gran, e almentar 50 de life e voce perder 10 de life, o script nao ira parar.

 

Function:

function addHealth(cid, amount, times, interval, deny, s)
   return times > 0 and addEvent(function() if isCreature(cid) then if s == nil or s <= getCreatureHealth(cid) then doCreatureAddHealth(cid, amount) addHealth(cid, amount, times-1, interval, deny, getCreatureHealth(cid)) else doSendAnimatedText(getCreaturePos(cid), deny, 180) end end end, interval*1000)
end

 

 

Exemplo de uso:

    addHealth(cid, 100, 10, 2, "LOST", getCreatureHealth(cid))

 

o getCreatureHealth(cid) é opcional, mas impede possiveis bugs.

 

Parametros:

  • amount: Quanto de vida vai adicionar cada vez que for adicionar
  • times: Quantas vezes vai adicionar vida
  • interval: Intervalo em segundos de cada "adicionada"
  • deny: Mensagem em vermelho que subira na cabeça do player (Max 9 letras eu acho)
  • s: Nao use-o ou use com getCreatureHealth(cid) somente.

Yours Mkalo :)

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/05/08Posts: 612Char no Tibia: leviana luciferiana

Esse "bug" se dar pelo fato de existir na estrutura de controle a expressão de 'igualdade' junto com a expressão 'maior que' associada ao controle do "life" atual.

 

Para maior segurança contra possíveis "bugs" utilize todas as estruturas de controle dentro da função addhelth() ao invés de uma função paralela.

Ao invés de criar e chamar uma nova função; chame a propria função.

 

 

Em matéria de organização de código ficou ótimo a forma com que foi escrita o código.

creationb.jpg

"Um Deus que usasse seu poder para criar seres humanos que de antemão sabia que seriam atormentados eternamente, e que os predestinasse a isso,



não poderia ser sábio, nem justo e tampouco amoroso.

Além de nos submeter a isso vim a nos julgar e condenar por nossos atos aos tormentos do inferno.

pra minha pessoa isso não é um Deus Pai amoroso e bondoso como o chaman, seu padrão seria muito mais inferior do que o de muitos homens."

glugluguga

/\ Hmmm Confetee...
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/05/09Posts: 34Char no Tibia: Okuta Sujo

function addHealth(cid, amount, times, interval, deny, cor, s)
   return times > 0 and addEvent(function() if isCreature(cid) then if s == nil or s <= getCreatureHealth(cid) then doCreatureAddHealth(cid, amount) addHealth(cid, amount, times-1, interval, deny, getCreatureHealth(cid)) else doSendAnimatedText(getCreaturePos(cid), deny, cor) end end end, interval*1000)
end

Uma utilidade a mais, cor, obviamente a cor da mensagem que aparecera se perder o heal, no caso "deny".

Como boa parte sabe, é de 1 a 255.

Na verdade é uma inutilidade...

acb08d85fe.jpg