Проблема с работой random_weapons_warmup

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
460
Реакции
68
Помог
7 раз(а)
Ошибка
В исходнике указал 8 видов оружия, а берётся постоянно 2 первых вида после смен карты. На остальные не меняет.
ОС
Windows
Билд
Protocol version 48
Exe version 1.1.2.7 (cstrike)
ReHLDS version: 3.4.0.635-dev
Build date: 11:55:07 Feb 13 2018 (1403)
Build from: https://github.com/dreamstalker/rehlds/commit/20de691
ReGamedll
ReGameDLL version: 5.5.0.291-dev
Build date: 09:37:02 Feb 8 2018
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/40f3bc4
Список метамодулей
[ 1] VoiceTranscoder  RUN   -    voicetranscoder.dll     v2017RC3         ini  ANY   ANY  
[ 2] Reunion RUN - reunion_mm.dll v0.1.0.89 ini Start Never
[ 3] ReSemiclip RUN - resemiclip_mm.dll v2.3.9 ini Chlvl ANY
[ 4] AMX Mod X RUN - amxmodx_mm.dll v1.8.3-dev+5151 ini Start ANY
[ 5] WHBlocker RUN - whblocker_mm.dll v1.5.695 ini Chlvl ANY
[ 6] Rechecker RUN - rechecker_mm.dll v2.5 ini Chlvl ANY
[ 7] ReAuthCheck RUN - reauthcheck_mm.dll v0.1.6 ini Start Never
[ 8] CStrike RUN - cstrike_amxx.dll v1.8.3-Re pl4 ANY ANY
[ 9] SQLite RUN - sqlite_amxx.dll v1.8.3-Re pl4 ANY ANY
[10] ReAimDetector RUN - reaimdetector_amxx.dll v0.2.2 pl4 ANY Never
[11] hackdetector RUN - hackdetector_amxx.dll v0.15.328.lite pl4 ANY ANY
[12] ReAPI RUN - reapi_amxx.dll v5.5.0.146-dev pl4 ANY Never
[13] Fun RUN - fun_amxx.dll v1.8.3-Re pl4 ANY ANY
[14] FakeMeta RUN - fakemeta_amxx.dll v1.8.3-Re pl4 ANY ANY
[15] Engine RUN - engine_amxx.dll v1.8.3-Re pl4 ANY ANY
[16] Ham Sandwich RUN - hamsandwich_amxx.dll v1.8.3-Re pl4 ANY ANY
16 plugins, 16 running
Список плагинов
Currently loaded plugins:
name version author file status
[ 1] AIM detector 0.9.4b kanagava aim_detector_09 running
[ 2] CSStatsX SQL 0.7.4 serfreeman1337 csstatsx_sql.am running
[ 3] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 4] Aliases checker 1.0.3 kanagava alias_detector. running
[ 5] FreshBans 1.3.8b kanagava fresh_bans_138_ running
[ 6] ScreenMaker 1.1 neygomon screen_maker.am running
[ 7] RC BaseChanger 1.0 phe rc_basechanger. stopped
[ 8] ReChecker Logging 1.0 phe rc_logging.amxx running
[ 9] Lite Admin ESP 1.0 neygomon admin_esp.amxx running
[ 10] Admin Base 1.8.2 AMXX Dev Team admin.amxx running
[ 11] High Ping Kicker 1.6 UFPS.Team hpk.amxx running
[ 12] Afk Control 0.5.1 neygomon afk_control.amx running
[ 13] Rank Menu 0.1 h1k3 rankmenu.amxx running
[ 14] AES: StatsX 0.5.8 Vega serfreeman1337/s aes_statsx_cstr running
[ 15] Stats Configuration 1.8.2 AMXX Dev Team statscfg.amxx running
[ 16] Say me and Say hp 1.4 neygomon sayme_reapi.amx running
[ 17] Advanced Gag 1.9.0 neygomon amx_gag.amxx running
[ 18] Map Manager 2.5.61 Mistrick mapmanager.amxx running
[ 19] lastround_hud 1.00 Mistrick mapmanager_last running
[ 20] Lite Translit 2.8 neygomon lite_translit_c running
[ 21] Stop the Bastards 1.6.6 F@nt0M stop_the_bastar running
[ 22] [ReAPI] No Team Flash 0.0.2 Vaqtincha no_team_flash.a running
[ 23] SF Warn Menu 0.1.4g serfreeman1337 sf_admin_warns. running
[ 24] Menus Front-End 1.5 neugomon menufront.amxx running
[ 25] Items Restrict 1.0 s1lent items_restrict. running
[ 26] resetscore(ReAPI) 1.0 Phantom resetscore.amxx running
[ 27] Maps Menu 1.4.1 neugomon mapsmenu.amxx running
[ 28] Block grande info 1.0 neygomon BlockGrenadeInf running
[ 29] Server Menu [INI] 1.0 Leo_[BH] server_menu.amx running
[ 30] SF Bets 0.1.5 serfreeman1337 sf_bets.amxx running
[ 31] Parachute for ALL [ReA 3.0 Leo_[BH] parachute.amxx running
[ 32] Lite C4 Timer 1.0.0 neygomon lite_c4timer.am running
[ 33] Plugins Controller 1.0 neygomon plugins_control stopped
[ 34] Ultimate KillStreak Ad 0.7 SAMURAI ut_killstreak_a running
[ 35] DemoRecoder 1.1 neygomon amx_demorec.amx running
[ 36] Rock to Ban 1.02 Safety1st rock2ban.amxx running
[ 37] [ReAPI] AWPoff 1.3 PAffAEJIkA :3 awp_off.amxx running
[ 38] Players Menu 1.7 neugomon players_menu.am running
[ 39] Grab 2.5 Support123 grab_new.amxx running
[ 40] Super Bunny Hopper 1.2 Cheesy Peteza bunnyhop.amxx stopped
[ 41] [ReAPI] Round Balancer 1.1 neygomon round_balancer. running
[ 42] SpecList 1.2a FatalisDK speclist_rus.am running
[ 43] Steam Models 0.1b+mod.l Freedo.m steam_models.am running
[ 44] Team Grenade Trail 1.2 Numb team_grenade_tr running
[ 45] Knife Duel with Telepo 1.2 neygomon knife_duel.amxx debug
[ 46] Оружейка v 1.1 Deadpool weaponmenu.amxx running
[ 47] [ReAPI] Random Weapons 2.4.4 neugomon random_weapons_ running
[ 48] Killer ScreenFade 0.0.5 Vaqtincha reapi_killer_sc running
[ 49] Damager 0.1b Subb98 damager.amxx running
[ 50] Kills Counter 0.3 serfreeman1337 kills_counter.a running
[ 51] Star Damager 1.0 Seroff Damager_star.am running
[ 52] Mode 2x2 2.5re s1lent mode.amxx running
[ 53] Time for info 1.0 neugomon Time_For_Info_H running
[ 54] Adverts 1.0 pUzzlik adverts_message running
[ 55] [Reapi] Block Advert 1.4 neygomon block_advert.am running
[ 56] V.I.P Custom Weapons 1.0.0 Vaqtincha vip_custom.amxx debug
[ 57] V.I.P Custom DEAGLE 1.0.0 Vaqtincha custom_deagle.a debug
[ 58] V.I.P Custom M4A1 1.0.0 Vaqtincha custom_m4a1.amx debug
[ 59] V.I.P Custom AK-47 1.0.0 Vaqtincha custom_ak47.amx debug
[ 60] V.I.P Custom AWP 1.0.0 Vaqtincha custom_awp.amxx debug
[ 61] Advanced Experience Sy 0.5.8 Vega serfreeman1337/s aes_main.amxx running
[ 62] AES: CStrike Addon 0.5.8 Vega serfreeman1337/s aes_exp_cstrike running
[ 63] AES: Informer 0.5.8 Vega serfreeman1337/s aes_informer.am running
[ 64] AES: Admin Tools 0.5.8 Vega serfreeman1337/s aes_exp_editor. running
[ 65] AES: Bonus System 0.5.7 Vega serfreeman1337/s aes_bonus_syste running
[ 66] AES: Bonus CSTRIKE 0.5.8 Vega serfreeman1337/s aes_bonus_cstri running
66 plugins, 63 running
Исходный код
#include <amxmodx>
#include <reapi>

#define TIME_RR 60 // Время разминки
#define NUM_RR 1 // Кол-во рестартов
#define LATENCY 1.5 // Задержка между рестартами
#define PROTECTED 2 // Сколько секунд действует защита после возрождения, 0 - отключить (актуально для DM_MODE)
// отключаемо //
//#define SOUND // Музыка под час разминки
#define STOP_PLUGS // Отключать плагины на время разминки
#define DM_MODE // Бесконечный респавн на время разминки
#define OFF_RR // Отключать этот плагин на указанных картах
//#define BLOCK // Запрет поднятия оружия с земли [по умолчанию выкл.]
//#define STOP_STATS // Отключать запись статистики на время разминки (Работает только с измененным CSStatsX SQL by serfreeman1337) [по умолчанию выкл.]

#if defined SOUND
new const soundRR[] = "sound/rr/RoundStart.mp3"; // Указывать путь и название файла, например sound/serv/music.mp3
#endif
#if defined STOP_STATS
native stats_set_enabled(params_num)
#endif
#if defined STOP_PLUGS
new g_arPlugins[][] = // Указывать название плагинов, например test.amxx
{
"Time_For_Info_HUD.amxx",
"knife_duel.amxx",
"speclist_rus.amxx",
"round_balancer.amxx",
"awp_off.amxx",
"lite_c4timer.amxx",
"adverts_message.amxx",
"custom_deagle.amxx",
"custom_m4a1.amxx",
"custom_ak47.amxx",
"custom_awp.amxx",
"vip_custom.amxx"
}
#endif
new g_iHudSync;
new g_szWeapon[32];
new g_iWp;
new HookChain:fwd_NewRound,
HookChain:fwd_Spawn,
HookChain:fwd_GiveC4,
#if defined BLOCK
HookChain:fwd_BlockEntity,
#endif
#if defined DM_MODE
HookChain:fwd_Killed;
#endif

const TASK_PROTECTION_ID = 33464;

public plugin_init()
{
register_plugin("[ReAPI] Random Weapons WarmUP", "2.4.4", "neugomon");

RegisterHookChain(RG_RoundEnd, "fwdRoundEnd", true);
DisableHookChain(fwd_NewRound = RegisterHookChain(RG_CSGameRules_CheckMapConditions, "fwdRoundStart", true));
DisableHookChain(fwd_Spawn = RegisterHookChain(RG_CBasePlayer_Spawn, "fwdPlayerSpawnPost", true));
DisableHookChain(fwd_GiveC4 = RegisterHookChain(RG_CSGameRules_GiveC4, "fwdGiveC4", false));
#if defined BLOCK
DisableHookChain(fwd_BlockEntity = RegisterHookChain(RG_CBasePlayer_HasRestrictItem, "fwdHasRestrictItemPre", false));
register_clcmd("drop", "ClCmd_Drop");
#endif
#if defined DM_MODE
DisableHookChain(fwd_Killed = RegisterHookChain(RG_CBasePlayer_Killed, "fwdPlayerKilledPost", true));
g_iHudSync = CreateHudSyncObj();
register_clcmd("joinclass", "clCmdJoinClass");
register_clcmd("menuselect","clCmdJoinClass");
#endif
state warmupOff;
#if defined OFF_RR
new sPref[][] = { "awp_", "aim_", "fy_", "$", "35hp" }; // Указывать префиксы карт
new map[32]; get_mapname(map, charsmax(map));
for(new i; i < sizeof sPref; i++)
{
if(containi(map, sPref[i]) != -1)
{
pause("ad");
return;
}
}
#endif
}
#if defined BLOCK
public fwdHasRestrictItemPre() {
SetHookChainReturn(ATYPE_INTEGER, true);
return HC_SUPERCEDE;
}

public ClCmd_Drop() <warmupOff>
return PLUGIN_CONTINUE;

public ClCmd_Drop() <warmupOn>
return PLUGIN_HANDLED;
#endif
public client_putinserver(id)
{
remove_task(id + TASK_PROTECTION_ID)
}
#if defined SOUND
public plugin_precache()
{
precache_generic(soundRR);
}
#endif
public fwdRoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
if(event == ROUND_GAME_COMMENCE)
EnableHookChain(fwd_NewRound);

public fwdRoundStart()
{
state warmupOn;

#if defined SOUND
client_cmd(0, "mp3 play ^"%s^"", soundRR);
#endif

DisableHookChain(fwd_NewRound);
EnableHookChain(fwd_Spawn);
EnableHookChain(fwd_GiveC4);
#if defined STOP_STATS
stats_set_enabled(0);
#endif
set_cvar_string("mp_round_infinite", "1");
#if defined BLOCK
EnableHookChain(fwd_BlockEntity);
#endif
#if defined DM_MODE
EnableHookChain(fwd_Killed);
#endif
#if defined STOP_PLUGS
PluginController(1);
#endif
switch((g_iWp = random(2)))
{
case 0: formatex(g_szWeapon, charsmax(g_szWeapon), "P90");
case 1: formatex(g_szWeapon, charsmax(g_szWeapon), "GALIL");
case 2: formatex(g_szWeapon, charsmax(g_szWeapon), "AUG");
case 3: formatex(g_szWeapon, charsmax(g_szWeapon), "FAMAS");
case 4: formatex(g_szWeapon, charsmax(g_szWeapon), "M249");
case 5: formatex(g_szWeapon, charsmax(g_szWeapon), "M3");
case 6: formatex(g_szWeapon, charsmax(g_szWeapon), "HEGRENADE");
case 7: formatex(g_szWeapon, charsmax(g_szWeapon), "SCOUT");
}
set_task(1.0, "ShowTimer", .flags = "a", .repeat = TIME_RR);
}
#if defined DM_MODE
public clCmdJoinClass(id) <warmupOff>
return;

public clCmdJoinClass(id) <warmupOn>
if(get_member(id, m_iMenu) == Menu_ChooseAppearance)
set_task(0.5, "SpawnPlayer", id);
#endif
public fwdPlayerSpawnPost(const id)
{
if(!is_user_alive(id))
return;

BuyZone_ToogleSolid(SOLID_NOT);
SetProtection(id)
rg_remove_all_items(id);
set_member_game(m_bMapHasBuyZone, true);

switch(g_iWp)
{
case 0:
{
rg_give_item(id, "weapon_p90");
rg_set_user_bpammo(id, WEAPON_P90, 90);
rg_give_item(id, "weapon_knife");
}
case 1:
{
rg_give_item(id, "weapon_galil");
rg_set_user_bpammo(id, WEAPON_GALIL, 90);
rg_give_item(id, "weapon_knife");
}
case 2:
{
rg_give_item(id, "weapon_aug");
rg_set_user_bpammo(id, WEAPON_AUG, 90);
rg_give_item(id, "weapon_knife");
}
case 3:
{
rg_give_item(id, "weapon_famas");
rg_set_user_bpammo(id, WEAPON_FAMAS, 90);
rg_give_item(id, "weapon_knife");
}
case 4:
{
rg_give_item(id, "weapon_m249");
rg_set_user_bpammo(id, WEAPON_M249, 200);
rg_give_item(id, "weapon_knife");
}
case 5:
{
rg_give_item(id, "weapon_m3");
rg_set_user_bpammo(id, WEAPON_M3, 30);
rg_give_item(id, "weapon_knife");
}
case 6:
{
rg_give_item(id, "weapon_hegrenade");
rg_set_user_bpammo(id, WEAPON_HEGRENADE, 100);
rg_give_item(id, "weapon_knife");
}
case 7:
{
rg_give_item(id, "weapon_scout");
rg_set_user_bpammo(id, WEAPON_SCOUT, 90);
rg_give_item(id, "weapon_knife");
}
}
}

#if defined DM_MODE
public fwdPlayerKilledPost(pVictim)
set_task(1.0, "SpawnPlayer", pVictim);
#endif
public fwdGiveC4()
{
return HC_SUPERCEDE
}

public ShowTimer()
{
static timer = -1;
if(timer == -1) timer = TIME_RR;

switch(--timer)
{
case 0:
{
state warmupOff;

BuyZone_ToogleSolid(SOLID_TRIGGER);
DisableHookChain(fwd_Spawn);
DisableHookChain(fwd_GiveC4);
#if defined STOP_STATS
stats_set_enabled(1);
#endif
set_cvar_string("mp_round_infinite", "0");
#if defined BLOCK
DisableHookChain(fwd_BlockEntity);
#endif
#if defined DM_MODE
DisableHookChain(fwd_Killed);
#endif
#if defined STOP_PLUGS
PluginController(0);
#endif
#if NUM_RR > 1
set_task(LATENCY, "SV_Restart", .flags = "a", .repeat = NUM_RR);
#else
SV_Restart();
#endif
timer = -1;
}
default:
{
#if defined STOP_STATS
set_hudmessage(255, 0, 0, .x = -1.0, .y = 0.05, .holdtime = 0.9, .channel = -1);
show_hudmessage(0, "[Статистика Отключена]");
#endif
set_hudmessage(135, 206, 235, .x = -1.0, .y = 0.08, .holdtime = 0.9, .channel = -1);
ShowSyncHudMsg(0, g_iHudSync, "Разминка на %s!^nРестарт через %d сек", g_szWeapon, timer);
}
}
}

public SV_Restart()
{
set_cvar_num("sv_restart", 1);
set_task(2.0, "End_RR");
}

public End_RR()
{
#if defined STOP_STATS
set_hudmessage(255, 0, 0, .x = -1.0, .y = 0.05, .holdtime = 5.0, .channel = -1);
show_hudmessage(0, "[Статистика Включена]");
#endif
set_hudmessage(135, 206, 235, .x = -1.0, .y = 0.08, .holdtime = 5.0, .channel = -1);
show_hudmessage(0, "Разминка окончена!");
}
#if defined DM_MODE
public SpawnPlayer(id)
{
if(!is_user_connected(id))
return;
if(is_user_alive(id))
return;

switch(get_member(id, m_iTeam))
{
case 1, 2: rg_round_respawn(id);
}
}
#endif

public SetProtection(id)
{
set_entvar(id, var_takedamage, DAMAGE_NO)

switch(get_member(id, m_iTeam))
{
case TEAM_TERRORIST: rg_set_rendering(id, kRenderFxGlowShell, 255, 0, 0, 10);
case TEAM_CT: rg_set_rendering(id, kRenderFxGlowShell, 0, 0, 255, 10);
}

remove_task(TASK_PROTECTION_ID + id)
set_task( PROTECTED.0, "EndProtection", TASK_PROTECTION_ID + id)
}

public EndProtection(TaskID)
{
new id = TaskID - TASK_PROTECTION_ID

if(!is_user_connected(id))
return

set_entvar(id, var_takedamage, DAMAGE_AIM)
rg_set_rendering(id)
}

stock rg_set_rendering(index, fx = kRenderFxNone, r=255, g=255, b=255, amount=16)
{
new Float:RenderColor[3]
RenderColor[0] = float(r)
RenderColor[1] = float(g)
RenderColor[2] = float(b)

set_entvar(index, var_renderfx, fx)
set_entvar(index, var_rendercolor, RenderColor)
set_entvar(index, var_renderamt, float(amount))
}

stock PluginController(stop)
{
for(new i; i < sizeof g_arPlugins; i++)
{
if(stop)pause ("ac", g_arPlugins[i]);
else unpause("ac", g_arPlugins[i]);
}
}

stock BuyZone_ToogleSolid(const solid)
{
new entityIndex = 0;
while ((entityIndex = rg_find_ent_by_class(entityIndex, "func_buyzone")))
set_entvar(entityIndex, var_solid, solid);
}
На счёт 2-х плагинов аим детекта прошу не критиковать у каждого свои тараканы в голове)))
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
460
Реакции
68
Помог
7 раз(а)
h1k3, весьма благодарен сер. Робота плагина как по мне супер))
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу