←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Warunek if nie reaguje

Locked

  • +
  • -
Potatek's Photo Potatek 23.05.2010

Chciałem wykonać pewną funkcje jeśli gracz jest w spectator. Warunek if wygląda tak:
if( cs_get_user_team( id ) == CS_TEAM_SPECTATOR )
Poprawnie jest on przedstawiony? bo skasowałem warunek i działa tylko jeśli on się pojawia to nic się nie wykonuje
Quote

  • +
  • -
DarkGL's Photo DarkGL 23.05.2010

tak warunek jest poprawny
Quote

  • +
  • -
Potatek's Photo Potatek 23.05.2010

Więc co może być przyczyną tego że serwer nie reaguje na warunki? Oto pełny kod:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "Team_PS"
#define VERSION "1.0"
#define AUTHOR "GuitarGryf"



public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	set_task(2.0, "MenuTeam", _, _, _, "b")
}

public MenuTeam(id){	
	if( cs_get_user_team( id ) == CS_TEAM_SPECTATOR ){				
		new MyMenu=menu_create("Wybierz team:","cbMenuTeam");		
		menu_additem(MyMenu,"Team Alfa","",0);
		menu_additem(MyMenu,"Team Delta","",0);	
		menu_display(id, MyMenu,0); 	}
	return PLUGIN_CONTINUE
}	


public cbMenuTeam(id, menu, item){
	switch(item){
		case 0:{					
			cs_set_user_team(id, CS_TEAM_T, CS_DONTCHANGE);	
			MenuT(id);
		}
		case 1:{		
			cs_set_user_team(id, CS_TEAM_CT, CS_DONTCHANGE);
			MenuCT(id);
		}		
	}
	menu_destroy(menu);
	return PLUGIN_CONTINUE
}

public MenuT(id){
	new MyMenuT=menu_create("Wybierz postac:","cbMenuT");	
	
	menu_additem(MyMenuT,"Postac Arctic","",0);
	menu_additem(MyMenuT,"Postac Desert","",0);	
	menu_display(id, MyMenuT,0);
	return PLUGIN_CONTINUE
}

public cbMenuT(id, menu, item){
	switch(item){
		case 0:{					
			cs_set_user_team(id, CS_TEAM_T, CS_T_ARCTIC);				
		}
		case 1:{		
			cs_set_user_team(id, CS_TEAM_T, CS_T_TERROR);			
		}		
	}
	menu_destroy(menu);
}

public MenuCT(id){
	new MyMenuCT=menu_create("Wybierz postac:","cbMenuCT");	
	
	menu_additem(MyMenuCT,"Postac Arctic","",0);
	menu_additem(MyMenuCT,"Postac Desert","",0);	
	menu_display(id, MyMenuCT,0);
	return PLUGIN_CONTINUE
}

public cbMenuCT(id, menu, item){
	switch(item){
		case 0:{					
			cs_set_user_team(id, CS_TEAM_CT, CS_T_ARCTIC);			
		}
		case 1:{		
			cs_set_user_team(id, CS_TEAM_CT, CS_T_TERROR);			
		}		
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

Najpierw myślałem że może kompilator nie działa, sprawdziłem na web kompilatorze i nic :(
Edited by Potatek, 23.05.2010 10:24.
Quote

  • +
  • -
Lukasz5's Photo Lukasz5 23.05.2010

Mi działa...

Attached Files

  • Attached File  hehe.sma   1.92KB   47 downloads
Quote

  • +
  • -
DarkGL's Photo DarkGL 23.05.2010

używasz
set_task(2.0, "MenuTeam", _, _, _, "b")
a w funkcji
public MenuTeam(id){
if( cs_get_user_team( id ) == CS_TEAM_SPECTATOR ){
new MyMenu=menu_create("Wybierz team:","cbMenuTeam");
menu_additem(MyMenu,"Team Alfa","",0);
menu_additem(MyMenu,"Team Delta","",0);
menu_display(id, MyMenu,0); }
return PLUGIN_CONTINUE
}
masz id coś chyba nie halo co ;) jak już coś to powinno być

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "Team_PS"
#define VERSION "1.0"
#define AUTHOR "GuitarGryf"



public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
}

public client_connect(id){
set_task(2.0, "MenuTeam",id,_,_, "b")
}

public MenuTeam(id){
if(cs_get_user_team( id ) == CS_TEAM_SPECTATOR ){
new MyMenu=menu_create("Wybierz team:","cbMenuTeam");
menu_additem(MyMenu,"Team Alfa","",0);
menu_additem(MyMenu,"Team Delta","",0);
menu_display(id, MyMenu,0);
}
return PLUGIN_CONTINUE
}

public client_disconnect(id){
if(task_exists(id)){
remove_task(id)
}
}


public cbMenuTeam(id, menu, item){
switch(item){
case 0:{
cs_set_user_team(id, CS_TEAM_T, CS_DONTCHANGE);
MenuT(id);
}
case 1:{
cs_set_user_team(id, CS_TEAM_CT, CS_DONTCHANGE);
MenuCT(id);
}
}
menu_destroy(menu);
return PLUGIN_CONTINUE
}

public MenuT(id){
new MyMenuT=menu_create("Wybierz postac:","cbMenuT");

menu_additem(MyMenuT,"Postac Arctic","",0);
menu_additem(MyMenuT,"Postac Desert","",0);
menu_display(id, MyMenuT,0);
return PLUGIN_CONTINUE
}

public cbMenuT(id, menu, item){
switch(item){
case 0:{
cs_set_user_team(id, CS_TEAM_T, CS_T_ARCTIC);
}
case 1:{
cs_set_user_team(id, CS_TEAM_T, CS_T_TERROR);
}
}
menu_destroy(menu);
}

public MenuCT(id){
new MyMenuCT=menu_create("Wybierz postac:","cbMenuCT");

menu_additem(MyMenuCT,"Postac Arctic","",0);
menu_additem(MyMenuCT,"Postac Desert","",0);
menu_display(id, MyMenuCT,0);
return PLUGIN_CONTINUE
}

public cbMenuCT(id, menu, item){
switch(item){
case 0:{
cs_set_user_team(id, CS_TEAM_CT, CS_T_ARCTIC);
}
case 1:{
cs_set_user_team(id, CS_TEAM_CT, CS_T_TERROR);
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}

Edited by DarkGL, 23.05.2010 10:36.
Quote

  • +
  • -
Potatek's Photo Potatek 23.05.2010

dzięki za uwagę :) a mógłbyś przekompilować i sprawdzić czy u cb to działa? może u mnie na serwerze czegoś brakuje a nie mam jak inaczej tego sprawdzić bo plugin nie reaguje :(
Edited by Potatek, 23.05.2010 11:42.
Quote

  • +
  • -
Lukasz5's Photo Lukasz5 23.05.2010

Trzymaj u mnie wszystko się kompiluje... :)

Attached Files

Quote

  • +
  • -
Potatek's Photo Potatek 23.05.2010

Kompiluje u mnie również... Ale na serwerze plugin nie reaguje... chodzi mi o to czy mógłby ktoś sprawdzić czy wywoła mu menu
Quote

  • +
  • -
Knopers's Photo Knopers 23.05.2010

możesz spróbować to ale wątpię że zadziała bo najpierw czy tak czy tak musisz nacisnąć OK przy motdzie a potem wybrać team żeby widzieć menu w hud

#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#define PLUGIN "Team_PS"
#define VERSION "1.0"
#define AUTHOR "GuitarGryf"



public plugin_init()
register_plugin(PLUGIN, VERSION, AUTHOR);

public client_putinserver(id)
set_task(1.0, "MenuTeam",id,_,_, "b");
public MenuTeam(id)
{
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR || cs_get_user_team(id) == CS_TEAM_UNASSIGNED)
{
new MyMenu=menu_create("Wybierz team:","cbMenuTeam");
menu_additem(MyMenu,"Team Alfa","",0);
menu_additem(MyMenu,"Team Delta","",0);
menu_display(id, MyMenu,0);
}
return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
if(task_exists(id))
remove_task(id)
}


public cbMenuTeam(id, menu, item){
switch(item)
{
case 0:
{
cs_set_user_team(id, CS_TEAM_T, CS_DONTCHANGE);
MenuT(id);
}
case 1:
{
cs_set_user_team(id, CS_TEAM_CT, CS_DONTCHANGE);
MenuCT(id);
}
}
menu_destroy(menu);
return PLUGIN_CONTINUE
}

public MenuT(id)
{
new MyMenuT=menu_create("Wybierz postac:","cbMenuT");

menu_additem(MyMenuT,"Postac Arctic","",0);
menu_additem(MyMenuT,"Postac Desert","",0);
menu_display(id, MyMenuT,0);
return PLUGIN_CONTINUE
}

public cbMenuT(id, menu, item)
{
switch(item)
{
case 0:
{
cs_set_user_team(id, CS_TEAM_T, CS_T_ARCTIC);
}
case 1:
{
cs_set_user_team(id, CS_TEAM_T, CS_T_TERROR);
}
}
menu_destroy(menu);
}

public MenuCT(id)
{
new MyMenuCT=menu_create("Wybierz postac:","cbMenuCT");

menu_additem(MyMenuCT,"Postac Arctic","",0);
menu_additem(MyMenuCT,"Postac Desert","",0);
menu_display(id, MyMenuCT,0);
return PLUGIN_CONTINUE
}

public cbMenuCT(id, menu, item)
{
switch(item)
{
case 0:
{
cs_set_user_team(id, CS_TEAM_CT, CS_T_ARCTIC);
}
case 1:
{
cs_set_user_team(id, CS_TEAM_CT, CS_T_TERROR);
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
Quote

  • +
  • -
Potatek's Photo Potatek 23.05.2010

to też nie działa :( na wybór teamu mam sposób ale żaden plugin nie chce działać żeby odpalić menu... nie rozumiem powinno bez problemu uruchomić :/
Quote
Locked