[Tutorial] Sistema de motor

Aprende lo que no sabes de este lenguaje y encuentra herramientas y códigos útiles.

Moderador: Ayudantes

Reglas del Foro
  • Si tu código es corto, no crees un tema nuevo para liberarlo, publica un mensaje en el tema [Funciones] ¡Publica tu código aquí!.
  • Si creas una guía, debes explicar el código claramente. Evita poner la explicación en forma de comentarios dentro del mismo y no olvides utilizar el BBCode correspondiente: [Pawn]Código aquí[/Pawn].
  • No postear códigos sin probar. Publicar códigos con errores (que impidan compilar el script para el cual está destinado) en este apartado es motivo de sanción.
  • Si tu código necesita plugins, includes u otros códigos adicionales para funcionar, debes mencionarlo en el mensaje.
  • Si has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).
  • Si tu aporte es para un GameMode en específico, debes publicar el tema en el apartado "Guías y Aportes para GameModes específicos".
Responder
JostinEduardo
Aprendiz
Aprendiz
Mensajes: 261
Registrado: 11 Jun 2014 16:02
Ubicación: Venezuela
Contactar:
Reputación: 2

05 Abr 2018 12:46

Pense que era un sistema de motor para hacer el vehículo mucho más rápido igual muy buen tutorial.
— Tú creces, todos crecemos, estamos hechos para crecer. Tú o evolucionas o desapareces. —
Avatar de Usuario
Im[S]pell
Junior
Junior
Mensajes: 530
Registrado: 21 Ene 2018 11:03
Ubicación: En tu cama <3
Contactar:
Reputación: 14

05 Abr 2018 12:55

JostinEduardo escribió:
05 Abr 2018 12:46
Se puede decir que es un sistema de motor para hacer el vehículo mucho más rapido o una simple base?
Hola compañero -hi es un Sistema para encender y apagar el Motor de un Vehiculo, como un servidor RolePlay !

Saludos -bye
• Conserva bien lo tuyo y NO CODICIES lo ajeno. Si haces eso, nada podrá impedirte ser FELIZ

PawnScript & R.Spell User Pawno

-----------------------------------------------------------------------------------------------------------------------------------------------------------


● Proyectos & Ex Servidores

-----------------------------------------------------------------------------------------------------------------------------------------------------------


Imagen

Aportes en Samp: Mostrar
[GM] Call Of Duty BLACK: viewtopic.php?f=41&t=26501
[APORTE] Sistema de Robo al Banco: viewtopic.php?f=40&t=26482
[En Creacion:] Sistema de Registro por Textdraw COD
[Guía:] Actualizar GameMode a 0.3.7 R2: viewtopic.php?f=40&t=26961
[Aporte:] ¡TDEditor! Crea TextDraw: viewtopic.php?f=40&t=26913
[Guía:] Reparar Run Time Error 19 Not Found: viewtopic.php?f=40&t=26568
[Aporte:] Nuevo Anticheat ¡Nex-AC! Perfecto para DM/RP: viewtopic.php?f=40&t=27326


Hostname: |•|»PlazeWorld City Roleplay [PZ:RP]«|•| - [Re-Apertura]

Adress: 192.95.53.4:1150


Avatar de Usuario
Im[S]pell
Junior
Junior
Mensajes: 530
Registrado: 21 Ene 2018 11:03
Ubicación: En tu cama <3
Contactar:
Reputación: 14

16 Jun 2018 14:06

Me tira un chingon de errores:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

