Ayuda con un arma

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Diseño DooM -> Edición de mapas
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
[oF]Ederick
Mapeador



Registrado: 29 Jun 2008
Mensajes: 52
Ubicación: En mi casa

MensajePublicado: Vie Jun 04, 2010 7:28 am    Título del mensaje: Ayuda con un arma Responder citando

Hola, vengo con otra de mis dudas dudosas, esta ves se trata de una nueva arma que me gustaria implementar, esta sera una especie de lanzador de teleports, es decir lanzara un circulo extraño de color verde por donde puedan salir marines aliados. Los marines aliados ya estan echos, pero el Decorate del arma es lo que me falta, como podria hacerle para que el arma dispare el teleport o en su defecto, si no se pudiera como hacerle para que dispare al marine.

Esa seria mi unica duda por el momento.

Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor MSN Messenger
doomero
Gurú del Mapeo



Registrado: 08 Nov 2007
Mensajes: 238

MensajePublicado: Vie Jun 04, 2010 8:02 am    Título del mensaje: Responder citando

no como un teleport pero se puede hacer que invoque actores usando el action siguiente:

XXXX A 1 A_SPAWNTEMEX("MARINEFRIENDLY", x,y,z)

x, y,z son las corrdenadas en la cual invocaras la posicion de spawning del actor, no coloques 0,0,0...ocurrira que se invocara justo en tu misma posicion y tu y el actor se quedaran inmoviles por efecto de sus masas...edita la posicion del x, que es la mas importante, + delante de ti, - atras de ti, y es lado derecho o izquierdo, z la altura, puede ser, 15,0,0 estaria bien, otra coa importante, si haces esto pegado a una pared, es porbable que el marine sea invocado afuera del mapa, ten mucho cuidado con eso....
_________________
doomero desde los 7 años

Volver arriba
Ver perfil del usuario Enviar mensaje privado
[oF]Ederick
Mapeador



Registrado: 29 Jun 2008
Mensajes: 52
Ubicación: En mi casa

MensajePublicado: Vie Jun 04, 2010 6:10 pm    Título del mensaje: Responder citando

doomero escribió:
no como un teleport pero se puede hacer que invoque actores usando el action siguiente:

XXXX A 1 A_SPAWNTEMEX("MARINEFRIENDLY", x,y,z)

x, y,z son las corrdenadas en la cual invocaras la posicion de spawning del actor, no coloques 0,0,0...ocurrira que se invocara justo en tu misma posicion y tu y el actor se quedaran inmoviles por efecto de sus masas...edita la posicion del x, que es la mas importante, + delante de ti, - atras de ti, y es lado derecho o izquierdo, z la altura, puede ser, 15,0,0 estaria bien, otra coa importante, si haces esto pegado a una pared, es porbable que el marine sea invocado afuera del mapa, ten mucho cuidado con eso....


Ok, gracias pero hay alguna forma, para que el marine no pueda ser convocado fuera del mapa, ya que no me agrada la idea que este adentro de las paredes, es decir, que cuando dispare si topa con una pared se cancele la materializacion del marine, se puede????

Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor MSN Messenger
doomero
Gurú del Mapeo



Registrado: 08 Nov 2007
Mensajes: 238

MensajePublicado: Vie Jun 04, 2010 10:11 pm    Título del mensaje: Responder citando

acs, pero seria algo complejo, puesto que tendria que ser para todas las paredes....
_________________
doomero desde los 7 años

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Zedeck
Mapeador



Registrado: 08 Jun 2010
Mensajes: 117
Ubicación: Me perdi, no entiendo el mapa!!!! oh es el Valhalla

MensajePublicado: Mar Jun 08, 2010 9:27 pm    Título del mensaje: Tengo un problema con esto Responder citando

Bien es mi primer post. Tengo un problema, es del (en este caso) del imp que invoco (es personalizado), el Rapid imp me ataqua y no me ayuda a matar los otros monstruos, help por favor

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Demmon Break Master
Mapeador



Registrado: 24 Oct 2007
Mensajes: 627

MensajePublicado: Mie Jun 09, 2010 12:34 am    Título del mensaje: Re: Tengo un problema con esto Responder citando

Zedeck escribió:
Bien es mi primer post. Tengo un problema, es del (en este caso) del imp que invoco (es personalizado), el Rapid imp me ataqua y no me ayuda a matar los otros monstruos, help por favor


Añadele el tag

+FRIENDLY

