
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.


Dodatki SourceMod















