W tym poradniku pokaze w jaki sposob dodac blokade granatow do silnika coda przed uplywem okreslonego czasu.
Pierw gdzies na gorze tworzymy:
blokada_granatow
nastepnie przechodzimy do
public Action:Prethink(client) { if(!IsValidClient(client) || IsFakeClient(client) || freeze_time) return Plugin_Continue; if(IsPlayerAlive(client)) {
i dodajemy:
if(blokada_granatow) { if(StrEqual(weapon, nazwy_broni[34]) || StrEqual(weapon, nazwy_broni[35]) || StrEqual(weapon, nazwy_broni[36])) { if(buttons & IN_ATTACK || buttons & IN_ATTACK2) { SetEntProp(client, Prop_Data, "m_nButtons", buttons & ~IN_ATTACK); SetEntDataFloat(GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon"), FindSendPropOffs("CBaseCombatWeapon", "m_flNextSecondaryAttack"), GetGameTime()+999.0); PrintHintText(client, "Granaty odlamkowe i podpalajace zostana odblokowane za %i sekund!", blokada_granatow); } } }
pozniej szukamy:
public Action:PoczatekRundy(Handle:event_freezetime, const String:name[], bool:dontBroadcast) {
i w publicu dodajemy:
blokada_granatow = 15; CreateTimer(1.0, Odblokuj);
nastepnie gdzies na koniec kodu wrzucamy to:
public Action:Odblokuj(Handle:timer) { if(blokada_granatow > 0) { blokada_granatow--; CreateTimer(1.0, Odblokuj); } }
Od teraz bedziemy mieli blokade granatow he, podpalajacych i molotova przed uplywem 15 sekund rundy.