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

Menu z Graczami.


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

#1 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 07.07.2011 08:56

Zrobięłm o w taki sposób
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plugin"
#define VERSION "1.0"
#define AUTHOR "Author"

new Players[32],Num;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /menu","menuy")
}
public menuy()
{
	new menu = menu_create("Gracze","WyborGracza")
	get_players(Players,Num)
	for(new i ; i>Num;i++)
	{
		new id = Players[i]
		new name[33];
		get_user_name(id,name,32)
		menu_additem(menu,name)
	}
}
public WyborGracza(menu,item)
{
	new id2
	id2 = Players[item]
	new imie[33]
	get_user_name(id2,imie,32)
	client_print(0,print_chat,"Wybrales %s",imie)
}

i nie mam pojęcia czemu nie działa. Proszę o pomoc.
  • +
  • -
  • 0

#2 xKillers

    Początkujący

  • Zbanowany

Reputacja: 1
Nowy

  • Postów:10
  • Lokalizacja:Kalisz
Offline

Napisano 07.07.2011 09:37

Masz skorzystaj z menu graczy by G[o]Q


#include <amxmodx>
#include <amxmisc>


#define Keysplayer (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)

new MenuPosplayer
new MenuPlayersplayer[32]


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

register_menucmd(register_menuid("player"), Keysplayer, "Pressedplayer")
// Add your code here...
}

public Showplayer(id) {
ShowMenuplayer(id, MenuPosplayer = 0)
return PLUGIN_HANDLED
}

public ShowMenuplayer(id, position) {
// Menu stuff //
if (position < 0) { return 0; }

new i, k
new MenuBody[255]
new CurrentKey = 0
new Start = position * 7
new Num
new UserName[32]

get_players(MenuPlayersplayer, Num)
if (Start >= Num) { Start = position = MenuPosplayer = 0; }
new Len = format(MenuBody, 255, "\yPlayer Menu\R%d/%d^n\w^n", position+1, (Num / 7 + ((Num % 7) ? 1 : 0 )) )
new End = Start + 7
new Keys = (1<<9)
if (End > Num) { End = Num; }

for(i=Start;i<End;i++) {
k = MenuPlayersplayer[i]
get_user_name(k, UserName, 31)
Keys |= (1<<CurrentKey++)
Len += format(MenuBody[Len], (255-Len), "\w%i. %s^n", CurrentKey, UserName)
}
if (End != Num) {
format(MenuBody[Len], (255-Len), "^n\w9. Next^n%s", position ? "\w0. Back" : "\w0. Exit")
Keys |= (1<<8)
}
else {
format(MenuBody[Len], (255-Len), "^n%s", position ? "\w0. Back" : "\w0. Exit")
}
show_menu(id, Keys, MenuBody, -1, "player")
return 0
}

public Pressedplayer(id, key) {
switch (key) {
case 8: ShowMenuplayer(id, ++MenuPosplayer) // More Option
case 9: ShowMenuplayer(id, --MenuPosplayer) // Back Option
default: {
// Get User ID and Username
new PlayerID = MenuPlayersplayer[MenuPosplayer * 7 + key]
new UserName[32]
get_user_name(PlayerID, UserName, 31)
// Do actions here
}
}
return PLUGIN_HANDLED
}


#3 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 07.07.2011 10:29

Albo spróbuj tego
#include <amxmodx>
#include <amxmisc>


#define PLUGIN "New Plugin"
#define VERSION "1.0"
#define AUTHOR "Author"

new Players[33][32];

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

register_clcmd("say /menu","menuy")
}

public menuy(id) {
new menu = menu_create("Gracze","WyborGracza");

new name[64], num;
for(new i=1; i<=32; i++) {
if(is_user_connected(i)) {
Players[id][num] = i;
num++;
get_user_name(i, name, charsmax(name));
menu_additem(menu, name);
}
}

menu_setprop(menu, MPROP_BACKNAME, "Wroc");
menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");
menu_display(id, menu);
}

public WyborGracza(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new id2 = Players[id][item];
new imie[64];
get_user_name(id2, imie, charsmax(imie));
client_print(0, print_chat, "Wybrales %s", imie);

menu_destroy(menu);
return PLUGIN_HANDLED;
}

Nie testowałem.

Użytkownik sebul edytował ten post 07.07.2011 10:33

  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#4 stepdub

    Profesjonalista

  • Użytkownik

Reputacja: 43
Pomocny

  • Postów:207
  • Lokalizacja:Kobyłka
Offline

Napisano 07.07.2011 11:19

sebul, to co mi się rzuciło w oczy to:
client_print(0, print_chat, "Wybrales %s", imie);

czemu index = 0?
wyświetli to wszystkim
  • +
  • -
  • 0

#5 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 07.07.2011 11:42

sebul, to co mi się rzuciło w oczy to:

client_print(0, print_chat, "Wybrales %s", imie);

czemu index = 0?
wyświetli to wszystkim

Wiem, ale sam napisał coś podobnego, czyli zapewne testował, więc zostawiłem to tak jak było.
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#6 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Autor tematu
  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 07.07.2011 11:46

Dzięki Sebul. Chodziło mi o taki prosty i przejrzysty Kod Do zamknięcia.
  • +
  • -
  • 0

#7 Gość_deLL_*

  • Gość

Reputacja: 0

Offline

Napisano 07.07.2011 11:53

Zobaczcie sobie to: New AMXX Menu System - AlliedModders

Działa bezproblemowo.

#include <amxmodx>

public plugin_init()
register_clcmd( "my_player_menu","AwesomeMenu");

public AwesomeMenu(id)
{
new menu = menu_create("\rLook at this Player Menu!:", "menu_handler");
new players[32], pnum, tempid;
new szName[32], szTempid[10];

get_players(players, pnum);

for( new i; i<pnum; i++ )
{
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName));
num_to_str(tempid, szTempid, charsmax(szTempid));
menu_additem(menu, szName, szTempid, 0);
}
menu_display(id, menu, 0);
}

public menu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}

new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);

new tempid = str_to_num(data);
new name[32], tempname[32]
get_user_name(tempid, tempname, 31)
get_user_name(id, name, 31)

/* tempid - ID wybranego gracza
id - ID osoby wybierajacej
name - Nick osoby wybierajacej
tempname - Nick osoby wybranej */

client_cmd(0, "%s wybral gracza %s...", name, tempname)



menu_destroy(menu);
return PLUGIN_HANDLED;
}





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

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