Burgershot
  • Home
  • Members
  • Team
  • Help
  • Search
  • Register
  • Login
  • Home
  • Members
  • Help
  • Search
Burgershot Other languages Spanish/Español Programación [Aporte] Sistema de Licencia de Conducir

 
  • 0 Vote(s) - 0 Average
[Aporte] Sistema de Licencia de Conducir
R4lpH
Offline

Burgershot Member
Posts: 9
Threads: 2
Joined: Jul 2020
Reputation: 0
Location: Argentina
#1
2020-07-16, 12:30 AM (This post was last modified: 2020-08-25, 01:24 PM by R4lpH.)
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


CMD: comprarlicencia (playerid, params []) // Cuando el jugador escriba / comprarlicencia entonces ejecute el codigo
{
     #pragma unused params
     newTextoL [150]; // Variable que va a contener el texto
     if (! IsPlayerInRangeOfPoint (playerid, 1.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(TextoL, 150, "Ha comprado una licencia de conducir por $ 520"); // Formato que va a tener el texto
          SendClientMessage (playerid, 150, TextoL); // 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 (TextoL, 150, "Ya tienes tu licencia de conducir."); // Formato que va a tener el texto
          SendClientMessage (playerid, 150, TextoL); // 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 (playerid, vehicleid, ispassenger) // 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 (playerid, 0xFF0000FF, "Estas conduciendo sin una licencia de conducir, la política puede multarte"); // Envia un mensaje al jugador.
     }
     return 1;
} 
qwerty
Offline

Banned
Posts: 61
Threads: 3
Joined: Apr 2019
#2
2020-07-16, 02:33 AM
vaya tonto este
Botato
Offline

Programador | Mapper
Posts: 66
Threads: 0
Joined: Apr 2019
Reputation: 1
Location: Argentina
#3
2020-07-19, 02:00 AM (This post was last modified: 2020-07-20, 03:27 AM by Botato.)
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
SKainer
Offline

Burgershot Member
Posts: 15
Threads: 3
Joined: Jan 2020
Reputation: 0
#4
2020-07-23, 07:20 PM
(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!
R4lpH
Offline

Burgershot Member
Posts: 9
Threads: 2
Joined: Jul 2020
Reputation: 0
Location: Argentina
#5
2020-07-27, 07:43 PM
(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.
R4lpH
Offline

Burgershot Member
Posts: 9
Threads: 2
Joined: Jul 2020
Reputation: 0
Location: Argentina
#6
2020-08-25, 01:24 PM
Modificado y reparado
« Next Oldest | Next Newest »



  • View a Printable Version
  • Subscribe to this thread
Forum Jump:

© Burgershot - Powered by our Community and MyBB Original Theme by Emerald

Linear Mode
Threaded Mode