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

Tworzenie funkcji z różnymi wartościami.


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

#1 oeN.

    Wszechwidzący

  • Użytkownik

Reputacja: 95
Zaawansowany

  • Postów:294
  • Lokalizacja:Dom
Offline

Napisano 03.05.2015 16:08

Witam,

 

Chciałbym zoptymalizować sobie plugin ruletka. Zamiast robić zmienną do każdego bonusu by np. wykorzystać go w dodatkowych obrażeniach itp. to chciałbym zrobić jedną zmienną a raczej funkcję BonusGracza(index, wartosc). Przykładowe użycie tej funkcji:

public Ruletka(id) {
	
	if(!is_user_alive(id) || !is_user_connected(id) || g_Used[id])
		return PLUGIN_CONTINUE;
	
	new koszt = 1100;
	new kasa = cs_get_user_money(id);
	
	if(!cs_get_user_buyzone(id)) {
		ColorChat(id, RED, "Musisz byc w strefie kupowania");
		return PLUGIN_CONTINUE;
	}
	
	if(kasa < koszt) {
		ColorChat(id, RED, "Koszt ruletki to 1100$");
		return PLUGIN_CONTINUE;
	}
	
	new name[64];
	get_user_name(id, name, 63);
	
	cs_set_user_money(id, kasa-koszt);
	g_Used[id] = true;
	
	switch(random_num(1, 2)) {
		
		case 1:
		{
			ColorChat(id, GREEN, "^x03[%s]^x04 Wygrales wieksze obrazenia", prefix);
			BonusGracza(id, 1);
		}
		
		case 2:
		{
			ColorChat(id, GREEN, "^x03[%s]^x04 Wygrales AutoBH", prefix);
			BonusGracza(id, 2);
		}
	}
	
	return PLUGIN_CONTINUE;
}

I teraz odpowiednio w funkcjach odpowiednich do uzyskania bonusy było by sprawdzenie np.

public fw_TakeDamagePre(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_alive(idattacker) || !is_user_alive(this))
		return HAM_IGNORED;
	
	if(idinflictor == idattacker)
		return HAM_IGNORED;
			
	if(BonusGracza(id, 1)) SetHamParamFloat(4, damage+7.0);
	
	return HAM_HANDLED;
}

I teraz sama funkcja BonusGracza.

public BonusGracza(id, bonus) {
	if(bonus > 0)
		return true;
	else	return false;
}

Dobrze myślę?


  • +
  • -
  • 0

#2 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 07.05.2015 08:36

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





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

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