Hát ez az örök nitró két féle lehet.Van egy egyszerûbb, viszont akkor mindig perceg, ameddig el nem engeded, vagy van egy olyan hogy ameddig tartod, addig megy, és akkor csak 10 másodpercenként perceg.Most csak az utóbbit írom le.A másodikat én írtam a szerveremnek de megosztom veled.Am simán átírhatod jobblickre, mert nekem úgy van hogy ha elengeded akkor megáll.Persze egyes dolgokat én is vettem innen onnan
.
#include <a_samp>
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define RELEASED(%0) \\
(((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
new NosTimer;
forward GiveNos(playerid);
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_FIRE))
{
if(IsPlayerInAnyVehicle(playerid))
{
if(!IsPlayerInInvalidNosVehicle(playerid,GetPlayerVehicleID(playerid)))
{
AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
NosTimer = SetTimerEx(\"GiveNos\",10000,0,\"i\",playerid);
}
}
}
else if(RELEASED(KEY_FIRE))
{
KillTimer(NosTimer);
RemoveVehicleComponent(GetPlayerVehicleID(playerid), 1010);
return 1;
}
return 0;
}
stock IsPlayerInInvalidNosVehicle(playerid,vehicleid)
{
#define MAX_INVALID_NOS_VEHICLES 32
new InvalidNosVehicles[MAX_INVALID_NOS_VEHICLES] =
{
581,523,462,521,463,522,461,448,468,586,
509,481,510,472,473,493,595,484,430,453,
452,446,454,590,569,537,538,570,449,444,
556,557
};
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInVehicle(playerid,vehicleid))
{
for(new i = 0; i < MAX_INVALID_NOS_VEHICLES; i++)
{
if(GetVehicleModel(vehicleid) == InvalidNosVehicles)
{
return 1;
}
}
}
return 0;
}
public GiveNos(playerid) {
AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
}
Remélem mûködik nem teszteltem, csak kimásoltam a modomból és nem tudom mindent kiszedtem de compileoztam és megy.
Am ha jobb clickel akarod elzárni a nitrót, akkor:
}
else if(REALEASED(128))
{
KillTimer(NosTimer);
RemoveVehicleComponent(GetPlayerVehicleID(playerid), 1010);
return 1;
}