gamemodes\CMLA.pwn(26) : error 017: undefined symbol "MAX_VEHICLES"
\gamemodes\CMLA.pwn(26) : error 009: invalid array size (negative, zero or out of bounds)
\gamemodes\CMLA.pwn(1571) : warning 225: unreachable code
\gamemodes\CMLA.pwn(1571) : warning 217: loose indentation
\gamemodes\CMLA.pwn(1571) : error 029: invalid expression, assumed zero
\gamemodes\CMLA.pwn(1571) : error 004: function "OnPlayerExitVehicle" is not implemented
\gamemodes\CMLA.pwn(1574) : warning 219: local variable "engine" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1574) : warning 219: local variable "lights" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1574) : warning 219: local variable "alarm" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1574) : warning 219: local variable "doors" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1574) : warning 219: local variable "bonnet" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1574) : warning 219: local variable "boot" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1574) : warning 219: local variable "objective" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1605) : warning 225: unreachable code
\gamemodes\CMLA.pwn(1605) : error 029: invalid expression, assumed zero
\gamemodes\CMLA.pwn(1605) : error 004: function "OnVehicleDeath" is not implemented
\gamemodes\CMLA.pwn(1630) : warning 225: unreachable code
\gamemodes\CMLA.pwn(1630) : error 029: invalid expression, assumed zero
\gamemodes\CMLA.pwn(1630) : error 004: function "OnPlayerStateChange" is not implemented
\gamemodes\CMLA.pwn(1633) : warning 219: local variable "engine" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1633) : warning 219: local variable "lights" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1633) : warning 219: local variable "alarm" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1633) : warning 219: local variable "doors" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1633) : warning 219: local variable "bonnet" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1633) : warning 219: local variable "boot" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1633) : warning 219: local variable "objective" shadows a variable at a preceding level
\gamemodes\CMLA.pwn(1635) : error 017: undefined symbol "newstate"
\gamemodes\CMLA.pwn(1729) : warning 225: unreachable code
\gamemodes\CMLA.pwn(1729) : error 029: invalid expression, assumed zero
\gamemodes\CMLA.pwn(1729) : error 004: function "OnPlayerCommandPerformed" is not implemented
\gamemodes\CMLA.pwn(1731) : error 017: undefined symbol "success"
\gamemodes\CMLA.pwn(1734) : error 017: undefined symbol "cmdtext"
\gamemodes\CMLA.pwn(1741) : warning 225: unreachable code
\gamemodes\CMLA.pwn(1741) : error 029: invalid expression, assumed zero
\gamemodes\CMLA.pwn(1741) : error 004: function "OnPlayerKeyStateChange" is not implemented
\gamemodes\CMLA.pwn(1757) : error 017: undefined symbol "newkeys"
\gamemodes\CMLA.pwn(1763) : error 017: undefined symbol "newkeys"
\gamemodes\CMLA.pwn(1767) : error 017: undefined symbol "newkeys"
\gamemodes\CMLA.pwn(1773) : error 017: undefined symbol "newkeys"
\gamemodes\CMLA.pwn(1777) : error 017: undefined symbol "newkeys"
\gamemodes\CMLA.pwn(1787) : error 017: undefined symbol "newkeys"
P\gamemodes\CMLA.pwn(1790) : error 017: undefined symbol "GetClosestVehicle"
\gamemodes\CMLA.pwn(1791) : error 017: undefined symbol "VehicleToPlayer"
\gamemodes\CMLA.pwn(1796) : warning 217: loose indentation
\gamemodes\CMLA.pwn(1798) : error 017: undefined symbol "newkeys"
\gamemodes\CMLA.pwn(1807) : warning 217: loose indentation
\gamemodes\CMLA.pwn(1816) : warning 217: loose indentation
\gamemodes\CMLA.pwn(1816) : error 017: undefined symbol "newkeys"
\gamemodes\CMLA.pwn(1845) : warning 217: loose indentation
\gamemodes\CMLA.pwn(1845) : error 029: invalid expression, assumed zero

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


26 Errors.
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 55
Ayudaaaaaa
• Conserva bien lo tuyo y NO CODICIES lo ajeno. Si haces eso, nada podrá impedirte ser FELIZ

PawnScript & R.Spell User Pawno

-----------------------------------------------------------------------------------------------------------------------------------------------------------


● Proyectos & Ex Servidores

-----------------------------------------------------------------------------------------------------------------------------------------------------------


Imagen

Aportes en Samp: Mostrar
[GM] Call Of Duty BLACK: viewtopic.php?f=41&t=26501
[APORTE] Sistema de Robo al Banco: viewtopic.php?f=40&t=26482
[En Creacion:] Sistema de Registro por Textdraw COD
[Guía:] Actualizar GameMode a 0.3.7 R2: viewtopic.php?f=40&t=26961
[Aporte:] ¡TDEditor! Crea TextDraw: viewtopic.php?f=40&t=26913
[Guía:] Reparar Run Time Error 19 Not Found: viewtopic.php?f=40&t=26568
[Aporte:] Nuevo Anticheat ¡Nex-AC! Perfecto para DM/RP: viewtopic.php?f=40&t=27326


Hostname: |•|»PlazeWorld City Roleplay [PZ:RP]«|•| - [Re-Apertura]

Adress: 192.95.53.4:1150


Avatar de Usuario
#Fede
Moderador Global
Moderador Global
Mensajes: 3133
Registrado: 12 Ene 2015 06:32
Ubicación: Montevideo, Uruguay.
Reputación: 75

17 Jun 2018 12:56

Im[S]pell escribió:
16 Jun 2018 14:06
Me tira un chingon de errores:
 Codigo Pawno:
1

26 Errors.
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Ayudaaaaaa
26 errores, posiblemente hay llaves mal cerradas.
Estoy fuera de SA-MP, no me envíen mensajes privados invitándome a proyectos.


scriptnoob escribió:Cada día se va mejorando el foro, nuestro objetivo es como el de una empresa:

Misión: Brindar ayuda y aportes a los usuarios.
Visión: Ser la página de mayor calidad de servicio de soporte referidos a lenguajes de programación.
Lee las reglas del foro para evitar ser sancionado




