Nem nehéz csinálsz egy változot és ha beirták a parancsot akkor a változo megváltozik és elindul egy timer a timer végén pedig a változo vissza változik és ujra lehet használni a parancsot próbáld meg ;)
E:
szval
Mode elejére :
new bool:banktimer[MAX_PLAYERS] = {false, ...};
forward bankrablas(playerid);
Aztán a bankrablásos parancsodba a parancs legtetejére ezt tedd :
if(banktimer[playerid] ) return SendClientMessage(playerid, COLOR_RED, \"Csak 5 percenként rabolhatsz!\");
És még a parancsba ezt is tedd be :
banktimer[playerid] = true;
SetTimerEx(\"bankrablas\",300000,1,\"i\",playerid);
És ezt a modot legvégére vagy elejére :
public bankrablas(playerid)
{
banktimer[playerid] = false;
return 1;
}
ennyi lenne :)
new rabolhat[MAX_PLAYERS];
forward ujrarablas(playerid);
Ezt a mód elejére
rabolhat[playerid] = 0;
Ezt az OnPlayerConnect vagy OnPlayerSpawn függvényhez
if(rabolhat[playerid] == 0)
{
// Kirabolja a bankot
rabolhat[playerid] = 1;
SetTimerEx(\"ujrarablas\",5*60000,false,\"i\",playerid); // Újrarablás meghívása 5 * 1perc múlva
}
else
{
//Nem rabolja ki
}
Ezt a parancsodba ahol rabolja a bankot(vagy dialog, pickup stb..)
public ujrarablas(playerid)
{
rabolhat[playerid] = 0;
return 1;
}
Ezt meg külön