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
 

Zabiegi kosmetyczne


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

#1 Gość_Maestro_*

  • Gość

Reputacja: 0

Offline

Napisano 12.07.2010 16:25

#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


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 12.07.2010 17:59

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

  • +
  • -
  • 1

#3 Gość_Maestro_*

  • Autor tematu
  • Gość

Reputacja: 0

Offline

Napisano 12.07.2010 18:23

#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


#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 13.07.2010 09:06

Spoiler

  • +
  • -
  • 1

#5 Gość_Maestro_*

  • Autor tematu
  • Gość

Reputacja: 0

Offline

Napisano 13.07.2010 10:28

Teraz w ogóle nie pokazuje menu.

#6 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 13.07.2010 10:43

get_user_flags(id) != ADMIN_KICK
->
!(get_user_flags(id)&ADMIN_KICK)
  • +
  • -
  • 0




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

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