Postado Janeiro 10, 2017 8 anos Alguem sabe me dizer se é possivel se uma spell possa hitar por exemplo 20%?
Postado Janeiro 10, 2017 8 anos @Gustavo Ntos boa pergunta, a maioria dos membros sempre pedem coisas com porcentagem, mais a questão é que algumas coisas são possíveis e outras não, a sua por exemplo: Pega o Hp do Player/Monstro e mandar a spell retorna um dano de 20% sobre o total de hp que o target tem, precisaria de uma mudança na source, uma puta de uma mudança! Resumindo: A menos que você seja um programador para fazer isso, se contenta no last hit mesmo. Outra coisa bem comum que outros membros pedem, é algum script que quem tirou tanto porcento do hp do target, ganha tal coisa, quem tirou 20% ganha tal coisa, e assim por diante. Consultei um colega que entende da questão, sobre contar nas task para quem deu 40% de dano no monstro e a resposta dele sobre isso foi a seguinte: Spoiler não tem como eu verificar quem tirou 40% da vida do monstro via Lua. Ele só executa os callbacks onKill e onDeath pra quem deu o last hit OU pra quem tirou mais dano. Teria que mudar isso na source pra ele retornar todo mundo que bateu no monstro e retornar também o damage map (um vetor de quanto cada pessoa tirou de life do monstro) e aí com esses dados você poderia ver quem tirou mais de 40% da vida do monstro e contar a task pra ele. outra explicação que ele me deu foi essa: Spoiler pra eu "tirar na sorte" eu precisaria da lista de pessoas que atacou o monstro e eu não tenho isso. Não tenho e não tenho como gerar. Na source ela existe, então eu precisaria arrumar uma forma de passar esse vetor chamado damagemap na source pra Lua e aí rodar todo o vetor function onDeath(cid, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified) for player, dano in ipairs(damagemap) do if isPlayer(player) and dano >= getCreatureMaxHealth(cid) * 0.4 then -- conta o player como se tivesse feito a task end end return true end se vc executar isso ele vai dar erro pq damagemap não existe... vc precisaria modificar na source a função onDeath pra ele rodar usando os seguintes parametros: function onDeath(cid, corpse, damagemap) aí quando vc fazer o for de damagemap ele verificaria todo o vetor de quem matou e nesse caso eu to pensando num vetor que seria mais ou menos assim: damagemap = { [uid player 1] = quanto de dano ele tirou, [uid player 2] = quanto ele tirou, : : } PORÉM, como isso não está implementado, não é possível.
Postado Janeiro 10, 2017 8 anos @KotZletY na verdade não precisa de nenhuma mudança na source para a spell retirar 20% do hp.... basta ele botar a função no script: local Hp = getCreatureHealth(cid)*0.2 -- salva o valor de 20% da vida do jogador doCreatureAddHealth(cid, -health) -- remove o valor de 20% da vida do jogador basta ele saber usar e montar o script Editado Janeiro 10, 2017 8 anos por roriscrave (veja o histórico de edições)
Postado Janeiro 10, 2017 8 anos Não sou de ir contra a ninguém, posso está errado no que falei para spell, mais o restante que disse, foi de uma fonte mais que segura: Spoiler
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.