←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Jak zrobić z eventu spawna?

Zablokowany

  • +
  • -
Change - zdjęcie Change 01.09.2009

Jakim eventem moge wywołać daną funkcję po zrespieniu się ale tylko za pierwszym razem po podłączeniu sie do serwera przez gracza? :]
Dokładnie najlepiej by było gdyby ktoś na jakiejś prostej komendzie w konsoli gracza dał przykład ;>
Odpowiedz

  • +
  • -
naven - zdjęcie naven 01.09.2009

ufff
#include <amxmodx> 
#include <amxmisc> 

new test [33] //wiem, że nie musi być aż tyle ale niech jest

public plugin_init() { 
    register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0") 
} 

public Nowa_Runda(id) 
{
	if(test[id] == 0 ){
	client_print(0, print_chat, "Pierwsza runda")
	test[id] = 1
	}
	else if(test[id] > 0 ){
	client_print(0, print_chat, "Druga runda")//druga lub więcej...
	test[id] = 1
}
}
public client_connect(id) //tutaj niby przy connect zmieniam, ale nie wiem czy działa bo nie miałem z kim testować
	test[id] = 0;
Odpowiedz

  • +
  • -
kyku - zdjęcie kyku 01.09.2009

#include <amxmodx>
#include <amxmisc> 

public plugin_init() {
    register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
}
public Nowa_Runda(){
for(new id; id<33; id++){
if(is_user_connected(id)){

client_cmd(id, "kill");

}
}

}
Taki przyklad ;) na poczatek rundy u kazdego gracza wykonuje sie komenda kill
mozna to tez zrobic tak:

#include <amxmodx>
#include <amxmisc> 

public plugin_init() {
    register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
}
public Nowa_Runda(){
client_cmd(0, "kill"); // 0 - wykonaj wszystkim
}
ale w ten sposob nie bedziemy mieli ID gracza ^^
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 01.09.2009

oj O:)

Najlepsze
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#define PLUGIN "Spawn"
#define VERSION "1.0"
#define AUTHOR "R3X"

new bool:gbFirst[33];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	RegisterHam(Ham_Spawn, "player","fwSpawn",1);
}

public client_connect(id)
	gbFirst[id]=true;
	
public fwSpawn(id){
	if(gbFirst[id]){
		//tutaj zrób coś
		gbFirst[id]=false;
	}
	return HAM_IGNORED;
}

Średnio dobre, ale nie sprawi problemów w tym przypadku
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Spawn2"
#define VERSION "1.0"
#define AUTHOR "R3X"

new bool:gbFirst[33];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_event("ResetHUD","fwSpawn","be");
}

public client_connect(id)
	gbFirst[id]=true;
	
public fwSpawn(id){
	if(gbFirst[id]){
		//tutaj zrób coś
		gbFirst[id]=false;
	}
	return PLUGIN_CONTINUE;
}

Mniej dobre (niedokładne) masz w postach wyżej


Wybór metody zależy od tego co tam ma się wydarzać:
Napis można pokazać byle kiedy, więc masz dowolność.
Zmiana parametrów gracza - wybierz pierwszy lub drugi kod z tego posta
Jeśli chcesz mieć pewność, że kod zostanie wykonany dokładnie po spawnie wybierz pierwszy kod
Odpowiedz

  • +
  • -
Change - zdjęcie Change 02.09.2009

Tzn. np. w przypadku kill to będzie tak? :

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#define PLUGIN "Spawn"
#define VERSION "1.0"
#define AUTHOR "R3X"

new bool:gbFirst[33];

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    RegisterHam(Ham_Spawn, "player","fwSpawn",1);
}

public client_connect(id)
    gbFirst[id]=true;
   
public fwSpawn(id){
    if(gbFirst[id]){
        //tutaj zrób coś
        client_cmd(id, "kill", kill);
        gbFirst[id]=false;
    }
    return HAM_IGNORED;
}
Odpowiedz

  • +
  • -
kyku - zdjęcie kyku 02.09.2009

#include <amxmodx>

#include <amxmisc>

#include <hamsandwich>



#define PLUGIN "Spawn"

#define VERSION "1.0"

#define AUTHOR "R3X"



new bool:gbFirst[33];



public plugin_init() {

    register_plugin(PLUGIN, VERSION, AUTHOR)

    RegisterHam(Ham_Spawn, "player","fwSpawn",1);

}



public client_connect(id)

    gbFirst[id]=true;

   

public fwSpawn(id){

    if(gbFirst[id]){

        //tutaj zrób coś

        client_cmd(id, "kill");

        gbFirst[id]=false;

    }

    return HAM_IGNORED;

}
Odpowiedz

  • +
  • -
Change - zdjęcie Change 02.09.2009

Macie we 2 pomógł ;) Zamknijcie.
Odpowiedz
Zablokowany