a tu monstruo, de esta manera te reconocera como aliado, aunque no pidas que piense por si mismo, ya que tan solo te seguira donde vayas y atacara a otros enemigos. Si aplicas esto a un archvile, todo aquel que resucite se convertira en aliado tuyo.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Zedeck
Mapeador



Registrado: 08 Jun 2010
Mensajes: 117
Ubicación: Me perdi, no entiendo el mapa!!!! oh es el Valhalla

MensajePublicado: Mie Jun 09, 2010 2:41 am    Título del mensaje: Responder citando

a Grax amigo lo hare

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Numnzel_
Mapeador



Registrado: 26 Sep 2009
Mensajes: 114

MensajePublicado: Sab Jun 12, 2010 5:19 pm    Título del mensaje: Responder citando

[oF]Ederick escribió:
Ok, gracias pero hay alguna forma, para que el marine no pueda ser convocado fuera del mapa, ya que no me agrada la idea que este adentro de las paredes, es decir, que cuando dispare si topa con una pared se cancele la materializacion del marine, se puede????


Porque no pones para que cuando invoques al marine desaparezca en 30 segundos?? Al menos si te equivocas y se sale de la pared desaparecera y podras invocar a otro...

Otra idea para reducir las probabilidades de que se salga de la pared es ajustar la distancia a la que aparece delante tuyo con su radio, si no me equivoco seria algo así:

Digamos que invocas a un monstruo creado por ti mismo:

Código:
actor MONSTRUO 12003
{
height 20
radius 7
ect...
}


entonces creo que seria así:

Código:
XXXX A 1 A_SPAWNTEMEX("MONSTRUO", 0,14,0)


Porque cuanto mas lejos lo invoques de ti mas facil será de que se encalle en alguna pared.
Así en cambio, aparece EXACTAMENTE delante tuyo, aunque eso no quiere decir que no se encalle por supuesto...

Lo siento por no poder solucionar tu problema pero es que no se me ocurre nada más.

PD: No he provado esos códigos, aunque si no funcionan supongo que sera algo similar.

Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo MSN Messenger
doomero
Gurú del Mapeo



Registrado: 08 Nov 2007
Mensajes: 238

MensajePublicado: Sab Jun 12, 2010 7:06 pm    Título del mensaje: Responder citando

es algo complejo lo que quieres, lastimosamente el bug mas notorio seria lo de que el marine apareciera por fuera del mapa....
_________________
doomero desde los 7 años

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Koño
Mapeador



Registrado: 15 Abr 2008
Mensajes: 345
Ubicación: Dark Crucible / Crisol oscuro

MensajePublicado: Dom Jun 13, 2010 12:22 am    Título del mensaje: Responder citando

ponele bounce y gravedad al misil que spawnea al marine
_________________
...

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Numnzel_
Mapeador



Registrado: 26 Sep 2009
Mensajes: 114

MensajePublicado: Dom Jul 04, 2010 5:47 pm    Título del mensaje: Responder citando

A ver si este código te sirve:

(Aviso: No lo he comprobado, pero creo que funciona.)

Código:
actor LanzadorDeTeleports : weapon 12001
{
height 20 //esto depende del sprite que uses.
radius 10
attacksound "armas/lanzar" //como digo, todo esto tambien depende de ti.
inventory.pickupmessage "has cogido el teletransportador de marines"
weapon.selectionorder 180
weapon.kickback 100
weapon.ammotype "teletransportador"
weapon.ammouse 1
weapon.ammogive 3
states
{
Ready:
   LANZ A 1 A_WeaponReady
   loop
Deselect:
   LANZ A 1 A_Lower
   loop
Select:
   LANZ A 1 A_Raise
   loop
Fire:
   LANZ BCD 2
   LANZ E 2 bright A_FireCustomMissile ("circuloverde")
   LANZ FG 2
   LANZ G 0 A_ReFire
   goto ready
Spawn:
   LANZ H -1
   stop
   }
}

