Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CoD Nowy

Jak ustawic blokade apteczek co X sekund

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 shajba.

    Zaawansowany

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:132
  • Lokalizacja:Małopolska
Offline

Napisano 18.02.2015 23:59

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

  • +
  • -
  • 3





Również z jednym lub większą ilością słów kluczowych: cod nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych