←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Zabiegi kosmetyczne

Zablokowany

Gość_Maestro_* 12.07.2010

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <fakemeta> 


#define PLUGIN "Ozywianie graczy"
#define VERSION "1.0"
#define AUTHOR "Kanter Strajk"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /ozyw", "pokaz_menu", ADMIN_KICK);
	register_clcmd("say_team /ozyw", "pokaz_menu", ADMIN_KICK);
}
public pokaz_menu(id)
{
	if(is_user_connected(id) && get_user_flags(id) & ADMIN_KICK)
	{
		new players[32], plnum;
		get_players(players, plnum, "bch");
		new key[32], info[8], team[16], name[32];
		new menu = menu_create("Wybierz gracza do ozywienia", "menu_click")
		for(new i = 0; i < plnum; i++)
		{
		new id=players[i]
		if(cs_get_user_team(id) == CS_TEAM_T)
		{
			get_user_name(players[i], name, 31);
			formatex(info, 7, "%d", id);
			team="TT";
			formatex(key, 31, "\w%s\y\R%s", name, team);
			menu_additem(menu, key, info);
		}
		else if(cs_get_user_team(id) == CS_TEAM_CT)
		{
			get_user_name(players[i], name, 31);
			formatex(info, 7, "%d", id);
			team="CT";
			formatex(key, 31, "\w%s\y\R%s", name, team);
			menu_additem(menu, key, info);
		}
		}
		menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
		menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
		menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
		menu_display(id, menu);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
public menu_click(id, menu, item)
{
	new access, info[8], name[32], callback;
	menu_item_getinfo(menu, item, access, info, 7, name, 31, callback);
	menu_destroy(menu);
	new kogo = str_to_num(info);
	if(item != MENU_EXIT && item != MENU_BACK && item != MENU_MORE)
	{
		if(is_user_connected(kogo) && !is_user_alive(kogo))
		{
		set_pev(kogo, pev_deadflag, DEAD_RESPAWNABLE);
		dllfunc(DLLFunc_Think, kogo);
		dllfunc(DLLFunc_Spawn, kogo);
		strip_user_weapons(kogo);
		give_item(kogo, "weapon_knife");
		}
		pokaz_menu(id);
	}
}
Mam sobie taki plugin do ozywiania graczy przez admina jednak gdy ktos ma nick 32 znaki nie pokazuje po prawej stronie CT lub TT, a inny przypadek to menu sie rozwala.
Co jest zle napisane ??
Moglby ktos poprawic ?
Użytkownik Maestro edytował ten post 12.07.2010 18:24
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 12.07.2010

to co chciałeś + optymalizacja
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>


#define PLUGIN "Ozywianie graczy"
#define VERSION "1.0"
#define AUTHOR "Kanter Strajk"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /ozyw", "pokaz_menu", ADMIN_KICK);
	register_clcmd("say_team /ozyw", "pokaz_menu", ADMIN_KICK);
}
public pokaz_menu(id)
{
	if(is_user_connected(id) && get_user_flags(id) & ADMIN_KICK)
	{
		new players[32], plnum;
		get_players(players, plnum, "bch");
		new nick[64], info[8];
		new menu = menu_create("Wybierz gracza do ozywienia", "menu_click")
		for(new i = 0; i < plnum; i++)
		{
			new id=players[i]
			if(get_user_team(id) != 3)
			{
				
				
				get_user_name(id, nick, 63);
				formatex(info, 7, "%d", id);
				menu_additem(menu, nick, info);
			}
			
			
			
		}
		menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
		menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
		menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
		menu_display(id, menu);
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_HANDLED;
}
public menu_click(id, menu, item)
{
	new access, info[8], name[32], callback;
	menu_item_getinfo(menu, item, access, info, 7, name, 31, callback);
	menu_destroy(menu);
	new kogo = str_to_num(info);
	ExecuteHamB(Ham_CS_RoundRespawn, kogo)
}

Użytkownik DarkGL edytował ten post 12.07.2010 18:02
Odpowiedz

Gość_Maestro_* 12.07.2010

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <fakemeta> 


#define PLUGIN "Ozywianie graczy"
#define VERSION "1.0"
#define AUTHOR "Kanter Strajk"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /ozyw", "pokaz_menu", ADMIN_KICK);
	register_clcmd("say_team /ozyw", "pokaz_menu", ADMIN_KICK);
}
public pokaz_menu(id)
{
	if(is_user_connected(id) && get_user_flags(id) & ADMIN_KICK)
	{
		new players[32], plnum;
		get_players(players, plnum, "bch");
		new key[32], info[8], team[16], name[32];
		new menu = menu_create("Wybierz gracza do ozywienia", "menu_click")
		for(new i = 0; i < plnum; i++)
		{
		new id=players[i]
		if(cs_get_user_team(id) == CS_TEAM_T)
		{
			get_user_name(players[i], name, 31);
			formatex(info, 7, "%d", id);
			team="TT";
			formatex(key, 31, "\w%s\y\R%s", name, team);
			menu_additem(menu, key, info);
		}
		else if(cs_get_user_team(id) == CS_TEAM_CT)
		{
			get_user_name(players[i], name, 31);
			formatex(info, 7, "%d", id);
			team="CT";
			formatex(key, 31, "\w%s\y\R%s", name, team);
			menu_additem(menu, key, info);
		}
		}
		menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
		menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
		menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
		menu_display(id, menu);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
public menu_click(id, menu, item)
{
	new access, info[8], name[32], callback;
	menu_item_getinfo(menu, item, access, info, 7, name, 31, callback);
	menu_destroy(menu);
	new kogo = str_to_num(info);
	if(item != MENU_EXIT && item != MENU_BACK && item != MENU_MORE)
	{
		if(is_user_connected(kogo) && !is_user_alive(kogo))
		{
		set_pev(kogo, pev_deadflag, DEAD_RESPAWNABLE);
		dllfunc(DLLFunc_Think, kogo);
		dllfunc(DLLFunc_Spawn, kogo);
		strip_user_weapons(kogo);
		give_item(kogo, "weapon_knife");
		}
		pokaz_menu(id);
	}
}
To ten kod mial isc do poprawy a nie tamten sorki :D
W tym jak ktos ma dlugi nick to nie pokazuje po prawej stronie TT, CT a nieraz pozycje z cyferkami sa za soba.
Użytkownik Maestro edytował ten post 12.07.2010 18:24
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 13.07.2010

Spoiler
Odpowiedz

Gość_Maestro_* 13.07.2010

Teraz w ogóle nie pokazuje menu.
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 13.07.2010

get_user_flags(id) != ADMIN_KICK
->
!(get_user_flags(id)&ADMIN_KICK)
Odpowiedz
Zablokowany