Spectator опция в М меню-то.

Плъгини използващи ReAPI модула.
Аватар
mi0
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 532
Регистриран на: 09 Дек 2016, 22:02
Се отблагодари: 97 пъти
Получена благодарност: 117 пъти
Обратна връзка:

Spectator опция в М меню-то.

Мнение от mi0 » 13 Юни 2021, 00:50

Този плъгин добавя спектатор опцията в chooseteam менюто.

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <reapi>

#define PLUGIN  "specmenu"
#define VERSION "1.0"
#define AUTHOR  "mi0"

public plugin_init() {
  register_plugin(PLUGIN, VERSION, AUTHOR);
  
  RegisterHookChain(RG_CBasePlayer_Spawn, "OnPlayerSpawn", 1);
  RegisterHookChain(RG_ShowVGUIMenu, "OnShowVGUIMenu");
  RegisterHookChain(RG_HandleMenu_ChooseTeam, "OnMenuChooseTeam_Pre");
  RegisterHookChain(RG_HandleMenu_ChooseTeam, "OnMenuChooseTeam", 1);
}

public OnShowVGUIMenu(id, VGUIMenu:menu_type, bitsSlots, szOldMenu[]) {
  // Ако Чейн-а е стигнал до TeamSelect го force-ваме да направи още един iteration за spectator опцията.
  if (!strcmp(szOldMenu, "#IG_Team_Select")) {
    SetHookChainArg(3, ATYPE_INTEGER, bitsSlots | (1 << 5));
    SetHookChainArg(4, ATYPE_STRING, "#IG_Team_Select_Spect");
  }
}

public OnPlayerSpawn(id) {
  // понеже играта дава спектатор опцията само през freeze time-а трябва да излъжем играта че играча е във freeze time
  // това става с PLAYER_FREEZE_TIME_OVER
  set_entvar(id, var_iuser3, get_entvar(id, var_iuser3) | (1 << 1));
}

public OnMenuChooseTeam_Pre(id) {
  // когато прави меню-то играта проверява дали играча е във freeze(предполагам защото е client sided) а сървъра проверява game rule m_bFreezePeriod когато някой цъкне 6
  // отново лъжем играта че е freeze time
  set_member_game(m_bFreezePeriod, 1);
}

public OnMenuChooseTeam(id) {
  // вече няма нужда да е freeze period играча вече е spectator
  set_member_game(m_bFreezePeriod, 0);
  // ако m_bTeamChanged остане 1 играча няма да може да цъкне "m" отново а ще му изпише че вече е избирал отбор...
  set_member(id, m_bTeamChanged, 0);
}
aka kurdokoleno
Catch Mod - 93.123.18.38:27018

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Плъгини за ReAPI”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 гост