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

Jak zrobić autozmienianie zmiennej przy starcie rundy?


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

#1 N0name

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:ja jestem?
Offline

Napisano 18.05.2009 13:46

Chodzi o to że np. kiedy zmienna func = 1 to po starcie rundy ma zmienić się na 0.


  • +
  • -
  • 0

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 18.05.2009 13:49

A ma ona kiedyś wracać na 1, czy tylko raz na 0 i koniec ?
Skorzystaj z eventów.
Tu masz trochę opisanych http://amxx.pl/viewtopic.php?t=2177
  • +
  • -
  • 0

#3 N0name

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:ja jestem?
Offline

Napisano 18.05.2009 14:00

Ma wracać - np. kiedy naceluję na kogoś ma się zmieniać na 1 do końca rundy, ale od nowej ma się ona resetować.

Przykład:

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("test", "Function")
	
	}

public Function(id)
{
		 new cel, cialo, func;
		 get_user_aiming(id, cel, cialo, 111)
		 if(cel)
		 func = 1
}

Jeżeli coś źle z kodem to proszę mnie poprawić :P
  • +
  • -
  • 0

#4 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 18.05.2009 14:15

Ja bym to zrobił tak

#include <amxmodx>

new func;

public plugin_init() {
    register_plugin("PLUGIN", "VERSION", "AUTHOR");
    register_clcmd("test", "Function");
    register_logevent("runda", 2, "1=Round_Start");  
    }

public Function(id)
{
        new cel, cialo;
        get_user_aiming(id, cel, cialo, 111);
        if(cel){
        	func = 1;
	}
}
public runda(){
	func = 0;
}

ale to tylko zadziała wtedy gdy będziesz celował w gościa i wpiszesz komende test , ps kompilator wywali błąd bo zmienna func nie jest używana , a z tym średnikiem na końcu to albo go wstawiasz na zakończenie każdej czynności albo w ogóle bo nie estetycznie wygląda
  • +
  • -
  • 0

#5 N0name

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:ja jestem?
Offline

Napisano 18.05.2009 14:26

OK dzięki, chciał bym wiedzieć jeszcze jedną rzecz - co oznaczają cyfry 2 i 1 w tej linijce:

register_logevent("runda", 2, "1=Round_Start");

  • +
  • -
  • 0

#6 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 18.05.2009 14:32

Tu masz trochę opisanych http://amxx.pl/viewtopic.php?t=2177

I tu też masz http://www.amxmodx.o...p?go=func&id=27
  • +
  • -
  • 0

#7 N0name

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:ja jestem?
Offline

Napisano 18.05.2009 16:46

No to teraz chyba nie będzie tak łatwo, jak zrobić to samo z tym pluginem:

public plugin_init() { 
    register_plugin(PLUGIN, VERSION, AUTHOR) 
    register_clcmd("test", "Function") 
    
    } 

public Function(id) 
{ 
        new cel, cialo, func
        get_user_aiming(id, cel, cialo, 111) 
        if(cel) 
        func[cel] = 1 
}

Chce aby wszystkie obiekty na które nacelowałem miały od nowej rundy func[cel] = 0
  • +
  • -
  • 0

#8 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 18.05.2009 16:52

ale obiekty czyli gracze ?
powiedz co chcesz wykombinować to będzie łatwiej.
  • +
  • -
  • 0

#9 N0name

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:ja jestem?
Offline

Napisano 18.05.2009 16:58

ale obiekty czyli gracze ?
powiedz co chcesz wykombinować to będzie łatwiej.


tak, gracze.
  • +
  • -
  • 0

#10 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 18.05.2009 17:03

To może o to chodzi ?
#include <amxmodx>

#define MAXUSERS 32
new func[MAXUSERS+1];

public plugin_init()
{
	register_plugin("PLUGIN", "VERSION", "AUTHOR");
	register_clcmd("test", "Function");
	register_logevent("runda", 2, "1=Round_Start"); 
}

public Function(id)
{
	new cel, cialo;
	get_user_aiming(id, cel, cialo, 111);
	
	if (cel)
	{
		func[cel] = 1;
	}
}
public runda()
{
	for (new i=1; i<=MAXUSERS; i++)
	{
		func[i] = 0;
	}
}
ale i tak pewnie chciałbyś tak zrobić dla każdego gracza a nie globalnie ?
  • +
  • -
  • 0

#11 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 18.05.2009 17:10

Pavulon, tak by bylo jasne, twoja wersja jest dla serwera z max 31 graczami :F
  • +
  • -
  • 0

#12 N0name

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:ja jestem?
Offline

Napisano 18.05.2009 17:13

ale i tak pewnie chciałbyś tak zrobić dla każdego gracza a nie globalnie ?


No, chciał bym zobaczyć wersję dla każdego gracza o ile jest to możliwe. :P
  • +
  • -
  • 0

#13 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 18.05.2009 17:30

Pavulon, tak by bylo jasne, twoja wersja jest dla serwera z max 31 graczami :F

a nie denerwuj mnie już miczu bo nie wyspany jestem :P (tamten kod poprawiłem)

A ten drugi to mniej więcej coś takiego:
#include <amxmodx>

#define MAXUSERS 32
new func[MAXUSERS+1][MAXUSERS+1];

public plugin_init()
{
	register_plugin("PLUGIN", "VERSION", "AUTHOR");
	register_clcmd("test", "Function");
	register_logevent("runda", 2, "1=Round_Start"); 
}

public Function(id)
{
	new cel, cialo;
	get_user_aiming(id, cel, cialo, 111);
	
	if (cel)
	{
		func[id][cel] = 1;
	}
}
public runda()
{
	for (new i=1; i<=MAXUSERS; i++)
	{
		for (new j=1; j<=MAXUSERS; j++)
		{
			func[i][j] = 0;
		}
	}
}
dla każdego gracza zapisane kogo namierzył, a poprzednie tylko zapisywało kto został namierzony
  • +
  • -
  • 0

#14 N0name

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:ja jestem?
Offline

Napisano 18.05.2009 17:33

Dobra dzięki, masz pomógł. Temat do zamknięcia, tym razem na pewno.
  • +
  • -
  • 0




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

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