¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.


Todo sobre AO
 
ÍndiceÚltimas imágenesBuscarRegistrarseConectarse

 

 Pendiente del Sacrificio

Ir abajo 
AutorMensaje
Agus
Admin



Mensajes : 69
Fecha de inscripción : 01/07/2008

Pendiente del Sacrificio Empty
MensajeTema: Pendiente del Sacrificio   Pendiente del Sacrificio EmptyVie Ago 01, 2008 8:50 pm

Luego, abajo de todo, en el modulo Declares.bas, ponemos:


Citación :

Public Const PiedraIndex As Integer = 865
Public Const DestruirPiedraMagica As Byte = 1
Luego, buscamos:
Citación :

Sub TirarTodosLosItems(ByVal UserIndex As Integer)
Y abajo de:
Citación :

Dim ItemIndex As Integer
Ponemos :
Citación :

If DestruirPiedraMagica = 0 Then
'Se dropee:
If TieneObjetos(PiedraIndex, 1, UserIndex) Then
For i = 1 To MAX_INVENTORY_SLOTS
ItemIndex = UserList(UserIndex).Invent.Object(i).ObjIndex

If ItemIndex = PiedraIndex Then
NuevaPos.X = 0
NuevaPos.Y = 0

MiObj.Amount = UserList(UserIndex).Invent.Object(i).Amount
MiObj.ObjIndex = ItemIndex

Tilelibre UserList(UserIndex).Pos, NuevaPos, MiObj
If NuevaPos.X <> 0 And NuevaPos.Y <> 0 Then
Call DropObj(UserIndex, i, 1, NuevaPos.Map, NuevaPos.X, NuevaPos.Y)
End If

Exit Sub
End If
Next i
End If
Else
'Se destruya:
If TieneObjetos(PiedraIndex, 1, UserIndex) Then
For i = 1 To MAX_INVENTORY_SLOTS
ItemIndex = UserList(UserIndex).Invent.Object(i).ObjIndex

If ItemIndex = PiedraIndex Then
Call QuitarUserInvItem(UserIndex, i, 1)
Call UpdateUserInv(False, UserIndex, i)

Exit Sub
End If
Next i
End If
End If
Luego, buscamos:
Citación :

Sub TirarTodosLosItemsNoNewbies(ByVal UserIndex As Integer)
Y abajo de:
Citación :

Dim ItemIndex As Integer
Ponemos:
Citación :
If MapData(UserList(UserIndex).Pos.Map, UserList(UserIndex).Pos.X, UserList(UserIndex).Pos.Y).trigger = 6 Then Exit Sub

If DestruirPiedraMagica = 0 Then
'Se dropee:
If TieneObjetos(PiedraIndex, 1, UserIndex) Then
For i = 1 To MAX_INVENTORY_SLOTS
ItemIndex = UserList(UserIndex).Invent.Object(i).ObjIndex

If ItemIndex = PiedraIndex Then
NuevaPos.X = 0
NuevaPos.Y = 0

MiObj.Amount = UserList(UserIndex).Invent.Object(i).Amount
MiObj.ObjIndex = ItemIndex

Tilelibre UserList(UserIndex).Pos, NuevaPos, MiObj
If NuevaPos.X <> 0 And NuevaPos.Y <> 0 Then
Call DropObj(UserIndex, i, 1, NuevaPos.Map, NuevaPos.X, NuevaPos.Y)
End If

Exit Sub
End If
Next i
End If
Else
'Se destruya:
If TieneObjetos(PiedraIndex, 1, UserIndex) Then
For i = 1 To MAX_INVENTORY_SLOTS
ItemIndex = UserList(UserIndex).Invent.Object(i).ObjIndex

If ItemIndex = PiedraIndex Then
Call QuitarUserInvItem(UserIndex, i, 1)
Call UpdateUserInv(False, UserIndex, i)
Exit Sub
End If
Next i
End If
End If
Luego, creamos, dentro del OBJ.DAT, el objeto:
Citación :

[OBJ865]
Name=Pendiente de sacrificio
GrhIndex=700
ObjType=36
Agarrable=0
Crucial=0



Recuerden modificar las constantes declaradas al principio de este post (PiedraIndex y DestruirPiedraMagica) que representan el index de la piedra del OBJ.DAT, y si el sacri se destruye o se cae al morir (o sea, 1 para que se destruya o cualquier otro valor para que se caiga).
Volver arriba Ir abajo
https://recompilacionao.forosactivos.com
 
Pendiente del Sacrificio
Volver arriba 
Página 1 de 1.

Permisos de este foro:No puedes responder a temas en este foro.
 :: Argentum Online :: Programación :: 0.11.5-
Cambiar a: