Выдача жизней в random_weapons_warmup

Сообщения
460
Реакции
68
Помог
7 раз(а)
Ошибка
При разминке на ножах выдаёт 100 а не 35 hp жизней
ОС
Windows
Билд
Protocol version 48
Exe version 1.1.2.7 (cstrike)
ReHLDS version: 3.4.0.640-dev
Build date: 15:11:44 Apr 1 2018 (1450)
Build from: https://github.com/dreamstalker/rehlds/commit/19e3a5d
ReGamedll
ReGameDLL version: 5.7.0.301-dev
Build date: 00:28:14 Apr 9 2018
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/fe0ea9a
Список метамодулей
Currently loaded plugins:
description stat pend file vers src load unload
[ 1] VoiceTranscoder RUN - voicetranscoder.dll v2017RC3 ini ANY ANY
[ 2] Reunion RUN - reunion_mm.dll v0.1.0.92 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] Fun RUN - fun_amxx.dll v1.8.3-dev+5154 pl4 ANY ANY
[11] hackdetector RUN - hackdetector_amxx.dll v0.15.328.lite pl4 ANY ANY
[12] ReAimDetector RUN - reaimdetector_amxx.dll v0.2.2 pl4 ANY Never
[13] ReAPI RUN - reapi_amxx.dll v5.5.0.152-dev pl4 ANY Never
[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
Список плагинов
] amxx plugins
Currently loaded plugins:
name version author file status
[ 1] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 2] Aliases checker 1.0.3 kanagava alias_detector. running
[ 3] CSStatsX SQL 0.7.4 serfreeman1337 csstatsx_sql.am running
[ 4] FreshBans 1.3.9b kanagava fresh_bans_139_ running
[ 5] ScreenMaker 1.1 neygomon screen_maker.am running
[ 6] RC BaseChanger 1.0 phe rc_basechanger. stopped
[ 7] ReChecker Logging 1.0 phe rc_logging.amxx running
[ 8] Lite Admin ESP 1.0 neygomon admin_esp.amxx running
[ 9] Admin Base 1.8.2 AMXX Dev Team admin.amxx running
[ 10] Ping Control 1.4 neygomon Ping_Control.am running
[ 11] AFK Control 1.4.1 [Rnd neygomon afk_control.amx running
[ 12] AES: StatsX 0.5.9 [REA serfreeman1337/s aes_statsx_cstr running
[ 13] Stats Configuration 1.8.2 AMXX Dev Team statscfg.amxx running
[ 14] Say me and Say hp 1.4 neygomon sayme_reapi.amx running
[ 15] Advanced Gag 1.9.0 neygomon amx_gag.amxx running
[ 16] Advanced MapChooser 1.4 neygomon map_chooser.amx running
[ 17] Lite Translit 2.8 neygomon lite_translit_c running
[ 18] [ReAPI] No Team Flash 0.0.2 Vaqtincha no_team_flash.a running
[ 19] Menus Front-End 1.5 neugomon menufront.amxx running
[ 20] Items Restrict 1.0 s1lent items_restrict. running
[ 21] resetscore(ReAPI) 1.0 Phantom resetscore.amxx running
[ 22] Maps Menu 1.4.1 neugomon mapsmenu.amxx running
[ 23] Radio Hudmsg Block 1.0 AcE radio_hudmsg_bl running
[ 24] Server Menu [INI] 1.0 Leo_[BH] server_menu.amx running
[ 25] SF Bets 0.1.5 serfreeman1337 sf_bets.amxx running
[ 26] Parachute for ALL [ReA 3.0 Leo_[BH] parachute.amxx running
[ 27] Lite C4 Timer 1.0.0 neygomon lite_c4timer.am running
[ 28] Plugins Controller 1.0 neygomon plugins_control stopped
[ 29] DemoRecoder 1.1 neygomon amx_demorec.amx running
[ 30] Rock to Ban 1.02 Safety1st rock2ban.amxx running
[ 31] [ReAPI] AWPoff 1.3 PAffAEJIkA :3 awp_off.amxx running
[ 32] Players Menu 1.7 neugomon players_menu.am running
[ 33] SF Warn Menu 0.1.4g serfreeman1337 sf_admin_warns. running
[ 34] Steam Models 0.1b+mod.l Freedo.m steam_models.am running
[ 35] Team Grenade Trail 1.2 Numb team_grenade_tr running
[ 36] [ReAPI] Round Balancer 1.1 neygomon round_balancer. running
[ 37] Kills Counter 0.3 serfreeman1337 kills_counter.a running
[ 38] [ReAPI] Random Weapons 2.4.6 neugomon random_weapons_ running
[ 39] Killer ScreenFade 0.0.5 Vaqtincha reapi_killer_sc debug
[ 40] SpecList 1.2a FatalisDK speclist_rus.am running
[ 41] Adverts 1.0 pUzzlik adverts_message running
[ 42] Grab 2.5 Support123 grab_new.amxx running
[ 43] Super Bunny Hopper 1.2 Cheesy Peteza bunnyhop.amxx stopped
[ 44] SF MultiJump 0.2 serfreeman1337 sf_multijump.am stopped
[ 45] Ultimate KillStreak Ad 0.7 SAMURAI ut_killstreak_a running
[ 46] ProKreedz Hook v2.3 vato loco [GE-S] dr_hook.amxx stopped
[ 47] Nick Change Menu 0.1.1 serfreeman1337 nickchange_menu running
[ 48] Damager 1.0 Prayer damager.amxx running
[ 49] Оружейка v 1.1 Deadpool weaponmenu.amxx running
[ 50] V.I.P Custom Weapons 1.0.0 Vaqtincha vip_custom.amxx debug
[ 51] V.I.P Custom DEAGLE 1.0.0 Vaqtincha custom_deagle.a debug
[ 52] V.I.P Custom M4A1 1.0.0 Vaqtincha custom_m4a1.amx debug
[ 53] V.I.P Custom AK-47 1.0.0 Vaqtincha custom_ak47.amx debug
[ 54] V.I.P Custom AWP 1.0.0 Vaqtincha custom_awp.amxx debug
[ 55] Advanced Experience Sy 0.5.9 [REA serfreeman1337/s aes_main.amxx running
[ 56] AES: CStrike Addon 0.5.9 [REA serfreeman1337/s aes_exp_cstrike running
[ 57] AES: Informer 0.5.9 [REA serfreeman1337/s aes_informer.am running
[ 58] AES: Admin Tools 0.5.9 [REA serfreeman1337/s aes_exp_editor. running
[ 59] AES: Bonus System 0.5.9 Vega serfreeman1337/s aes_bonus_syste running
[ 60] AES: Bonus CSTRIKE 0.5.9 [REA serfreeman1337/s aes_bonus_cstri running
60 plugins, 55 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 DM_MODE // Бесконечный респавн на время разминки
#define STOP_PLUGS // Отключать плагины на время разминки
#define OFF_RR // Отключать этот плагин на указанных картах
//#define BLOCK // Запрет поднятия оружия с земли [по умолчанию выкл.]
#define STOP_STATS // Отключать запись статистики на время разминки (Работает только с измененным CSStatsX SQL by serfreeman1337) [по умолчанию выкл.]
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#if defined SOUND
new const soundRR[][] = // Указывать звук, например 1.mp3
{
"sound/rr/RoundStart.mp3"

}
#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",
"mode.amxx",
"sayme_reapi.amxx",
"aes_bonus_system.amxx",
"aes_bonus_cstrike.amxx",
"items_restrict.amxx",
"custom_deagle.amxx",
"custom_m4a1.amxx",
"custom_ak47.amxx",
"custom_awp.amxx",
"vip_custom.amxx"
}
#endif
#if defined STOP_STATS
native stats_set_enabled(params_num)
#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_TIMER_ID = 33264;
const TASK_PROTECTION_ID = 33464;

public plugin_init()
{
register_plugin("[ReAPI] Random Weapons WarmUP", "2.4.6", "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
}

public plugin_end() <warmupOff> {}

public plugin_end() <warmupOn> {
finishWurmUp();
}
#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()
{
for(new i = 0; i < sizeof(soundRR); i++)
{
precache_generic(soundRR[i]);
}
}
#endif
public fwdRoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
if(event == ROUND_GAME_COMMENCE)
EnableHookChain(fwd_NewRound);

public fwdRoundStart()
{
state warmupOn;

#if defined SOUND
static cmd[64];
formatex(cmd, 63, "mp3 play ^"%s^"", soundRR[random(sizeof(soundRR))]);
client_cmd(0, "%s", cmd);
#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(19)))
{
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");
case 8: formatex(g_szWeapon, charsmax(g_szWeapon), "MAC10");
case 9: formatex(g_szWeapon, charsmax(g_szWeapon), "M4A1");
case 10: formatex(g_szWeapon, charsmax(g_szWeapon), "AK47");
case 11: formatex(g_szWeapon, charsmax(g_szWeapon), "SG552");
case 12: formatex(g_szWeapon, charsmax(g_szWeapon), "G3SG1");
case 13: formatex(g_szWeapon, charsmax(g_szWeapon), "SG550");
case 14: formatex(g_szWeapon, charsmax(g_szWeapon), "UMP45");
case 15: formatex(g_szWeapon, charsmax(g_szWeapon), "AWP");
case 16: formatex(g_szWeapon, charsmax(g_szWeapon), "TMP");
case 17: formatex(g_szWeapon, charsmax(g_szWeapon), "XM1014");
case 18: formatex(g_szWeapon, charsmax(g_szWeapon), "KNIFE");
}
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);
rg_give_item(id, "weapon_knife");

switch(g_iWp)
{
case 0:
{
rg_give_item(id, "weapon_p90");
rg_set_user_bpammo(id, WEAPON_P90, 100);
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, 32);
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");
}
case 8:
{
rg_give_item(id, "weapon_mac10");
rg_set_user_bpammo(id, WEAPON_MAC10, 90);
rg_give_item(id, "weapon_knife");
}
case 9:
{
rg_give_item(id, "weapon_m4a1");
rg_set_user_bpammo(id, WEAPON_M4A1, 90);
rg_give_item(id, "weapon_knife");
}
case 10:
{
rg_give_item(id, "weapon_ak47");
rg_set_user_bpammo(id, WEAPON_AK47, 90);
rg_give_item(id, "weapon_knife");
}
case 11:
{
rg_give_item(id, "weapon_sg552");
rg_set_user_bpammo(id, WEAPON_SG552, 90);
rg_give_item(id, "weapon_knife");
}
case 12:
{
rg_give_item(id, "weapon_g3sg1");
rg_set_user_bpammo(id, WEAPON_G3SG1, 90);
rg_give_item(id, "weapon_knife");
}
case 13:
{
rg_give_item(id, "weapon_sg550");
rg_set_user_bpammo(id, WEAPON_SG550, 90);
rg_give_item(id, "weapon_knife");
}
case 14:
{
rg_give_item(id, "weapon_ump45");
rg_set_user_bpammo(id, WEAPON_UMP45, 90);
rg_give_item(id, "weapon_knife");
}
case 15:
{
rg_give_item(id, "weapon_awp");
rg_set_user_bpammo(id, WEAPON_AWP, 30);
rg_give_item(id, "weapon_knife");
}
case 16:
{
rg_give_item(id, "weapon_tmp");
rg_set_user_bpammo(id, WEAPON_TMP, 90);
rg_give_item(id, "weapon_knife");
}
case 17:
{
rg_give_item(id, "weapon_xm1014");
rg_set_user_bpammo(id, WEAPON_XM1014, 32);
rg_give_item(id, "weapon_knife");
}
case 18:
{
rg_give_item(id, "weapon_mp5n");
rg_set_user_bpammo(id, WEAPON_MP5N, 120);
rg_give_item(id, "weapon_knife");
}
case 19:
{
rg_give_item(id, "weapon_knife");
set_entvar(id, var_health, 35.0);
}
}
}
#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:
{
finishWurmUp();
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(0, 255, 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, "Разминка Окончена!^nПриятной Игры!");
}
#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)
}

finishWurmUp()
{
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

remove_task(TASK_TIMER_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);
}
При разминке на ножах выдаёт 100 а не 35 hp жизней хотя и выставлено set_entvar(id, var_health, 35.0);
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
2,288
Реакции
1,737
Помог
31 раз(а)
Немного не по теме, но зачем вы выдаете нож два раза?
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
Ребят помогите кто нибудь. Проблема не уходит.
Таким макаром тож не катит rg_set_user_armor(id, 35, ARMOR_VESTHELM);
 
Последнее редактирование:
Сообщения
460
Реакции
68
Помог
7 раз(а)
Pokemoshka, я знаю но почему то тож не даёт((
За совет на счёт set_user_health(id, 35); спасибо протестирую отпишу.
11 Апр 2018
Pokemoshka, не компилит
1523441937876.png
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
346
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Сообщения
460
Реакции
68
Помог
7 раз(а)
melfyk, там и модули другие. Сори повторяюсь
 
Сообщения
496
Реакции
618
Помог
16 раз(а)
Сообщения
460
Реакции
68
Помог
7 раз(а)
Gudaus, о сори тупонул спасибо проверю отпишу.
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
http://amxxmodx.ru/fun/funinc/19-set_user_health-funkciya-ustanavlivaet-zdorove-igroka.html

Можно просто сделать так, чтобы при респавне убавлялись хп)
Люблю костыли))
Тут все и без костылей работает.

Best777, я более, чем уверен, что проблема заключается в не правильном порядке плагинов. Попробуйте данный плагин поставить выше или ниже остальных плагинов. Возможно, какой-то плагин для VIP игроков устанавливает такое значение или AES бонусы при спавне.
 
Сообщения
1,419
Реакции
2,509
Помог
59 раз(а)
Проблема в g_iWp, 159 строчка: switch((g_iWp = random(19))), то есть, подразумевается что 19 режимов, но там указано всего 18 и 18-й это KNIFE у вас, однако в public fwdPlayerSpawnPost(const id) режим KNIFE это 19. Замените:
Код:
-- case 18: formatex(g_szWeapon, charsmax(g_szWeapon), "KNIFE");
++ case 18: formatex(g_szWeapon, charsmax(g_szWeapon), "MP5");
++ case 19: formatex(g_szWeapon, charsmax(g_szWeapon), "KNIFE");
 
Последнее редактирование:
Сообщения
460
Реакции
68
Помог
7 раз(а)
Minni, там в плагине есть возможность отключать не нужные во время разминки. Но я поставлю его вверх и попробую.
w0w, не совсем понял. То есть если у меня счёт идёт с case 0, а я имею 19 позиций для режима
и мне в конце какой кейс дублированный делать?
значит я должен дублировать одну из строк?
У меня разминка на ножах работает просто не даёт 35 а даёт 100 hp при спавне
11 Апр 2018
fantom, Это и есть он.
 
Сообщения
1,419
Реакции
2,509
Помог
59 раз(а)
Best777, в каком смысле дублированный? Получается сейчас что отображается KNIFE но на самом деле это режим где даётся MP5 если всё правильно. Не знаю вы сами добавили или уже так был плагин, но перед режимом ножа должен идти режим на MP5 и тогда будет всё нормально работать. Чтобы было понятно, при появлении (spawn) если g_iWp равняется 19 то значит режим KNIFE и будет выдаваться 35 hp как указано в коде, однако у вас никак не может быть g_iWp 19 так как у вас всего максимальное число g_iWp = 18.
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
w0w, ну вот исходник посмотрите на него. Когда пишет что режим KNIFE то так и есть.
Счёт кейсов идёт с 0 тоесть
case 0: formatex(g_szWeapon, charsmax(g_szWeapon), "P90");
case 1: formatex(g_szWeapon, charsmax(g_szWeapon), "GALIL");
и т.д....
и заканчивается
case 17: formatex(g_szWeapon, charsmax(g_szWeapon), "XM1014");
case 18: formatex(g_szWeapon, charsmax(g_szWeapon), "KNIFE");

в суме имеем 19 строк
потом значение switch((g_iWp = random(19))) выставлено тож 19

PHP:
#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 DM_MODE            // Бесконечный респавн на время разминки
#define STOP_PLUGS        // Отключать плагины на время разминки
#define OFF_RR            // Отключать этот плагин на указанных картах
//#define BLOCK           // Запрет поднятия оружия с земли [по умолчанию выкл.]
#define STOP_STATS      // Отключать запись статистики на время разминки (Работает только с измененным CSStatsX SQL by serfreeman1337) [по умолчанию выкл.]
/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

#if defined SOUND
new const soundRR[][] =    // Указывать звук, например 1.mp3
{   
    "sound/rr/RoundStart.mp3"

}
#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",
        "mode.amxx",
        "sayme_reapi.amxx",
        "aes_bonus_system.amxx",
        "aes_bonus_cstrike.amxx",
        "items_restrict.amxx",       
        "custom_deagle.amxx",
        "custom_m4a1.amxx",
        "custom_ak47.amxx",
        "custom_awp.amxx",
        "vip_custom.amxx"
}
#endif
#if defined STOP_STATS
native stats_set_enabled(params_num)
#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_TIMER_ID = 33264;
const TASK_PROTECTION_ID = 33464;

public plugin_init()
{
    register_plugin("[ReAPI] Random Weapons WarmUP", "2.4.6", "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   
}

public plugin_end() <warmupOff> {}

public plugin_end() <warmupOn> {
    finishWurmUp();
}
#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()
{
    for(new i = 0; i < sizeof(soundRR); i++)
    {
        precache_generic(soundRR[i]);
    }
}
#endif
public fwdRoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
    if(event == ROUND_GAME_COMMENCE)
        EnableHookChain(fwd_NewRound);

public fwdRoundStart()
{
    state warmupOn;
    
#if defined SOUND
    static cmd[64];
    formatex(cmd, 63, "mp3 play ^"%s^"", soundRR[random(sizeof(soundRR))]);
    client_cmd(0, "%s", cmd);
#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(19)))
    {
        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");
        case 8: formatex(g_szWeapon, charsmax(g_szWeapon), "MAC10");
        case 9: formatex(g_szWeapon, charsmax(g_szWeapon), "M4A1");
        case 10: formatex(g_szWeapon, charsmax(g_szWeapon), "AK47");
        case 11: formatex(g_szWeapon, charsmax(g_szWeapon), "SG552");
        case 12: formatex(g_szWeapon, charsmax(g_szWeapon), "G3SG1");
        case 13: formatex(g_szWeapon, charsmax(g_szWeapon), "SG550");
        case 14: formatex(g_szWeapon, charsmax(g_szWeapon), "UMP45");
        case 15: formatex(g_szWeapon, charsmax(g_szWeapon), "AWP");
        case 16: formatex(g_szWeapon, charsmax(g_szWeapon), "TMP");
        case 17: formatex(g_szWeapon, charsmax(g_szWeapon), "XM1014");
        case 18: formatex(g_szWeapon, charsmax(g_szWeapon), "KNIFE");
    }
    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);
    rg_give_item(id, "weapon_knife");

    switch(g_iWp)
    {
        case 0:
        {
            rg_give_item(id, "weapon_p90");
            rg_set_user_bpammo(id, WEAPON_P90, 100);
            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, 32);
            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");
        }
        case 8:
        {
            rg_give_item(id, "weapon_mac10");
            rg_set_user_bpammo(id, WEAPON_MAC10, 90);
            rg_give_item(id, "weapon_knife");
        }
        case 9:
        {
            rg_give_item(id, "weapon_m4a1");
            rg_set_user_bpammo(id, WEAPON_M4A1, 90);
            rg_give_item(id, "weapon_knife");
        }
        case 10:
        {
            rg_give_item(id, "weapon_ak47");
            rg_set_user_bpammo(id, WEAPON_AK47, 90);
            rg_give_item(id, "weapon_knife");
        }
        case 11:
        {
            rg_give_item(id, "weapon_sg552");
            rg_set_user_bpammo(id, WEAPON_SG552, 90);
            rg_give_item(id, "weapon_knife");
        }
        case 12:
        {
            rg_give_item(id, "weapon_g3sg1");
            rg_set_user_bpammo(id, WEAPON_G3SG1, 90);
            rg_give_item(id, "weapon_knife");
        }
        case 13:
        {
            rg_give_item(id, "weapon_sg550");
            rg_set_user_bpammo(id, WEAPON_SG550, 90);
            rg_give_item(id, "weapon_knife");
        }
        case 14:
        {
            rg_give_item(id, "weapon_ump45");
            rg_set_user_bpammo(id, WEAPON_UMP45, 90);
            rg_give_item(id, "weapon_knife");
        }
        case 15:
        {
            rg_give_item(id, "weapon_awp");
            rg_set_user_bpammo(id, WEAPON_AWP, 30);
            rg_give_item(id, "weapon_knife");
        }
        case 16:
        {
            rg_give_item(id, "weapon_tmp");
            rg_set_user_bpammo(id, WEAPON_TMP, 90);
            rg_give_item(id, "weapon_knife");
        }
        case 17:
        {
            rg_give_item(id, "weapon_xm1014");
            rg_set_user_bpammo(id, WEAPON_XM1014, 32);
            rg_give_item(id, "weapon_knife");
        }
        case 18:
        {
            rg_give_item(id, "weapon_mp5n");
            rg_set_user_bpammo(id, WEAPON_MP5N, 120);
            rg_give_item(id, "weapon_knife");
        }
        case 19:
        {
        set_entvar(id, var_health, 35.0);
        }
    }   
}
#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:
        {
            finishWurmUp();
            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(0, 255, 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, "Разминка Окончена!^nПриятной Игры!");
}
#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)
}

finishWurmUp()
{
    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

    remove_task(TASK_TIMER_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);
}
Вопрос если вся выдача корректна названиям оружий то что мне поменять и куда?
И обязательно ли ставить перед KNIFE именно MP5
 
Сообщения
2,288
Реакции
1,737
Помог
31 раз(а)
Best777, у вас вот так. Посмотрите свой код еще раз внимательнее
Код:
case 18:
        {
            rg_give_item(id, "weapon_mp5n");
            rg_set_user_bpammo(id, WEAPON_MP5N, 120);
            rg_give_item(id, "weapon_knife");
        }
        case 19:
        {
                rg_give_item(id, "weapon_knife");
                set_entvar(id, var_health, 35.0);
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
Pokemoshka, я уже изменил как вы писали выше на
PHP:
        case 18:
        {
            rg_give_item(id, "weapon_mp5n");
            rg_set_user_bpammo(id, WEAPON_MP5N, 120);
            rg_give_item(id, "weapon_knife");
        }
        case 19:
        {
        set_entvar(id, var_health, 35.0);
        }
постом вверх плагин который стоит на данный момент
 

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

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