Witam
Jest to mój pierwszy poradnik na tym forum dlatego prosiłbym o wyrozumiałość
Nie znalazłem takiego poradnika tutaj więc postanowiłem to udostępnić. Chodzi o zablokowanie w klasach, które posiadają moc leczenia puszczania kilku apteczek na raz. U mnie klasa posiada 3 apteczki i jeżeli ktoś odpalił je wszystkie trzy na raz był nie do zabicia i postanowiłem to zablokować co 5 sekund jedna. Kod podpatrzyłem z klas, które posiadają rakiety. Myślę, że komuś się może przydać ![]()
A więc zmieniamy najpierw
new sprite_white_apteczki; new ilosc_apteczek_gracza[33];
na
new sprite_white_apteczki; new ilosc_apteczek_gracza[33]; new poprzednia_apteczka_gracza[33];
Następna rzecz, która wymaga edycji
public cod_class_skill_used(id)
{
if (!ilosc_apteczek_gracza[id])
{
client_print(id, print_center, "Masz tylko 3 apteczki na runde!");
}
else
{
ilosc_apteczek_gracza[id]--;
new Float:origin[3];
entity_get_vector(id, EV_VEC_origin, origin);
new ent = create_entity("info_target");
entity_set_string(ent, EV_SZ_classname, "medkit");
entity_set_edict(ent, EV_ENT_owner, id);
entity_set_int(ent, EV_INT_solid, SOLID_NOT);
entity_set_vector(ent, EV_VEC_origin, origin);
entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
entity_set_model(ent, "models/w_medkit.mdl");
set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
drop_to_floor(ent);
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
}
}
zamieniamy na
public cod_class_skill_used(id)
{
if (!ilosc_apteczek_gracza[id])
{
client_print(id, print_center, "Masz tylko 3 apteczki na runde!");
}
else
{
if(poprzednia_apteczka_gracza[id] + 5.0 > get_gametime())
{
client_print(id, print_center, "Apteczek mozesz uzywac co 5 sekund!");
}
else
{
if (is_user_alive(id))
{
poprzednia_apteczka_gracza[id] = floatround(get_gametime());
ilosc_apteczek_gracza[id]--;
new Float:origin[3];
entity_get_vector(id, EV_VEC_origin, origin);
new ent = create_entity("info_target");
entity_set_string(ent, EV_SZ_classname, "medkit");
entity_set_edict(ent, EV_ENT_owner, id);
entity_set_int(ent, EV_INT_solid, SOLID_NOT);
entity_set_vector(ent, EV_VEC_origin, origin);
entity_set_float(ent, EV_FL_ltime, halflife_time() + 7 + 0.1);
entity_set_model(ent, "models/w_medkit.mdl");
set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 ) ;
drop_to_floor(ent);
entity_set_float(ent, EV_FL_nextthink, halflife_time() + 0.1);
}
}
}
}


Dodatki SourceMod












