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

Funkcja dająca losową broń z podanego przedziału.


Najlepsza odpowiedź ChesterShield, 24.01.2014 00:53

#refresh - czy jest ktos chetny do pomocy ?

Przejdź do postu


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 ChesterShield

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:2
  • Imię:Mariusz
  • Lokalizacja:Dolny
Offline

Napisano 22.01.2014 20:40

Witam mam do was prośbę, program działa lecz samo przydzielenie losowej broni jest jednak źle napisane i w momencie uruchomienia funkcji przydziela wszystkie możliwe warianty graczowi, moje starania dążyły do tego by zrobić tak, żeby funkcja przydzielała 1 broń z 1 ammo. Kodzik podaję poniżej, jeżeli źle napisany kod proszę zwrócić mi uwagę na błędy ze względu na to, iż jestem świeży w temacie lecz z ogólnym schematem kodu miałem styczność przez naukę języka C oraz C++, pozdrawiam :).

handleRollGun(id)
{
	new ile=0;
	new ktoraOP = random(5);
	new Float:fTime = halflife_time();
	new jakieBronie = random(25);
	if (jakieBronie > 0 && jakieBronie <10 || !gunUsed[id])
	{
		do {
			if (ktoraOP == 1) { do {
						give_item(id, "weapon_p228");
						cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_p228", id),1);
						gunUsed[id] = true;
						client_print(id, print_center, "Wylosowales P228 !");
						}while (gunUsed[id] != true);
					}
			else if (ktoraOP == 2) { do {
						give_item(id, "weapon_shield");
						client_print(id, print_center, "Wylosowales SHIELD !");
						gunUsed[id] = true;
						}while (gunUsed[id] != true);
							
					}
			else if (ktoraOP == 3) { do {
						give_item(id, "weapon_scout");
						cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_scout", id),1);
						client_print(id, print_center, "Wylosowales SCOUT !");
						gunUsed[id] = true;
						}while (gunUsed[id] != true);
					}
			else if (ktoraOP == 4) { do {
						give_item(id, "weapon_xm1014"); 
						cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_xm1014", id),1);
						client_print(id, print_center, "Wylosowales XM1014 !");
						gunUsed[id] = true;
						}while (gunUsed[id] != true);
					}
			else if (ktoraOP == 5) { do {
						give_item(id, "weapon_mac10"); 
						cs_set_weapon_ammo(find_ent_by_owner(1, "weapon_mac10", id),1);
						client_print(id, print_center, "Wylosowales MAC10 !");
						gunUsed[id] = true;
						}while (gunUsed[id] != true);
					}
			else if(ktoraOP > 5) { do {
						client_print(id, print_center, "Niestety nie udalo Ci sie wylosowac broni !");
						gunUsed[id] = true;
						}while (gunUsed[id] != true);
					}
			ile++;
		}while (ile <= 0);
	}
	g_gun_next_use[id] = fTime + get_cvar_float("bm_gunTimeOut");
	return PLUGIN_HANDLED;
}
actionGun(id, OverrideTimer)
{
	g_gun_next_use[id] =get_cvar_float("bm_gunTimeOut");
	new Float:fTime = halflife_time();
	if(get_user_team(id) == 1 && is_user_alive(id) && !gunUsed[id] && (g_gun_next_use[id] - fTime)!=0 || (g_gun_next_use[id] - fTime) < 0 || OverrideTimer)
	{	
		handleRollGun(id);
	}else if (get_user_team(id) == 2)
	{
		set_hudmessage(gHudRed, gHudGreen, gHudBlue, gfTextX, gfTextY, gHudEffects, gfHudFxTime, gfHudHoldTime, gfHudFadeInTime, gfHudFadeOutTime, gHudChannel);
		show_hudmessage(1, "Niestety niebiescy nie moga korzystac z danego bloku !");
		
	}else if ((g_gun_next_use[id] - fTime) != 0)
	{
		set_hudmessage(gHudRed, gHudGreen, gHudBlue, gfTextX, gfTextY, gHudEffects, gfHudFxTime, gfHudHoldTime, gfHudFadeInTime, gfHudFadeOutTime, gHudChannel);
		show_hudmessage(1, "Oczekiwany czas na ponowne uzycie bloku: %1f", g_gun_next_use[id] - fTime);
	}
} 

  • +
  • -
  • 0

#2 ChesterShield

    Nowy

  • Autor tematu
  • Nowy

Reputacja: 0
Nowy

  • Postów:2
  • Imię:Mariusz
  • Lokalizacja:Dolny
Offline

Napisano 24.01.2014 00:53   Najlepsza odpowiedź

#refresh - czy jest ktos chetny do pomocy ?


  • +
  • -
  • 0




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

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