Megírtam neked.
Változók létrehozása:
new bool:AntiFall[MAX_PLAYERS], pVeh[MAX_PLAYERS];
Ha megsemmisül a jármu akkor már ne tehesse bele (bug kiküszöbölés):
public OnVehicleDeath(vehicleid, killerid)
{
for(new g=0; g < MAX_PLAYERS; g++) if(IsPlayerConnected(g) && pVeh[g] == vehicleid) pVeh[g] = -1;
return 1;
}
Ha belép egy jármube, akkor az legyen a változó értéke (abba tegye vissza esésnél amibe bennevan)
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!ispassenger) pVeh[playerid] = vehicleid;
return 1;
}
Visszatevés a jármube:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(AntiFall[playerid] && pVeh[playerid] != -1) PutPlayerInVehicle(playerid,pVeh[playerid],0);
return 1;
}
Értékek lenullázása:
public OnPlayerConnect(playerid)
{
AntiFall[playerid] = false;
pVeh[playerid] = -1;
return 1;
}
És a parancs:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/antifall\", cmdtext, true, 10) == 0)
{
if(!AntiFall[playerid])
{
AntiFall[playerid] = true;
SendClientMessage(playerid,0xFFFF00AA,\"Anti Fall-off bekapcsolva!\");
}
else
{
AntiFall[playerid] = false;
SendClientMessage(playerid,0xFFFF00AA,\"Anti Fall-off kikapcsolva!\");
}
return 1;
}
return 0;
}/code]