actor CirculoVerde
{
height 1
radius 9
speed 20
damage 0
seesound "armas/lanzamiento"
deathsound "armas/lanzmuere"
PROJECTILE
+NOGRAVITY
+BOUNCEONWALLS
+BOUNCEONCEILING
+BOUNCEONFLOORS
+BOUNCEONACTORS
States
{
Spawn:
   CIRC A 1 bright
   loop
Death:
   CIRC A 30 bright
   CIRC A 0 bright A_Spawnitem ("TuMarine",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   }
}

actor teletransportador : ammo 31002
{
height 5
radius 10
inventory.pickupmessage "Has cogido un teletransportador"
inventory.icon "TELEA0"
inventory.amount 1
inventory.maxamount 10
inventory.backpackamount 1
inventory.backpackmaxamount 15
States
{
Spawn:
   TELE B -1 bright
   stop
   }
}


El objeto "TuMarine" debera ser el marine creado por ti.

Salu2

PD: Aprobecho este tema para preguntar para que sirve en una arma
weapon.kickback
y
weapon.selectionorder

Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo MSN Messenger
[oF]Ederick
Mapeador



Registrado: 29 Jun 2008
Mensajes: 52
Ubicación: En mi casa

MensajePublicado: Lun Jul 05, 2010 5:20 am    Título del mensaje: Responder citando

Hell knight_199 escribió:
A ver si este código te sirve:

(Aviso: No lo he comprobado, pero creo que funciona.)

Código:
actor LanzadorDeTeleports : weapon 12001
{
height 20 //esto depende del sprite que uses.
radius 10
attacksound "armas/lanzar" //como digo, todo esto tambien depende de ti.
inventory.pickupmessage "has cogido el teletransportador de marines"
weapon.selectionorder 180
weapon.kickback 100
weapon.ammotype "teletransportador"
weapon.ammouse 1
weapon.ammogive 3
states
{
Ready:
   LANZ A 1 A_WeaponReady
   loop
Deselect:
   LANZ A 1 A_Lower
   loop
Select:
   LANZ A 1 A_Raise
   loop
Fire:
   LANZ BCD 2
   LANZ E 2 bright A_FireCustomMissile ("circuloverde")
   LANZ FG 2
   LANZ G 0 A_ReFire
   goto ready
Spawn:
   LANZ H -1
   stop
   }
}

actor CirculoVerde
{
height 1
radius 9
speed 20
damage 0
seesound "armas/lanzamiento"
deathsound "armas/lanzmuere"
PROJECTILE
+NOGRAVITY
+BOUNCEONWALLS
+BOUNCEONCEILING
+BOUNCEONFLOORS
+BOUNCEONACTORS
States
{
Spawn:
   CIRC A 1 bright
   loop
Death:
   CIRC A 30 bright
   CIRC A 0 bright A_Spawnitem ("TuMarine",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   }
}

actor teletransportador : ammo 31002
{
height 5
radius 10
inventory.pickupmessage "Has cogido un teletransportador"
inventory.icon "TELEA0"
inventory.amount 1
inventory.maxamount 10
inventory.backpackamount 1
inventory.backpackmaxamount 15
States
{
Spawn:
   TELE B -1 bright
   stop
   }
}


El objeto "TuMarine" debera ser el marine creado por ti.

Salu2

PD: Aprobecho este tema para preguntar para que sirve en una arma
weapon.kickback
y
weapon.selectionorder


Gracias, funciona de maravilla, solo que tengo una duda mas, tengo varios marines aliados, con decorate ya echos.

marinealiado1
marinealiado2
marinealiado3
marinealiado4
generalmarine

Mi duda es que debo poner para que los marines salgan al azar es decir que cuando dispare puedan aparecer cualquiera de los 5 (pero que el general tengo un porsentage menor)es decir que que los primeros 4 tengan un 22% de probabilidades de aparecer, y el general solo un 12%, la razon es por que este sera mas fuerte, no es dificil de deducir xD.

Si no se pudiera lo del % no importa con que pueda summonear al azar cualquiera de los marines, gracias por tu tiempo

Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor MSN Messenger
Numnzel_
Mapeador



Registrado: 26 Sep 2009
Mensajes: 114

MensajePublicado: Lun Jul 05, 2010 6:48 pm    Título del mensaje: Responder citando

Entonces seria así:

(NOTA: Todo lo escrito despues de "//" es un comentario)

Código:
actor CirculoVerde
{
height 1
radius 9
speed 20
damage 0
seesound "armas/lanzamiento"
deathsound "armas/lanzmuere"
PROJECTILE
+NOGRAVITY
+BOUNCEONWALLS
+BOUNCEONCEILING
+BOUNCEONFLOORS
+BOUNCEONACTORS
States
{
Spawn:
   CIRC A 1 bright
   loop
Death:
   CIRC A 30 bright
   CIRC A 0 A_Jump(43,6) //ir a marinealiado1
   CIRC A 0 A_Jump(45,12) //ir a marinealiado2
   CIRC A 0 A_Jump(47,18) //ir a marinealiado3
   CIRC A 0 A_Jump(49,24) //ir a marinealiado4
   CIRC A 0 A_Jump(51,30) //ir a marinealiado5
   CIRC A 0 A_Jump(25,36) //ir a generalmarine
   CIRC A 0 bright A_Spawnitem ("marinealiado1",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("marinealiado2",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("marinealiado3",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("marinealiado4",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("marinealiado5",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("generalmarine",0,0,0)
   CIRC ABCDEF 10 bright
   stop
  }
}



Como puedes ver aqui:

CIRC A 0 A_Jump(43,6) //ir a marinealiado1
CIRC A 0 A_Jump(45,12) //ir a marinealiado2
CIRC A 0 A_Jump(47,18) //ir a marinealiado3
CIRC A 0 A_Jump(49,24) //ir a marinealiado4
CIRC A 0 A_Jump(51,30) //ir a marinealiado5
CIRC A 0 A_Jump(25,36) //ir a generalmarine

He bajado las posibilidades de los primeros marinealiados1, 2, 3, y 4.
Si quieres puedes cambiarlos hasta 51 (=20%)
Lo he hecho porque los de delante tienen mas posibilidades que los de atrás, ya que el juego lee el código de arriba hacia abajo, primero lee los primeros, y si da la posibilidad de que acepte el jump de marinealiado2 los marinealiado3, 4, 5 y el generalmarine serán ignorados, y si da el caso de que los ignora todos, continuara y ejecutara el spawnitem marinealiado1.

Tambien podrías probar a subir un poco la probabilidad de que salga el generalmarine, ya que esta detrás de todo y tiene por delante todos los marinesaliados.
También podrías probar de poner el jump del generalmarine delante del todo, asi te aseguras de que se ejecute el primero, y si fallara, seguiría con los demás, en ese caso sería así:

Código:
actor CirculoVerde
{
height 1
radius 9
speed 20
damage 0
seesound "armas/lanzamiento"
deathsound "armas/lanzmuere"
PROJECTILE
+NOGRAVITY
+BOUNCEONWALLS
+BOUNCEONCEILING
+BOUNCEONFLOORS
+BOUNCEONACTORS
States
{
Spawn:
   CIRC A 1 bright
   loop
Death:
   CIRC A 30 bright
   CIRC A 0 A_Jump(25,41) //ir a generalmarine
   CIRC A 0 A_Jump(43,5) //ir a marinealiado1
   CIRC A 0 A_Jump(45,11) //ir a marinealiado2
   CIRC A 0 A_Jump(47,17) //ir a marinealiado3
   CIRC A 0 A_Jump(49,23) //ir a marinealiado4
   CIRC A 0 A_Jump(51,29) //ir a marinealiado5
   CIRC A 0 bright A_Spawnitem ("marinealiado1",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("marinealiado2",0,0,0) 13
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("marinealiado3",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("marinealiado4",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("marinealiado5",0,0,0)
   CIRC ABCDEF 10 bright
   stop
   CIRC A 0 bright A_Spawnitem ("generalmarine",0,0,0)
   CIRC ABCDEF 10 bright
   stop
  }
}


Yo te recomiendo este ultimo código, ya que teniendo el jump del generalmarine delante del todo, sera el que se ejecute primero, así si no se ejecuta, seguirá hacia los marinealiados, y si los ignora todos, llegara hasta el spawnitem marinealiado1.

Para que entiendas como funcionan los jumps:


Tutorial Aluqah escribió:
A_Jump([probabilidad del 0 al 255], [frames a saltar])

Con frames me refiero a eso: frames, por ejemplo tenemos:

MRTY B 0 A_jump(128,6)
MPTY CD 4
MPTY EFG 5
MPTY H 8

Habrá un 50% de probabilidades de que salte al frame H, el último, ya que contamos seis: C, D, E, F, G y H. Si eso ocurre los frames CDEF y G y sus respectivas acciones (si hubiera) serán ignoradas.
Si no hay salto, seguirá con el código, en este caso, la línea 'MPTY CD 4'.


Aqui tienes el tutorial completo:
http://www.divshare.com/download/5697470-2a0

Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo MSN Messenger
[oF]Ederick
Mapeador



Registrado: 29 Jun 2008
Mensajes: 52
Ubicación: En mi casa

MensajePublicado: Lun Jul 05, 2010 7:27 pm    Título del mensaje: Responder citando

muchas gracias Cool

Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor MSN Messenger
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Diseño DooM -> Edición de mapas Todas las horas están en GMT + 2 Horas
Página 1 de 1

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas


Powered by phpBB

Todos los contenidos de esta página, salvo que conste un autor o licencia diferente, están licenciados bajo la Licencia Creative Commons
DOOM y DOOM II son marcas registradas de id Software, Inc.