wellasgood
Пользователь
- Регистрация
- 22 Дек 2019
- Сообщения
- 138
- Симпатии
- -5
- Пол
- Мужской
Автор: wellasgood
Версия: 1.5.2
Краткое описание: перемещение всех живых игроков в наблюдатели.
Совместимость: Amx Mod X 1.9.0, Amx Mod X 1.10.0 dev
Мультиязычность: ru, en
Команды для чата: /spec, /back
Schokk - за идею
Алексеич и fantom - небольшие правки и доработка.
Izmayl7- предложение разных идей по улучшению.
voed - некоторая помощь.
BlackSignature - натолкнул на идею с иммунитетом от переброски.
Алексеич и fantom - небольшие правки и доработка.
Izmayl7- предложение разных идей по улучшению.
voed - некоторая помощь.
BlackSignature - натолкнул на идею с иммунитетом от переброски.
Простенький плагин для перевода всех игроков за Спектаторов.
Что умеет:
1. Переводит всех живых игроков по команде за спектаторов
2. Не переводит того кто пишет команду
3. Не засчитывает смерть.
* - Остальное в обновлениях версий.
Что умеет:
1. Переводит всех живых игроков по команде за спектаторов
2. Не переводит того кто пишет команду
3. Не засчитывает смерть.
* - Остальное в обновлениях версий.
Скомпилируйте плагин.
Скопируйте скомпилированный файл .amxx в директорию: amxmodx/plugins/
Скопируйте словарь плагина .txt в директорию amxmodx/data/lang/
Пропишите .amxx в файле amxmodx/configs/plugins.ini
Смените карту или перезапустите сервер.
Скопируйте скомпилированный файл .amxx в директорию: amxmodx/plugins/
Скопируйте словарь плагина .txt в директорию amxmodx/data/lang/
Пропишите .amxx в файле amxmodx/configs/plugins.ini
Смените карту или перезапустите сервер.
В .sma:
В .ini:
После установки и первого запуска, отредактируйте флаг для плагина в файле по пути: addons\amxmodx\configs\cmdaccess.ini
C++:
#define AUTO_CFG //Автосоздание конфига
#define FLAG_IMMUNITY ADMIN_BAN //Флаг, который должен быть у игрока для иммунитета от переброски.
Если закомментировано #define AUTO_CFG, то ищем в .sma строки и меняем значения:
sp_bots_en "1" //Перемещать ботов? (Вкл/Выкл - 1/0).
sp_chat_info "1" //Показывать инфо о команде /back? (Вкл/Выкл - 1/0).
sp_spawn_rebirth "1" //Возрождать игрока после применения игроком команды /back? (Вкл/Выкл - 1/0).
sp_bots_en "1" //Перемещать ботов? (Вкл/Выкл - 1/0).
sp_chat_info "1" //Показывать инфо о команде /back? (Вкл/Выкл - 1/0).
sp_spawn_rebirth "1" //Возрождать игрока после применения игроком команды /back? (Вкл/Выкл - 1/0).
В .ini:
После установки и первого запуска, отредактируйте флаг для плагина в файле по пути: addons\amxmodx\configs\cmdaccess.ini
C++:
register_clcmd("say /spec", "funcallspec", ADMIN_CFG, "moving to the observation of all living") //команда доступная только по флагу, переброс всех живых в наблюдатели.
C++:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define AUTO_CFG //Автосоздание конфига
#define FLAG_IMMUNITY ADMIN_BAN //Флаг, который должен быть у игрока для иммунитета от переброски.
new const PLUGIN[] = "Move to spectators";
new const VERSION[] = "1.5.2";
new const AUTHOR[] = "wellasgood";
enum _:SpecData
{
BOT_ACCOUNTING,
CHAT_INFO_BACK,
SPAWN_REBIRTH
};
new g_eSpecCvar[SpecData], CsTeams:g_Team[MAX_PLAYERS+1];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_dictionary("move-spect.txt");
register_clcmd("say /spec", "funcallspec", ADMIN_CFG, "moving to the observation of all living") //команда доступная только по флагу, переброс всех живых в наблюдатели.
register_clcmd("say /back", "funcback"); //команда доступная игрокам, которые были перекинуты командой /spec
func_regcvars();
#if defined AUTO_CFG
AutoExecConfig(true, "move-spect");
#endif
}
public func_regcvars()
{
new g_Cvar;
g_Cvar = create_cvar("sp_bots_en", "1", FCVAR_NONE, "Consider bots when transferring to viewers? (off/on; 0/1)", true, 0.0, true, 1.0);
bind_pcvar_num(g_Cvar, g_eSpecCvar[BOT_ACCOUNTING]);
g_Cvar = create_cvar("sp_chat_info", "1", FCVAR_NONE, "Show chatting information about a team '/back' to a player? (off/on; 0/1)", true, 0.0, true, 1.0);
bind_pcvar_num(g_Cvar, g_eSpecCvar[CHAT_INFO_BACK]);
g_Cvar = create_cvar("sp_spawn_rebirth", "1", FCVAR_NONE, "Rebirth of a player after using a team '/back'? (off/on; 0/1)", true, 0.0, true, 1.0);
bind_pcvar_num(g_Cvar, g_eSpecCvar[SPAWN_REBIRTH]);
}
public client_connect(id)
{
g_Team[id] = CS_TEAM_UNASSIGNED;
}
public funcallspec(id, level, cid)
{
if(!cmd_access(id, level, cid, 2, false)){
return PLUGIN_HANDLED;
}
new iGamer[MAX_PLAYERS], iCount;
if(!g_eSpecCvar[BOT_ACCOUNTING]){
get_players_ex(iGamer, iCount, GetPlayers_ExcludeDead|GetPlayers_ExcludeBots|GetPlayers_ExcludeHLTV);
}
else{
get_players_ex(iGamer, iCount, GetPlayers_ExcludeDead|GetPlayers_ExcludeHLTV);
}
for(new i; i < iCount; i++){
if(iGamer[i] != id && !(get_user_flags(iGamer[i]) & FLAG_IMMUNITY)){
user_kill(iGamer[i], 1);
g_Team[iGamer[i]] = cs_get_user_team(iGamer[i]);
cs_set_user_team(iGamer[i], CS_TEAM_SPECTATOR, 0);
if(g_eSpecCvar[CHAT_INFO_BACK]){
for(new k; k < 3; k++){
client_print_color(iGamer[i], print_team_default, "%l", "SPEC_CHATINFO_PLAYER", iGamer[i]);
}
}
}
}
return PLUGIN_HANDLED;
}
public funcback(id)
{
if(g_Team[id] != CS_TEAM_SPECTATOR && g_Team[id] != CS_TEAM_UNASSIGNED && !(get_user_flags(id) & FLAG_IMMUNITY)){
cs_set_user_team(id, g_Team[id], 0);
if(g_eSpecCvar[SPAWN_REBIRTH]){
cs_user_spawn(id);
}
}
}
Вложения
-
4,7 KB Просмотры: 16
Последнее редактирование: