MatheusGlad 424 Postado Abril 4, 2011 Share Postado Abril 4, 2011 (editado) 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. Editado Abril 4, 2011 por MatheusMkalo Link para o comentário https://xtibia.com/forum/topic/154628-fun%C3%A7ao-addhealthcid-amount-times-interval-deny-s/ Compartilhar em outros sites More sharing options...
satan666 12 Postado Abril 21, 2011 Share Postado Abril 21, 2011 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. Link para o comentário https://xtibia.com/forum/topic/154628-fun%C3%A7ao-addhealthcid-amount-times-interval-deny-s/#findComment-1026675 Compartilhar em outros sites More sharing options...
glugluguga 11 Postado Junho 1, 2011 Share Postado Junho 1, 2011 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... Link para o comentário https://xtibia.com/forum/topic/154628-fun%C3%A7ao-addhealthcid-amount-times-interval-deny-s/#findComment-1039897 Compartilhar em outros sites More sharing options...
Posts Recomendados