[Aporte]Sistema de anti-pisada
2 participantes
Página 1 de 1.
[Aporte]Sistema de anti-pisada
- Código:
''TELEFRAG
If MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex <> 0 Then
''si estaba en comercio seguro...
If UserList(MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex).ComUsu.DestUsu > 0 Then
If UserList(UserList(MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex).ComUsu.DestUsu).flags.UserLogged Then
Call FinComerciarUsu(UserList(MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex).ComUsu.DestUsu)
Call SendData(SendTarget.ToIndex, UserList(MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex).ComUsu.DestUsu, 0, "||{46}" & FONTTYPE_TALK)
End If
If UserList(MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex).flags.UserLogged Then
Call FinComerciarUsu(MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex)
Call SendData(SendTarget.ToIndex, MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex, 0, "ERRAlguien se ha conectado donde te encontrabas, por favor reconéctate...")
End If
End If
Call CloseSocket(MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex)
End If
- Código:
If MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).UserIndex <> 0 Then
UserList(UserIndex).Pos = DamePos(UserList(UserIndex).Pos)
End If
- Código:
Public Function DamePos(ByRef original_Pos As WorldPos) As WorldPos
'
' @ Devuelve un tile libre.
Dim iRange As Long
Dim iX As Long
Dim iY As Long
Dim now_Index As Integer
Dim no_User As Boolean
Dim not_Pos As WorldPos
not_Pos = original_Pos
DamePos.Map = original_Pos.Map
With original_Pos
For iRange = 1 To 3
For iX = (.X - iRange) To (.X + iRange)
For iY = (.Y - iRange) To (.Y + iRange)
now_Index = MapData(.Map, iX, iY).UserIndex
'No hay n usuario
If (now_Index = 0) Then
DamePos.X = iX
DamePos.Y = iY
no_User = True
End If
'No hay usuario, revisa npc
If (no_User = True) Then
now_Index = MapData(.Map, iX, iY).NpcIndex
'No hay un npc.
If (now_Index = 0) Then
DamePos.X = iX
DamePos.Y = iY
Exit Function
Else
no_User = False
End If
End If
Next iY
Next iX
Next iRange
End With
'Llega acá, devuelve la posición original.
DamePos = not_Pos
End Function
- Fuente:
- GsZone
Temas similares
» [Aporte] Sistema e Cursores Gráficos
» [Aporte] Base Anti-Injector de dlls C++ Avanzado
» [ PEDIDO ] Algun Sistema de Donador ?
» [Aporte]Obj de IAO 1.4.9
» [ APORTE ] Ciudad 1
» [Aporte] Base Anti-Injector de dlls C++ Avanzado
» [ PEDIDO ] Algun Sistema de Donador ?
» [Aporte]Obj de IAO 1.4.9
» [ APORTE ] Ciudad 1
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.