[Module API] [Tutorial] Free For All |
Gaston « Censeur » 1380986580000
| 0 | ||
En este tutorial vamos a abarcar el minijuego FFA/Deathmatch, y los diferentes aspectos que se deben tener en cuenta. Esto incluye tiros de cañones, la conjugación de ellos, impedir que la gente dispare constantemente, y que cada jugador tenga sus propios ajustes personalizados. Vamos a empezar por la unión de las teclas que necesitamos para cada usuario que está en la sala y que se una. Para hacerlo con eficacia pondremos el código en eventNewPlayer, y a continuación, ejecutamos esa función para todos en la sala ya que comienza. Los códigos de teclas que se van a utilizar son 32, 40 y 83, que son el espacio, flecha hacia abajo y S, respectivamente. Estas teclas dispararán un cañón cuando alguien lo presiona. El circuito de las teclas a través de éstas se escribirán con tfm.exec.bindKeyboard una vez hecho. a dit : Ahora que las teclas están vinculadas, tienen que ser utilizadas, el cañón se enviará en la dirección en la que el usuario se enfrenta. Primero debemos verificar la tecla para ver si el script será útil para que no tenga más claves en el futuro. La tabla playerList tiene una variable llamada "isFacingRight". Este "boolean" (tipo de dato lógico) es verdadero si el jugador se enfrenta a la derecha en el tiempo, y falso si no lo es. Con esto se puede determinar la dirección en la que el usuario se enfrenta y en qué dirección se dispararán los cañones. Durante la conjugación de los cañones, el ID 19 se creará a la derecha, mientras que el 20 se creará a la izquierda. Tiene que ser generado con las coordenadas del jugador, ya que pulsa la tecla, cual eventKeyboard vuelve a nosotros cuando un jugador pulsa la tecla. Una cosa adicional a tener en cuenta es que los jugadores no deberían ser capaces de disparar cuando están muertos, lo que es una cosa esencial en el juego, por lo que el control de boolean para cada jugador se almacena en playerList para detectar si están muertos o no. a dit : En este punto tenemos una guía de trabajo de script free-for-all (gratis para todos) en donde cualquier persona puede disparar cañones cuando guste. El siguiente paso es detener a los jugadores a disparar tan rápido. Para ello, vamos a comprobar el os.time() siempre que el jugador presione una tecla; esta función da la hora actual del sistema en minisegundos, por ejemplo 1380530062. Si el tiempo ha incrementado en 1000, un segundo ha pasado, así que podremos usar esto para almacenar la información que necesitamos, para determinar cuan frecuente el usuario puede disparar. Cada jugador tendrá este valor almacenado de forma individual, por lo que una tabla puede almacenar esto, llamémosle "jugadores". Cada jugador tendrá su propia tabla donde deberá almacenar la información que necesitemos, así que podemos añadir el eventNewPlayer(). a dit : Como se puede ver, la variable llamada "timestamp" (marca de tiempo) dentro de esta tabla se utiliza para mantener el tiempo necesario. Ahora que el valor se guardó, cuando el os.time() es comprobado nuevamente pulsando una tecla que se puede comparar con el valor almacenado que es mayor de 1000 anteriormente, vamos a conocer que un segundo ha pasado, así que podemos permitir a los jugadores disparar. Veremos esto con "players[name].timestamp < os.time()-1000" y sólo basta con conjugar un cañón si es verdad. Una vez que el jugador ha disparado con éxito, el valor almacenado en la tabla tendrá que ser ajustado a la hora actual para asegurarse de que el jugador no pueda tirar durante un segundo, por lo que vamos a redefinir eso mediante "players[name].timestamp=os.time()". a dit : |
0 | ||
*O* esta bueno |
Mitsnara « Citoyen » 1380987240000
| 0 | ||
Buen hilo aunque no se tanto del lua |
0 | ||
Wow muy buen hilo, ayer hablé con haku por si quería traducirlo conmigo, pero no quiso, y a mi me daba pereza xd. Muy buen hilo de nuevo! Y algunos scripts y el último están rotos, podrías coger todos los scripts del hilo de EN y pegalros en notepad, y luego los inplantas. |
Phyrra « Citoyen » 1381012200000
| 0 | ||
Gracias por el hilo, si eso un dia me pongo a probar y tal (No tengo un especial interes que digamos). Saludos |
Norsewolf « Citoyen » 1381053660000
| 0 | ||
Tenía pensado hacer yo algo parecido, pero con todos los tutoriales y guías en un solo hilo. Mejor dejarlo así xD Buen hilo. Muchas gracias Gastuu!! Gastuu a dit : Una tacla jeje Por cierto, deberías de releerte el hilo y sustituir algunas expresiones que has traducido demasiado literalmente por otras que se entiendan mejor. En este mismo párrafo que he citado, lo de "mayor que antes de 1000" no se entiende muy bien, por ejemplo. |
Gaston « Censeur » 1381070940000
| 0 | ||
Norsewolf a dit : En eso andaba. Se me hizo complicado entender el inglés. Gracias. |
0 | ||
hace doble post :D |
Shinlero « Citoyen » 1381072980000
| 0 | ||
Buen hilo Sera util en algun momento |
0 | ||
Shinlero a dit : ni lo leiste :/ |
Gaston « Censeur » 1381073100000
| 0 | ||
Arregladas algunas cositas. Espero que les sea más fácil de entender. Perdón nuevamente. |
Thetroz « Citoyen » 1381073100000
| 0 | ||
Buen tutorial Gastuu <3 |
Shinlero « Citoyen » 1381073100000
| 0 | ||
Sansnano a dit : ¿Y tu como sabes? |
0 | ||
Shinlero a dit : por que vi que pusieran un post para que no haga doble post y no le den una advertencia ya que el foro es la vida y la salvacion de muchos :/ |
Thetroz « Citoyen » 1381076340000
| 0 | ||
Sansnano a dit : Ya antes lo había leído y no comenté |
Altcarcarmar « Citoyen » 1381083720000
| 0 | ||
Esperaba que alguien de ES como Haku hiciese su propia versión e incluso explicando mucho más, en fin, de algo me servirá aunque ya leí el hilo de EN. |
Narutansi « Citoyen » 1427305860000
| 0 | ||
No funciona :c |