Hallo ,
ich habe eine Frage ,und zwar folgendes :
Ich will es so machen , dass man einen Befehl nur jede 10 Minuten
machen kann und es z.B nur mit einem bestimmten Fahrzeug . Könntet ihr
mir helfen bitte?
Danke im Vorraus
MfG
X-Spider
Hallo ,
ich habe eine Frage ,und zwar folgendes :
Ich will es so machen , dass man einen Befehl nur jede 10 Minuten
machen kann und es z.B nur mit einem bestimmten Fahrzeug . Könntet ihr
mir helfen bitte?
Danke im Vorraus
MfG
X-Spider
Poste mal den befehl den man nur in den 10 mins 1 mal verwenden darf.
Ganz oben bei deinen forward's:
forward ResetFlugWarteZeit(playerid);
Bei OnPlayerConnect:
SetPVarInt(playerid,"FlugWarteZeit",0);
Der neue Befehl unter OnPlayerCommandText:
if(strcmp(cmd, "/lsair", true) == 0)
{
if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
{
if(GetPVarInt(playerid,"ZKX_FlugWarteZeit")==0)
{
SetPVarInt(playerid,"FlugWarteZeit",1);
SetPlayerCheckpoint(playerid, 1928.4336,-2250.5027,13.5469, 5.0);
SendClientMessage(playerid,COLOR_RED,"Fliege zum Marker");
LSAir[playerid] = 1;
SetTimerEx("ResetFlugWarteZeit",(1000*60)*10,false,"d",playerid);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du kannst nur alle 10Minuten diesen Befehl benutzen!");
}
}
return 1;
}
Neues Public irgendwo alleinstehend ins Script:
public ResetFlugWarteZeit(playerid)
{
SetPVarInt(playerid,"FlugWarteZeit",0);
return 1;
}
Anstelle einen unnötigen Timer einzubauen, arbeite lieber mit GetTickCount oder einer eigenen TickCount Funktion.
if(strcmp(cmd, "/lsair", true) == 0)
{
if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
{
if(GetTickCount()-GetPVarInt(playerid,"FlugWarteZeit")>1000*60*10)
{
SetPlayerCheckpoint(playerid, 1928.4336,-2250.5027,13.5469, 5.0);
SendClientMessage(playerid,COLOR_RED,"Fliege zum Marker");
LSAir[playerid] = 1;
SetPVarInt(playerid,"FlugWarteZeit",GetTickCount());
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du kannst nur alle 10Minuten diesen Befehl benutzen!");
}
}
return 1;
}
Danke Sehr , das Problem habe ich gelöst
Nur jetzt fehlt mir nur noch , dass man nur mit einem bestimmten Flugzeug diesen Befehl eingeben kann.
Weiß jemand vielleicht , wie das geht?
Danke
MfG X-Spider
FLUGZEUG_ANZAHL mit der Anzahl deiner Flugzeuge austauschen!
new Flugzeuge[FLUGZEUG_ANZAHL];
forward FlugzeugCheck(carid);
Eigener Public egal wohin
public FlugzeugCheck(carid){
for(new f=0;f<sizeof();f++){
if(carid == Flugzeuge[f]){return 1;}}
return 0;}
Bei OnPlayerEnterVehicle
if(Flugzeuge(vehicleid)&&!ispassenger)
{
if(PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pLeader] == 16)
{
//Aktion wenn jemand einsteigt aus der Fraktion 16
}
else
{
//Aktion wenn er nicht in der Fraktion 16 ist..
SendClientMessage(playerid,COLOR_GRAD2,"Du bist kein Mitglied der Fraktion 16!");
TogglePlayerControllable(playerid,false);
TogglePlayerControllable(playerid,true);
}
}
Hi ,
ich will jetzt den ganzen code nur für den befehlt /lsair zugänglich machen.
Wie geht das denn ?
MfG