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.
|
Licznik przeżytych rund ?
#1
Napisano 27.08.2011 22:28
do rundę dodaje nam przetrwal[id] ++ a w deathmsq gdy zabiją nas przetrwal[id] == 0 czy podziała coś takiego?
[Aktualizacja 22.01.2015] GunXpMod 2.7.4
#2
Napisano 27.08.2011 22:31
#3
Napisano 27.08.2011 22:34
public DeathMsg() { new headshot,attacker=read_data(1); if(!is_user_connected(attacker)) return PLUGIN_CONTINUE; headshot=read_data(3); fragi[attacker]++; if(headshot) HS[attacker]++; new weapon[64] read_data(4,weapon,sizeof weapon - 1) if(equal(weapon, "knife")){ Knife[attacker]++; if(headshot) KnifeHS[attacker]++; } if(equal(weapon, "grenade")) HE[attacker]++; if(equal(weapon, "m3")) M3[attacker]++; if(equal(weapon, "deagle")) Deagle[attacker]++; //SprawdzCzyItem(attacker) return PLUGIN_CONTINUE; }a jeżeli się do tego nie da to poproszę w innym deathmsq.
[Aktualizacja 22.01.2015] GunXpMod 2.7.4
#4
Napisano 27.08.2011 22:38
public DeathMsg() -> public DeathMsg(id)
I dodaj na koniec kodu przed return PLUGIN_CONTINUE:
przetrwal[id] = 0
#5
Napisano 28.08.2011 09:14
zmienna
new przetrwal[33]Kod DeathMsg
public DeathMsg(id) { new headshot,attacker=read_data(1); if(!is_user_connected(attacker)) return PLUGIN_CONTINUE; headshot=read_data(3); fragi[attacker]++; if(headshot) HS[attacker]++; new weapon[64] read_data(4,weapon,sizeof weapon - 1) if(equal(weapon, "knife")){ Knife[attacker]++; if(headshot) KnifeHS[attacker]++; } if(equal(weapon, "grenade")) HE[attacker]++; if(equal(weapon, "m3")) M3[attacker]++; if(equal(weapon, "deagle")) Deagle[attacker]++; //SprawdzCzyItem(attacker) przetrwal[id] = 0; return PLUGIN_CONTINUE; }I tu taki kod do nowa runda
public plugin_init() { register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0") } public Nowa_Runda() { przetrwal[id] ++ }
Mam nadzieje że dobrze ; /
[Aktualizacja 22.01.2015] GunXpMod 2.7.4
#6
Napisano 28.08.2011 09:22
Jak ja to bym zrobił? Pominął bym DeathMsg, a po prostu na końcu rundy sprawdził czy gracz żyje, jeżeli tak to zmienna++, jeżeli nie to zmienna = 0
#7
Napisano 28.08.2011 09:37
public Nowa_Runda(id) { for(new id=1;id<33;id++) przetrwal[id] ++ }Lub tak :
register_logevent("Koniec_Rundy", 2, "1=Round_End")potem
public Koniec_Rundy(id) { for(new id=1;id<33;id++) { if(is_user_alive(id)) { zmienna[id]++ } else { zmienna[id] = 0 } } }
Użytkownik speedkill123 edytował ten post 28.08.2011 09:44
If you can dream it, you can do it.
#8
Napisano 28.08.2011 10:03
Edit: Chociaż to trochę głupie rozwiązanie...
Użytkownik A może sma? edytował ten post 28.08.2011 10:04
#9
Napisano 28.08.2011 10:53
Zamiast zmienna[id] dać przetrwał[id] ?Tak jak mówi kolega wyżej masz tu tak powinno wyglądać
public Nowa_Runda(id) { for(new id=1;id<33;id++) przetrwal[id] ++ }Lub tak :register_logevent("Koniec_Rundy", 2, "1=Round_End")potempublic Koniec_Rundy(id) { for(new id=1;id<33;id++) { if(is_user_alive(id)) { zmienna[id]++ } else { zmienna[id] = 0 } } }
[Aktualizacja 22.01.2015] GunXpMod 2.7.4
#10
Napisano 28.08.2011 10:57
#11
Napisano 28.08.2011 17:35
for(new id=1;id<33;id++) -> for(new id=0;id<33;id++)
Inaczej będzie pomijać gracza, który jest pierwszy na serwerze
#12
Napisano 28.08.2011 17:45
public DeathMsg(id)
jak ma być
public DeathMsg()
+ pętla
#13
Napisano 28.08.2011 17:51
new id = read_data(1)
#14
Napisano 28.08.2011 17:52
Przy spawnie zwiększać przetrwał[id] o 1 (szynką)/Złapać event i puścić pętle (to akurat głupie - ktoś dołączy po rozpoczęciu rundy i mu nie doliczy przetrwal[id])
Zerować przy DeathMSG przetrwal[victim] = 0/Złapać event końca rundy i puścić pętle.
@Nomaf: A po co Ci id zabójcy?
Użytkownik A może sma? edytował ten post 28.08.2011 17:52
#15
Napisano 28.08.2011 17:56
Tutaj się mylisz, przecież każdy gracz na serwerze ma id != 0.W tym co podał speedkill, zmień:
for(new id=1;id<33;id++) -> for(new id=0;id<33;id++)
Inaczej będzie pomijać gracza, który jest pierwszy na serwerze
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#16
Napisano 28.08.2011 18:13
new przetrwal[33];
public plugin_init()
{
register_plugin("a","b","c"); // zmien sobie na swojeregister_logevent("Koniec_Rundy", 2, "1=Round_End")
}
public Koniec_Rundy()
{
for(new i; i<33; i++)
{
is_user_alive(i)
{
przetrwal[i]++;
}
else
{
przetrwal[id]=0;
}
}
}
Sory za brak tabulacji.
#17
Napisano 28.08.2011 18:14
@a może sma? Skull3D się czepiał, więc mu napisałem alternatywe do pętli. A tak wogóle to jest id ofiary
#18
Napisano 28.08.2011 18:17
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#19
Napisano 28.08.2011 18:28
#20
Napisano 28.08.2011 18:37
read_data(1) = zabójca@sebul Więc tak, pętla for ma trzy argumenty. Pierwszy się wykonuje - ok, id = 1. Później drugi - id jest mniejsze od 33 - ok. Teraz trzeci - wtedy id będzie równe 2. Następnie wykonuje się to co jest w klamrach.
@a może sma? Skull3D się czepiał, więc mu napisałem alternatywe do pętli. A tak wogóle to jest id ofiary
read_data(2) = ofiara
read_data(3) = hedszot
read_data(4) = nazwa broni
Użytkownik A może sma? edytował ten post 28.08.2011 18:37
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych