Zum ersten kannst du mit timestamps arbeiten einfach eine zusätzliche account variabel erstellen oder ein extra array und den wert das gettime zurück gibt drin speichern und die 20 sekunden dazu rechnen und das ganze abprüfen.
new timestamp[MAX_PLAYERS];
if(strcmp("/usedrugs", cmd, true) == 0)
{
if(timestamp[playerid] > gettime())return SendClientMessage(playerid,-1,"Du kannst noch nicht diesen Befehl nutzen");
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pDrugs] >= 2)
{
new Float:Health;
GetPlayerName(playerid,sendername,sizeof(sendername));
GetPlayerHealth(playerid, Health);
PlayerStoned[playerid] += 1;
if(PlayerStoned[playerid] >= 3)
{
PlayerStonedTime[playerid] = 180;
}
if(PlayerStonedTime[playerid] > 0)
{
GameTextForPlayer(playerid, "~w~Du bist~n~~p~bekifft", 4000, 1);
SetPlayerDrunkLevel(playerid,GetPlayerDrunkLevel(playerid) +3000);
}
if(PlayerInfo[playerid][pDrugPerk] > 0)
{
new hp = 5 * PlayerInfo[playerid][pDrugPerk];
SetPlayerHealth(playerid, Health + hp);
}
else
{
SetPlayerHealth(playerid, Health + 4);
}
timestamp[playerid] = gettime() + 20;
PlayerInfo[playerid][pDrugs] -= 2;
OnePlayAnim(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0); // Eat Burger
format(string, sizeof(string), "* %s pfeift sich 2 Gramm getrocknetes Gras rein.", sendername);
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string,sizeof(string),"* %s nutzt usedrugs", sendername);
EnterToLog("usedrugs",string);
}
else
{
SendClientMessage(playerid, COLOR_ERRORTEXT, " Du hast keine Drogen !");
}
}
return 1;
}
if(strcmp("/admins", cmd, true) == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Admins Online:");
new AdminRangName[25];
for(new i = 0; i < MAX_PLAYERS; i++){
if(!IsPlayerConnected(i)|| (PlayerInfo[i][pAdmin] == 0 && AFKModus[i] == 1))continue;
switch( PlayerInfo[i][pAdmin]){
case -1:AdminRangName = "Beschwerdemoderator";
case 1:AdminRangName = "Supporter";
case 2:AdminRangName = "OberSupporter";
case 3:AdminRangName = "Moderator";
case 4:AdminRangName = "SuperModerator";
case 5:AdminRangName = "Admin";
case 6:AdminRangName = "SuperAdmin";
case 1337: AdminRangName = "Fulladmin";
case default: AdminRangName = "Unknown";
}
format(string, sizeof(string), "%s: %s[%d]", AdminRangName, sendername,i);
SendClientMessage(playerid, COLOR_GREY, string);
}
return 1;
}