Jump to content
  • ¡Hola, Invitado! Únete a nuestra comunidad y construyamos juntos algo increíble.

    Welcome to our community! If it’s your first visit, we recommend checking out the help by clicking the link above. To actively participate, simply click the ‘Connect’ or ‘Register’ button. Once registered, you’ll be able to post messages and explore the different forums available. We look forward to seeing you soon!

[Solucionado] Changelevel en un mapa..


Nax0ne

Recommended Posts

Hola chicos, yo quisiera saber como hago para que por ejemplo en una parte especifica del mapa llegen ambos o cualquiera de los equipos... y en ese momento se cambia el mapa como en el half-life..

 

Use un trigger y un game_end pero no me cambia el mapa sino que el servidor se sale.... T___T !

 

Quisiera por ejemplo asi:

 

map_01 [Comienzo] ---> [Cambio de nivel] ---> map_02 [Continuacion] ---> [Cambio de nivel] ---> map_03

 

Asi, como si fuera un campaña.. o al estilo sven co-op.... :(cocodrilo):

 

Amigos nose... pero he intentado de varias forma y nunca me sale correcta :S !!! :(guaj)::(guaj)::(guaj):

Edited by Martinssj4
Link to comment
Share on other sites

M.. a mi hace un tiempo, se me ocurrio, cuando los CT o TT pisen tal lugar, que se cierre una puerta y se abra otra, asi al estilo left 4 dead, podrias hacer eso, aunque si llegan mas rapido los del otro team y se encierran, tienen que ir por el lugar donde irian los del otro team

 

.______. !

 

Pos en el sven coop se puede cambiar los mapas cuando los compañeros pisan X lugar para ir al siguiente nivel y revise algunos mapas de ese juego y no ocupan un changelevel si no... lo hacen desde un CFG y ponen nextmap map_02

 

Pero nose como diablos hacen para que se ejecute una CFG atravez de un mapa... :(cocodrilo):

 

¿Ocupara otro sistema ese juego??

Link to comment
Share on other sites

.______. !

 

Pos en el sven coop se puede cambiar los mapas cuando los compañeros pisan X lugar para ir al siguiente nivel y revise algunos mapas de ese juego y no ocupan un changelevel si no... lo hacen desde un CFG y ponen nextmap map_02

 

Pero nose como diablos hacen para que se ejecute una CFG atravez de un mapa... :(cocodrilo):

 

¿Ocupara otro sistema ese juego??

 

Es otro juego.. si vos queres mapear para sven coop no te puedo ayudar..

 

Lo que si te puedo asegurar es que si se puede hacer esto del changelevel, pero necesitas de algun Amx/scripter que te lo haga.

 

y no te olvides de mandarle un saludo de mi parte a tu prima

Link to comment
Share on other sites

Si usas el archivo halflife.fgd en el VHE vas a encontrar la entidad "trigger_changetarget", nunca la use, pero estoy segurísimo que es lo que necesitás.

A ver si la aprendes a usar y despues te haces un tutorial :xD:

Nota: Es un SolidEntiy, me parece que funciona como un trigger_multiple (cuando lo tocas se activa).

Edited by Sr.Retry.-

 

Tenes mucho tiempo libre, no? jkajaja

 

 

Link to comment
Share on other sites

Si usas el archivo halflife.fgd en el VHE vas a encontrar la entidad "trigger_changetarget", nunca la use, pero estoy segurísimo que es lo que necesitás.

A ver si la aprendes a usar y despues te haces un tutorial :xD:

Nota: Es un SolidEntiy, me parece que funciona como un trigger_multiple (cuando lo tocas se activa).

 

Ok ya lo busque..

 

pero en verdad que no lo entiendo.....

osea creo un solido con la textura AAATRIGGER y le pongo el trigger_changetarget?

 

con el nombre del siguiente mapa?? en verdad no entiendo nada bro. :(=G):

Link to comment
Share on other sites

Ok ya lo busque..

 

pero en verdad que no lo entiendo.....

osea creo un solido con la textura AAATRIGGER y le pongo el trigger_changetarget?

 

con el nombre del siguiente mapa?? en verdad no entiendo nada bro. :(=G):

