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.
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 pode
colocar um / 2 , / 4 e etc para ser o quanto o player tem de stats DIVIDIDO por
2, 3, 4 etc... Fazendo assim um sistema mais incrementando.
-Sugestão 2: Você fez um sisteminha legal, baseado no stats, mas
nada 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 que
o dano seja diminuído pela defesa do player, somando todos os cálculos de
defesa dele, stats, equipamentos com defesa, spells de defesa e etc... O target
ali, 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óximo
do que era para ser desde o começo!
-Sugestão 3: Você tem um sistema baseado agora em: Dano da spell + ponts
do 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 dividido
por 2, na hora de contar como dano, se o cara for lvl 100 ele bate 50 a mais, se for lvl 200 bate
100 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ção
especifica criando um "Select Case" com casos diferentes, fazendo
algumas spells serem baseadas em força, outras em magia e etc... Tudo vai do
que sua mente conseguir pensar e programar ^^ Volto a lembrar que esse é o
sistema 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!