Русское сообщество по скриптингу

Меню "chooseteam"  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Меню "chooseteam"

Сообщение darkneees_12 » 16 сен 2017, 17:21

Делал меню, где нужно выбрать за какую команду зайти.
Через команды, то есть прописывая в ручную заходит, а вот через меню само нет.

Код: Выделить всё
/* Plugin generated by AMXX-Studio */

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


#define PLUGIN "ChooseTeam"
#define VERSION "1.0"
#define AUTHOR "darkneees"


public plugin_init() 
    
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("chooseteam","Menu1")
    register_clcmd("say /Tteam","set_Tteam")
    register_clcmd("say /CTteam","set_CTteam")
    
    
    
    
}
    
    public set_Tteam
(id){
 
    cs_set_user_team
(id,CS_TEAM_T)
 
    
}
public set_CTteam(id){
 
    cs_set_user_team
(id,CS_TEAM_CT)
 
    
}

public Menu1(id)
    {
new i_menu = menu_create ("Choose Team", "menu_handler")

menu_additem(i_menu,"\rTerrorists", "1",0)
menu_additem(i_menu,"\rCTerrorists", "1",0)    

menu_setprop
(i_menu, MPROP_EXIT, MEXIT_ALL)

menu_display(id,i_menu,0)    
    
    
}



public menu_handler(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)

    // Если посмотреть раньше на использовании menu_additem, то можно увидеть, что мы посылали некоторую информацию
    // В данном случае вся информация - целочисленная
    new i_Key = str_to_num(s_Data)
    
    switch
(i_Key)
    {
        case 1:
    {
        client_cmd(id,"say /Tteam")    
    
}
    case 2:
    {
        client_cmd(id,"say /CTteam")
    }
    }    
    menu_destroy
(menu)
    return PLUGIN_HANDLED
    


Так вот собственно вопрос, что не так?
Аватара пользователя
darkneees_12
 
Сообщения: 4
Зарегистрирован: 13 сен 2017, 20:09
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца
Языки программирования: Pawn
C#
C++

Re: Меню "chooseteam"

Сообщение артист666 » 16 сен 2017, 18:39

Код: Выделить всё
client_cmd(id,"say /Tteam")

>>>
Код: Выделить всё
cs_set_user_team(id,CS_TEAM_T)


Код: Выделить всё
client_cmd(id,"say /CTteam")

>>>
Код: Выделить всё
cs_set_user_team(id,CS_TEAM_CT)
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Меню "chooseteam"

Сообщение darkneees_12 » 17 сен 2017, 14:48

артист666 писал(а):
Код: Выделить всё
client_cmd(id,"say /Tteam"

>>>
Код: Выделить всё
cs_set_user_team(id,CS_TEAM_T


Код: Выделить всё
client_cmd(id,"say /CTteam"

>>>
Код: Выделить всё
cs_set_user_team(id,CS_TEAM_CT


Увы, но уже и такое пробовал, толку 0.
Аватара пользователя
darkneees_12
 
Сообщения: 4
Зарегистрирован: 13 сен 2017, 20:09
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца
Языки программирования: Pawn
C#
C++

Re: Меню "chooseteam"  [Решено]

Сообщение Subb98 » 17 сен 2017, 14:54

darkneees_12, потому что cs_set_user_team недостаточно, чтобы сменить команду. Посмотрите реализацию в похожих плагинах.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Меню "chooseteam"

Сообщение darkneees_12 » 17 сен 2017, 17:15

Забавно, если прописывать команды то всё работает, case же делать не хочет.

Добавлено спустя 2 часа 19 минут 18 секунд:
Решил.
Аватара пользователя
darkneees_12
 
Сообщения: 4
Зарегистрирован: 13 сен 2017, 20:09
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Опыт программирования: Меньше месяца
Языки программирования: Pawn
C#
C++


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 11