Lucas Roberto Administrador
Mensagens : 711
| Assunto: Como colocar Dano das spells baseados em stats. Sex 17 Jun 2011, 14:47 | |
| Bom como muitos de vocês já devem ter notado, no eclipse origins as magias tem dano fixo, ou seja, se você colocar dano "100" ela vai hitar 100, sem contar DEFESA ou pontos de status dos players.
Então criei um tutorial de como você pode fazer os atacs das spells serem baseados nos stats dos players e como por para a proteção do player influenciar, quando ele tomar dano.
Então vamos ao trabalho:
----PASSOS:
Abra a Source do server, agora procure por Vital = Spell(spellnum).Vital (Explicação: Isto aqui é no que o dano da magia da será baseado na sub "CAST SPELL" ou seja, no que o VB vai se apoiar na hora de lançar o dano no player, por enquanto ele esta sendo baseado apenas no vital (dano) que você coloca lá no spell editor)
-Seguindo: Bom agora vou postar algumas sugestões do que você pode adicionar a essa linha do sistema (AO LADO DO: Vital =Spell(spellnum).Vital. )
-Sugestão 1: Você pode adicionar isso aqui: + GetPlayerStat(index, Strength) Isso aqui faz com que o dano da spell seja baseado também no quanto o player tiver de pontos no stats STRENGTH. (Obviamente você pode trocar o strenght pelo stats que você quiser, SE você estiver usando o eclipse origins da forma que ele vem, então você poderia usar o Endurence, Agility, Intelligence ou Willpower) Caso você tenha mudado os nomes DENTRO do vb, então utilize os nomes que você modificou.
Como fica então a linha na programação: Vital = Spell(spellnum).Vital + GetPlayerStat(index, Strength)-Pronto agora os danos das spells estão baseados em algum dos stats,claro que você pode por mais de um stats como responsável pelo dano, e podecolocar um / 2 , / 4 e etc para ser o quanto o player tem de stats DIVIDIDO por2, 3, 4 etc... Fazendo assim um sistema mais incrementando.-Sugestão 2: Você fez um sisteminha legal, baseado no stats, masnada esta influenciando o dano final da spell, nem a defesa do player nem nada... Então você pode adicionar isso aqui: - GetPlayerProtection(target) Isso fará com queo dano seja diminuído pela defesa do player, somando todos os cálculos dedefesa dele, stats, equipamentos com defesa, spells de defesa e etc... O targetali, indica que é a defesa do player ALVO que será levada em conta.Como fica então a linha na programação: Vital = Spell(spellnum).Vital + GetPlayerStat(index, Strength) - GetPlayerProtection(target)-Pronto agora seu sistema está mais próximodo que era para ser desde o começo!-Sugestão 3: Você tem um sistema baseado agora em: Dano da spell + pontsdo stats - a proteção do player! Porém se você assim como eu, gosta que o level do personagem tenha influência sobre o dano final, então adicione o seguinte: + (GetPlayerLevel(index) / 2) Note que aqui eu já coloquei / 2 para o level ser divididopor 2, na hora de contar como dano, se o cara for lvl 100 ele bate 50 a mais, se for lvl 200 bate100 a mais e etc... Você pode dividir pelo número que quiser ou não dividir ^^ Multiplicar,diminuir e etc...)Como fica então a linha na programação:Vital = Spell(spellnum).Vital + GetPlayerStat(index, Strength) + (GetPlayerLevel(index) / 2) - GetPlayerProtection(target)-Fechamento: Coloquei aqui algumas sugestões que você pode usar, mas éclaro que você pode programar ainda mais coisas, pode fazer programaçãoespecifica criando um "Select Case" com casos diferentes, fazendoalgumas spells serem baseadas em força, outras em magia e etc... Tudo vai doque sua mente conseguir pensar e programar ^^ Volto a lembrar que esse é osistema bem básico de dano baseado, para não ficar complicado pra ninguém,preferi enxugar bem ele, então não utilize apenas isso, voe mais alto!Bom é isso Galera, espero que gostem ^^ Créditos a mim mesmo Megos Arco. P.S: Caso queiram colocar em algum outro fórum, por favor creditem ele corretamente! ABRAÇO A TODOS! [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem] | |
|