Hechizo por Area
Codigo realizado para Codigos Ao Reloaded po Mr Man:
GS > Para el Servidor
En el modHechizos.bas creen el siguiente Sub:
Luego en en el sub HandleHechizoTerreno lo reemplazan TODO por lo siguiente:
Ahora van a al ModDeclares.bas y Buscan Type tHechizos y agregan:
Luego en el modulo ES en el sub CargarHechizos Agregan debajo de:
el siguiente codgio:
Y eso es todo en el servidor ahora los Dats Serian Asi:
[HECHIZOXX]
Nombre=Dardo de Area
Desc=Ataca a todos los Npc del area
PalabrasMagicas=Ataco a Todos
HechizeroMsg=Has atacado a todos los npc del area
Tipo=1
Area=1
WAV=17
FXgrh=7
MinSkill=1
ManaRequerido=1
Target=4
MinHP=100
MaxHP=150
Osea en Tipo ponen Tipo=1, en Target ponen Target=4 y Area=1
Eso es todo si tienen alguna duda posteenla.
Atte. Mr Man
Codigo realizado para Codigos Ao Reloaded po Mr Man:
GS > Para el Servidor
En el modHechizos.bas creen el siguiente Sub:
Código:
Sub AreaHechizo(UserIndex As Integer, NpcIndex As Integer)
Dim h2 As Integer
h2 = UserList(UserIndex).Stats.UserHechizos(UserList(UserIndex).flags.Hechizo)
Dim Hit As Integer
Hit = RandomNumber(Hechizos(h2).MinHP, Hechizos(h2).MaxHP)
Npclist(NpcIndex).Stats.MinHP = Npclist(NpcIndex).Stats.MinHP - Hit
If Npclist(NpcIndex).Stats.MinHP <= 0 Then
UserList(UserIndex).Stats.Exp = UserList(UserIndex).Stats.Exp + Npclist(NpcIndex).GiveEXP
UserList(UserIndex).Stats.GLD = UserList(UserIndex).Stats.GLD + Npclist(NpcIndex).GiveGLD
Call SendData(ToIndex, UserIndex, 0, "||Has matado a " & Npclist(NpcIndex).Name & FONTTYPE_FIGHT)
Call MuereNpc(NpcIndex, UserIndex)
Else
Call SendData(ToIndex, UserIndex, 0, "||Le has pegado a " & Npclist(NpcIndex).Name & " por " & Hit & " puntos de daños!" & FONTTYPE_FIGHT)
End If
Call CheckUserLevel(UserIndex)
UserList(UserIndex).flags.StatsChanged = 1
End Sub
Luego en en el sub HandleHechizoTerreno lo reemplazan TODO por lo siguiente:
Código:
Sub HandleHechizoTerreno(ByVal UserIndex As Integer, ByVal uh As Integer)
Dim b As Boolean
If Hechizos(uh).Area = 1 Then
Dim loopX As Long
Dim LoopY As Long
Dim NPCIndex2 As Integer
For loopX = 1 To 3
For LoopY = 1 To 3
If MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).flags.TargetX + loopX - 2, UserList(UserIndex).flags.TargetY + LoopY - 2).NpcIndex > 0 Then
NPCIndex2 = MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).flags.TargetX + loopX - 2, UserList(UserIndex).flags.TargetY + LoopY - 2).NpcIndex
If Npclist(NPCIndex2).Attackable Then AreaHechizo UserIndex, NPCIndex2
End If
Next
Next
Else
Select Case Hechizos(uh).Tipo
Case uInvocacion '
Call HechizoInvocacion(UserIndex, b)
End Select
b = True
If b Then
Call SubirSkill(UserIndex, Magia)
'If Hechizos(uh).Resis = 1 Then Call SubirSkill(UserList(UserIndex).Flags.TargetUser, Resis)
UserList(UserIndex).Stats.MinMAN = UserList(UserIndex).Stats.MinMAN - Hechizos(uh).ManaRequerido
If UserList(UserIndex).Stats.MinMAN < 0 Then UserList(UserIndex).Stats.MinMAN = 0
Call SendUserStatsBox(UserIndex)
End If
End If
End Sub
Ahora van a al ModDeclares.bas y Buscan Type tHechizos y agregan:
Código:
Area as Integer
Luego en el modulo ES en el sub CargarHechizos Agregan debajo de:
Código:
Hechizos(Hechizo).SubeHP = val(Leer.DarValor("Hechizo" & Hechizo, "SubeHP"))
Código:
Hechizos(Hechizo).Area = val(Leer.DarValor("Hechizo" & Hechizo, "Area"))
Y eso es todo en el servidor ahora los Dats Serian Asi:
[HECHIZOXX]
Nombre=Dardo de Area
Desc=Ataca a todos los Npc del area
PalabrasMagicas=Ataco a Todos

HechizeroMsg=Has atacado a todos los npc del area
Tipo=1
Area=1
WAV=17
FXgrh=7
MinSkill=1
ManaRequerido=1
Target=4
MinHP=100
MaxHP=150
Osea en Tipo ponen Tipo=1, en Target ponen Target=4 y Area=1
Eso es todo si tienen alguna duda posteenla.
Atte. Mr Man