jomyrap101
Aprendiz
Aprendiz
Mensajes: 16
Registrado: 01 Jun 2018 22:42
Reputación: 0

11 Jul 2018 23:37

Bors escribió:
12 Abr 2014 04:39
Hola muy buenas PawnScript en está ocasión os traigo un Sistema que sirve para vuestros futuros proyectos por ejemplo un Gamemode de 0 qué queréis hacer o algo por el estilo , bueno procedemos al tutorial.

1) Arriba de su Gamemode agregan esto para definir algunas cosas:
 Codigo Pawno:
1
2
3
4
5
6

#define C_Blanco         0xFFFFFFFF//define el color blanco que vamos a usar

    new MotorAuto[MAX_VEHICLES];//define si el auto esta encendido o apagado (para el auto)

    forward EncenderMotor(playerid);//el public para encender el motor
    forward ApagarMotor(playerid);//el public para apagar el motor
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 6

2) En OnGameModeInit agregamos esto:

 Codigo Pawno:
1

ManualVehicleEngineAndLights();//Es para que las luces y el motor estén apagados al momento de subirse
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1


3) Si no tienen este public, agreguenlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)//cuando el jugador entra al auto
    {
          if(MotorAuto[vehicleid] == 0)//si el motor esta apagado
          {
              SendClientMessage(playerid,C_Blanco,"El Motor Esta Apagado. Para Encenderlo: Haz Click");// te manda el mensaje si esta apagado
          }
          if(MotorAuto[vehicleid] == 1)//si el motor esta encendido
          {
              SendClientMessage(playerid,C_Blanco,"El Motor Esta Encendido. Para Apagarlo: Haz Click");//mensaje si el motor esta encendido
          }
       return 1;
    }
  Cantidad de llaves: Abiertas(3)-Cerradas(3) | Lineas Totales: 12

4) Si no tienen este public, agréguenlo [Teclas]:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

 public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
       new IDAuto = GetPlayerVehicleID(playerid);//define que IDAuto es la id del auto
       if(newkeys == KEY_FIRE)//Para que encendiera seria el click osea KEY_FIRE
       {
        if(IsPlayerInAnyVehicle(playerid))//si esta en un vehiculo
            {
            if(MotorAuto[IDAuto] == 0)//si el motor esta apagado
            {
          SetTimerEx("EncenderMotor", 2500, false, "d", playerid);//timer para encender el vehiculo [2500 = 2,5 segundos]
          GameTextForPlayer(playerid, "~w~Encendiendo...",2000,3);//mensaje que dice que el motor se esta encendiendo
         }
         else
         {
          SetTimerEx("ApagarMotor", 1500, false, "d", playerid);//tiempo en apagar el motor [1500 = 1,5 segundos]
          GameTextForPlayer(playerid, "~w~Apagando...",1000,3);//mensaje que dice que el motor se esta apagando
         }
         }
         return 1;
       }
       return 1;
    }
  Cantidad de llaves: Abiertas(5)-Cerradas(5) | Lineas Totales: 22



5) Creamos el public para encender el motor:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

public EncenderMotor(playerid)
    {
            new IDAuto = GetPlayerVehicleID(playerid);//define que IDAuto es la id del auto
       new enginem, lights, alarm, doors, bonnet, boot, objective;//define las cosas del auto
       GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);

       SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);//deja el auto con las luces encendidas, motor, etc.
       GameTextForPlayer(playerid, "~w~Motor ~g~Encendido",1000,3);//mensaje de encendido
       MotorAuto[IDAuto] = 1;//deja el motor encendido
    }

  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 11
6) Ahora el public para apagar el motor:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

public ApagarMotor(playerid)
    {
        new IDAuto = GetPlayerVehicleID(playerid);
       new enginem, lights, alarm, doors, bonnet, boot, objective;
       GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);

       SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);//deja el motor y las demas cosas apagadas
       GameTextForPlayer(playerid, "~w~Motor ~r~Apagado",1000,3);//mensaje de apagado
       MotorAuto[IDAuto] = 0;//deja el motor apagado
    }
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 10
Y listo tienen su sistema de motor echo.
C:\Users\jomyj\Desktop\cosas de server\Gta lIfe Real\gamemodes\new.pwn(94) : warning 217: loose indentation
C:\Users\jomyj\Desktop\cosas de server\Gta lIfe Real\gamemodes\new.pwn(98) : warning 217: loose indentation
C:\Users\jomyj\Desktop\cosas de server\Gta lIfe Real\gamemodes\new.pwn(189) : warning 217: loose indentation
C:\Users\jomyj\Desktop\cosas de server\Gta lIfe Real\gamemodes\new.pwn(198) : warning 217: loose indentation
C:\Users\jomyj\Desktop\cosas de server\Gta lIfe Real\gamemodes\new.pwn(204) : warning 217: loose indentation
C:\Users\jomyj\Desktop\cosas de server\Gta lIfe Real\gamemodes\new.pwn(206) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

