[Aportes indexados] Pasajes

Estado
Cerrado para nuevas respuestas.

MrMan

Sr. Product Manager @ Rockwell Automation
Miembro del equipo
Colaborador
Bueno, este codigo me lo pidio alguien por msn asi que aca lo tienen. Saben bien que si tienen algun problema o alguna duda pueden postear que voy a tratar de solucionarlo.

Buscamos Sub UseInvItem, y en ese sub nos posicionamos debajo de:

Código:
 
Select Case Obj.ObjType
 
y ponemos:

Código:
 
' Tales
    Case OBJTYPE_PASAJES
     'Se asegura que el target es un npc
         If UserList(UserIndex).flags.TargetNPC = 0 Then
             Call SendData(ToIndex, UserIndex, 0, "||Primero tenes que seleccionar un personaje, hace click izquierdo sobre el." & FONTTYPE_INFO)
             Exit Sub
         End If
         ' Verificamos que sea el pirata
        If Npclist(UserList(UserIndex).flags.TargetNPC).NPCtype <> 9 Then Exit Sub     
 
         ' Si esta muy lejos no actua
         If Distancia(UserList(UserIndex).Pos, Npclist(UserList(UserIndex).flags.TargetNPC).Pos) > 10 Then
             Call SendData(ToIndex, UserIndex, 0, "||Estas demasiado lejos del pirata para tomar el pasaje." & FONTTYPE_INFO)
             Exit Sub
         End If
 
         ' Si esta muerto no puede usar el pasaje.
     If UserList(UserIndex).flags.Muerto = 1 Then
            Call SendData(ToIndex, UserIndex, 0, "||Estas muerto, solo los vivos pueden usar los pasajes!!!" & FONTTYPE_WARNING)
            Exit Sub
            End If
            
    ' Esta en zona Segura?
            If MapInfo(UserList(UserIndex).Pos.Map).Pk = True Then
            Call SendData(ToIndex, UserIndex, 0, "|| Debes estar en sona segura para utilizar un pasaje!!!" & FONTTYPE_INFO)
            Exit Sub
            End If
            
    ' Para prevenir que no se quede trabado el pj verificamos si el mapa de destino es un mapa valido.
            If MapaValido(Obj.mapa) Then
        ' Transportamos al usuario
                Call WarpUserChar(UserIndex, Obj.mapa, Obj.X, Obj.Y, True)
                Call SendData(ToIndex, UserIndex, 0, "|| Has sido transportado." & FONTTYPE_INFO)
                'Quitamos el item del inventario.
                Call QuitarUserInvItem(UserIndex, Slot, 1)
            Else
' Si no es un mapa valido se lo informamos al usuario.
                Call SendData(ToIndex, UserIndex, 0, "|| El mapa al que se dirije el pase no es un mapa valido." & FONTTYPE_INFO)
         exit sub
     End If
            
                Call UpdateUserInv(False, UserIndex, Slot)
                Call SendUserStatsBox(UserIndex)
        
        Exit Sub
' Tales
 

Ahora vamos al modulo Declares y Buscamos:

Código:
 
Public Const OBJTYPE_MANCHAS = 35

y debajo de esto ponemos:

Código:
 
Public Const OBJTYPE_PASAJES = 36

Buscamos:
Código:
Public Const NPCTYPE_GUARDIASCAOS = 8
y debajo ponemos :

Código:
' Tales declaramos al pirata
Public Const NPCTYPE_PIRATA = 9
' Tales

Buscamos
Código:
 
Public Type ObjData
y debajo ponemos:
Código:
 
' Tales
' Le damos los atributos al objeto.
    Mapa As Integer
    X As Integer
    Y As Integer
' Tales
 

Luego buscamos en el Sub LoadObjData buscamos:

Código:
 
If ObjData(Object).ObjType = OBJTYPE_ARMOUR Then
y arriba de eso ponemos:

Código:
 ' Tales
'Tomamos el destino del pasaje.
    If ObjData(Object).ObjType = OBJTYPE_PASAJES Then
        ObjData(Object).mapa = val(Leer.DarValor("OBJ" & Object, "Mapa"))
        ObjData(Object).X = val(Leer.DarValor("OBJ" & Object, "X"))
        ObjData(Object).Y = val(Leer.DarValor("OBJ" & Object, "Y"))
    End If
    ' Tales


Y listo, ah si me olvida el dat :p

Del Objeto
Código:
 
[OBJ708]
Name=Pasaje a Ullathorpe
GrhIndex=506
ObjType=36
Valor=1
Mapa=1
X=50
Y=50
 

Del Pirata:
Código:
[NPCXXX] 'NPC
Name=Pirata
Desc=Hola, deseas tomar un pasaje? Hasme Click y luego utilisalo.
NpcType=9
Head=0
Body=18
Heading=3
Movement=2
Comercia=1
Alineacion=0
ReSpawn=0
NROITEMS=1
Obj1=2-1
 

