Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
EO 2.0 - Healar NPC
2 participantes
Página 1 de 1
EO 2.0 - Healar NPC
[OBS: Não é uma "correção" mas sim uma forma de evitar que isso aconteça.]
Bug: Quando alguém usa magias de cura no NPC, o "HP Base" dele aumenta. por exemplo, um npc possui 100/100, se eu usar uma magia que cure 100 ele ficará com 200/200.
Solução: Impedir o lançamento de magias de cura em npcs.
Método:
No Modcombat, em SpellNpc_Effect procure por:
E Substitua por:
Isso fará com que a animação de cura, e o texto exibindo o dano não sejam enviados. No lugar disso, o client exibirá uma mensagem: "Falhou!".
Agora,um pouco abaixo você encontrará:
Substitua por:
Isso cancelará a cura e exibirá uma mensagem no chat do jogador:
"Você não pode curar um NPC"
Bug: Quando alguém usa magias de cura no NPC, o "HP Base" dele aumenta. por exemplo, um npc possui 100/100, se eu usar uma magia que cure 100 ele ficará com 200/200.
Solução: Impedir o lançamento de magias de cura em npcs.
Método:
~Server Side~
No Modcombat, em SpellNpc_Effect procure por:
- Código:
SendAnimation mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_NPC, index
SendActionMsg mapNum, sSymbol & Damage, Colour, ACTIONMSG_SCROLL, MapNpc(mapNum).Npc(index).x * 32, MapNpc(mapNum).Npc(index).y * 32
E Substitua por:
- Código:
SendAnimation mapNum, Spell(SpellNum).SpellAnim, 0, 0, TARGET_TYPE_NPC, Index
SendActionMsg mapNum, "Falhou", Colour, ACTIONMSG_SCROLL, MapNpc(mapNum).NPC(Index).x * 32, MapNpc(mapNum).NPC(Index).y * 32
Isso fará com que a animação de cura, e o texto exibindo o dano não sejam enviados. No lugar disso, o client exibirá uma mensagem: "Falhou!".
Agora,um pouco abaixo você encontrará:
- Código:
If increment Then
MapNpc(mapNum).Npc(index).Vital(Vital) = MapNpc(mapNum).Npc(index).Vital(Vital) + Damage
If Spell(spellnum).Duration > 0 Then
AddHoT_Npc mapNum, index, spellnum
End If
ElseIf Not increment Then
MapNpc(mapNum).Npc(index).Vital(Vital) = MapNpc(mapNum).Npc(index).Vital(Vital) - Damage
End If
End If
Substitua por:
- Código:
If increment Then
PlayerMsg Index, "Você não pode curar um NPC.", BrightRed
ElseIf Not increment Then
MapNpc(mapNum).NPC(Index).Vital(Vital) = MapNpc(mapNum).NPC(Index).Vital(Vital) - Damage
End If
End If
Isso cancelará a cura e exibirá uma mensagem no chat do jogador:
"Você não pode curar um NPC"
EpicMelanie- Novato
- Mensagens : 12
Créditos : 5
Re: EO 2.0 - Healar NPC
Boa analise!
Porém a NpcSpawn, ao gerar o Npc ele seta usando o HpTo o valor X de Hp do npc, contido em seu ID.
Não seria melhor dar continuidade nisso e apenas analisar o valor base, e caso seja maior apenas definir o valor base novamente? xD Fica a dica para quando estiver desenvolvendo.
Não tentar modificar bruscamente algo so porque existe uma pequena falha >< corrigir ela sempre será melhor ><.
Porém a NpcSpawn, ao gerar o Npc ele seta usando o HpTo o valor X de Hp do npc, contido em seu ID.
Não seria melhor dar continuidade nisso e apenas analisar o valor base, e caso seja maior apenas definir o valor base novamente? xD Fica a dica para quando estiver desenvolvendo.
Não tentar modificar bruscamente algo so porque existe uma pequena falha >< corrigir ela sempre será melhor ><.
_________________
"Mistress of shattered hopes and forever broken dreams"
Profane ~- Colaborador
- Mensagens : 818
Créditos : 130
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos