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

Problem z sprawdzeniem ostatnich graczy


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

#1 Andrzejek

    Ucze się :]

  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 21.05.2013 15:01

Siemka, mam taki mały problem ze sprawdzeniem graczy np.

 

public client_disconnect(id)
{        
    if(wlaczone == 1)
    {            
        Ostatni()
    }
}

 

public Ostatni()
{
    pobierz()
    
    if(!ostatni_gracze && zywi == 2)
    {
        zabawa_hud = false;
        ostatni_gracze = true;
        
    }
    else if(!ostatni_wiezien && zywi == 1)
    {
        ostatni_gracze = false;
        ostatni_wiezien = true;
    }
}

 

I problem polega na tym gdy jest 3 żywych graczy z TT, wyrzucę jednego gracza z TT z tych 3, to nie sprawdza tego if(!ostatni_gracze && zywi == 2) a gdy wyrzuce jeszcze jednego to sprwdza else if(!ostatni_wiezien && zywi == 1) możecie mi wyjaśnij dlaczego tak to działa?

 


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#2 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 21.05.2013 15:10

pokaz funkcje pobierz() i do
zabawa_hud = false;
ostatni_gracze = true;
daj
zabawa_hud = false;
ostatni_gracze = true;
ostatni_wiezien = false

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#3 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 21.05.2013 15:35

pobierz() to jest stock który pobiera wartość graczy, po co ostatni_wiezien = false jak ustawiłem początkową wartość na false

 

stock pobierz()
{
    zywi = active_players(CS_TEAM_T, true);
}

stock active_players(CsTeams:team, bool:aliveonly = false) {
    static players[32], inum, i, active, CsTeams:playerteam
    
    (aliveonly) ? get_players(players, inum, "ah") : get_players(players, inum, "h")
    
    active = 0
    
    for (i = 0; i < inum; ++i) {
        playerteam = cs_get_user_team(players[i])              
        if(playerteam == team) active++
    }
    return active
}

 


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#4 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 21.05.2013 16:28

stock pobierz()
{
    zywi = active_players(CS_TEAM_T, true);
    return zywi;
}

stock active_players(CsTeams:team, bool:aliveonly = false) {
    static players[32], inum, i, active, CsTeams:playerteam
    
    (aliveonly) ? get_players(players, inum, "ah") : get_players(players, inum, "h")
    
    active = 0
    
    for (i = 0; i < inum; ++i) {
        playerteam = cs_get_user_team(players[i])              
        if(playerteam == team) active++
    }
    return active
}

public Ostatni()
{
    new alivess 
    alivess = pobierz()
    
    if(!ostatni_gracze && alivess == 2)
    {
        zabawa_hud = false;
        ostatni_gracze = true;
        return;
    }
    if(!ostatni_wiezien && alivess == 1)
    {
        ostatni_gracze = false;
        ostatni_wiezien = true;
        return;
    }
}

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#5 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 21.05.2013 17:30

stock pobierz()
{
    zywi = active_players(CS_TEAM_T, true);
    return zywi;
}

stock active_players(CsTeams:team, bool:aliveonly = false) {
    static players[32], inum, i, active, CsTeams:playerteam
    
    (aliveonly) ? get_players(players, inum, "ah") : get_players(players, inum, "h")
    
    active = 0
    
    for (i = 0; i < inum; ++i) {
        playerteam = cs_get_user_team(players[i])              
        if(playerteam == team) active++
    }
    return active
}

public Ostatni()
{
    new alivess 
    alivess = pobierz()
    
    if(!ostatni_gracze && alivess == 2)
    {
        zabawa_hud = false;
        ostatni_gracze = true;
        return;
    }
    if(!ostatni_wiezien && alivess == 1)
    {
        ostatni_gracze = false;
        ostatni_wiezien = true;
        return;
    }
}

 

:facepalm:

 

I gdzie tu różnica kodu? Po co nowa zmienna? Wytłumacz swój sposób myślenia



Po ponownym sprawdzeniu działania, działa to tak że gdy rozłączy się 1 gracz z 3 graczy to nic się nie dzieje, gdy rozłączę kolejnego gracza to włącza się if(!ostatni_gracze && alivess == 2) o co z tym chodzi :D

 


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#6 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 21.05.2013 19:22

I gdzie tu różnica kodu? Po co nowa zmienna? Wytłumacz swój sposób myślenia
Po to, by zwracalo i nie potrzebnie tworzylo nową zmienną, mozna byloby to lepiej. Napisz jaki efekt chcesz uzyskac, bo lepiej jest napisac nowy kod.

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#7 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 22.05.2013 08:22

Gdy gracza żyjącego z TT rozłącz z serwera to sprawdza czy jest 2 lub 1 żywych graczy


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#8 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 22.05.2013 08:31

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	// Add your code here...
}
public client_disconnect(id)
{
	Check()
}
public Check()
{
	new alive = 0
	for(new i; i <= get_maxplayers(); i++)
	{
		if(!is_user_connected(i) || !is_user_alive(i) || is_user_hltv(i) || get_user_team(i) != 1)
			continue
		if(get_user_team(i) == 1) alive++
	}
	if(alive == 1)
	{
		//kod
	}
	if(alive == 2)
	{
		//kod
	}
}
zmienna alive to liczba zyjacych tt

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#9 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 22.05.2013 10:15

Nie działa, dzieje się tak: zostaje 2 żywych nic się nie dzieje, zostaje 1 żywy włącza się pierwszy if


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#10 Pan Marian

    Banned

  • Zbanowany

Reputacja: 89
Zaawansowany

  • Postów:283
  • Imię:Marian
  • Lokalizacja:इंटरनेट
Offline

Napisano 22.05.2013 13:47

Spróbuj tak samo, tylko najpierw sprawdź, czy jest dwóch graczy, a dopiero potem, czy jest ostatni, nie jestem pewien, no ale na chłopski rozum, jak będzie 1 ostatni, to nie sprawdzi potem czy jest dwóch ostatnich, nie wiem, czy ewentualnie by to nie zadziałało, jakby przed drugim ifem dodać else, sprawdź.

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    // Add your code here...
}
public client_disconnect(id)
{
    Check()
}
public Check()
{
    new alive = 0
    for(new i; i <= get_maxplayers(); i++)
    {
        if(!is_user_connected(i) || !is_user_alive(i) || is_user_hltv(i) || get_user_team(i) != 1)
            continue
        if(get_user_team(i) == 1) alive++
    }
    if(alive == 2)
    {
        //kod
    }
    if(alive == 1)
    {
        //kod
    }
}

Użytkownik Pan Marian edytował ten post 22.05.2013 13:49


#11 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 22.05.2013 14:02

Nadal to samo się dzieje, zostanie 2 nic się nie dzieje, zostanie 1 włącza się if od 2 graczy. Ale to się tylko dzieje z rozłączeniem gracza, a gdy ktoś zginie jest OKEJ


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#12 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 22.05.2013 16:10

zamiast
public client_disconnect(id)
{
    Check()
}
daj
public sprawdz()
{
    Check()
}
i w plugin_init na koncu
set_task( 1.0, "sprawdz", _, _, _, "b" )

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#13 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 22.05.2013 16:27

Można zamknąć, po prostu zastosowałem tego sposobu, sprawdzania :)


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#14 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 22.05.2013 16:31

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

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





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

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