me pudes ayudar con eso o que alguien me ayuda a arreglar eso porfa y gracias
PD:como hago que para encerder el auto sea con otra tecla
Avatar de Usuario
Francisco450
Mensajes: 153
Registrado: 30 Jul 2018 01:17
Reputación: -1

05 Ago 2018 01:40

Bors escribió:
12 Abr 2014 04:39
Hola muy buenas PawnScript en está ocasión os traigo un Sistema que sirve para vuestros futuros proyectos por ejemplo un Gamemode de 0 qué queréis hacer o algo por el estilo , bueno procedemos al tutorial.

1) Arriba de su Gamemode agregan esto para definir algunas cosas:
 Codigo Pawno:
1
2
3
4
5
6

#define C_Blanco         0xFFFFFFFF//define el color blanco que vamos a usar

    new MotorAuto[MAX_VEHICLES];//define si el auto esta encendido o apagado (para el auto)

    forward EncenderMotor(playerid);//el public para encender el motor
    forward ApagarMotor(playerid);//el public para apagar el motor
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 6

2) En OnGameModeInit agregamos esto:

 Codigo Pawno:
1

ManualVehicleEngineAndLights();//Es para que las luces y el motor estén apagados al momento de subirse
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1


3) Si no tienen este public, agreguenlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)//cuando el jugador entra al auto
    {
          if(MotorAuto[vehicleid] == 0)//si el motor esta apagado
          {
              SendClientMessage(playerid,C_Blanco,"El Motor Esta Apagado. Para Encenderlo: Haz Click");// te manda el mensaje si esta apagado
          }
          if(MotorAuto[vehicleid] == 1)//si el motor esta encendido
          {
              SendClientMessage(playerid,C_Blanco,"El Motor Esta Encendido. Para Apagarlo: Haz Click");//mensaje si el motor esta encendido
          }
       return 1;
    }
  Cantidad de llaves: Abiertas(3)-Cerradas(3) | Lineas Totales: 12

4) Si no tienen este public, agréguenlo [Teclas]:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

 public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
       new IDAuto = GetPlayerVehicleID(playerid);//define que IDAuto es la id del auto
       if(newkeys == KEY_FIRE)//Para que encendiera seria el click osea KEY_FIRE
       {
        if(IsPlayerInAnyVehicle(playerid))//si esta en un vehiculo
            {
            if(MotorAuto[IDAuto] == 0)//si el motor esta apagado
            {
          SetTimerEx("EncenderMotor", 2500, false, "d", playerid);//timer para encender el vehiculo [2500 = 2,5 segundos]
          GameTextForPlayer(playerid, "~w~Encendiendo...",2000,3);//mensaje que dice que el motor se esta encendiendo
         }
         else
         {
          SetTimerEx("ApagarMotor", 1500, false, "d", playerid);//tiempo en apagar el motor [1500 = 1,5 segundos]
          GameTextForPlayer(playerid, "~w~Apagando...",1000,3);//mensaje que dice que el motor se esta apagando
         }
         }
         return 1;
       }
       return 1;
    }
  Cantidad de llaves: Abiertas(5)-Cerradas(5) | Lineas Totales: 22



5) Creamos el public para encender el motor:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

public EncenderMotor(playerid)
    {
            new IDAuto = GetPlayerVehicleID(playerid);//define que IDAuto es la id del auto
       new enginem, lights, alarm, doors, bonnet, boot, objective;//define las cosas del auto
       GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);

       SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);//deja el auto con las luces encendidas, motor, etc.
       GameTextForPlayer(playerid, "~w~Motor ~g~Encendido",1000,3);//mensaje de encendido
       MotorAuto[IDAuto] = 1;//deja el motor encendido
    }

  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 11
6) Ahora el public para apagar el motor:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

public ApagarMotor(playerid)
    {
        new IDAuto = GetPlayerVehicleID(playerid);
       new enginem, lights, alarm, doors, bonnet, boot, objective;
       GetVehicleParamsEx(GetPlayerVehicleID(playerid),enginem, lights, alarm, doors, bonnet, boot, objective);

       SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);//deja el motor y las demas cosas apagadas
       GameTextForPlayer(playerid, "~w~Motor ~r~Apagado",1000,3);//mensaje de apagado
       MotorAuto[IDAuto] = 0;//deja el motor apagado
    }
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 10
Y listo tienen su sistema de motor echo.








PORQUE ESTOS TIPOS DE COMANDOS ME DA ERRORES AUN QUE ESTEB BIEN
Responder