Bueno eso es todo, fijense que trate de comentar el codigo lo mas que pude asi ven que hace cada coda .

Atte. Tales, Mr Man

Edit: Lo complete a pedido de alguien, ahora tenes que estar cerca de un Npc.
 

lord xuri

Newbie Lvl 1
una pregunta si yo quiero colocar en mi server un npc q venda pasajes q numero seria y en donde lo configuro gracias !!!!! :D
 
A

Anonymous

Invitado
Para vender es el tipico NPC vendedor y le pones el num de objeto del pasje a la venta
 

lord xuri

Newbie Lvl 1
no me podrias poner como deberia ponerlo asi me guio porque es la primera vez q hago un server por eso gracias
 

lord xuri

Newbie Lvl 1
leandro se q esto no va aca pero bue te lo pregunto igual como hago para ponerle nombre a los portales y como hago para bloquear items sin contar q quiero hacer el cliente de mi server q ni de como se hace gracias
 

Shura

Dragón Ancestral Lvl 2
En Obj.dat Agregas Por Ejemplo:
Código:
[OBJ708] 
Name=Pasaje a Ullathorpe 
GrhIndex=506 
ObjType=36 
Valor=1 
Mapa=1 
X=50 
Y=50
Y Asi Vas Agregando Los Otros Objetos
 
A

Anonymous

Invitado
Codigo

el codigo anda 10 puntos!! jejeje y yo fui el que se lo pedi!! AGUANTE TALES! LOCOO
 
A

Anonymous

Invitado
MrMan dijo:
Bueno, este codigo me lo pidio alguien por msn asi que aca lo tienen. Saben bien que si tienen algun problema o alguna duda pueden postear que voy a tratar de solucionarlo.
...

Eso es todo, fijense que trate de comentar el codigo lo mas que pude asi ven que hace cada coda .


Atte. Tales, Mr Man
10 puntos , todo 10 puntos , pero lo empieso a adaptarlo a la 11.5 y no puedo adaptar esto :S =

Mr Man dijo:
' Tales
'Tomamos el destino del pasaje.
If ObjData(Object).ObjType = OBJTYPE_PASAJES Then
ObjData(Object).mapa = val(Leer.DarValor("OBJ" & Object, "Mapa"))
ObjData(Object).X = val(Leer.DarValor("OBJ" & Object, "X"))
ObjData(Object).Y = val(Leer.DarValor("OBJ" & Object, "Y"))
End If
' Tales

Puede ser que lo aya adaptado mal , por favor el que pueda que me lo pase para la 11.5 xD !


Edit:
No realices quotes tan grandes, complican la lectura del post.

Edit2: Ultima ves que me insultas, estas advertido.

Atte. Tales
 

s3bastian

Newbie Lvl 1
REVIVOOOOOOOO!

Yo en el declares.bas me aparece muy diferente, en vez de public const object type me aparece otManchas = 36...

Yo NO uso el AO ready...

Porque lo tengo diferente?

Como seria el codigo para mi?
 

DarkThom

Oráculo Lvl 3
s3bastian dijo:
REVIVOOOOOOOO!

Yo en el declares.bas me aparece muy diferente, en vez de public const object type me aparece otManchas = 36...

Yo NO uso el AO ready...

Porque lo tengo diferente?

Como seria el codigo para mi?

Tenes 0.11.5, La Diferencia es Ir Cambiando las Cosas Por las de la 0.11.5 y Listo :D.

P.D.: Deberia Closear ¬¬
 
A

Anonymous

Invitado
s3bastian dijo:
REVIVOOOOOOOO!

Yo en el declares.bas me aparece muy diferente, en vez de public const object type me aparece otManchas = 36...

Yo NO uso el AO ready...

Porque lo tengo diferente?

Como seria el codigo para mi?
Por favor lee el reglamento, que esta en el subforo de comunidad. O mejor, te dejo el link acá así no hay excusas :p.

>Reglamento<

Revivir temas puede provocar que un administrador te sancione =(.

Saludos.
 
A

Anonymous

Invitado
che no me anda....hice lo del npc el obj todo pero cuando lo compro y lo trato de usar no pasa nada....
 
A

Anonymous

Invitado
Alguien me no me pasa el Codigo directamente Osea por el msn pls :p porque no agarro una ni con el Vb ni con el We gracias mi msn

Es <a href="mailto:[email protected]" class="postlink" rel="nofollow" onClick="window.open(this.href);return false;">[email protected]</a>

o sino Mp :D


Muchisimas gracias :p


Yo!
 

Satoshi

It's Time For Plan B
Ex-Staff
1°- Estudia / Lee manuales de visual basic
2°- Practica programando
3°- Si no entiendes algo , pide ayuda

Pero no dá para pedir algo cuando ni siquiera tenes el vb viste ...

En todo caso, pide un programador :wink:


Saludos
 
Estado
Cerrado para nuevas respuestas.
Arriba