Форум игрового хостинга Serva4ok.ru: Не срабатывает get_user_name - Форум игрового хостинга Serva4ok.ru

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Не срабатывает get_user_name

#1 Пользователь офлайн   RAPOS 

  • Новичок
  • Группа: Пользователи
  • Сообщений: 1
  • Регистрация: 17 November 14
  • ГородНижний Тагил
  • Спасибо: 0

Отправлено 17 November 2014 - 10:08

Добрый день форумчане!

Странно что не работает get_user_name в определённой функции, хотя id получаю!

Вот мой код:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>

#define PLUGIN "AdminMenu"
#define VERSION "0.5"
#define AUTHOR "RAPOS"

new g_User

// Весь код не скидываю, он вам не нужен!

public menu_user_bank(id){
	if(get_user_flags(id) & ADMIN_BAN){
		new Players[32], name[32]
		new Count
		
		get_players(Players, Count, "ch") 
		 
		new szArgs[128],len
		
		len += formatex(szArgs[len],128-len,"%L",id,"TAGIL_TAG_MENU")
		len += formatex(szArgs[len],128-len," %L",id,"USER_BANK")

		new i_Menu = menu_create(szArgs, "user_bank_opt")

		for (new i; i<Count; ++i) {
			get_user_name(Players[i],name,31)
			menu_additem(i_Menu, name, Players[i], 0)
		}
		menu_setprop(i_Menu, MPROP_NEXTNAME, "\yДалее")
		menu_setprop(i_Menu, MPROP_BACKNAME, "\yНазад")
		menu_setprop(i_Menu, MPROP_EXITNAME, "\yВыход")
		menu_display(id, i_Menu, 0)
	} else {
		client_print_color(id,0,"%L %L",id,"TAGIL",id,"NOT_RIGHT")
	}
	return PLUGIN_HANDLED
}

public user_bank_opt(id, menu, item){
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	new s_Data[6], s_Name[64], i_Access, i_Callback
	menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

	g_User = s_Data[0] //Запихиваем id юзера в глобальную переменную
	client_cmd(id,"messagemode set_bank")
	
	return PLUGIN_HANDLED
}

public Set_Bank(id){
		
	new money[20], moneyS, user_name[32], admin_name[32]
	
	read_args(money,19)
	trim(money)
	remove_quotes(money)
	
	if(!strlen(money))
		return PLUGIN_HANDLED
	
	moneyS = str_to_num(money) //Получаем бабло которое ввёл админ
	UpdateMoney(g_User, moneyS) //Обновляем выбранному юзеру счёт в банке!
	
	get_user_name(id,admin_name,charsmax(admin_name)) //Получаем ник админа (Вот тут она и не срабатывает)
	get_user_name(g_User,user_name,charsmax(user_name)) //Получаем ник юзера (Вот тут она и не срабатывает)
	
	client_print(id, print_chat, "user_id: %s, admin: %s", user_name, admin_name) //Вывожу для проверки

	//client_print_color(id,0,"%L %L",id,"TAGIL",id,"MSG_ADM",moneyS,admin_name)
	//client_print_color(g_User,0,"%L %L",g_User,"TAGIL",g_User,"MSG_USR",moneyS,user_name)
	
	menu_user_bank(id) //Вызываем снова меню с юзерами

	return PLUGIN_HANDLED
}


menu_user_bank(id) //Вызываем снова меню с юзерами


Почему-то тоже не срабатывает!

Как выяснилось всё работает пришлось поменять местами
public Set_Bank(id){
                
        new money[20], moneyS, user_name[32], admin_name[32]
        
        read_args(money,19)
        trim(money)
        remove_quotes(money)
        
        if(!strlen(money))
                return PLUGIN_HANDLED
        get_user_name(id,admin_name,charsmax(admin_name)) //Получаем ник админа (Вот тут она и не срабатывает)
        get_user_name(g_User,user_name,charsmax(user_name)) //Получаем ник юзера (Вот тут она и не срабатывает)
        
        client_print(id, print_chat, "user_id: %s, admin: %s", user_name, admin_name) //Вывожу для проверки

        moneyS = str_to_num(money)
        UpdateMoney(g_User, moneyS) //После вызова этой функции отказывалось работать, не понятно почему!

        //client_print_color(id,0,"%L %L",id,"TAGIL",id,"MSG_ADM",moneyS,admin_name)
        //client_print_color(g_User,0,"%L %L",g_User,"TAGIL",g_User,"MSG_USR",moneyS,user_name)
        
        menu_user_bank(id) //Вызываем снова меню с юзерами

        return PLUGIN_HANDLED
}


Ещё поправил и заработало!
public Set_Bank(id){
		
	new money[20], moneyS, user_name[32], admin_name[32]
	
	read_args(money,19)
	trim(money)
	remove_quotes(money)
	
	if(!strlen(money))
		return PLUGIN_HANDLED
	
	get_user_name(id,admin_name,charsmax(admin_name))
	get_user_name(g_User,user_name,charsmax(user_name))
	
	moneyS = str_to_num(money)
	
	client_print_color(id,0,"%L %L",id,"TAGIL",id,"MSG_ADM",user_name,moneyS)
	client_print_color(g_User,0,"%L %L",g_User,"TAGIL",g_User,"MSG_USR",admin_name,moneyS)
	
	menu_user_bank(id)
	
	UpdateMoney(g_User, moneyS)
	
	return PLUGIN_HANDLED
}


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей