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] Sprawdzanie czy gracz jest ostatnim żyjącym w drużynie.


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

#1 M@lpa

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Lokalizacja:Kraków
Offline

Napisano 27.04.2012 21:41

Witam.
Napisałem plugin, którego zadaniem jest sprawdzanie, czy został ostatni żywy gracz z TT. Jeśli tak to wykonuję jakąś czynność(w tym przypadku client_print(0, print_chat, "123"); ). Problem w tym, że... nie działa. Nie wyrzuca żadnych logów ani nic, po prostu się nigdy nie wykonuje. Jakieś pomysły?

#include <amxmodx>
#include <fakemeta>
#include <fun>

new num;

public plugin_init()
{
		register_plugin( "a", "1.0", "au" );
	register_event("DeathMsg","death","a");	
}

public death(id)
{
	num = 0;
	for(new i=1; i<=32; i++)
	{
	if(is_user_alive(i) && get_user_team(i) == 1)
	num++;
	}
	if(num < 2)
	{
		for(new b = 1;1<=32;b++)
		{	
		if(is_user_connected(<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.png' class='bbc_emoticon' alt='B)' /> && get_user_team(<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.png' class='bbc_emoticon' alt='B)' /> == 2)
		{
		client_print(0, print_chat, "123");
		}
		else
		return PLUGIN_HANDLED;
		}
	}
	else
	return PLUGIN_HANDLED;
		return PLUGIN_CONTINUE;
}

  • +
  • -
  • 0

#2 MaxiKINGer

    Banned

  • Zbanowany

Reputacja: 35
Życzliwy

  • Postów:307
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Kartuzy
Offline

Napisano 27.04.2012 21:43

Nie widzę problemu - podpatrz funkcje w automaticknifeduel i po sprawie :D

Pomogłem? Postaw z łaski swojej plusa...
Wbijaj! www.Mocny-Trick.pl
Dołączona grafikaDołączona grafika
Dołączona grafikaDołączona grafika

Dołączona grafika


#3 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 27.04.2012 21:50

Sprawdź
#include <amxmodx>

new num

public plugin_init()
{
	register_plugin( "a", "1.0", "au" )
	register_event("DeathMsg","death","a")
}
public death()
{
	num = 0
	for(new i=1;i<=32;i++)
	{
		if(is_user_alive(i) && get_user_team(i) == 1)
		{
			num++
			if(num < 2)
			{
				client_print(i, print_chat, "123")
			}
		}
	}
}

  • +
  • -
  • 0

If you can dream it, you can do it.


#4 mierzwi

    Banned

  • Zbanowany

Reputacja: 235
Wszechwidzący

  • Postów:651
  • Lokalizacja:Polska
Offline

Napisano 27.04.2012 22:57


public death()

{

        num = 0

        for(new i=1;i<=32;i++)

        {

                if(is_user_alive(i) && get_user_team(i) == 1)

                {

                        num++

                        if(num == 1)

                        {

                                client_print(i, print_chat, "123")

                        }

                }

        }

}


jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook

na pewno jakoś C się odwdzięczę!


#5 A może sma?

    Godlike

  • Power User

Reputacja: 547
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 27.04.2012 23:58

Jak już to tak:

public death()
{
new num = 0
for(new i = 1; i<=get_playersnum(0); i++)
{
if(is_user_alive(i) && get_user_team(i) == 1)
{
num++

}
}
if(num == 1)
{
client_print(i, print_chat, "123")
}
}

speedkill (28.04.2012 06:03):
Nie zadziała, poza pętlą dajesz wiadomość dla określonego id.Będą błędy typu error 017: undefined symbol "i" + nie brakuje jednej klamry :D

  • +
  • -
  • 0

#6 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 28.04.2012 08:58

Do autora tematu:
1 <= 32 w argumencie fora stworzy pętlę nieskończoną
  • +
  • -
  • 0

#7 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 28.04.2012 09:21

Do autora tematu:
1 <= 32 w argumencie fora stworzy pętlę nieskończoną

??
Albo nie wiem o co chodzi, albo piszesz głupoty ^ ^
  • +
  • -
  • 0

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


#8 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 28.04.2012 10:14

Do autora tematu:
1 <= 32 w argumencie fora stworzy pętlę nieskończoną

??
Albo nie wiem o co chodzi, albo piszesz głupoty ^ ^

Chodzi mi że tu jest głupota:

if(num < 2)
{
for(new b = 1;1<=32;b++)
{
if(is_user_connected(B) && get_user_team(B) == 2)
{
client_print(0, print_chat, "123");
}
else
return PLUGIN_HANDLED;
}
}

czyt. 1 post
sebul (28.04.2012 11:37):
A no rzeczywiście ^^

  • +
  • -
  • 0

#9 mierzwi

    Banned

  • Zbanowany

Reputacja: 235
Wszechwidzący

  • Postów:651
  • Lokalizacja:Polska
Offline

Napisano 28.04.2012 10:33

aż musiałem odpalić amxx studio bo się kaleczycie :lol:
static iParam[ 2 ];



for( new i = 1; i <= get_maxplayers(); i++ )

{

    if( is_user_alive( i ) )

    {

        if( get_user_team( i ) == 1 )

        {

            iParam[ 0 ]++;

            iParam[ 1 ] = i;

        }

    }

}



if( iParam[ 0 ] == 1 )

{

    client_print( iParam[ 1 ], "Write your message here..." );

}

Użytkownik emu edytował ten post 28.04.2012 10:33

jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook

na pewno jakoś C się odwdzięczę!


#10 M@lpa

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:6
  • Lokalizacja:Kraków
Offline

Napisano 28.04.2012 11:03

Już dałem rade, zrobiłem to po swojemu, a główny błąd, który mnie męczył to było:
death(id) zamiast death(). Tak czy tak, dzięki za zaangażowanie :).
  • +
  • -
  • 0

#11 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 28.04.2012 11:43

aż musiałem odpalić amxx studio bo się kaleczycie :lol:

static iParam[ 2 ];

for( new i = 1; i <= get_maxplayers(); i++ )
{
	if( is_user_alive( i ) )
	{
		if( get_user_team( i ) == 1 )
		{
			iParam[ 0 ]++;
			iParam[ 1 ] = i;
		}
	}
}

if( iParam[ 0 ] == 1 )
{
	client_print( iParam[ 1 ], "Write your message here..." );
}

A Ty dalej z tym static... Żeby to działało po Twojemu, to musiałbyś zerować pierwszy element w "iParam", albo po prostu używać normalnie new. Nawet jak dla mnie lepiej jest tutaj używać new, bo kod nie wykonuje się bardzo często. Czyli powinno to być tak
new i, num, maxpl = get_maxplayers();

for(i=1; i<=maxpl; ++i) {
if(is_user_alive(i) && get_user_team(i) == 1)
++num;
}

if(num == 1)
client_print(0, print_chat, "Wiadomosc");

  • +
  • -
  • 0

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


#12 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 28.04.2012 11:44

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


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