El mod del servidor es Twist.
Les dejo todo el Userdie.
- Sub UserDie(ByVal UserIndex As Integer)
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "ICEDIE")
- On Error GoTo ErrorHandler
- 'Sonido
- If UCase$(UserList(UserIndex).Genero) = "MUJER" Then
- Call SonidosMapas.ReproducirSonido(SendTarget.ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, e_SoundIndex.MUERTE_MUJER)
- Else
- Call SonidosMapas.ReproducirSonido(SendTarget.ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, e_SoundIndex.MUERTE_HOMBRE)
- End If
- 'Quitar el dialogo del user muerto
- Call SendData(SendTarget.ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, "QDL" & UserList(UserIndex).char.CharIndex)
- UserList(UserIndex).Stats.MinHP = 0
- UserList(UserIndex).Stats.MinSta = 0
- UserList(UserIndex).flags.AtacadoPorNpc = 0
- UserList(UserIndex).flags.AtacadoPorUser = 0
- UserList(UserIndex).flags.Envenenado = 0
- UserList(UserIndex).flags.Muerto = 1
- If UserList(Pareja.Jugador1).flags.Muerto = 1 Then
- Call WarpUserChar(Pareja.Jugador1, 1, 50, 51)
- Call WarpUserChar(Pareja.Jugador2, 1, 50, 52)
- UserList(Pareja.Jugador1).flags.EnPareja = False
- UserList(Pareja.Jugador1).flags.EsperaPareja = False
- UserList(Pareja.Jugador1).flags.SuPareja = 0
- HayPareja = False
- Call SendData(SendTarget.ToAll, 0, 0, "||El usuario " & UserList(Pareja.Jugador2).name & " derrotó a " & UserList(Pareja.Jugador1).name & FONTTYPE_DESAFIO)
- End If
- If UserList(Pareja.Jugador2).flags.Muerto = 1 Then
- Call WarpUserChar(Pareja.Jugador2, 1, 50, 50)
- Call WarpUserChar(Pareja.Jugador2, 1, 50, 50)
- UserList(Pareja.Jugador2).flags.EnPareja = False
- UserList(Pareja.Jugador2).flags.EsperaPareja = False
- UserList(Pareja.Jugador1).flags.SuPareja = 0
- HayPareja = False
- Call SendData(SendTarget.ToAll, 0, 0, "||El usuario " & UserList(Pareja.Jugador1).name & " derrotó a " & UserList(Pareja.Jugador2).name & FONTTYPE_DESAFIO)
- End If
- If UserList(Pareja.Jugador2).flags.Muerto = 1 Then
- Call WarpUserChar(Pareja.Jugador1, 1, 50, 51)
- Call WarpUserChar(Pareja.Jugador2, 1, 50, 52)
- UserList(Pareja.Jugador2).flags.EnPareja = False
- UserList(Pareja.Jugador2).flags.EsperaPareja = False
- UserList(Pareja.Jugador2).flags.SuPareja = 0
- HayPareja = False
- End If
- If UserList(UserIndex).Pos.Map = 2 Then 'mapa de duelo para que sea sacado
- Call WarpUserChar(UserIndex, 1, 64, 50, True)
- Call SendData(ToIndex, UserIndex, 0, "||Has perdido el Desafio." & FONTTYPE_SERVER)
- End If
- Dim AN As Integer
- AN = UserList(UserIndex).flags.AtacadoPorNpc
- If AN > 0 Then
- Npclist(AN).Movement = Npclist(AN).flags.OldMovement
- Npclist(AN).Hostile = Npclist(AN).flags.OldHostil
- Npclist(AN).flags.AttackedBy = ""
- End If
- '<<<< Paralisis >>>>
- If UserList(UserIndex).flags.Paralizado = 1 Then
- UserList(UserIndex).flags.Paralizado = 0
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "PARADOK")
- End If
- '<<< Estupidez >>>
- If UserList(UserIndex).flags.Estupidez = 1 Then
- UserList(UserIndex).flags.Estupidez = 0
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "NESTUP")
- End If
- '<<<< Descansando >>>>
- If UserList(UserIndex).flags.Descansar Then
- UserList(UserIndex).flags.Descansar = False
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "DOK")
- End If
- '<<<< Meditando >>>>
- If UserList(UserIndex).flags.Meditando Then
- UserList(UserIndex).flags.Meditando = False
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "MEDOK")
- End If
- '<<<< Invisible >>>>
- If UserList(UserIndex).flags.Invisible = 1 Or UserList(UserIndex).flags.Oculto = 1 Then
- UserList(UserIndex).flags.Oculto = 0
- UserList(UserIndex).flags.Invisible = 0
- 'no hace falta encriptar este NOVER
- Call SendData(SendTarget.ToMap, 0, UserList(UserIndex).Pos.Map, "NOVER" & UserList(UserIndex).char.CharIndex & ",0")
- End If
- If TriggerZonaPelea(UserIndex, UserIndex) <> TRIGGER6_PERMITE Then
- ' << Si es newbie no pierde el inventario >>
- If Not EsNewbie(UserIndex) Or Criminal(UserIndex) Then
- Call TirarTodo(UserIndex)
- Else
- If EsNewbie(UserIndex) Then Call TirarTodosLosItemsNoNewbies(UserIndex)
- End If
- End If
- ' DESEQUIPA TODOS LOS OBJETOS
- 'desequipar armadura
- If UserList(UserIndex).Invent.ArmourEqpObjIndex > 0 Then
- Call Desequipar(UserIndex, UserList(UserIndex).Invent.ArmourEqpSlot)
- End If
- 'desequipar arma
- If UserList(UserIndex).Invent.WeaponEqpObjIndex > 0 Then
- Call Desequipar(UserIndex, UserList(UserIndex).Invent.WeaponEqpSlot)
- End If
- 'desequipar casco
- If UserList(UserIndex).Invent.CascoEqpObjIndex > 0 Then
- Call Desequipar(UserIndex, UserList(UserIndex).Invent.CascoEqpSlot)
- End If
- 'desequipar herramienta
- If UserList(UserIndex).Invent.HerramientaEqpObjIndex > 0 Then
- Call Desequipar(UserIndex, UserList(UserIndex).Invent.HerramientaEqpSlot)
- End If
- 'desequipar municiones
- If UserList(UserIndex).Invent.MunicionEqpObjIndex > 0 Then
- Call Desequipar(UserIndex, UserList(UserIndex).Invent.MunicionEqpSlot)
- End If
- 'desequipar escudo
- If UserList(UserIndex).Invent.EscudoEqpObjIndex > 0 Then
- Call Desequipar(UserIndex, UserList(UserIndex).Invent.EscudoEqpSlot)
- End If
- ' << Reseteamos los posibles FX sobre el personaje >>
- If UserList(UserIndex).char.loops = LoopAdEternum Then
- UserList(UserIndex).char.FX = 0
- UserList(UserIndex).char.loops = 0
- End If
- ' << Restauramos el mimetismo
- If UserList(UserIndex).flags.Mimetizado = 1 Then
- UserList(UserIndex).char.Body = UserList(UserIndex).CharMimetizado.Body
- UserList(UserIndex).char.Head = UserList(UserIndex).CharMimetizado.Head
- UserList(UserIndex).char.CascoAnim = UserList(UserIndex).CharMimetizado.CascoAnim
- UserList(UserIndex).char.ShieldAnim = UserList(UserIndex).CharMimetizado.ShieldAnim
- UserList(UserIndex).char.WeaponAnim = UserList(UserIndex).CharMimetizado.WeaponAnim
- UserList(UserIndex).Counters.Mimetismo = 0
- UserList(UserIndex).flags.Mimetizado = 0
- End If
- '<< Cambiamos la apariencia del char >>
- If UserList(UserIndex).flags.Navegando = 0 Then
- UserList(UserIndex).char.Body = iCuerpoMuerto
- UserList(UserIndex).char.Head = iCabezaMuerto
- UserList(UserIndex).char.ShieldAnim = NingunEscudo
- UserList(UserIndex).char.WeaponAnim = NingunArma
- UserList(UserIndex).char.CascoAnim = NingunCasco
- Else
- UserList(UserIndex).char.Body = iFragataFantasmal ';)
- End If
- Dim i As Integer
- For i = 1 To MAXMASCOTAS
- If UserList(UserIndex).MascotasIndex(i) > 0 Then
- If Npclist(UserList(UserIndex).MascotasIndex(i)).Contadores.TiempoExistencia > 0 Then
- Call MuereNpc(UserList(UserIndex).MascotasIndex(i), 0)
- Else
- Npclist(UserList(UserIndex).MascotasIndex(i)).MaestroUser = 0
- Npclist(UserList(UserIndex).MascotasIndex(i)).Movement = Npclist(UserList(UserIndex).MascotasIndex(i)).flags.OldMovement
- Npclist(UserList(UserIndex).MascotasIndex(i)).Hostile = Npclist(UserList(UserIndex).MascotasIndex(i)).flags.OldHostil
- UserList(UserIndex).MascotasIndex(i) = 0
- UserList(UserIndex).MascotasType(i) = 0
- End If
- End If
- Next i
- UserList(UserIndex).NroMacotas = 0
- If Criminal(UserIndex) Then
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "Z33")
- Else
- Call SendData(SendTarget.ToIndex, UserIndex, 0, "Z34")
- End If
- 'If MapInfo(UserList(UserIndex).Pos.Map).Pk Then
- ' Dim MiObj As Obj
- ' Dim nPos As WorldPos
- ' MiObj.ObjIndex = RandomNumber(554, 555)
- ' MiObj.Amount = 1
- ' nPos = TirarItemAlPiso(UserList(UserIndex).Pos, MiObj)
- ' Dim ManchaSangre As New cGarbage
- ' ManchaSangre.Map = nPos.Map
- ' ManchaSangre.X = nPos.X
- ' ManchaSangre.Y = nPos.Y
- ' Call TrashCollector.Add(ManchaSangre)
- 'End If
- '<< Actualizamos clientes >>
- Call ChangeUserChar(SendTarget.ToMap, 0, UserList(UserIndex).Pos.Map, val(UserIndex), UserList(UserIndex).char.Body, UserList(UserIndex).char.Head, UserList(UserIndex).char.Heading, NingunArma, NingunEscudo, NingunCasco)
- Call SendUserStatsBox(UserIndex)
- Call SendUserHitBox(UserIndex)
- Call EnviarDopa(UserIndex)
- '<<Castigos por party>>
- If UserList(UserIndex).PartyIndex > 0 Then
- Call mdParty.ObtenerExito(UserIndex, UserList(UserIndex).Stats.ELV * -10 * mdParty.CantMiembros(UserIndex), UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y)
- End If
- Exit Sub
- If UserList(UserIndex).flags.EnDuelo = True Then
- UserList(UserIndex).flags.EnDuelo = False
- Call WarpUserChar(UserIndex, 1, 50, 50)
- Call SendData(SendTarget.ToAll, 0, 0, "||Duelos> " & UserList(UserIndex).name & " ha sido vencido." & FONTTYPE_TALK)
- Exit Sub
- End If
- Exit Sub
- ErrorHandler:
- Call LogError("Error en SUB USERDIE. Error: " & Err.Number & " Descripción: " & Err.Description)
- End Sub





227![Newbie [4] Newbie [4]](./images/ranks/Rango3.gif)

![Dragon Ancestral [5] Dragon Ancestral [5]](./images/ranks/Rango34.gif)







![Destructor de Mentes [11] Destructor de Mentes [11]](./images/ranks/Rango23.gif)
