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

Jak zdobyć nick gracza, wybranego przez menu?


Najlepsza odpowiedź Toldi, 08.08.2019 10:40

https://amxx.pl/doku...nu_item_getinfo

public handler2(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_cancel(id);
		return PLUGIN_HANDLED;
	}

	new command[6], name[64], access, callback;

	menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);

	client_print(0, print_chat, "Wybrales gracza: %s. Jego id: %i", name, str_to_num(command));
	GetTrescDolary(id)

	menu_destroy(menu);

	return PLUGIN_HANDLED;
}

W zmiennej name masz zapisaną nazwę opcji menu w tym przypadku będzie to nick gracza. W zmiennej command jako string masz zapisane id gracza którego wybrałeś. Jednak trzeba dokonać małej operacji na zmiennej używając str_to_num.

new id_gracza = str_to_num(command); // Zamienia string na liczbę.
Przejdź do postu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Komiks007

    Zaawansowany

  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:87
  • Imię:Mateusz
Offline

Napisano 08.08.2019 10:18

Cześć, mam następujący problem, a mianowicie, chcę, żeby odpowiedniemu graczowi dawało tyle dolarów, ile się wpisze. Jednak nie wiem jak zdobyć nick gracza, którego wybraliśmy z menu.

Kod to:

public Daj(id)
{
	new szText[555 char]
	formatex(szText, charsmax(szText), "\rBaseBuilder\y | \w Daj \rDolary^nDolarow masz:\w %d$", cs_get_user_money(id))
	new menu = menu_create(szText, "handler2");

	new key[8], players[32], plnum,formats[64];
	get_players(players, plnum, "ch");
	for(new i=0; i<=plnum;++i)
	{
		if(is_user_alive(players[i]))
		{
			get_user_name(players[i], name, charsmax(name));
			formatex(formats, charsmax(name), "%s", name);
			formatex(key, charsmax(key), "%d", players[i]);
			menu_additem(menu, formats, key);
		}
	}

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_setprop(menu, MPROP_BACKNAME, "Wroc");
	menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");

	menu_display(id, menu, 0);

	return PLUGIN_HANDLED;
}

public handler2(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_cancel(id);
		return PLUGIN_HANDLED;
	}

	new command[6], name[64], access, callback;

	menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);

	//nie wiem jak zdobyc wybranego gracza z menu
	GetTrescDolary(id)

	menu_destroy(menu);

	return PLUGIN_HANDLED;
}

public GetTrescDolary(id)
{
	console_cmd(id, "messagemode Dolary")
}

public GetDolaryAdm(id)
{
	new szTextAdm[192]
	read_argv(1, szTextAdm, 191)
	new VALUE = str_to_num(szTextAdm)

	new idn = get_user_index(name)
	new iuserid = get_user_userid(idn)

	new Namee[32];
	get_user_name(id, Namee, 31)

	cs_set_user_money(id, cs_get_user_money(id) - VALUE)
	cs_set_user_money(iuserid, cs_get_user_money(iuserid) + VALUE)
	return PLUGIN_CONTINUE
}

Proszę o pomoc, z góry dzięki.


  • +
  • -
  • 0

#2 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 08.08.2019 10:40   Najlepsza odpowiedź

https://amxx.pl/doku...nu_item_getinfo

public handler2(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_cancel(id);
		return PLUGIN_HANDLED;
	}

	new command[6], name[64], access, callback;

	menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);

	client_print(0, print_chat, "Wybrales gracza: %s. Jego id: %i", name, str_to_num(command));
	GetTrescDolary(id)

	menu_destroy(menu);

	return PLUGIN_HANDLED;
}

W zmiennej name masz zapisaną nazwę opcji menu w tym przypadku będzie to nick gracza. W zmiennej command jako string masz zapisane id gracza którego wybrałeś. Jednak trzeba dokonać małej operacji na zmiennej używając str_to_num.

new id_gracza = str_to_num(command); // Zamienia string na liczbę.

  • +
  • -
  • 1

#3 Komiks007

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:87
  • Imię:Mateusz
Offline

Napisano 08.08.2019 10:48

oof, dzięki.


  • +
  • -
  • 0




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

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