-
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 !
-
#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...
-
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
-
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!!
-
de az ott van ezt most nem értem bele zavarodtam hogy van?
-
public OnPlayerExitVehicle(playerid, vehicleid) return indito[playerid] = false; // mikor kiszál
-
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;
}
-
help pls beszállok és indul nem is kell meg nyomni a SHIFT gombot