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

[ROZWIĄZANE] Otrzymanie miksturki po zabicu


Najlepsza odpowiedź Gość_21977_* , 19.04.2013 21:21

if(
		1<=kid<=32					// sprawdzamy, czy zabojca jest gracz
	&&	1<=vid<=32					// sprawdzamy, czy ofiara jest gracz
	&&	is_user_alive(kid)				// sprawdzamy, czy zabojca jest zywy (trupowi mikstury nie damy)
	&&	is_user_connected(vid)				// sprawdzamy, czy ofiara jest dalej na serwerze (bedziemy pobierac jej druzyne)
	&&	get_user_team(kid)!=get_user_team(vid)		// druzyny graczy sa rozne, nie bylo samobojstwa ani TK, ktorego nie nagradzamy
){
	// 5% szans na wylosowanie miksturki to 1/20, z tego mamy 1/4 na miksturke mocniejsza, wiec mnozymy 20 razy 4, stad 80
	new _random=random(80);
	
	switch(_random){
		case 0:{
			++player_miksturkaplusplus[kid];	// zabojca dostal mocna miksturke (szansa: 1/80 = 1.25% = 25% z 5%)
		}
		case 1..3:{
			++player_miksturkaplus[kid];		// zabojca dostal slaba miksturke (szansa: 3/80 = 3.75% = 75% z 5%)
		}
	}
}

@edit:

 

Event DeathMsg. W tym wypadku, powinieneś przyjąć parametry zgodne z opisem, tj.

public DeathMsg(kid, vid)
Przejdź do postu


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 Koniarek

    Wszechwidzący

  • Zbanowany

Reputacja: 28
Życzliwy

  • Postów:250
  • Imię:Filip
  • Lokalizacja:Daleko
Offline

Napisano 19.04.2013 19:39

Siemka mam pytanie nwm czy ten kod na dole jest dobrze napisany, TZN plugin skompilowałem ale jak zabijam graczy to nie otrzymuje tych mikstur :/(Chce żeby było 5 procent na otrzymanie mikstury po zabiciu graczy (75% na plus i 25% na plusplus)

 

if(is_user_connected(kid) || is_user_connected(vid)){

if(player_miksturka[kid] == random_num(5,100)){
if(player_miksturkap[kid] == random_num(75,100)){
player_miksturkaplus[id] += 1
}
else if(player_miksturkap[kid] == random_num(25,100)){
player_miksturkaplusplus[id] += 1
}
}
}

 

Dodałem do

 

public DeathMsg(id)



#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 19.04.2013 21:21   Najlepsza odpowiedź

if(
		1<=kid<=32					// sprawdzamy, czy zabojca jest gracz
	&&	1<=vid<=32					// sprawdzamy, czy ofiara jest gracz
	&&	is_user_alive(kid)				// sprawdzamy, czy zabojca jest zywy (trupowi mikstury nie damy)
	&&	is_user_connected(vid)				// sprawdzamy, czy ofiara jest dalej na serwerze (bedziemy pobierac jej druzyne)
	&&	get_user_team(kid)!=get_user_team(vid)		// druzyny graczy sa rozne, nie bylo samobojstwa ani TK, ktorego nie nagradzamy
){
	// 5% szans na wylosowanie miksturki to 1/20, z tego mamy 1/4 na miksturke mocniejsza, wiec mnozymy 20 razy 4, stad 80
	new _random=random(80);
	
	switch(_random){
		case 0:{
			++player_miksturkaplusplus[kid];	// zabojca dostal mocna miksturke (szansa: 1/80 = 1.25% = 25% z 5%)
		}
		case 1..3:{
			++player_miksturkaplus[kid];		// zabojca dostal slaba miksturke (szansa: 3/80 = 3.75% = 75% z 5%)
		}
	}
}

@edit:

 

Event DeathMsg. W tym wypadku, powinieneś przyjąć parametry zgodne z opisem, tj.

public DeathMsg(kid, vid)

Użytkownik Benio101 edytował ten post 19.04.2013 22:43
-break


#3 Koniarek

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 28
Życzliwy

  • Postów:250
  • Imię:Filip
  • Lokalizacja:Daleko
Offline

Napisano 19.04.2013 21:24

Dzięki, ale troche zepsuło chyba kod(?)

 

@EDIT: Źle zobaczyłem, dzięki


(19.04.2013 21:27):
?

Użytkownik Koniarek edytował ten post 19.04.2013 21:33


#4 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 19.04.2013 21:37

W 11. linijce wdarł mi się błąd. Powinna być zmienna random zamiast liczby 80, w poście poprawiłem.






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

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