SHARE
TWEET

Untitled




Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- Option Explicit
- Private Const MinotauroNPC As Integer = 692
- Private Const ObjInvotarMinotauro As Integer = 1241
- Private Const ObjRequisito As Integer = 1218
- Private TmpNpcIndex As Integer
- Private NombreMinotauro As String
- Private MinutosMinotauro As Byte
- Public EstadoMinotauro As Byte
- Private Function PuedeAccionMinotauro(ByVal UserIndex As Integer, ByVal TempCharIndex As Integer) As Boolean
- PuedeAccionMinotauro = False
- If EstadoMinotauro = 2 Then
- Call WriteChatOverHead(UserIndex, "El Minotauro fué liberado hace poco y debes esperar un tiempo para poder liberarlo de nuevo.", Npclist(TempCharIndex).Char.CharIndex, vbWhite)
- Exit Function
- End If
- If UserList(UserIndex).flags.Minotauro = 1 Then
- Call WriteChatOverHead(UserIndex, "No puedes liberar el Minotauro más veces.", Npclist(TempCharIndex).Char.CharIndex, vbWhite)
- Exit Function
- End If
- If Not TieneObjetos(ObjRequisito, 1, UserIndex) Then
- Call WriteChatOverHead(UserIndex, "Necesitas un Hilo de Ariadna que poseen algunas Viudas Negras para liberar el Minotauro.", Npclist(TempCharIndex).Char.CharIndex, vbWhite)
- Exit Function
- Else
- Call QuitarObjetos(ObjRequisito, 1, UserIndex)
- End If
- PuedeAccionMinotauro = True
- End Function
- Public Sub AccionMinotauro(ByVal UserIndex As Integer, ByVal NpcIndex As Integer)
- If Not PuedeAccionMinotauro(UserIndex, NpcIndex) Then Exit Sub
- With UserList(UserIndex)
- If StrComp(NombreMinotauro, vbNullString) = 0 Then
- Dim PosMinotauro As WorldPos
- PosMinotauro.Map = RandomNumber(1, NumMaps)
- PosMinotauro.X = RandomNumber(50, 80)
- PosMinotauro.Y = RandomNumber(50, 80)
- TmpNpcIndex = SpawnNpc(MinotauroNPC, PosMinotauro, True, False)
- If TmpNpcIndex > 0 Then
- Call WriteChatOverHead(UserIndex, "Aprisa!, El Minotauro ha huido al verte, búscalo y mátalo antes de que lo haga cualquier otro...", Npclist(NpcIndex).Char.CharIndex, vbWhite)
- Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("El Minotauro ha sido liberado por " & .Name, FontTypeNames.FONTTYPE_PARTY))
- NombreMinotauro = UCase$(.Name)
- EstadoMinotauro = 1
- MinutosMinotauro = 30
- End If
- Else
- If StrComp(NombreMinotauro, UCase$(.Name)) = 0 Then
- Call WriteChatOverHead(UserIndex, "El Minotauro fué liberado por otro personaje, debes esperar que sea capturado.", Npclist(NpcIndex).Char.CharIndex, vbWhite)
- Else
- Call WriteChatOverHead(UserIndex, "Aprisa!, El Minotauro ha huido al verte, búscalo y mátalo antes de que lo haga cualquier otro...", Npclist(NpcIndex).Char.CharIndex, vbWhite)
- End If
- End If
- End With
- End Sub
- Public Sub MuereMinotauro(ByVal UserIndex As Integer, ByVal NumNpc As Integer)
- If StrComp(NumNpc, MinotauroNPC) = 0 Then
- With UserList(UserIndex)
- If StrComp(NombreMinotauro, UCase$(.Name)) = 0 Then
- .Stats.SkillPts = .Stats.SkillPts + 200
- .Stats.Puntos = .Stats.Puntos + 1000
- '.Stats.Fama = .Stats.Fama + 50000
- .flags.Minotauro = 1
- Call WriteConsoleMsg(UserIndex, "Has ganado 200 Puntos Habilidades Libres para Asignar.", FontTypeNames.FONTTYPE_INFO)
- Call WriteConsoleMsg(UserIndex, "Has ganado 1000 DraGPuntos.", FontTypeNames.FONTTYPE_INFO)
- 'Call WriteConsoleMsg(UserIndex, "Has ganado mucha Popularidad.", FontTypeNames.FONTTYPE_INFO)
- Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("El Minotauro ha sido asesinado por " & .Name & " que fué el Personaje que lo liberó, los Dioses le han otorgado los Poderes del Minotauro!!", FontTypeNames.FONTTYPE_PARTY))
- 'Call SendUserStatsFama(UserIndex)
- Call WriteSendSkills(UserIndex)
- Call WriteLevelUp(UserIndex, 1, .Stats.SkillPts)
- Else
- Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("El Minotauro ha sido asesinado por " & .Name & ", este personaje no lo liberó y los Dioses no le conceden los Poderes del Minotauro.", FontTypeNames.FONTTYPE_PARTY))
- End If
- End With
- NombreMinotauro = vbNullString
- EstadoMinotauro = 2
- MinutosMinotauro = 0
- End If
- End Sub
- Public Sub ConteoMinotauro()
- If EstadoMinotauro = 1 Then
- MinutosMinotauro = MinutosMinotauro - 1
- If MinutosMinotauro < 1 Then
- If TmpNpcIndex > 0 Then
- If Npclist(TmpNpcIndex).NPCtype = eNPCType.Minotauro Then
- EstadoMinotauro = 2
- NombreMinotauro = vbNullString
- Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("El Minotauro no ha sido encontrado y desaparece.", FontTypeNames.FONTTYPE_PARTY))
- Call QuitarNPC(TmpNpcIndex)
- End If
- End If
- Else
- Dim ID As Integer
- ID = NameIndex(NombreMinotauro)
- If ID > 0 Then
- Call WriteConsoleMsg(ID, "Debes matar al Minotauro antes de " & MinutosMinotauro & " minutos.", FontTypeNames.FONTTYPE_VENENO)
- End If
- Select Case MinutosMinotauro
- Case 5, 10, 15, 20, 25
- If TmpNpcIndex > 0 Then
- Call SendData(SendTarget.ToAdmins, 0, PrepareMessageConsoleMsg("GM> El minotauro esta en " & Npclist(TmpNpcIndex).pos.Map & "-" & Npclist(TmpNpcIndex).pos.X & "-" & Npclist(TmpNpcIndex).pos.Y, FontTypeNames.FONTTYPE_GUILD))
- End If
- Case Else
- Exit Sub
- End Select
- End If
- End If
- End Sub
- Public Sub ConvertirMinotauro(ByVal UserIndex As Integer, ByVal Slot As Byte)
- With UserList(UserIndex)
- If .flags.Minotauro = 0 Then Exit Sub
- If .Counters.Minotauro <> 0 Then Exit Sub
- If .flags.Berseker <> 0 Then Exit Sub
- If .flags.Transformado <> 0 Then Exit Sub
- .Counters.Minotauro = 1000
- .flags.OldBody = .Char.Body
- .flags.OldHead = .Char.Head
- With .Char
- Call ChangeUserChar(UserIndex, 380, 0, .Heading, .WeaponAnim, .ShieldAnim, .CascoAnim, .BotasAnim)
- Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageCreateFX(.CharIndex, 25, 0))
- End With
- End With
- End Sub
- Public Sub EfectoMinotauro(ByVal UserIndex As Integer)
- With UserList(UserIndex)
- If .Counters.Minotauro > 0 Then
- .Counters.Minotauro = .Counters.Minotauro - 1
- If .Counters.Minotauro < 1 Then
- Call ChangeUserChar(UserIndex, .flags.OldBody, .flags.OldHead, .Char.Heading, .Char.WeaponAnim, .Char.ShieldAnim, .Char.CascoAnim, .Char.BotasAnim)
- Exit Sub
- End If
- End If
- End With
- End Sub
- Public Sub DesconectaMinotauro(ByVal UserIndex As Integer)
- With UserList(UserIndex)
- If .Counters.Minotauro > 0 Then
- .Counters.Minotauro = 0
- Call ChangeUserChar(UserIndex, .flags.OldBody, .flags.OldHead, .Char.Heading, .Char.WeaponAnim, .Char.ShieldAnim, .Char.CascoAnim, .Char.BotasAnim)
- .flags.OldHead = 0
- .flags.OldBody = 0
- End If
- End With
- End Sub
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.