No sirve para cambiar de mapa, sirve para cambiar un objetivo, no lo confundas retry.

 

Si usas la Halflife.fgd podes usar la entidad de changelevel pero en ese caso estarias haciendo mapas para el halflife.

 

y no te olvides de mandarle un saludo de mi parte a tu prima

Link to comment
Share on other sites

No sirve para cambiar de mapa, sirve para cambiar un objetivo, no lo confundas retry.

 

Si usas la Halflife.fgd podes usar la entidad de changelevel pero en ese caso estarias haciendo mapas para el halflife.

 

@SolidClass = trigger_changelevel : "Trigger: Change level"

[

targetname(string) : "Name"

map(string) : "New map name"

landmark(string) : "Landmark name"

changetarget(target_destination) : "Change Target"

changedelay(string) : "Delay before change target" : "0"

spawnflags(flags) =

[

1: "No Intermission" : 0

2: "USE Only" : 0

]

]

 

¿Y si copio eso al FGD del counter-strike ..

servira?

Link to comment
Share on other sites

¿Y si copio eso al FGD del counter-strike ..

servira?

no creo, intentalo y contame que paso.

 

 

Crea un solido con la entidad aaatrigger ponele trigger_changelevel, le pones el nombre del mapa y listo.

 

yo creo que no te lo va a tomar. pero fijate.

 

y no te olvides de mandarle un saludo de mi parte a tu prima

Link to comment
Share on other sites

 

 

Pregunta: "¿Como puedo hacer un cambio de nivel en HL?"

Respuesta: En realidad son 3 los tipos de cambios de nivel que podemos hacer en Half-Life. A saber:

 

 

Continuacion (mapa diferente, misma ambientacion):

Cuando el jugador va por un pasillo, corredor, ect. Vemos que al hacer unos pasos hacia atras volvemos al nivel anterior y si hacemos unos pasos hacia adelante, vamos al mapa proximo.

 

One-Way (un solo camino, imposible regresar):

Cuando el jugador va subiendo o bajando por un ascensor, cae desde algun lado, etc, y se produce el cambio de nivel. Debido a la situacion, logicamente esta hecho para que no podamos volver.

 

Desplazamiento (mapa diferente, distinta ambientacion):

Cuando el jugador va desde un mapa cualquiera y aparece en otro completamente distinto (por ejemplo, en HL, cuando el jugador va desde la tierra hasta el mundo alienigena). Generalmente el jugador aparece solo y las entidades del mapa anterior no aparecen en este mapa nuevo.

 

 

Recorda que todos los mapas que hagas deberan tener estas entidades (excepto el primero y el ultimo mapa de tu serie, que solo llevan un solo trigger_changelevel):

 

 

trigger_changelevel (mapa1)

trigger_changelevel (mapa2)

info_landmark (mapa1)

info_landmark (mapa2)

 

Bueno, basta de teoria y pasemos a la practica!:

 

CASO 1 (continuacion):

Para dar un ejemplo mas practico, mostrare los casos de una serie de 4 mapas (generalmente cuando explican lo hacen con dos mapas solamente y luego hay problemas)

 

 

Map1 (el primero de la serie, logicamente no hay otro antes de este, por lo que hay solamente un solo trigger_changelevel)

 

trigger_changelevel

Name: (no es necesario el nombre, por el momento)

New Map name: map2

Landmark name: LM2

 

info_landmark

Name:LM1

 

info_landmark

Name:LM2

 

Map2

trigger_changelevel (volvemos al proximo mapa)

Name:

New Map name: map1

Landmark name: LM1

 

trigger_changelevel (vamos al siguiente)

Name:

New Map name: map3

Landmark name: LM2

 

info_landmark

Name:LM1

 

info_landmark

Name:LM2

 

Map3

trigger_changelevel (volvemos al proximo mapa)

Name:

New Map name: map2

Landmark name: LM2

 

trigger_changelevel (vamos al siguiente)

Name:

New Map name: map4

Landmark name: LM3

 

info_landmark

Name:LM2

 

info_landmark

Name:LM3

 

Map4 (el ultimo mapa de la serie)

