• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Aporte] Sistema de Licencia de Conducir
#1
Buenas, en el d?a de hoy les traigo mi primer aporte que tengo en mi servidor y es de licencia de conducir. Espero que les sirvan y lo usen en sus servidores pero obvio denme creditos. Saludos!


PHP Code:
TieneLicencia[MAX_PLAYERS] = 0// Arriba de todo el GM


CMDcomprarlicencia (playeridparams []) // Cuando el jugador escriba / comprarlicencia entonces ejecute el codigo
{
? ? ?
#pragma unused params
? ? ?newTextoL [150]; // Variable que va a contener el texto
? ? ?if (! IsPlayerInRangeOfPoint (playerid1.0, [X], [Y], [Z])) return?SendClientMessage (playerid, -1"No estas en el lugar adecuado"); // Lo que hace aca es que si el jugador no esta en la posici?n de X, Y, Z entonces enviando un mensaje diciendo que no esta en el lugar correcto para seguir ejecutando el codigo
? ? ?if (TieneLicencia[playerid] == 0// Lo que tiene aca es que si el jugador tiene la licencia en "0" (Apagado o No tiene) entonces ejecutado esto.
? ? ?{
? ? ? ? ??
format(TextoL150"Ha comprado una licencia de conducir por $ 520"); // Formato que va a tener el texto
? ? ? ? ? SendClientMessage (playerid150TextoL); // Le enviamos un mensaje al jugador con el formato asignado
? ? ? ? ??GivePlayerCash (playerid, -520); //Le quita $-520 al jugador.
? ? ? ? ? TieneLicencia 1// Se le asigna al jugador que tiene licencia.
? ? ?}
? ? ?else if (
TieneLicencia[playerid] == 1// Si tiene Licencia o esta prendido, entonces va a ejecutar esta acci?n.
? ? ?{
? ? ? ? ??
formato (TextoL150"Ya tienes tu licencia de conducir."); // Formato que va a tener el texto
? ? ? ? ? SendClientMessage (playerid150TextoL); // Le enviamos un mensaje al jugador con el formato asignado? ? ??
? ? ?} ? ? ? ? ?
? ? ?return 
1// Corta el codigo para que no se siga ejecutando.



PHP Code:
Public OnPlayerEnterVehicle (playeridvehicleidispassenger// Suceso de lo que pasa cuando un jugador entra en un veh?culo
{
? ? ?if (
TieneLicencia[playerid] == 0// Si no tiene licencia entonces ejecutado el siguiente codigo
? ? ?{
? ? ? ? ?
SendClientMessage (playerid0xFF0000FF"Estas conduciendo sin una licencia de conducir, la pol?tica puede multarte"); // Envia un mensaje al jugador.
? ? ?}
? ? ?return?
1;

  Reply
#2
vaya tonto este
  Reply
#3
Esta bien pero a la vez esta para el orto, te dar? algunos consejos para tu comando:
1. No usar el params[] cuando no le est?s dando uso, estar?as ocupando memoria al pedo, si usas pawn.cmd simplemente borr? la parte de params[], si usas zcmd, debes declarar q no usar?s params[], tenes que poner esto: #pragma unused params

2. Podes usar una variable booleana que es m?s r?pida que una variable de tipo entero, ya que las bool solo tienen true/false, y veo que en tu script solo usas 2 valores que encajar?a perfectamente con una var bool.

3. El array creado (TextoL) tiene un tama?o algo grande, recomiendo bajarlo.

4. La variable TieneLicencia te falto agregarle [MAX_PLAYERS] para que sea para todos, porque sino, si uno consigue la licencia, la variable "TieneLicencia" tendr? valor 1 para TODOS los jugadores, en cambio, si lo haces por jugador, no.

y tampoco s? porque pusiste todo en espa?ol xd, como las palabras 'nuevo', 'retorno', 'formato' y eso xd
  Reply
#4
(2020-07-16, 02:33 AM)qwerty Wrote: vaya tonto este



Hombre, tampoco te refieras as? de ?l que todos fuimos principiantes alguna vez
Languajes de Programaci?n que domino:

Pawn, Lua.

Lenguajes de Programaci?n que estoy aprendiendo:

C, JavaScript & C#.



?Listo para ayudarte!

  Reply
#5
(2020-07-19, 02:00 AM)Botato Wrote: Esta bien pero a la vez esta para el orto, te dar? algunos consejos para tu comando:

1. No usar el params[] cuando no le est?s dando uso, estar?as ocupando memoria al pedo, si usas pawn.cmd simplemente borr? la parte de params[], si usas zcmd, debes declarar q no usar?s params[], tenes que poner esto: #pragma unused params



2. Podes usar una variable booleana que es m?s r?pida que una variable de tipo entero, ya que las bool solo tienen true/false, y veo que en tu script solo usas 2 valores que encajar?a perfectamente con una var bool.



3. El array creado (TextoL) tiene un tama?o algo grande, recomiendo bajarlo.



4. La variable TieneLicencia te falto agregarle [MAX_PLAYERS] para que sea para todos, porque sino, si uno consigue la licencia, la variable "TieneLicencia" tendr? valor 1 para TODOS los jugadores, en cambio, si lo haces por jugador, no.



y tampoco s? porque pusiste todo en espa?ol xd, como las palabras 'nuevo', ?'retorno', 'formato' y eso xd



Gracias, Ahora lo modifico. no me di cuenta q estaba en espa?ol use el traductor xd. disculpas.
  Reply
#6
Modificado y reparado
  Reply


Forum Jump: