Проверенный
Пользователь
- Сообщения
- 1,032
- Реакции
- 828
- Помог
- 10 раз(а)
Доброго времени суток.
Подскажите, как грамотней организовать рандомный выбор команды в 3 пункте меню.
Числовое значение, как я понимаю не поддерживает функция rg_join_team, а по другому организовывать рандом(текстовый =D) мне еще не приходилось.
Еще чувствую я, что использования подряд две функции не есть грамотно (rg_join_team(id, TEAM_CT) и rg_set_user_team(id, TEAM_CT, MODEL_AUTO))
Но мне необходимо рандомно выбрать модель игрока и затем его спавнить.
Подскажите, как грамотней организовать рандомный выбор команды в 3 пункте меню.
Числовое значение, как я понимаю не поддерживает функция rg_join_team, а по другому организовывать рандом(текстовый =D) мне еще не приходилось.
C++:
#include <amxmodx>
#include <reapi>
#pragma semicolon 1
const MENU_STRLEN = 512;
const TIME_MENU = INVALID_HANDLE;
const MENU_KEYS = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4;
new const MENU_TAB[] = "^t^t^t^t";
public plugin_init() {
register_plugin("Select Team Menu", "1.0", "Javekson");
register_message(get_user_msgid("VGUIMenu"), "MsgVGUIMenu");
register_menucmd(register_menuid("_select_team_menu"), MENU_KEYS, "HandleSelectTeamMenu");
}
public MsgVGUIMenu(const iMsgID, const iDest, const iIndex) {
ShowSelectMenuTeam(iIndex);
return PLUGIN_HANDLED;
}
public ShowSelectMenuTeam(const id) {
new sMenu[MENU_STRLEN], iLenMenu = formatex(sMenu, charsmax(sMenu), "%s\yМеню выбора команды^n^n", MENU_TAB);
new bsKeys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4;
iLenMenu += formatex(sMenu[iLenMenu], charsmax(sMenu) - iLenMenu, "%s\y1. \wТеррорист^n%s\y2. \wКонтр-террорист^n^n%s\y3. \wАвто-выбор^n%s\y4. \wНаблюдатель^n^n", MENU_TAB, MENU_TAB, MENU_TAB, MENU_TAB);
if(get_member(id, m_iTeam) != TEAM_UNASSIGNED) {
bsKeys |= MENU_KEY_0;
formatex(sMenu[iLenMenu], charsmax(sMenu) - iLenMenu, "%s\y0. \wВыход", MENU_TAB);
}
return show_menu(id, bsKeys, sMenu, TIME_MENU, "_select_team_menu");
}
public HandleSelectTeamMenu(const id, const iKey) {
switch(iKey) {
case 0: {
rg_join_team(id, TEAM_TERRORIST);
rg_set_user_team(id, TEAM_TERRORIST, MODEL_AUTO);
}
case 1: {
rg_join_team(id, TEAM_CT);
rg_set_user_team(id, TEAM_CT, MODEL_AUTO);
}
case 2: {
return PLUGIN_HANDLED;
}
case 3: {
rg_join_team(id, TEAM_SPECTATOR);
}
case 9: {
return PLUGIN_HANDLED;
}
}
return PLUGIN_HANDLED;
}
23 Дек 2017
Но мне необходимо рандомно выбрать модель игрока и затем его спавнить.