Juegos

Escribimos el script para cambiar el skin del jugador (mi mini SkinSelector) para GTA San Andreas

Mucho tiempo ha pasado desde la publicación de mi primer artículo para un inicio rápido en la programación en la biblioteca de CLEO4. Alguien de ustedes se convirtió en útil, alguien no muy bueno, pero si usted desea aprender no es simplemente un negocio y no sabes por dónde empezar, entonces usted debe leer este artículo - Escribimos su primer script de CLEO, ella te dará una primera idea sobre la скриптинге y con el Sanny Builder.
Este artículo es para aquellos que son un poco comprendido en la construcción de scripts y tal vez ya lo intenté escribir. Y así, el más cercano a la obra!

Para empezar, vamos a ver lo que va a hacer nuestro script, lista de temas:
1) Debe ser capaz de cambiar el skin
2) Debe ser capaz de devolver el skin de carlos predeterminado.
3) Guardar la configuración actual skin
4) Al iniciar el juego subir el tipo de skin de configuración


En este ejemplo he colocado todo el código del script 3 opciones - cargar al inicio del escaneo del teclado y el cambio de skin, todo en orden:

Al principio del script declaramos una variable (la llamaremos - la Bandera) que nos señala lo que en este momento está instalado el skin, si el valor es 1, que es el estándar de skin carlos de lo contrario, cualquier ID skin(yo elegí el Army o 287), en adelante, inmediatamente pasamos a la función de descarga, así es como se ve en el código:

{$CLEO .cs}
2@ = 1
gosub @Load


Carga al iniciar el juego(Load):
Aquí usaremos el опкодом para la lectura de los números en formato INI.
Pero, para empezar, un poco de formato, los archivos ini - es una forma cómoda de almacenar la configuración de los programas, se puede almacenar un número, texto, números de punto flotante y mucho más.
La más simple de las INI el archivo consta de la sección, el nombre de la que se define entre corchetes,
en la sección se pueden encontrar las claves de cada uno de los cuales tiene su valor, los valores se separan por el signo =. En un ini el archivo se pueden encontrar varias secciones.
Por ejemplo:


[секция1]
clave1 = valor
clave2 = valor
[секция2]
clave1 = valor
clave2 = valor


Con el formato de haber comprendido consideremos ahora la función Load.
Aquí lo primero que debe comprobar la existencia de nuestro ini, esto se hace de la siguiente опкодом: 0AAB: file_exists "cleo\skin.ini", si el archivo existe, leemos el valor que se almacena en nuestro archivo en la variable 2@, luego pasamos a cambio de skin y después de esto, pasamos el control de las funciones de escaneo de teclado.
Miramos el código:

:Load
wait 0
if 0AAB: file_exists "cleo\\skin.ini"
then
0AF0: 2@ = get_int_from_ini_file "cleo\\skin.ini" en la sección "settings" key "skin"
gosub @SkinChange
end
jump @Scan


El cambio de skin! Aquí llegamos por fin! En seguida vemos el código:

:SkinChange
wait 0
if and // comprobamos si
player.Defined(0) // el jugador creado y
not actor.Dead($PLAYER_ACTOR) // no murió
jf @SkinChange
// cambiar el skin
if 2@ == 1 // si el indicador es igual a 1, entonces
then // devolvemos el skin de CJ-me
09C7: change_player $PLAYER_CHAR model_to 0
0AF1: write_int 2@ to_ini_file "cleo\\skin.ini" en la sección "settings" key "skin" // guardar la configuración
2@ = #ARMY // cambie la bandera
else
// si la bandera no es igual a 1, entonces
Model.Load(2@) // cargamos el modelo de nuestro skin
038B: load_requested_models // use siempre esta función después de la descarga de los modelos
if Model.Available(2@) // si nuestro modelo está disponible el
then
09C7: change_player $PLAYER_CHAR model_to 2@ // cambiamos el skin
Model.Destroy(2@) // liberar la memoria
0AF1: write_int 2@ to_ini_file "cleo\\skin.ini" en la sección "settings" key "skin" // guardar la configuración
2@ = 1 // cambie la bandera
end
end
return // volvemos allí donde se ha llamado a la función

Con la vista de la función se ve de miedo notará usted, pero créeme, esto sólo parece <!--smile:smile-->smile<!--/smile--> aquí estoy especialmente comentó en cada línea de código, que le era más fácil de navegar. En dos palabras: Comprobamos si todo bien con el jugador, si sí, entonces comprobamos la bandera. Si nuestra bandera es igual a 1, entonces devolvemos la verdadera cara de carlos, de lo contrario, en mi caso перевоплощаем en el army. Guardamos la configuración y cambie la bandera, indicando así un skin descargar la próxima vez que se pulsa el botón.
Cambiamos el skin опкодом - 09C7: change_player $PLAYER_CHAR model_to 0, donde 0 es el ID de un skin. Pero antes de usarla, asegúrese de cargar el modelo y comprobamos la disponibilidad.

Escaneo de teclado:
Aquí todo es muy sencillo, cuando se presiona la tecla P(en inglés) o H(rus.) pasamos a la función de cambio de skin:

:Scan
wait 0
if
0AB0: key_pressed 0x50
jf @Scan
gosub @SkinChange
wait 100
jump @Scan


Eso es todo, solo queda mostrar el código completo del script y compilar:


{$CLEO .cs}
2@ = 1
gosub @Load

:Load
wait 0
if 0AAB: file_exists "cleo\\skin.ini"
then
0AF0: 2@ = get_int_from_ini_file "cleo\\skin.ini" en la sección "settings" key "skin"
gosub @SkinChange
end
jump @Scan
:SkinChange
wait 0
if and
player.Defined(0)
not actor.Dead($PLAYER_ACTOR)
jf @SkinChange
if 2@ == 1
then
09C7: change_player $PLAYER_CHAR model_to 0
0AF1: write_int 2@ to_ini_file "cleo\\skin.ini" en la sección "settings" key "skin"
2@ = #ARMY
else
Model.Load(2@)
038B: load_requested_models
if Model.Available(2@)
then
09C7: change_player $PLAYER_CHAR model_to 2@
Model.Destroy(2@)
0AF1: write_int 2@ to_ini_file "cleo\\skin.ini" en la sección "settings" key "skin"
2@ = 1
end
end
return
:Scan
wait 0
if
0AB0: key_pressed 0x50
jf @Scan
gosub @SkinChange
wait 100
jump @Scan


Ini el archivo no es necesario crear, se crea la primera vez que se pulsa la tecla P, y se dispara el опкода escribir el valor en el ini.
Os quiero desear mucha suerte en скриптинге, comentar, hacer preguntas si que es incomprensible y ofrecer ideas sobre futuros artículos. Descargar listo el script aquí el enlace

Para copiar el material se deberá indicar la referencia a la Gamemodding.net!
0
18
Me gusta:  18
smalloff
smalloff

Publicado en 3 abril 2014

Añadir a favoritos
Compartir
Compartir:
Información
No hay comentarios todavía. Su comentario será primero.
Información
Para dejar comentarios a esta publicación deberá registrarse .

Reglas del sitio web и política de privacidad

© 2012-2024 GameModding.com Todos los derechos reservados.