[Aportes indexados] Hechizo por Area

Estado
Cerrado para nuevas respuestas.

MrMan

Associate Director @ Wayfair
Miembro del equipo
Hechizo por Area

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"))
el siguiente codgio:
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 xD
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
 

Sasuke

Newbie Lvl 2
Los hechizos zonales son grosos, es lo mismo q los zonales que se usan en IAO?
Saludos, Uchiha Sasuke
 

MrMan

Associate Director @ Wayfair
Miembro del equipo
Nunca vi los de IAO pero supongo q si.


Atete. Mr Man
 
A

Anonymous

Invitado
1- en mi AOReady no tengo el ModDeclares.bas

2-que eso del ES del sub?

¡¡que alguien me ayude!!
 

Shura

Dragón Ancestral Lvl 2
modDeclares se encuentra en el cliente y ES es el modulo FileIO q se encuentra en el servidor se ve q no mirastes mucho
 
A

Anonymous

Invitado
Como que ese mod se encuentra en el cliente? En que cliente? El cliente de alkon no tiene eso, el que yo me hice tampoco, y el cliente dek codigo fuente de alkon tampoco ¿De que cliente me hablas?
 

Shura

Dragón Ancestral Lvl 2
fijate q esta si no uno le esta habalando a la pared porq te hablo del cliente de argentum no importa la version, no te hablo del cliente de FATE
 

DarkMage

Destructor Lvl 1
en en el sub HandleHechizoTerreno

me salta un error en la oracion

Call HechizoAllUsuario

dice "Sub or Function not defined"

PD: Estoy usando el AOReady 0.5 pub
 

ShreddeR

Newbie Lvl 1
DarkMage dijo:
en en el sub HandleHechizoTerreno

me salta un error en la oracion

Call HechizoAllUsuario

dice "Sub or Function not defined"

PD: Estoy usando el AOReady 0.5 pub
kuak

en el aoready ya viene el codigo
 
A

Anonymous

Invitado
no es necesario activarlo, solo tenes q crear un hechizo como el q se describe al comienzo del tema.


Atte. Tales
 
A

Anonymous

Invitado
De nada para eso estoy.

Atte. Tales



Alguien me da un premio :p(?)
 

Owangel

Delirando
No me anda... Uso la 9.9z, hay un poblema en la parte de "Hechizos(Hechizo).Area = val(Leer.DarValor("Hechizo" & Hechizo, "Area"))"
 

Loopzer

Oráculo Lvl 2
u tendia que aver leido

yo lo hice de una manera totalmente distinta en un server
y complicada

no vale :cry: :p
con rason me tomo solo 5 horas hacerlo ya ques cualquiera mi manera
hota por eso voy a hacer lo otravez pero esta vez atodo o nada
por que hay variables tipo s,er,a, afsf,asd jeje y me confundo aveces
 

DarkMage

Destructor Lvl 1
Bueno primero perdon por revivir.. pero es ke tengo un problema con este codigo.. y siempre dicen que si hay un thread con el mismo tema no hay que crear uno nuevo.. bueno el tema es que en el Sub HandleHechizoTerreno

en una parte dice

Call HechizoAllUsuarios

Ese sub no existe ¬¬ ¿Me ayudan?
 

Shed

128bpm
Ex-Staff
Pocho dijo:
como vas a revivir tremendo post? ADVERTIDO, es de hace banda


hubieras creado uno nuevo
ESTO NO ES REVIVIR, porque hay una duda sobre el tema y es urgente por consecuente puede postear. Parece que nunca hubieses escuchado a Tavo ni a nadie.
 
Estado
Cerrado para nuevas respuestas.
Arriba