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); } } } }