GM-PekeMixz Capitan Primero
Cantidad de envíos : 81 Fecha de inscripción : 24/07/2013 Edad : 26 Localización : Boulogne
| Tema: Sistema de Gran poder (don ) para 0.11.5 Mar Jul 30, 2013 3:43 pm | |
| Bueno, seguramente estanran diciendo, este código ya esta posteado etc... Pero, Ninguno de los posteados es 100% funcional , así que les dejo este que funciona ^^ Explicación: El gran poder es otorgado a un usuario al Azar, El usuario con el gran poder tiene la habilidad de doble golpe, Si el usuario es matado, el que lo mate recibe el poder, si es matado por un NPC, desloguea, etc, El poder es sorteado de vuelta. Cada 1 minuto, se envia por consola "Standelf Con el gran poder en mapa X", y una FX sobre el personaje. Bueno, Empezamos, todo el procedimiento en el servidor. Abrimos el servidor y vamos al frmMain. Le Hacemos doble click al Timer y ponemos este codigo: - Código:
-
Static Minutoss As Integer Minutoss = Minutoss + 1 If Minutoss >= 1 Then Minutoss = 0 If GranPoder = 0 Then OtorgarGranPoder (0) Else Call SendData(SendTarget.ToAll, GranPoder, 0, "||" & UserList(GranPoder).name & " con Gran Poder en el mapa " & UserList(GranPoder).Pos.Map & "." & FONTTYPE_GUILD) Call SendData(SendTarget.ToPCArea, GranPoder, UserList(GranPoder).Pos.Map, "CFX" & UserList(GranPoder).Char.CharIndex & "," & FXWARP & "," & 0) End If Else If GranPoder > 0 Then Call SendData(SendTarget.ToPCArea, GranPoder, UserList(GranPoder).Pos.Map, "CFX" & UserList(GranPoder).Char.CharIndex & "," & FXWARP & "," & 0) End If Vamos al Sub: - Código:
-
Sub NpcLanzaSpellSobreUser(ByVal NpcIndex As Integer, ByVal UserIndex As Integer, ByVal Spell As Integer) Y dentro de este Sub buscas: - Código:
-
'Muere If UserList(UserIndex).Stats.MinHP < 1 Then UserList(UserIndex).Stats.MinHP = 0 If Npclist(NpcIndex).NPCtype = eNPCType.GuardiaReal Then RestarCriminalidad (UserIndex) End If Y Abajo de esto Agregas: - Código:
-
If UserIndex = GranPoder Then Call SendData(SendTarget.ToAll, UserIndex, 0, "||" & UserList(UserIndex).name & " ha sido asesinado." & FONTTYPE_GUILD) Call OtorgarGranPoder(0) End If Vamos al Sub: - Código:
-
Sub HechizoPropNPC(ByVal hIndex As Integer, ByVal NpcIndex As Integer, ByVal UserIndex As Integer, ByRef b As Boolean) y en ese sub buscas: - Código:
-
daño = (daño * (ObjData(UserList(UserIndex).Invent.WeaponEqpObjIndex).StaffDamageBonus + 70)) / 100 y Arriva Agregas: - Código:
-
If GranPoder = UserIndex Then daño = daño * 2 Vamos a Sub: - Código:
-
Sub HechizoPropUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) y en este sub buscas: - Código:
-
Call SendData(SendTarget.ToIndex, tempChr, 0, "||" & UserList(UserIndex).name & " te ha quitado " & daño & " puntos de vida." & FONTTYPE_FIGHT) y Abajo Agregas: - Código:
-
If UserList(tempChr).Stats.MinHP < 1 Then If tempChr = GranPoder Then Call SendData(SendTarget.ToAll, tempChr, 0, "||" & UserList(tempChr).name & " ha sido asesinado." & FONTTYPE_GUILD) Call OtorgarGranPoder(UserIndex) End If Vamos al Sub: - Código:
-
Public Sub NpcDaño(ByVal NpcIndex As Integer, ByVal UserIndex As Integer) y buscamos dentro de sub : - Código:
-
Call UserDie(UserIndex) End If End Sub Ariba de esto agregas : - Código:
-
If UserIndex = GranPoder Then Call SendData(SendTarget.ToAll, UserIndex, 0, "||" & UserList(UserIndex).name & " ha muerto." & FONTTYPE_GUILD) Call OtorgarGranPoder(0) End If Vamos al Sub: - Código:
-
Public Sub EfectoFrio(ByVal UserIndex As Integer) y mas abajo donde dice: - Código:
-
Call UserDie(UserIndex) Agregas Arriva: - Código:
-
If UserIndex = GranPoder Then Call SendData(SendTarget.ToAll, UserIndex, 0, "||" & UserList(UserIndex).name & " ha muerto." & FONTTYPE_GUILD) Call OtorgarGranPoder(0) End If En el Sub: - Código:
-
Sub HechizoPropUsuario(ByVal UserIndex As Integer, ByRef b As Boolean) Buscas adentro: - Código:
-
If Hechizos(H).StaffAffected Then If UCase$(UserList(UserIndex).Clase) = "MAGO" Then y Agregas Abajo: - Código:
-
If GranPoder = UserIndex Then daño = daño * 2 Vas al Modulo Acciones y Agregas Al final: - Código:
-
Sub OtorgarGranPoder(Userindex As Integer) Dim LoopC As Integer Dim EncontroIdeal As Boolean If LastUser = 0 Then Exit Sub If Userindex = 0 Then Do While EncontroIdeal = False And LoopC < 500 LoopC = LoopC + 1 Userindex = RandomNumber(1, LastUser) If UserList(Userindex).flags.UserLogged = True And UserList(Userindex).flags.Muerto = 0 And UserList(Userindex).flags.Privilegios = User Then EncontroIdeal = True Exit Do End If Loop If Not EncontroIdeal Then Userindex = 0 GranPoder = 0 End If End If If Userindex > 0 Then If UserList(Userindex).flags.Muerto <> 0 Then Call OtorgarGranPoder(0) GranPoder = Userindex Call SendData(SendTarget.ToAll, Userindex, 0, "||Los dioses le otorgan el Gran Poder a " & UserList(Userindex).name & " en el mapa " & UserList(Userindex).Pos.Map & "." & FONTTYPE_GUILD) Call SendData(SendTarget.ToPCArea, Userindex, UserList(Userindex).Pos.Map, "CFX" & UserList(Userindex).Char.CharIndex & "," & FXWARP & "," & 0) End If End Sub Vas al Modulo Declaraciones y Buscas: - Código:
-
Type tEstadisticasDiarias y Arriva Agregas: - Código:
-
Public GranPoder As Integer Vas al Sub: - Código:
-
Public Sub EfectoVeneno(UserIndex As Integer, EnviarStats As Boolean) Buscas en el mismo sub: - Código:
-
If UserList(UserIndex).Stats.MinHP < 1 Then Call UserDie(UserIndex)
y Abajo agregas: - Código:
-
If Userindex = GranPoder And UserList(Userindex).Stats.MinHP <= 0 Then Call SendData(SendTarget.ToAll, Userindex, 0, "||" & UserList(Userindex).name & " ha muerto." & FONTTYPE_GUILD) Call OtorgarGranPoder(0) End If Vamos al Sub: - Código:
-
Sub ActStats(ByVal VictimIndex As Integer, ByVal AttackerIndex As Integer) En el mismo sub busca: - Código:
-
Call UserDie(VictimIndex) y Arriva Agrega: - Código:
-
If VictimIndex = GranPoder Then Call SendData(SendTarget.ToAll, VictimIndex, 0, "||" & UserList(VictimIndex).name & " ha sido asesinado." & FONTTYPE_GUILD) Call OtorgarGranPoder(AttackerIndex) End If Vas al Sub: - Código:
-
Sub CloseUser(ByVal UserIndex As Integer) ahi buscas: - Código:
-
UserList(UserIndex).flags.UserLogged = False UserList(UserIndex).Counters.Saliendo = False y Abajo Agerga: - Código:
-
If UserIndex = GranPoder Then Call SendData(SendTarget.ToAll, UserIndex, 0, "||" & UserList(UserIndex).name & " ha abandonado el reino." & FONTTYPE_GUILD) Call OtorgarGranPoder(0) End If vas al Sub: - Código:
-
Public Sub UserDañoNpc(ByVal UserIndex As Integer, ByVal NpcIndex As Integer) y buscas: - Código:
-
If daño < 0 Then daño = 0 y Agregas Abajo: - Código:
-
If GranPoder = UserIndex Then daño = daño * 2 Listo ^^ 100% Funcional Espero que les sirva ^^ PD: Lo deje re bien explicado así no se pierden jaja. Fuentes Gs zone Ciudades Perdidas Se acerca .... | |
|
KiZAME Pre-Avanzado
Cantidad de envíos : 38 Fecha de inscripción : 18/07/2013
| Tema: Re: Sistema de Gran poder (don ) para 0.11.5 Mar Jul 30, 2013 7:46 pm | |
| Buen aporte GM-PekeMixz veo que estas aportando mucho cada 2 segundos seguí así y tal vez te volves moderador como ZankuR. | |
|
GM-PekeMixz Capitan Primero
Cantidad de envíos : 81 Fecha de inscripción : 24/07/2013 Edad : 26 Localización : Boulogne
| Tema: Re: Sistema de Gran poder (don ) para 0.11.5 Mar Jul 30, 2013 7:48 pm | |
| AJAJAJAJAJ OJALA Xd grasiaas kizame
| |
|
Contenido patrocinado
| Tema: Re: Sistema de Gran poder (don ) para 0.11.5 | |
| |
|