Szerző Téma: Motor/engine  (Megtekintve 1320 alkalommal)

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Motor/engine
« Dátum: 2012. december 12. - 20:00:44 »
0 Show voters
Hali all. Valaki tudna olyan scriptet adni vagy van a itt a fórumon olyan hogy a motort a SHIFT gombal keljen be indítani és le állítani.
köszönöm a válaszokat !

Motor/engine
« Válasz #1 Dátum: 2012. december 12. - 22:02:03 »
0 Show voters

#include <a_samp>
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
{
            if(PRESSED(KEY_CROUCH))
            {
        new vehicleid = GetPlayerVehicleID(playerid);
       new engine,lights,alarm,doors,bonnet,boot,objective;
if(GetPVarInt(playerid, \"Engine\") == 1)
   {
           GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
                 SetVehicleParamsEx(vehicleid,true,lights,alarm,doors,bonnet,boot,objective);
                 SetPVarInt(playerid, \"Engine\", 0);
          }
          else if(GetPVarInt(playerid, \"Engine\") == 0)
          {
             GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
                 SetVehicleParamsEx(vehicleid,false,lights,alarm,doors,bonnet,boot,objective);
                 SetPVarInt(playerid, \"Engine\", 1);
          }
            }
}
return 1;
}

 
Azt hiszem a CROUCH az a shift...
« Utoljára szerkesztve: 2012. december 12. - 22:07:15 írta takehun »

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Motor/engine
« Válasz #2 Dátum: 2012. december 13. - 17:48:28 »
0 Show voters
köszike

Dupla hozzászólás automatikusan összefûzve. ( 2012. december 13. - 21:03:32 )

ennek mért van az hogy ha be szállok a kamionba másodjára akkor már nem írja hogy be kell indítani a motort?
1x beszállok és akkor írja de már mikor másodjára szállok be akkor nem írja ki ??
 
#include <a_samp>
#pragma tabsize 0
#define FILTERSCRIPT
#define COLOR_GREEN 0x33AA33AA // szin definiálása
#define orange 0xFF8000FF
new bool: indito[MAX_PLAYERS]; // be van-e inditva a motor? állása:(1 vagy true - igen) , (0 vagy false - nem)
public OnFilterScriptInit()
{
   print(\"------------------------------------------\");
   print(\" Engine Script \");
   print(\"------------------------------------------\");
}
 
public OnPlayerStateChange(playerid, newstate, oldstate) //mikor beszáll a jármube
{
   if(newstate == PLAYER_STATE_DRIVER) // megnézi, hogy soför vagy csak utas
   {
      if(indito[playerid] == false) // ha indito false, szóval nincs beinditva,akkor ...
      {
         SendClientMessage ( playerid,  orange,\"Jármu beinditásához nyomd le egyszer ezt: SHIFT\"); // kiirja ezt
         TogglePlayerControllable(playerid, false); //játékos ne birja elinditani a jármuvet
      }
   }
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) // billentyulenyomást nézi a függvény
{
    if(IsPlayerInAnyVehicle(playerid)) //megnézzük, hogy jármuben van-e?
   {
      if(newkeys & 32 && indito[playerid] == false){       //itt kell kicserélni a számot, hogy melyik billentyuvel induljon el a jármu
                                                          //ha a megadott billentyut nyomta le és nincs elinditva a jármu,akkor...
           SendClientMessage ( playerid,  COLOR_GREEN,\"Sikeresen beíndittotad a jármuvedet!\"); // kiirja ezt
         TogglePlayerControllable(playerid, true); // mostmár birja vezetni
         indito[playerid] = true; // inditot engedélyezzük
          return 1;
      }
   }
   return 0;
}
public OnPlayerExitVehicle(playerid, vehicleid) return indito[playerid] = true; // mikor kiszál
« Utoljára szerkesztve: 2012. december 13. - 21:03:32 írta ZSOLTI99 »

Motor/engine
« Válasz #3 Dátum: 2012. december 14. - 18:53:02 »
0 Show voters
Ez a függvény alá kell beírni:
public OnPlayerStateChange(playerid, newstate, oldstate) //mikor beszáll a jármube
{

 
Ezt írd be a jel után:


SendClientMessage ( playerid,  orange,\"Jármu beinditásához nyomd le egyszer ezt: SHIFT\"); // kiirja ezt

 

Remélem, jó lesz!!

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Motor/engine
« Válasz #4 Dátum: 2012. december 14. - 19:25:31 »
0 Show voters
de az ott van ezt most nem értem bele zavarodtam hogy van?

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
Motor/engine
« Válasz #5 Dátum: 2012. december 14. - 21:30:51 »
0 Show voters
public OnPlayerExitVehicle(playerid, vehicleid) return indito[playerid] = false; // mikor kiszál

Motor/engine
« Válasz #6 Dátum: 2012. december 14. - 22:07:09 »
0 Show voters
Szerintem érdemesebb a motor indításhoz kapcsolni a bool-t. Amit írtam példához tehát:
 
#include <a_samp>
#define FILTERSCRIPT
#pragma tabsize 0
#define PRESSED(%0) \\
        (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define COLOR_GREEN 0x33AA33AA
#define orange 0xFF8000FF
new bool:indito[MAX_VEHICLES];
public OnPlayerStateChange(playerid, newstate, oldstate)
{
        new vehicleid = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
if(indito[vehicleid] == false) //ha az indító [azaz a motor] ki van kapcsolva
{
         SendClientMessage ( playerid,  orange,\"Jármu beinditásához nyomd le egyszer ezt: SHIFT\");
}
}
return 1;
}
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
{
            if(PRESSED(KEY_CROUCH))
            {
       new vehicleid = GetPlayerVehicleID(playerid);
       new engine,lights,alarm,doors,bonnet,boot,objective;
if(GetPVarInt(playerid, \"Engine\") == 0) //ha a motor ki van kapcsolva
   {
           GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
                 SetVehicleParamsEx(vehicleid,true,lights,alarm,doors,bonnet,boot,objective);
                 SetPVarInt(playerid, \"Engine\", 1); //bekapcsoljuk a motort
                        indito[vehicleid] = true; //bekapcsoljuk az indítót
                 SendClientMessage ( playerid,  COLOR_GREEN,\"Sikeresen beíndittotad a jármuvedet!\");
          }
          else if(GetPVarInt(playerid, \"Engine\") == 1) //ha a motor be van kapcsolva
          {
             GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
                 SetVehicleParamsEx(vehicleid,false,lights,alarm,doors,bonnet,boot,objective);
                 SetPVarInt(playerid, \"Engine\", 0); //kikapcsoljuk a motort
                        indito[vehicleid] = false; //kikapcsoljuk az indítót
            }
    }
}
return 1;
}
« Utoljára szerkesztve: 2012. december 14. - 22:29:01 írta takehun »

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Motor/engine
« Válasz #7 Dátum: 2012. december 15. - 12:56:54 »
0 Show voters
help pls beszállok és indul nem is kell meg nyomni a SHIFT gombot

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal