Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Chooseteam

Статус пользователя darkneees
сообщение 17.9.2017, 13:55
Сообщение #1


Стаж: 8 лет 7 месяцев

Сообщений: 5
Благодарностей: 1
Полезность: 0

Добрый день. Писал кодик, ну правда не совсем, где-то брал с других форумов. Короче менюшка с выбором команд. В конце концов вроде бы получил желаемый результат, но вот не задача. Переходя за команду я все равно как бы spectator, вот только не летать, ничего не могу, а после окончания раунда возрождаюсь и всё по новой. Вот такой бред короче...

Вот код:

Код:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>

#include <amxmisc>

#include <cstrike>

#include <fakemeta>

#include <hamsandwich>



public plugin_init()
{
register_message(get_user_msgid("VGUIMenu"), "msg_vguimenu")
register_message(get_user_msgid("ShowMenu"), "msg_showmenu")

register_clcmd( "chooseteam", "ClCmd__ChooseTeam" ) ;
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)

}


new ct12,t12;
public Balance(id)
{
new players = get_playersnum();




for(new g; g <= players; g++){
if(cs_get_user_team(id) == CS_TEAM_CT)

ct12 = ct12+1;


else

if(cs_get_user_team(id) == CS_TEAM_T)

t12 = t12+1;

else
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return PLUGIN_HANDLED;

}
return PLUGIN_HANDLED;
}




public JoinMenu(id)
{
new JoinMenu = menu_create("\rJoin menu", "handle_join")

menu_additem(JoinMenu,"Prisioners","1",0)
menu_additem(JoinMenu,"Security","2",0)
menu_addblank(JoinMenu, 1)
menu_additem(JoinMenu,"Spectator","3",0)

menu_setprop(JoinMenu, MPROP_EXIT, MEXIT_ALL)

menu_display(id,JoinMenu,0)


}


public MainMenu(id)

{
new MainMenu = menu_create("\Main menu","handle_menu")

menu_additem(MainMenu,"ResetScore", "1",0)
menu_additem(MainMenu,"Game Menu", "2",0)
menu_additem(MainMenu, "Choose team", "3",0)

menu_setprop(MainMenu,MPROP_EXIT,MEXIT_ALL)

menu_display(id,MainMenu,0)


}

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

new Key1 = str_to_num(s_Data)
switch(Key1)
{

case 1:
{
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "1");
}

case 2:
{
set_pdata_int(id, 125, get_pdata_int(id, 125) & ~(1<<8));
engclient_cmd(id, "jointeam", "2");

}

case 3:
{
user_kill(id, 1);
engclient_cmd(id, "jointeam", "6");
}

}


return PLUGIN_HANDLED
}


public ClCmd__ChooseTeam( iPlayer )

{

JoinMenu(iPlayer) ; // Открываешь своё меню.

return PLUGIN_HANDLED ; // Блокируем стандартное.

}

public msg_vguimenu(msgid, dest, id)
{
new msgarg1 = get_msg_arg_int(1)
if(msgarg1 == 2 || msgarg1 == 26 || msgarg1 == 27)
return PLUGIN_HANDLED

return PLUGIN_CONTINUE
}

public msg_showmenu(msgid, dest, id)
{
new arg[32]
get_msg_arg_string(4, arg, charsmax(arg))
if(equali(arg, "#Team_Select_Spect") || equali(arg, "#IG_Team_Select") || equali(arg, "#IG_Team_Select_Spect") || equali(arg, "#Terrorist_Select") || equali(arg, "#CT_Select"))
return PLUGIN_HANDLED

return PLUGIN_CONTINUE
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя darkneees
сообщение 20.9.2017, 15:47
Сообщение #2


Стаж: 8 лет 7 месяцев

Сообщений: 5
Благодарностей: 1
Полезность: 0

darkneees,
Тему можно закрыть. Пока ждал её публикации проблему сам решил.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: