InicioInfoComo Codificar y Usar Sanny Builder (2° Parte)

Como Codificar y Usar Sanny Builder (2° Parte)

Info•7/8/2011
Aqui la segunda parte del tutorial para usar sanny builder aqui la 1° parte: http://www.taringa.net/posts/hazlo-tu-mismo/11443667/Como-codificar-Y-Usar-Sanny-builder-3.htmlCoches no puse imagenes porque no me funciona esa opcion. aui va: Autos Introducción Este tutorial es sobre una parte esencial del juego: los autos. Hay dos formas de los coches de desove: cargenerators, que desovan varias veces o sólo para los coches que se reproducen una sola vez. Voy a explicar tanto. Coches que se reproducen varias veces Cargenerators son más fáciles de generar entonces los coches que se reproducen una sola vez, porque usted no tiene que cargar y descargar los modelos de los coches. De esta manera permanente los coches en el juego se generan. Las líneas para la cargenerator: CÓDIGO 014B: $ PARKED_RHINO = init_parked_car_generator # RHINO -1 -1 1 alarma 0 0 0 door_lock 10.000 a 2435.302 -1671.848 12.8007 ángulo de 90,0 014C: set_parked_car_generator $ PARKED_RHINO cars_to_generate_to 101 Vamos a analizar este código. La primera línea: $ PARKED_RHINO: una variable a la que se le asigna el coche. # RHINO: nombre del modelo del coche que desea generar. En primer lugar-1: el primer color del coche. (-1 = Color al azar) En segundo lugar-1: color secundario del coche. (-1 = Color al azar) La 1: la policía cree que es su coche. Si es un 0, entonces la policía sabe que se lo robó. Alarma 0: la posibilidad de que la alarma suena es del 0%. Si usted lo hace de 50 años, la probabilidad es del 50%. Door_Lock 0: la puerta no está cerrada. Que sea 1 y el coche se bloquea. Al final son los x, y y z coordenadas y el ángulo del coche. Segunda línea: $ PARKED_RHINO: la variable que contiene el coche que el código de operación se ha diseñado. 101: el coche va a desovar. Si lo convierten en un 0, el coche no se generan. Que tiene que hacer esta línea siempre que usted está haciendo una cargenerator! Ejemplo en el archivo despojado Existe otra variante, que puede utilizar para dar al coche un matrículas: CÓDIGO 09E2: $ arboleda = parked_car_generator_w_numberplate # GREENWOO 59 34 0 0 alarma door_lock 0 0 10 000 plato "GROVE4L_" en 2508,4824 -1670,6813 13.3812 ángulo de 0,0 014C: set_parked_car_generator $ arboleda cars_to_generate_to 101 La única diferencia es el código (09E2 lugar de 014B), en lugar de init_parked_car_generator parked_car_generator_w_numberplate (que ni siquiera importa!) Y por supuesto de la Plata "...". Después de la placa se puede escribir lo que quieres tener en el matrículas. (8 caracteres) Coches que se reproducen una vez Esto se parece mucho a un actor de desove: CÓDIGO / / Cargar los modelos 0247: load_model # GREENWOO 038B: load_requested_models : MODEL_LOAD si 8248: No disponible el modelo # GREENWOO else_jump @ MODEL_SPAWN esperar a 0 ms salto @ MODEL_LOAD Cuando uno lee los tutoriales de otros, creo que no necesita ninguna explicación. CÓDIGO : MODEL_SPAWN $ = Car.Create Greenwood (# GREENWOO, 2458,2483, -1659,0264, 13,3047) Car.Angle ($ Greenwood) = 270,0 Con este código va a generar una Greenwood. La variable ("manejar" del coche es "$ greenwood". El nombre del modelo es # GREENWOO (se puede consultar en la vehicles.ide). Después de que la x, y y z coord. La segunda línea es el ángulo del vehículo. CÓDIGO 0249: release_model # GREENWOO Por supuesto tenemos que liberar el modelo. Hay todo tipo de códigos para los coches que se reproducen una sola vez. Unos pocos ejemplos: CÓDIGO 0674: set_car_model # GREENWOO matrículas "ABCDEFG" Se puede establecer un matrículas especiales. Usted tiene que usar este derecho código de operación antes de crear el coche. CÓDIGO 0119: $ Greenwood coche destrozado Usted puede preguntar si el coche está destrozado, la mayoría de los utilizados en una si-estructura. Con los $ tienes que usar la variable (identificador) del coche. CÓDIGO 0224: $ set_car Greenwood health_to 10000 Cuando el número es mayor, el coche puede tomar más daño. Por supuesto, puede variar con esto. La madera verde es fumar cuando el número es 500. Cuando es de 250, una pequeña caída es suficiente para hacer estallar el coche (humo negro). Cuando es menor de 250, el coche explota sin hacer nada. 1000 es un número realista para el coche. El Greenwood $ es la variable del coche, que se define por el desove del coche. CÓDIGO 00A6: destroy_car $ Greenwood Con este coche se puede quitar el coche del juego. Al igual que con los actores, un modelo de liberación, no se elimina el coche. Para ello, usted tiene que utilizar este código de operación. Por supuesto que hay muchos más comandos que tiene que ver con los coches, ya que es una parte esencial del juego. Así que cuando usted quiere hacer algo con un coche que no se explica aquí, y que usted no sabe cómo usarlo, no dude en preguntar! Esferas, iconos y marcadores En primer lugar: ¿cuáles son las esferas, iconos y marcadores? Los iconos son los gráficos en el radar, los marcadores son las flechas sobre las cabezas de los actores o los automóviles. Las esferas son las rondas pequeñas, de color rojo, que por ejemplo se producen cuando se está empezando la misión. Crear una esfera / icono? Usted puede crear un icono y una esfera con un comando, también puede crear sólo una esfera o un icono. Hay iconos que encontrará siempre, como las cartas de misión, y los iconos que sólo ocurren cuando uno está en el barrio, al igual que tiendas Ammu-Nation. Voy a explicar a todos ellos. Esferas CÓDIGO 03BC: 10 @ = create_sphere_at 2488.5601 -1.666,84 13,38 radio de 5,0 Este es el código de sólo una esfera. El 10 @ es la variable (identificador) de la esfera, que se puede utilizar más adelante, cuando usted quiere hacer algo con la esfera (como lo destruyen). Entonces hay x, y y z coordenadas. Por último, existe un radio. 1.0 es pequeña, 10,0 es grande. Ámbitos en los que usted puede comenzar una misión, son del tamaño de 1,0. Icono y la esfera que siempre están visibles CÓDIGO 02A7: $ ICON_SPHERE_CJ = create_icon_marker_and_sphere 15 en 2488,5601 -1.666,84 13,38 15 es el número del icono que desea mostrar. Se puede encontrar en Ayuda> Contenido> SMC Documentación> GTA SA iconos de radar>. Entonces usted tiene el 3 coordenadas: X, Y y Z. $ ICON_SPHERE_CJ es la variable que se puede utilizar para eliminar de la esfera y el marcador Icono (sin esfera) que es siempre visible CÓDIGO 02A8: $ marker03 = create_marker 23 en 4.4537 658.0068 -1866,3127 Este es el código para un marcador de icono sin esfera, por lo que tendrá que ver en el radar, pero no verá una ronda de rojo en ese lugar. En primer lugar el mango de la marca, el 23 dice que el icono que tiene que ser. Usted puede buscar en los archivos de ayuda, al igual que dijo anteriormente. En este caso, 23 es el icono del Sindicato Loco. Por último hay que añadir el coords. Icono y la esfera que sólo son visibles cuando se está en el barrio CÓDIGO 0570: $ icon_en_sphere = create_asset_radar_marker_with_icon 36 en 1837,3643 -1974,4963 12.5469 Como puede ver, sólo hay dos cosas cambiaron. El código del código de operación (02A7> 0570), y el propio comando. Pero la idea es la misma: 36 es el número del icono, que puede buscar en la lista de archivo de ayuda y coordenadas de la. Icono de que sólo es visible cuando se encuentra en el barrio CÓDIGO 04CE: $ icon = create_icon_marker_without_sphere 12 en 2447,3643 -1974,4963 12.5469 No creo que la explicación es necesario hacer eso, por ahora. Marcadores Los marcadores son flechas por encima de un objeto, un actor o un coche. Ellos también están marcadas (con un cuadrado) en el radar. Hay todo tipo de marcadores. Usted tiene que usar uno de los códigos de operación siguientes: CÓDIGO 0187: $ m1 = create_marker_above_actor 10 @ 0186: $ m2 = $ create_marker_above_car Greenwood 03DC: $ m3 = $ create_marker_above_pickup arma 0188: $ objeto = m4 create_marker_above_object $ El primero es crear un marcador por encima de un actor, el segundo por encima de un coche, el tercero por encima de una camioneta y la cuarta por encima de un objeto. Estos son los códigos de operación diferente! Mira el código del código de operación (como 0187), que es diferente a los demás! La primera variable es la manija / el nombre del marcador, el segundo es el mango de la actor / auto / camioneta u objeto. Usted puede hacer todo tipo de cosas con el marcador, al igual que lo hacen en diferentes colores: CÓDIGO 0165: set_marker $ m1 color_to 1 Lista de los colores: 0 = rojo 1 = verde 2 = azul 3 = blanco 4 = luz amarilla Destruir Por último hay que destruir el marcador de / esfera / icono, de modo que usted no puede ver nada más. Puede utilizar los códigos de operación siguientes para que: CÓDIGO 0164: disable_marker $ m1 CÓDIGO 03BD: destroy_sphere 1 @ Por ejemplo: una flecha en una Greenwood: CÓDIGO / / Cargar los modelos 0247: load_model # GREENWOO 038B: load_requested_models : MODEL_LOAD 00D6: si 8248: No disponible el modelo # GREENWOO 004D: jump_if_false @ MODEL_SPAWN 0001: esperar a 0 ms 0002: Salto @ MODEL_LOAD : MODEL_SPAWN 00A5: $ Greenwood = create_car # GREENWOO en 2458,2483 -1659,0264 13.3047 Car.Angle ($ Greenwood) = 270,0 0186: $ m1 = $ create_marker_above_car Greenwood esperar a 5000 ms Marker.Disable ($ m1) 0249: release_model # GREENWOO Por lo que genera un Greenwood, con una flecha. Después de 5000 ms (5 segundos), la flecha va a desaparecer. El código completo en un archivo despojado Cuando se trabajó a través de todos estos tutoriales Hasta el momento, usted puede hacer una misión de corta duración, fácil! Lo haremos en el próximo tutorial! Una misión sencilla Como he prometido, vamos a hacer una misión sencilla. Primero usted tiene que hacer un buen plan para la misión. En nuestro ejemplo, vamos a generar un coche con una flecha por encima de ella. Cuando el jugador se mete en el coche, la flecha va a desaparecer, y la esfera en la que tiene que conducir a aparecerá. El jugador tendrá un bate de béisbol. El coche está casi destrozado, y con el mínimo contacto explotará. Cuando el jugador está en la esfera, tiene que generar un actor, también con un bate de béisbol. Cuando ve el jugador, va a atacar. Cuando el actor es asesinado, la misión se pasa, y obtendrá un texto y $ 10.000. El marcador también desaparecerá. Por supuesto, esto no es una misión muy difícil, pero puede hacerlo más divertido. Por ejemplo, cuando se agrega un límite de tiempo: hay que conducir rápido, pero no puede golpear cualquier cosa! O que cuando salgas del coche, no habrá otro marcador en el coche. O que la misión no es cuando estás muerto. Pero vamos a empezar poco a poco, con esta misión! Tenemos una idea, por lo que vamos a empezar a codificar. Como siempre, vamos a comenzar con un archivo despojado: Clic En primer lugar vamos a cargar todo y comprobar si está cargado. El actor (enemigo) no tiene que aparecer, el coche lo hace. El murciélago tiene toi se le da al jugador, lateron también para el actor. Carga de los modelos y la reproducción del coche: CÓDIGO : MODELO hilo "modelo" / / Cargar los modelos 0247: load_model # GREENWOO 0247: load_model bat # 0247: load_model # BFYST 038B: load_requested_models : MODEL_LOAD si o 8248: No disponible el modelo # GREENWOO 8248: No disponible el modelo # bat 8248: No disponible el modelo # BFYST else_jump @ MODEL_SPAWN esperar a 0 ms salto @ MODEL_LOAD : MODEL_SPAWN 0674: set_car_model # GREENWOO matrículas "ABCDEFGH" 00A5: $ Greenwood = create_car # GREENWOO en 2458,2483 -1659,0264 13.3047 Car.Angle ($ Greenwood) = 270,0 0224: $ set_car Greenwood health_to 250 ¿Qué nos estamos perdiendo antes de jugador tiene que conducir? El jugador tiene que conseguir un bate de béisbol y tiene que ser un marcador por encima del coche: CÓDIGO 0186: $ m1 = $ create_marker_above_car Greenwood 01B2: $ give_actor arma PLAYER_ACTOR 5 munición 10 / / Cargar el modelo de arma antes de usar este 01B9: set_actor $ PLAYER_ACTOR armed_weapon_to 5 Ahora tenemos que esperar a que el jugador entre en el coche. ¿Qué pasa después? Tienes que ir al lugar marcado, donde debería haber una esfera. El marcador del coche tiene que desaparecer. CÓDIGO repetir esperar 0 hasta Actor.InCar ($ PLAYER_ACTOR, $ Greenwood) Marker.Disable ($ m1) 0004: $ coordinate_x = 2100.9604 0004: $ coordinate_y = -1366,8369 0004: $ = 23.9844 coordinate_z $ Coordinar Marker.CreateIconAndSphere = (0, $ coordinate_x, coordinate_y $, $ coordinate_z) ¿Qué puede suceder mientras el jugador está conduciendo a la esfera? El coche puede ser destruido! Cuando el coche está destrozado, tiene que generar un nuevo coche en el comienzo y el jugador tiene que volver a conseguirlo. El cheque tiene que continua hasta que el jugador ha llegado a la esfera. Este es quizás el código un poco más complejo, pero cuando le dan un aspecto bueno, estoy seguro de que puede hacer la próxima vez que usted mismo! CÓDIGO : MODEL_WRECKED esperar a 0 ms si 0119: $ Greenwood coche destrozado else_jump @ MODEL_END salto @ MODEL_SPAWN : MODEL_END esperar a 0 ms si 01AE: coche $ Greenwood esfera 0 near_point $ $ coordinate_x coordinate_y radio 5,0 5,0 detenido else_jump @ MODEL_WRECKED Esto significa que: Cuando el coche está destrozado, salta MODEL_SPAWN @. Entonces comenzar de nuevo, lanzando un auto nuevo con una nueva flecha. Cuando el coche no es destruido, se saltará a MODEL_END, la segunda etiqueta. Allí se comprobará si el coche está en la esfera. Tienes que hacer esto un bucle, porque cuando usted lo está haciendo sólo una vez, el coche no estará en el campo todavía. Así que cuando el coche está en el barrio de la esfera (radio 5,0), y el coche se detuvo, y luego el código puede continuar. Cuando no es así, el código se remonta a MODEL_WRECKED y comprobar de nuevo si el coche está destrozado. Esto continúa hasta que el coche está en la esfera. Cuando el jugador está en el coche en la esfera, la esfera y el marcador tiene que desaparecer. También tienes que generar un actor con un bate de béisbol, que tuvo que atacar al jugador. CÓDIGO Marker.Disable ($ coordenadas) 10 @ = Actor.Create (CIVFEMALE, # BFYST, 2094,3499, -1342,9515, 23,9844) Actor.Angle (10 @) = 88,44 0187: $ marcador = create_marker_above_actor 10 @ actor.WeaponAccuracy (10 @) = 100 actor.Health (10 @) = 250 01B2: give_actor 10 @ 5 munición de armas 1000 / / Cargar el modelo de arma antes de usar este 01B9: set_actor 10 @ armed_weapon_to 5 05E2: AS_actor 10 @ kill_actor $ PLAYER_ACTOR Cada parte de este código se ha explicado ya en tutoriales anteriores, si no está claro se puede ver allí. Finalmente, cuando el actor está muerto, la misión se pasa. Usted tiene que reproducir un sonido, poner un texto en la pantalla y añadir un poco de dinero. El marcador en el actor tiene que ser destruido y los modelos tienen que ser descargados: CÓDIGO repetir esperar a 0 ms hasta actor.Dead (10 @) 0394: 1 play_music 01E3: "M_PASS 'show_text_1number_styled GXT número 10000 tiempo estilo 5000 1 / / MISIÓN PASADO ~ n ~ ~ w ~ $ ~ 1 ~! Player.Money ($ PLAYER_CHAR) + = 10000 0249: release_model # GREENWOO 0249: release_model MTD # 0249: release_model # BFYST Marker.Disable ($ marcador) Cada parte de este código también se ha explicado en tutoriales anteriores. No te olvides de agregar el "end_thread" para detener el hilo. Luego que haya terminado. CÓDIGO end_thread Cuando se pone todo esto junto: Click. Ahora puedes probar tu misión! Tal vez no es la misión más difícil, pero a quién le importa? Tienes que empezar poco a poco! Así lo demuestra, que con algunos códigos simples, usted puede hacer ya una misión bien. El limitions de las posibilidades no son sus habilidades de codificación-, pero su creatividad. Ya ha aprendido los fundamentos de la SCM-codificación. Los siguientes tutoriales explican cada uno de los aspectos más avanzados SCM-modding. Después de trabajar con todos los tutoriales que debe ser capaz de combinar los bloques de construcción en las misiones más avanzadas. Cuando usted tiene deseos de un tutorial, siempre puede enviarme un PM! Buena suerte y sobre todo: ¡diviértase! Una misión completa (estilo de Rockstar) En este tutorial, te explican cómo hacer una verdadera misión, al igual que Rockstar. Por lo tanto, no estará en un simple hilo como los tutoriales anteriores. En primer lugar vamos a mostrar la estructura y características, entonces vamos a dar a las plantillas de las diferentes partes y explicar estos. Finalmente se le mostrará una misión sobre la base de esta plantilla. Estructura Misiones como la que están hechos por Rockstar con otros comportamientos entonces las discusiones normales. En primer lugar el código sólo se lee cuando se inicia la misión, por lo que sólo hay una misión en el momento mismo principio activo. Otra gran diferencia es cómo el código de reaccionar cuando un jugador está Busted o se desperdicia. En un hilo normal, siempre hay que comprobar si el jugador está definido, pero esto no es necesario en una misión de la estructura. Cuando el jugador se pierde o Busted, el SMC-motor generará un "retorno"-código de operación. Por lo que no tiene que comprobar durante la misión. El marco que se debe utilizar para crear una misión Reak, se explicará más adelante en esta misión. Se necesitan dos partes para hacer una misión: La propia misión La llamada "sniffer" de rosca, que comprueba las condiciones de partida de la misión y si el jugador activa una misión (como entrar en una esfera). Para ambas partes le daremos una plantilla, que se puede utilizar para su propio proyecto. Sniffer hilos plantilla El rastreador de hilos se pondrá en marcha, cuando las misiones están disponibles. Esto puede ser directamente desde el inicio del juego, o cuando se pasa de otras misiones. Esta plantilla contiene el código de un sniffer de rosca con dos misiones, pero se puede extender a muchas misiones más, que se puede jugar uno tras otro. CÓDIGO / / $ TUT_MISSION_PASSED tiene que ser despejado (0). / / Cuando se pasa la misión, que tiene que recaudar $ TUT_MISSIONS_PASSED. : TUT_MISSIONS_SNIFFER hilo "TUT_SNIFF" $ MARKER_SWEET_HOUSE Marker.CreateIconAndSphere = (42, <>, <>, <> repetir esperar a $ DEFAULT_WAIT_TIME si y player.Defined ($ PLAYER_CHAR) $ ONMISSION == 0 entonces si y 00FF: $ actor PLAYER_ACTOR esfera in_sphere 0 <>, <>, <> radio 1,0 1,0 2,0 on_foot Player.Controllable ($ PLAYER_CHAR) $ TUT_MISSIONS_PASSED == 0 entonces $ ONMISSION = 1 00BA: el tiempo "INTRO_1 'show_text_styled GXT 1000 estilo 2 start_mission 1 final si y 00FF: $ actor PLAYER_ACTOR esfera in_sphere 0 <>, <>, <> radio 1,0 1,0 2,0 on_foot Player.Controllable ($ PLAYER_CHAR) $ TUT_MISSIONS_PASSED == 1 entonces $ ONMISSION = 1 00BA: el tiempo "INTRO_2 'show_text_styled GXT 1000 estilo 2 start_mission 2 final final hasta $ TUT_MISSIONS_PASSED == 2 marker.Disable ($ MARKER_SWEET_HOUSE) end_thread Este hilo hará una esfera en la ubicación especificada, donde usted tiene que comenzar las misiones. Se va a esperar hasta que el jugador entra en la esfera y dejar de correr cuando ambas misiones se pasan. Mientras que $ TUT_MISSIONS_PASSED es 0, ninguna de las misiones se pasa. Cuando el jugador entra en la esfera, se iniciará la primera misión. Después de que el jugador pasó la primera misión, $ TUT_MISSIONS_PASSED será de 1. Entonces, el sniffer-thread esperará hasta que el jugador entra en la esfera. Después de que el jugador pasó la segunda misión, $ TUT_MISSIONS_PASSED será de 2, por lo que el ciclo se terminó, la esfera será destruida y el hilo se acabará. Misión de la plantilla CÓDIGO //------------- Misión 1 --------------- / / Misión envoltorio : TUT_MISSION_1 hilo "TUT 1 ' gosub @ TUT_MISSION_1_MAIN si wasted_or_busted entonces gosub @ TUT_MISSION_1_FAIL final gosub @ TUT_MISSION_1_CLEANUP end_thread //------------------------------------- : TUT_MISSION_1_MAIN //------------------------------------- : TUT_MISSION_1_PASSED Player.Money ($ PLAYER_CHAR) + = 10000 01E3: "M_PASS 'show_text_1number_styled GXT número 10000 tiempo estilo 5000 1 / / MISIÓN PASADO ~ n ~ ~ w ~ $ ~ 1 ~! / / Esta subrutina se ejecuta cuando la misión se pasa. / / Dar las recompensas, y hacer nuevas misiones disponibles si es necesario. volver //------------------------------------- : TUT_MISSION_1_FAIL 00BA: el tiempo "M_FAIL 'show_text_styled GXT 5000 estilo 1 / / ~ r ~ MISIÓN fracasado! / / Esta subrutina se ejecuta cuando la misión fracasa. volver //------------------------------------- : TUT_MISSION_1_CLEANUP $ ONMISSION = 0 / / Esta rutina se ejecuta siempre al final de la misión, sin importar el resultado. / / Este es el lugar para descargar los modelos, etc mission_cleanup volver La primera parte del código se llama a la misión-wrapper, que llama a las distintas partes de la misión con la ayuda de un "gosub". De esta manera no puede haber un sistema automático de "vuelta" después de que el jugador se pierde o roto. En primer lugar llama la parte principal de la misión. Cuando se trata de volver, no puede haber dos escenarios posibles: • Un sistema automático de "retorno", ya que el jugador se pierde o Busted. En este caso, la misión no será llamado, y que después de la "limpieza" de rutina, que limpia todo. • La misión es aprobada o no por otras razones. En este caso, la rutina o mission_passed mission_failed ya se ha llamado, por lo que sólo la limpieza tiene que suceder. A continuación TUT_MISSION_1_MAIN seguirá al código para el gamneplay de la misión. En el ejemplo completo a continuación, verá cómo se puede llamar a la mission_passed y las rutinas de mission_failed desde dentro de la parte principal, en determinadas situaciones. Ejemplo de Misión Con base en las plantillas de arriba hemos hecho una misión sencilla. Vamos a utilizar las cosas que aprendimos en los tutoriales anteriores. El objetivo de la misión, que puede empezar en el frente de la casa de Sweet, es matar a un actor. Hay dos actores, un hombre y una mujer. La mujer es un enemigo, el hombre es un amigo. Cuando se mata a la mujer, la misión se pasa, pero si matar al hombre, la misión no es. Cuando el jugador se desperdicia o se rompió antes de que la mujer es asesinada, la misión fracasará también. Haga clic aquí para ver el código completo La primera parte del código, es la parte estándar de la despojó archivo SMC. Lo único que hay que añadir, es que el inicio del succionador-hilo: CÓDIGO 00D7: create_thread @ TUT_MISSIONS_SNIFFER Por último vamos a hacer un bucle en el hilo principal (: MAIN_LOOP). Luego está el hilo de sniffer, basado en la plantilla, pero reducido a una misión. Usted verá que hemos definido dos misiones, el puño (misión 0), vamos a utilizar, al igual que Rockstar, para la inicialización de muchas cosas. Aquí usted puede agregar cargenerators o, por ejemplo, pastillas de arma. Vamos a establecer $ TUT_MISSIONS_PASSED a 0, y vamos a definir tres variables para el gatillo de la misión. La segunda misión (misión 1) se configura como la plantilla. En su mayor parte, los modelos se cargan, los actores generado, las armas asignadas y el coche dio lugar, al igual que en tutoriales anteriores. Después de eso, el código de espera en un bucle, hasta $ víctima está muerta. En este caso el código pasará a través de la rutina mission_passed, y la misión ha terminado. Durante el ciclo se comprobará si el hombre inocente todavía está vivo. Cuando ese no es el caso, vamos a saltar a la rutina mission_failed y la misión terminará. En el pasado la misión de rutina, se establecerá un mensaje en la pantalla, se otorgará al jugador un poco de dinero y vamos a recaudar $ TUT_MISSIONS_PASSED. En la fracasada misión de rutina, se establecerá un mensaje en la pantalla y le quita el arma que le dio a él para esta misión. En la rutina de limpieza, se limpia todos los modelos utilizados, y vamos a configurar la parte de atrás quería nivel a 0. Barras de estado Este tutorial es sobre los textos de estado, o "barras". Usted puede encontrarlos en las misiones de SA como "Drive-By" y "la oferta de líneas". CÓDIGO : SWEET4_47 Model.Load (# GREENWOO) 038B: load_requested_models : SWEET4_103 si No Model.Available (# GREENWOO) else_jump @ SWEET4_152 esperar 0 salto @ SWEET4_103 : SWEET4_152 1 @ = 2.508,16 2 = @ -1666,47 3 @ = 13,0 4 @ = 16,0 0395: clear_area 1 a 1 @ 2 @ 3 @ rango 6,0 5 = @ Car.Create (# GREENWOO, un @, @ 2, 3 @) 0229: set_car 5 @ color_to 59 34 Car.Angle (5 @) = 4 @ Car.Health (5 @) = 1450 $ = Salud Car.Health (5 @) Este código es sólo un vehículo de desove, el Greenwood. Además de la salud de los automóviles se almacena en la variable $ salud. En primer lugar voy a explicar el principio. La barra va de 0 a 100, que son porcentajes. El estado de salud inicial del coche es de 1450. En el marco del 250, el coche va a ser destruido. Así que 250 será el 0 de la barra. Cuando 250 está en la barra de 0, el 1450 es de 1.200 (1450 - 250). Debido a que usted tiene sólo de 0 a 100, tienes que dividir por 12. Tienes que código como este: CÓDIGO 0084: $ = $ salud2 la salud / / Los valores enteros y se ocupa de si $ Salud2> 250 / / valores enteros else_jump @ SWEET4_11472 $ Salud2 -= 250 / / valores enteros : SWEET4_11472 $ Salud2 / = 12 / / valores enteros Antes de que pueda restar 250, usted tiene que comprobar si se trata de más de 250. De lo contrario será un número negativo, que no puede estar en el bar. Si el número está por debajo de los 250, tienes que ir a la siguiente etiqueta (con el salto). Si el número está por encima de los 250, tienes que restar los 250. Entonces usted tiene que dividir el número por 12, por lo que es un número entre el 0 y el 100. CÓDIGO 0151: $ remove_status_text salud2 03C4: set_status_text_to salud2 $ 1 'SWE4_08' / / CAR DE SALUD Este es el código de la "barra". Usted no verá la "salud car" del texto, ya que la GXT no es correcto, pero vamos a pasar por alto que aquí. Usted puede colocar un 0 en lugar del 1, pero luego se muestra como el número del juego, y no va a ser un bar. CÓDIGO repetir esperar a 0 ms $ = Salud Car.Health (5 @) 0084: $ = $ salud2 la salud / / Los valores enteros y se ocupa de si $ Salud2> 250 / / valores enteros else_jump @ SWEET4_11472 $ Salud2 -= 250 / / valores enteros : SWEET4_11472 $ Salud2 / = 12 / / valores enteros hasta $ salud <250 0151: $ remove_status_text salud2 end_thread Queremos hacer un bar hasta que el coche está destrozado, así que cuando la variable es 0, la barra tiene que desaparecer. Esto es una repetición de espera, hasta que la estructura, por lo que tiene que repetir todo lo de la repetición al mando hasta que la condición es verdadera. La condición es que $ de salud tiene que estar por debajo de los 250. Él tiene que comprobar el estado de coche cada vez, y tiene que hacer es un número entre 0 y 100. Es por eso que tiene que estar entre la repetición y hasta. Cuando no lo hacemos, será el mismo número, porque la variable $ salud2 no será cambiado. Así que hay que esperar a que la salud del coche está por debajo de los 250, entonces el coche se verá afectada. Después de que usted tiene que dejar que la barra de desaparecer con el código de operación 0151. Después de que usted tiene que usar el código de operación end_thread, porque de lo contrario el juego se bloqueará si no funciona bien el extremo del hilo tha. Cuando se agrega el código en un archivo despojado SMC, podrás ver la barra. Este post ha sido editado por Dutchy3010 en Miércoles, 25 de marzo 2009, 10:21 Menús En este tutorial vamos a utilizar una pantalla, para ilustrar el texto. Es el "Panel Principal" del diseño de su mod propia misión. CÓDIGO 0512: 'CLOTHA' show_permanent_text_box Esto es de texto en la parte superior de la izquierda, por ejemplo, "el espacio de prensa para continuar". Es la parte de color rojo se indica de la pantalla. CÓDIGO 08D4: $ menu = posición 'dummy' create_panel_with_title 29,0 145,0 220,0 ancho de las columnas 1 interactiva un fondo de una alineación de una Con este código se crea en el menú. Hay que darle un nombre en el menú (variable / mango), por lo que puede hacer cosas con él más adelante. Además, usted tiene que darle un título. MANIQUÍ significa que usted no desea que el texto en el juego su lugar. Si desea que el menú tiene un título, tienes que colocar un texto-id en lugar de 'relleno'. Esta es la parte trazada en color azul de la pantalla. CÓDIGO 08DB: 'dummy' set_panel $ 0 columna de menú de cabecera 'dummy' datos 'dummy', 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'prueba' Primero usted tiene que darle un cabezazo, la parte de amarillo. A continuación, puede añadir lo que el jugador puede elegir. Una de esas cosas es la parte rosa de la pantalla se indica. Hay dos maneras de ir a partir de aquí, pero voy a explicar la más fácil. Tengo que admitir que yo uso esta manera la mayor parte del tiempo. CÓDIGO repetir esperar a 0 ms si 00E1: player 0 pressed_key 15 entonces 08DA: remove_panel $ MENÚ 03E6: cuadro de texto eliminar salto @ END final hasta 00E1: player 0 pressed_key 16 Esto es una repetición de espera, hasta que la estructura, por lo que el juego se repite todo lo que entre la repetición y hasta que hasta que la condición es verdadera. En este caso, el código se repite hasta que el jugador pulsa la tecla 16 (SPACE). Cuando el jugador presiona 15 (ENTER / F) antes de que el jugador presiona ESPACIO, que desea quitar del menú ª, así que tienes que quitar el panel y el cuadro de texto. Después de eso, usted tiene que saltar hasta el final (o al principio, sólo Wat desea). CÓDIGO 08D7: $ = Elección del panel de $ MENÚ active_row 08DA: remove_panel $ MENÚ 03E6: cuadro de texto eliminar Después de que el jugador presionó el espacio, la caja de control y el texto tiene que ser eliminado. Aparte de eso, usted tiene que mirar lo que el jugador ha elegido. Usted puede hacer eso con el código de operación 08D7, donde se compruebe que fue la última fila activa antes de quitar el panel. Finalmente hay que decir lo que sucede cuando un jugador decide. Tenga en cuenta: se empieza por 0, no 1! CÓDIGO si $ eleccion == 0 entonces ... final si $ eleccion == 1 entonces ... final Que tiene que hacer la estructura si-entonces-final tantas veces como usted tiene opciones. Por ejemplo, si usted tiene 5 opciones, el código tiene que ser de 0 a 4. Así que el código total de un menú: CÓDIGO 08D4: $ menu = posición 'dummy' create_panel_with_title 29,0 145,0 220,0 ancho de las columnas 1 interactiva un fondo de una alineación de una 08DB: 'dummy' set_panel $ 0 columna de menú de cabecera 'dummy' datos 'dummy', 'Dummy', 'prueba' 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'Dummy', 'prueba' repetir esperar a 0 ms si 00E1: player 0 pressed_key 15 entonces 08DA: remove_panel $ MENÚ 03E6: cuadro de texto eliminar salto @ END final hasta 00E1: player 0 pressed_key 16 08D7: $ = Elección del panel de $ MENÚ active_row 08DA: remove_panel $ MENÚ 03E6: cuadro de texto eliminar si $ eleccion == 0 entonces ... final si $ eleccion == 1 entonces ... final : END esperar a 1000 salto @ END MPack Esta es una práctica "herramienta" para SMC-codificadores, por eso voy a explicar cómo funciona. Primer aviso de que esto no es hecho por los modders, pero se agrega por Rockstar. Cuando se utiliza esta, se puede elegir entre más de un SCM-archivo a la vez. De esta manera usted no tiene que modificar el main.scm en "Archivos de programa> Rockstar Games> GTA San Andreas> Datos> Script" cada vez, así que usted puede reproducir sus propias partidas guardadas en el juego original cuando lo desee. Como usted probablemente sabe, usted tiene que comenzar nuevo juego cuando se hace un guión de SMC, y es molesto para cambiar entre los archivos SCM-. Esa es la ventaja más grande de MPACKs. Otra ventaja es que usted no tiene que empezar a San Andreas cada vez que hacer un cambio en su código, puede simplemente comenzar nuevo juego. En un MPack hay 4 archivos: scr.scm (un archivo en el mismo formato que el main.scm normal) text.gxt (GXT un archivo normal) MPACK.dat (Ajuste del título para este MPack) scr.txt (La fuente de scr.scm, sólo es necesario durante el desarrollo, no cuando la liberación de En este tutorial se explica cómo hacer una MPack. En primer lugar, el MPack tiene que estar en el "GTA San Andreas usuario Files" carpeta en "Mis documentos". Lo primero que tienes que hacer, es hacer una carpeta llamada "MPack" en la carpeta de archivos de usuario. Usted puede hacer hasta un máximo de 9 MPACKS, que no propia carpeta en la carpeta de MPack. Se puede comparar a las ranuras de las partidas guardadas. El número detrás de "MPack", dice que "slot" el MPack usos. Así, en el "MPACKx" carpeta (x es un número entre 1 y 9) tienen que ser 4 archivos: scr.scm, scr.txt, text.gxt y mpack.dat. Los tres primeros se hablan por sí mismos, pero el cuarto necesita alguna explicación. Usted tiene que hacer un archivo de bloc de notas, en la que usted tiene el tipo (por ejemplo): "7 # # Prueba". El 7 tiene que corresponder con el "slot" de la MPack. Así que cuando se utiliza "MPACK7", tiene que haber un 7. Entre el # tiene que ser el nombre de la MPack, que se verá en la lista del juego. En mi caso, será "Test". Usted tiene que guardar este archivo como "mpack.dat". Ahora ya está listo para el juego. Ejecutar San Andreas, y elegir "New Game". Aquí encontrará una lista de sus MPACKs, y usted puede elegir el nombre de la MPack es necesario. Como puede ver, no hay "prueba" en la ranura 7. Diviértete con la codificación! Animaciones actor y rutas de animación Introducción Usted puede asignar todo tipo de animaciones para los actores, sólo para que la misión más divertido. Usted tiene que saber dos cosas acerca de las animaciones: el nombre de la animación y el nombre de de IFP-archivo que contiene la animación. Usted puede encontrar una lista de aquí. Las palabras en negrita y grandes son los nombres de los IFP-archivo, los nombres de la animación dentro de ese archivo IFP-seguirá. Por ejemplo, si quieres que tu bailes actor, tienes que buscar en la lista y usted encontrará el IFP-archivo "Dancing". Ese archivo contiene todo tipo de animaciones, en este tutorial vamos a utilizar "dnce_M_a". Por supuesto que puede dar el actor también otras animaciones, pero tenga en cuenta: No puedo garantizar que todas estas animaciones va a funcionar! En primer lugar vamos a crear un actor, que ha de realizar la animación. Cuando se trabajó a través de los otros tutoriales de este tema, esto no necesita ninguna explicación. Si no lo entienden, por favor, vuelva al tutorial sobre los actores. CÓDIGO 0247: load_model # BFYST 038B: load_requested_models : MODEL_LOAD si 8248: No disponible el modelo # BFYST else_jump @ MODEL_SPAWN esperar a 0 ms salto @ MODEL_LOAD : MODEL_SPAWN 10 @ = Actor.Create (CIVFEMALE, # BFYST, 2491,3635, -1661,4694, 13,3359) Actor.Angle (10 @) = 182.9651 0249: release_model # BFYST En primer lugar, tendrá que cargar el archivo IFP, entonces tenemos que comprobar si la animación se carga. Después de que usted tiene que darle una animación. Usted puede hacer esto con los códigos de operación siguientes: CÓDIGO 04ED: load_animation "Bailando" repetir esperar 0 hasta 04EE: animación "El baile" carga 0605: actor 10 @ perform_animation_sequence "DNCE_M_A" IFP_file "Bailando" 10.0 bucle 1 0 0 0 -1 hora / / versionA A veces uno no tiene que cargar la animación, pero tengo que admitir que no sé cuando. He visto muchos micrófonos scripts porque no carga la animación, así que mi consejo es que lo carga siempre. ¿Qué tienes que perder? Mejor unas pocas líneas a gran parte, de un guión de micrófonos! Código de operación 0605 es exactamente el mismo código de operación 0A1A y 0812. Así que no importa qué código de operación que usted elija. Sólo voy a explicar las partes más importantes de este código de operación. Siéntase libre de experimentar cambiando los parámetros de otros. En primer lugar hay que decir que el actor que le dará una animación, en nuestro caso, que será del 10 @, que acaba de crear. El número entero primero, el único 1 en el código de operación anterior, se indican las veces que la animación se repita. Cuando se convierten en un 0, la animación sólo se hace una vez. Cuando usted lo hace a 1, que se repetirá. Después de un tiempo usted verá "-1". Esto significa que el actor llevará a cabo la animación hasta que haya un código de operación que dice que tiene que parar. Se puede cambiar en un número como 4000, lo que significa que la animación tuvo que continuar durante 4 segundos. También existe una variante en el código de operación: CÓDIGO 0829: actor 10 @ perform_animation "DNCE_M_A" IFP_file "Dancing" 4.0 tiempo de 4000 and_dies En mi opinión esto es un poco estúpido, pero puede darle una oportunidad. Después de que el actor se desempeñó durante 4 segundos, que va a morir. Sin embargo, no muere como lo haría espeto, sólo se congela. Habrá sangre en el suelo, pero el actor sigue en pie, congelado. Se puede caminar a través de él, y sólo si dejar el actor se acostó. Divertido ver, sin embargo. CÓDIGO 0804: AS_actor 10 @ walk_to 2498.1187 13.3427 -1671,9563 ángulo de 0.0 radio de 0,2 animación "GRLFRD_KISS_03" IFP_file "BD_FIRE" 4.0 LA LX 0 0 0 LY LF 0 LT -1 0804: AS_actor 10 @ walk_to 2498.1187 13.3427 -1671,9563 ángulo de 0.0 radio de 0,2 animación "DNCE_M_A" IFP_file "Dancing" 4.0 LA LX 0 0 0 LY LF 0 LT -1 Dos ejemplos de un código de operación, se trata de ver el resultado (se puede modificar en el código al final, si le resulta difícil crear algo a partir de un archivo eliminado). El actor camina hacia las coordenadas suministradas, y luego realizar la animación. En la primera el actor a pie hasta el punto y luego darle un beso. A nadie en este caso, pero por supuesto, usted puede agregar otro actor al lado de él. El segundo permitirá la danza actor cuando está en el lugar. CÓDIGO 0611: actor 2 @ performing_animation "LRGIRL_IDLE_TO_L0" 8611: 2 @ no actor performing_animation "LRGIRL_BDBNCE" Este código de operación es una condición, por lo que tiene que utilizar por ejemplo con un caso de la estructura. Esto puede ser útil si desea comprobar si la animación se detiene, o si el actor está haciendo una animación. He aquí un ejemplo de un código que comprueba si la animación se detiene: CÓDIGO 0605: actor 10 @ perform_animation_sequence "DNCE_M_A" IFP_file "Bailando" 10.0 bucle 1 0 0 0 3000 tiempo / / versionA repetir esperar 0 hasta 8611: 10 @ no actor performing_animation "DNCE_M_A" Sin embargo, otro código de operación para una animación: CÓDIGO 0612: set_actor 10 @ de animación "DNCE_M_A" se detuvo un Con este código se puede detener una animación. 1 significa que tiene que empezar, 0 significa que tiene que hacer una pausa. Por ejemplo vamos a hacer un actor con una animación, que tiene que hacer durante 1 segundo, entonces tiene que parar durante 1 segundo, y luego tiene que continuar. CÓDIGO 0605: actor 10 @ perform_animation_sequence "DNCE_M_A" IFP_file "Bailando" 10.0 bucle 1 0 0 0 -1 hora esperar a 1000 0612: set_actor 10 @ de animación "DNCE_M_A" pausa 0 esperar a 1000 0612: set_actor 10 @ de animación "DNCE_M_A" se detuvo un CÓDIGO 0605: actor 10 @ perform_animation_sequence "DNCE_M_A" IFP_file "Bailando" 10.0 bucle 1 0 0 0 -1 hora esperar a 3000 0614: set_actor 10 @ de animación "DNCE_M_A" progress_to 0,5 / / 0,0 a 1,0 Este es otro código de operación, por supuesto que estamos hablando del código de operación 0614. Se pueden abrir hasta cada animación. Toda la animación es de 1,0, que comienza en 0.0. Así que usted puede decir: Yo quiero que el actor realiza la animación de 3 segundos, y luego tiene que volver a empezar desde 0,5. Por supuesto, también se puede decir que tiene que empezar desde el principio después de algún tiempo, entonces usted tiene que escribir 0.0. Liberación de animación Por supuesto que tienes que sacar la animación cuando se carga: CÓDIGO 04EF: release_animation "Bailando" Rutas de animación CÓDIGO 0754: define_new_animation_path 0755: add_animation_path_3D_coord 2496.5234 13.3359 -1.671,363 animación "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 2499.4873 13.3587 -1661,1962 animación "ROADCROSS" IFP_file "PED" 0755: add_animation_path_3D_coord 2490.1294 13.3359 -1661,246 animación "ROADCROSS" IFP_file "PED" Primero hay que definir la ruta de la animación. Usted tiene que comenzar con definir la ruta nueva animación. Entonces usted tiene que añadir las coordenadas. En este ejemplo, vamos a añadir tres coordenadas. La animación y el archivo IFP-es igual que las animaciones se explica al principio del tutorial. También puede utilizar "NINGUNO" en lugar de "ROADCROSS" y "PED", pero luego no van a hacer una animación. La animación se realizará en la coord, por lo que no será durante el tiempo que el actor entra a la coord. Entonces usted tiene que añadir un actor de la trayectoria de animación: CÓDIGO 0817: assign_actor 10 @ to_animation_path_with_walk_mode 4 route_mode 3 Usted puede simplemente experimento utilizando con este código de operación. La ruta-mode: 0-normal orden de los puntos de referencia, una vez que (ABCD) 1-normal orden de waypoints y atrás, una vez que (ABCDCBA) 2-normal orden de waypoints más invierte en bucle (ABCDDCBAABCD. ..) 3-normales orden de waypoints, bucle (ABCDABCDABCD. ..) (Fuente: este tema) Por último voy a dar el código de un archivo despojado con un actor que realiza una animación: haga clic en. Pastillas ¿Qué significa este tema realmente echo de menos! De hecho, un tutorial sobre camionetas. Así que eso es lo que este tutorial se trata. Pastillas generales CÓDIGO 0213: SALUD = $ create_pickup tipo SALUD # 3 en 2490,5598 -1658,3495 13.3528 Este es el código de operación para crear una camioneta. En primer lugar el mango, por lo que puede dar propiedades (como un marcador) en el futuro. Entonces usted tiene que dar un modelo para las pastillas: Salud: SALUD # Armadura: # BODYARMOUR Soborno: # SOBORNO Info: # info Tarjeta de acceso: # KeyCard Guardar recogida: # PICKUPSAVE Rhymesbook: RMB_RHYMESBOOK # Maletín: # MALETIN Ropa: # CLOTHESP Jetpack: # JETPACK Paracaídas Pack: # PARA_PACK Paracaídas: # PARACAÍDAS Después de tipo, que tiene que decir si no está disponible (1), los tiempos disponibles, una vez disponibles (3) o múltiples (15). Hay otros tipos, pero estos son los más comunes. Si desea ver una lista completa de los tipos, se puede ver en esta página. En este caso, sólo se puede recoger la camioneta de salud una vez. Los tres últimos parámetros son las coordenadas. Pastillas de armas CÓDIGO 0213: $ MTD = create_pickup # MTD tipo 3 en 2490,5598 -1658,3495 13.3528 Este código de operación, que es el mismo que el código de operación anterior, también puede ser utilizado para armas. Pero no se puede dar munición, así que la mayoría de las veces sólo se usa para armas cuerpo a cuerpo. Cuando se crea pastillas de otras armas, como una ametralladora, la munición será un estándar de valor estándar. Para una ametralladora que es de 500, para un lanzador de cohetes que está a sólo 4. Así que usted puede hacer todas las camionetas arma con este código de operación, pero es más común el uso de los siguientes: CÓDIGO 032B: $ M4 = create_weapon_pickup # M4 grupo de 15 a 150 municiones 2490.5598 13.3528 -1658,3495 Esto es casi lo mismo que 0213, pero ahora hay que darle algo de munición. Así que cuando usted está utilizando este código de operación, se va a generar una varias veces M4, con una munición de 150 en 2490,5598 -1658,3495 13.3528. Pastillas dinero También es posible crear camionetas dinero, con el código de operación siguientes: CÓDIGO 02E1: $ DINERO = create_cash_pickup 500 en 2490,5598 -1658,3495 13.3528 permanence_flag 1 $ El dinero es, por supuesto, el mango. 500 es la cantidad de dinero que el jugador obtiene cuando recogió el dinero. Después de que existen las coordenadas. Cuando la bandera es 1, el dinero es para siempre. No va a desaparecer hasta que el jugador se pone. Cuando la bandera es 0, desaparecerá después de 30 segundos. Pastillas de activos Hay dos tipos de pastillas de activos: activos disponibles y no disponibles. La disposición puede ser comprado por el jugador, el que aún no disponible. CÓDIGO 0517: $ de activos = create_unavailable_asset_pickup 'PROP_4 "en 2490,5598 -1658,3495 13.3528 0518: $ asset2 = create_available_asset_pickup 'PROP_3 "en 2489,5598 -1658,3495 13.3528 precio de 1 El primero es el activo disponible. Cuando el jugador está cerca de la camioneta, PROP_4 el texto "" en la pantalla (no se puede comprar este apartamento.). El segundo es el activo disponible. Detrás de precio que hay que llenar en el precio de la propiedad. Pastillas de colección Puede crear una herradura, una oportunidad para tomar fotos o una ostra con los códigos de operación siguientes. He añadido una pastilla de armas para la cámara, porque de lo contrario no se puede ver en la fotografía cuando se está comprobando que dentro del juego. CÓDIGO 032B: $ cámara = create_weapon_pickup CÁMARA # 15 municiones 50 en 2488,5598 -1663,3495 13.3528 0959: $ caballo = create_horseshoe_at 2490.5598 13.3528 -1658,3495 0958: $ foto = create_photo_at 2489.5598 13.3528 -1658,3495 095A: $ ostras = create_oyster_at 2488.5598 13.3528 -1658,3495 Otros códigos de operación sobre camionetas CÓDIGO 0213: $ MTD = create_pickup # MTD tipo 3 en 2490,5598 -1658,3495 13.3528 03DC: 1 @ = $ create_marker_above_pickup MTD Con este código de operación puede crear un marcador por encima de la camioneta, tal como lo hicimos en el tutorial sobre los marcadores y las esferas. CÓDIGO 0214: $ pickup MTD picked_up 8214: No pickup $ picked_up MTD Estos códigos de operación son las condiciones. Se puede utilizar para comprobar si el jugador tomó la pastilla. Por ejemplo: CÓDIGO 0213: $ MTD = create_pickup # MTD tipo 3 en 2490,5598 -1658,3495 13.3528 repetir esperar 0 hasta el 0214: $ pickup MTD picked_up A veces quieres destruir la camioneta. Puede hacerlo de esta manera: CÓDIGO 0213: $ MTD = create_pickup # MTD tipo 3 en 2490,5598 -1658,3495 13.3528 esperar a 2000 0215: $ destroy_pickup MTD Así que la camioneta se creará, y después de 2 segundos, desaparecerá. Ahora vamos a hacer un pequeño script. En primer lugar, se generan tres pastillas: una ventaja para 100 dólares, la salud y una camioneta arma minigun. Por encima de la camioneta arma minigun, tiene que ser un marcador. Después de que el jugador tomó la ametralladora, el marcador tiene que desaparecer, y tiene que generar un actor. El actor también cuenta con una ametralladora, y vamos a establecer su estado de salud y la precisión. El actor intentará matar al jugador, y el jugador tiene que matar al actor. Cuando el jugador mata al actor, recibirá 100 dólares, y se puede comprar el activo. A continuación, vamos a mostrar un texto. En primer lugar vamos a generar tres camionetas y un marcador por encima de la minigun: CÓDIGO 0518: $ ACTIVOS = create_available_asset_pickup 'PROP_3 "en 2487,5598 13,3528 -1658,3495 de precios de 100 0213: SALUD = $ create_pickup tipo SALUD # 3 en 2484,5598 -1658,3495 13.3528 032B: $ = Minigun create_weapon_pickup # Minigun grupo de 15 municiones en 5000 2490.5598 13.3528 -1658,3495 03DC: 1 @ = $ create_marker_above_pickup Minigun Ahora tenemos que esperar hasta que el jugador tomó la ametralladora, y luego tenemos que dejar que el marcador de desaparecer y crear el actor (con algunas propiedades): CÓDIGO repetir esperar 0 hasta el 0214: $ pickup Minigun picked_up 0164: disable_marker 1 @ 0247: load_model # BFYST 0247: load_model # Minigun 038B: load_requested_models : MODEL_LOAD si y 8248: No disponible el modelo # BFYST 8248: No disponible el modelo # Minigun else_jump @ MODEL_SPAWN esperar a 0 ms salto @ MODEL_LOAD : MODEL_SPAWN 10 @ = Actor.Create (CIVFEMALE, # BFYST, 2488,5601, -1680,84, 13,3438) 01B2: give_actor 10 @ 38 armas de munición 500 / / Cargar el modelo de arma antes de usar este 02E2: set_actor 10 @ weapon_accuracy_to 90 0223: set_actor 10 @ health_to 1000 El actor tiene que atacar al jugador. Después de eso, el código tiene que esperar hasta que el jugador mata al actor. Como recompensa, el jugador recibirá 100 dólares. CÓDIGO 05E2: AS_actor 10 @ kill_actor $ PLAYER_ACTOR repetir esperar 100 hasta 0118: 10 @ actor muerto 0109: reproductor de $ PLAYER_CHAR dinero + = 100 Finalmente, se comprobará si el activo se recogió, y nos mostrará un texto. CÓDIGO repetir esperar 100 hasta 0214: pickup $ ACTIVOS picked_up 00BC: el tiempo "MCAT07E 'show_text_highpriority GXT 3000 marca un El código completo en un main.scm despojado! comenten, espero que les haya servido.
Datos archivados del Taringa! original
50puntos
445visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
9visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

r
robertodavid🇦🇷
Usuario
Puntos0
Posts19
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.