Доброго времени суток.
Сервер стоял на 5м билде на хостинге, сегодня перешёл на ВДС и установил 6й билд. Проблема в том, что на 5м билде скорость была нормальная, плагин работал как нужно, а на 6м скорость как при спидхаке, тоесть очень быстрая. Скорость пробывал менять в исходнике, ничего не вышло. Я не понимаю в чём проблема, может быть кто-то сможет подсказать? Благодарю.
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
// #include <money_ul>
#include <ColorChat>
#include <fun>
#if !defined Ham_CS_Player_ResetMaxSpeed
#define Ham_CS_Player_ResetMaxSpeed Ham_Item_PreFrame
#endif
#include <cstrike>
#define PLUGIN "[Amx] GodMode"
#define VERSION "04.08.2016"
#define AUTHOR "vk.com/CSPlugin"
/** pId, flSpeed */
#define Player_SetSpeed(%1,%2) set_pev(%1, pev_maxspeed, %2), engfunc(EngFunc_SetClientMaxspeed, %1, %2), g_bSpeed[%1] = true
#define CVAR_GM_COST 7000
#define CVAR_GM_TIME 10
#define CVAR_GM_DELAY 60.0
#define CVAR_SPEED_COST 1000
#define CVAR_SPEED_VALUE 1500.0
#define CVAR_SPEED_DEFAULT 400.0
enum (+= 1000)
{
TASK_PLAYER_GODMODE = 444,
TASK_PLAYER_DELAY
}
new bool:g_bBuy[33], g_iTimeGodMode[33];
/** pId */
#define IsBuy(%1) (bool:(g_bBuy[%1]))
new bool:g_bSpeed[33];
/** pId */
#define IsSpeed(%1) (bool:(g_bSpeed[%1]))
new g_iSyncHudObject;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("gmgmgmgmgm", "ClCmd_Buy_GodMode");
register_clcmd("speed", "ClCmd_Buy_Speed");
register_clcmd("vipspeed", "Easy_Speed");
RegisterHam(Ham_Killed, "player", "HamHook_Killed", false)
RegisterHam(Ham_CS_Player_ResetMaxSpeed, "player", "HamHook_ResetMaxSpeed", false)
g_iSyncHudObject = CreateHudSyncObj();
}
public client_putinserver(pId)
{
g_bBuy[pId] = false;
g_bSpeed[pId] = false;
}
public HamHook_ResetMaxSpeed(pId)
{
if(!IsSpeed(pId)) return HAM_IGNORED;
return !is_user_connected(pId) ? HAM_IGNORED : HAM_SUPERCEDE;
}
public HamHook_Killed(pId)
{
if(IsSpeed(pId)) g_bSpeed[pId] = false;
}
public ClCmd_Buy_GodMode(pId)
{
if(IsBuy(pId))
{
ColorChat(pId, GREEN, "^4[Магазин прокачки]^1 Вы уже приобрели бессмертие!");
return PLUGIN_HANDLED;
}
else
{
new iMoney = cs_get_user_money(pId);
if(iMoney < CVAR_GM_COST)
{
ColorChat(pId, GREEN, "^4[Магазин прокачки]^1 У вас недостаточно средств!");
return PLUGIN_HANDLED;
}
g_bBuy[pId] = true;
cs_set_user_money(pId, iMoney - CVAR_GM_COST);
set_pev(pId, pev_takedamage, DAMAGE_NO);
ColorChat(pId, GREEN, "^4[Магазин прокачки]^1 Вы приобрели неуязвимость на %d cек за %d$.", CVAR_GM_TIME, CVAR_GM_COST);
set_task(1.0, "Task_Player_GodMode", pId + TASK_PLAYER_GODMODE, .flags = "a", .repeat = (g_iTimeGodMode[pId] = CVAR_GM_TIME + 1));
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public Easy_Speed(pId)
{
if(g_bBuy[pId])
{
g_bBuy[pId] = false;
g_bSpeed[pId] = false;
Player_SetSpeed(pId, CVAR_SPEED_DEFAULT);
return PLUGIN_HANDLED;
}
else
{
g_bBuy[pId] = true;
g_bSpeed[pId] = false;
Player_SetSpeed(pId, CVAR_SPEED_VALUE);
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public ClCmd_Buy_Speed(pId)
{
if(IsSpeed(pId))
{
ColorChat(pId, GREEN, "^4[Магазин прокачки]^1 Вы уже приобрели скорость !");
return PLUGIN_HANDLED;
}
else
{
new iMoney = cs_get_user_money(pId);
if(iMoney < CVAR_SPEED_COST)
{
ColorChat(pId, GREEN, "^4[Магазин прокачки]^1 У вас недостаточно средств!");
return PLUGIN_HANDLED;
}
g_bBuy[pId] = true;
cs_set_user_money(pId, iMoney - CVAR_SPEED_COST);
Player_SetSpeed(pId, CVAR_SPEED_VALUE);
ColorChat(pId, GREEN, "^4[Магазин прокачки]^1 Вы приобрели большую скорость!");
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public Task_Player_GodMode(pId)
{
if(pId > TASK_PLAYER_GODMODE) pId -= TASK_PLAYER_GODMODE;
if(!is_user_alive(pId))
{
if(task_exists(pId + TASK_PLAYER_GODMODE))
{
remove_task(pId + TASK_PLAYER_GODMODE);
}
g_bBuy[pId] = false;
return;
}
set_hudmessage(255, 255, 255, 0.01, 0.55, 0, 6.0, 1.5, 0.1, 1.0, -1);
if(--g_iTimeGodMode[pId])
{
set_user_rendering(pId,kRenderFxGlowShell,255,20,147,kRenderNormal,50);
ShowSyncHudMsg(pId, g_iSyncHudObject, "Бессмертие: %d с.", g_iTimeGodMode[pId]);
}
else
{
g_bBuy[pId] = false;
set_pev(pId, pev_takedamage, DAMAGE_AIM);
set_user_rendering(pId);
ColorChat(pId, GREEN, "^4[Магазин прокачки]^1 Вы снова уязвимы!");
set_task(CVAR_GM_DELAY, "Task_Player_Delay", pId + TASK_PLAYER_DELAY);
}
}
public Task_Player_Delay(pId)
{
if(pId > TASK_PLAYER_GODMODE) pId -= TASK_PLAYER_GODMODE;
if(!is_user_alive(pId)) return;
g_bBuy[pId] = false;
}