trigger_changelevel (volvemos al proximo mapa)

Name:

New Map name: map3

Landmark name: LM3

 

info_landmark

Name:LM3

 

info_landmark (el ultimo)

Name:LM4

 

Mientras que respeten esto y no se equivoquen con los nombres, no hay problemas.

 

 

CASO 2 (One-Way):

Este caso es sencillo. Como ya damos por sabido los cambios de nivel del tipo "Continuacion" ahora solamente es cuestion de cortarle al jugador las maneras de hacer contacto con el trigger_changelevel del mapa anterior.

 

¿Como? Facil, muy facil.

Hay dos formas. Una de las mas seguras (bien anti-chetos) es marcar la siguente opcion dentro de los flags de esta entidad:

 

 

[ ] No intermission

[x] USE only

 

La primera hace que no aparezca la palabra "LOADING..." cuando se hace algun cambio de nivel. Lo que pasara es que vamos caminando y despues como que se tilda un toque y luego aparecemos en el proximo mapa. Todavia no le encuentro un uso eficiente. Ahora, porque escribi esto? No se.

 

La segunda es la que deberemos tildar, para que el cambio de nivel unicamente se haga si otra entidad (un boton, un multimanager, etc) activa el trigger_changelevel

 

Entonces si otra entidad no lo activa, no hay cambio de nivel y, subsecuentemente, no hay regreso.

 

 

La otra forma es hacer el solido-entidad trigger_changelevel lejos, muy lejos, como en un rincon del mapa. No hay manera fisica de tocar la entidad y entonces tampoco podemos volver atras (a no ser que el jugador mande algun noclip).

 

 

CASO 3 (Desplazamiento):

Supongamos que queremos dar la sensacion de que estabamos en Fuerte Apache y hicimos un viaje a Miami.

 

En este caso son dos cosas totalmente opuestas y si traemos un villerito a Miami va a salir a afanar mandarinas o nos van a mirar mal. Entonces no lo vamos a llevar, no queremos. ¿Pero como?

 

Por mas que pongas los landmarks como quieras, vas a ver que va a estar igual. En algunos casos puede que no quede dentro del "mundo" y vas a ver alertas como:

 

"got velocity too low on monster_human_villerito"

Para evitar todo eso existe un solido-entidad conocido como trigger_transition y la manera de usarlo es la siguiente:

 

 

fuertemap

trigger_changelevel

Name:to_m

New Map name: miamimap

Landmark name: LM2

 

[x]USE only (en caso si o si el trigger_changelevel debera ser activado por otra entidad y debera llevar un nombre especifico)

 

 

info_landmark

Name:LM1

 

info_landmark

Name:LM2

 

trigger_transition (el nombre debera ser el del info_landmark relacionado con el proximo mapa, en este caso LM2)

 

name: LM2

 

miamimap

trigger_changelevel

Name:

New Map name: fuertemap

Landmark name: LM1

[x] USE only (si no queres volver al otro mapa)

 

trigger_changelevel (vamos al siguiente)

Name:

New Map name: queseyomap

Landmark name: LM2

 

info_landmark

Name:LM1

 

info_landmark

Name:LM2

 

Por logica tendriamos que hacer un tipo de lugar en donde este solamente nada mas que este solido-entidad. Cualquier entidad que toque esta entidad estara tambien en el proximo mapa

 

Lo que va a pasar es que se hara el cambio de nivel y arribaremos a miamimap solos, sin ninguna compania.

 

Esto dependera del solido-entidad trigger_transition, que le daremos la forma del jugador para que solamente este él en el proximo mapa, pero si realmente queremos que el monster_human_villerito este con nosotros, haremos este solido mas grande para que solamente vallamos los dos.

 

(Sr. DeZiNe: este era el tipo de ejemplo que queria? )

 

Resumiendo...

-Usa un trigger_changelevel para conectar dos mapas. Esta tecnica te permitira juntar muchos mapas pequeños mediante cambios de niveles, lo que lograra la sensacion de un mundo gigantesco.

 

-La entidad info_landmark sera la encargada de marcar cual sera la posicion del jugador luego de un cambio de nivel. Hay que tener mucho cuidado en poner esta entidad, para que el jugador, luego del cambio de nivel, quede en un lugar seguro, y no atorado en un Brush (solido) o que quede fuera del mapa.

 

-El trigger_transition te ayudara a controlar cuales seran las entidades del mapa base (mapa1) que estaran en el mapa en el de destino (mapa2) y hara solamente el cambio de nivel si el jugador esta dentro de este solido.

 

Esta entidad esta basada en un solido y su presencia fisica depende de el (al igual que el trigger_changelevel. Toda aquella entidad que este dentro de este solido, al momento de producirse el cambio de nivel, estara tambien en el proximo mapa. Si queres que solamente el jugador sea el unico que sea transportado al proximo mapa, deberas hacer un solido acorde al tamaño del jugador. Esto es lo mas comun, pero puede pasar tambien que quieras que solamente un cientifico (monster_scientist) este contigo en el proximo mapa. En este caso tendrias que hacer un solido mas grande que unicamente abarque los tamaños de ambos. Recorda que solo funciona si el trigger_changelevel es activado. Si no funciona es porque algo estamos haciendo mal.

 

 

P.: "Salta un cartel que dice "Can´t found landmark LM3" y se cierra el Half-Life. ¿Por que pasa esto?"

 

P.: "El cambio de nivel se hace, pero aparezco como si estuviera muerto y no me puedo mover, ¿por que?"

 

R.: La causa de estos problemas es la ausencia de la entidad info_landmark, ya sea dentro del mapa de salida o en el mapa de destino.

 

Generalmente lo mas comun ante esta situacion es el cuelgue del HL o vamos a ver que aparecemos como muertos si no esta puesto el juego en modo Developer (se muestran mas mensajes informativos y de alerta). Si no lo sabes poner, lo podes hacer en cualquier momento dentro del juego tipeando en la consola "developer 2" o antes de jugar, escribiendo lo siguiente en la linea de comandos del acceso directo al HL:

 

"C:\Sierra\Half-Life\hl.exe -console -dev"

La unica solucion posible (aunque tediosa) es comprobar la presencia de dos info_landmark en cada uno de los mapas (en el mapa en donde se produce el error y en el mapa siguiente). Una vez hecho esto, deberemos comprobar si todos los nombres coinciden.

 

Si vuelve a pasar lo mismo, guiate de los ejemplos de cambios de nivel de arriba y vas a ver que no vas a tener complicaciones.

 

 

P.: "Trate de probar un mapa en HL pero se me cerro de una, sin dar ningun mensaje. ¿Cual es la causa?"

 

R.: Las causas de este problema pueden ser demasiadas como para escribirlas a todas, pero las mas comunes son:

 

 

-cl_skyname invalido (Ver pregunta prox.)

 

-Contradiccion de entidades

Ej.: Una entidad aiscripted_sequence con el flag [x] Leave Corpse y un monster_human_grunt relacionado con esta, con el flag [x] Hide Corpse. O sea, una dice que el cuerpo queda y otra dice que el cuerpo desaparece, entonces ¿cual de las dos se va a cumplir? Es imposible saberlo. Se cuelga el Half-Life.

 

 

-Errores de Models

Ej.: Un modelo de un cientifico que tiene una pose sentado, es reemplazado por otro modelo de un cientifico, pero que no la tiene. Es imposible mostrar la pose dentro del juego.

 

 

-Mal seteo de entidades

Ej.: Un trigger_auto que activa una serie de entidades y estas estan seteadas incorrectamente.

 

 

-Error en animaciones usando ai/scripted_sentence

Ej.: Al agregar un script invalido o inexistente dentro de los campos "action/animation" o bien "idle animation" lo mas comun es el cierre del HL al momento de ejecutarse la misma.

 

Es facil darse cuenta del error si tenemos, por ejemplo, un monster_barney dentro del mapa y si es él el que tiene que cumplir una animacion y se cuelga el HL.

 

 

 

P.: "Tengo un mapa nuevo en el cual empiezo bien y sigue bien si no toco nada, pero al mirar hacia mi izquierda, se cierra Half-Life. ¿Por que?"

 

R.: Este problema ocurre cuando se esta jugando en el modo de video "Software"y es causado por la variante cl_skyname que esta dentro de las propiedades del mapa. En este campo podemos escribir el nombre del cielo que tendra el mapa, pero que pasa, puede que nos equivoquemos en el nombre, el HL buscara ese cielo y no lo va a encontrar porque no existe. En realidad no pasa nada hasta que hagamos hecho contacto visual con el cielo (aun si esta bloqueado con alguna pared), o sea, con la textura SKY. Es por eso que "sigue bien si no toco nada, pero al mirar hacia mi izquierda, se cierra Half-Life"

 

Es facil reconocer este error si se nos presenta de esta manera. Pero si el jugador empieza a cielo abierto, casi es imposible hacer nada ya que se cuelga de una.

 

La solucion es revisar el nombre que esta dentro del campo cl_skyname. Quizas nos hayamos dado cuenta del error, luego de que estuvimos compilando media hora el mapa frown.gif

 

La otra forma mas facil de saber si ese el problema, es correr un mapa que sepas que anda perfecto y, dentro de ese, poner "sv_skyname desert" (sin comillas y el sv_cheats debera estar activado)

 

Luego hagamos un changelevel a este mapa con problemas y si vemos que el cielo es el que viene siempre por defecto y anda todo bien, listo... era eso.

 

En realidad seria sumamente molesto hacer esto cada vez que quieras probar tu mapa por que que te voy a dar dos soluciones:

 

-Si sabemos el nombre falso (ej. NIGH en vez de NIGHT) vayamos a la carpeta gfx/env/ y busquemos este cielo, que se presenta de 6 maneras:

 

nightFT (Front)

nightBK (Back)

nightLF (Left)

nightRT (Right)

nightUP (Up)

nightDN (Down)

No nos queda otra que copiarlos a todos y cambiarles el nombre a NIGH:

 

nighFT

nighBK

nighLF

nighRT

nighUP

nighDN

-La otra forma es con el Editor QuArK abrir el archivo .bsp y ver la lista de entidades. Solo tendremos que cambiar "cl_skyname NIGH" por otro que sepas que lo tenes y listo.

 

Ja, ja, todo por una simple letra... que loco! :P

 

 

Creo que esta muy bien explicado..

 

Y aca te dejo un ejemplo de un rmf y un bsp, fijate a ver que tal.

15hn6dj.png
Link to comment
Share on other sites

Dijiste que te ando el trigger_changelevel, en ese caso necesitas leer este tutorial.

 

La entidada trigger changelevel no es comun en el cs.

 

 

:(=$): Era broma.. xd

 

Ahora voy a probar si funciona en realidad. :(nerdicon):

Si funciona me corto las bolas

Si no.... pos nose :(nuu):

Link to comment
Share on other sites

El cs es el HalfLife 1..

No!

El cs es un mod para halflife -.-

Osea es un juego aparte, pero que depende del motor del halflife para funcionar.

 

Tiene diferentes fgds, es decir, hay una fgd para cstrike y otra para el halflife, hay entidades que no reconoce el cstrike o que no las manifiesta de la misma forma.

 

y no te olvides de mandarle un saludo de mi parte a tu prima

Link to comment
Share on other sites

Creo que lo más compatible es hacerlo con un plugin.

que raro a mi game_end me funciona bien

Igual con el comando mp_winlimit podés seleccionar cuantas rondas ganadas se necesitan para cambiar de mapa xD

 

Segun el Sr. Martin: Dice que el game_end cierra el juego .___. !

 

No lo cierra.... al llegar a un trigger con la entidad game_end, solo finalizara el mapa y cambiara... :(XP):

Link to comment
Share on other sites

Segun el Sr. Martin: Dice que el game_end cierra el juego .___. !

 

No lo cierra.... al llegar a un trigger con la entidad game_end, solo finalizara el mapa y cambiara... :(XP):

tampoco soy el guru del mapping, a mi me cierra el juego cuando llego a cierta parte.

 

y no te olvides de mandarle un saludo de mi parte a tu prima

Link to comment
Share on other sites

  • 2 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

By using our website, you accept our Privacy Policy and agree to the established conditions.