ошибка

D0ffm

Пользователь
Сообщения
82
Реакции
1
у меня через день начала выходить такая ошибка.
это тоже нормально?

L 03/25/2026 - 20:43:19: Start of error session.
L 03/25/2026 - 20:43:19: Info (map "hns_floppytown") (file "addons/amxmodx/logs/error_20260325.log")
L 03/25/2026 - 20:43:19: [ReAPI] get_member_s: 'm_iTeam' has no refs to the base class of an entity 'worldspawn'
L 03/25/2026 - 20:43:19: [AMXX] Run time error 10 (plugin "ecd_helper.amxx") (native "get_member_s") - debug not enabled!
L 03/25/2026 - 20:43:19: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

 
@present, что мета лист ? Сегодня это вылезло
03/26/2026 - 16:57:32: Log file started (file "cstrike/addons/amxmodx/logs/error_20260326.log") (game "cstrike") (amx "1.9.0.5294")
L 03/26/2026 - 16:57:32: [Radio RBS] Ошибка! Невозможно подключиться ни к одному зеркалу проверки лицензии!

Каждый день какая то ошибка по плагину именно ваши скальпель
 
Дело не в скальпеле, у него хорошие плагины. Дайте сначала разобраться, прикрепите все необходимое, чтобы мы могли посмотреть, что не так. У меня сервер уже лет 5-6 стоит без ошибок и все плагины от скальпеля.
 
#include <amxmodx>
#include <reapi>
#include <fakemeta>

new g_iHudObject;
new bool:g_bOnOffPre[MAX_PLAYERS + 1];
new bool:g_bOnOffSpeed[MAX_PLAYERS + 1];

enum PRE_TYPE {
PRE_FOG = 0,
PRE_JUMP,
PRE_DUCK,
PRE_LADDER,
PRE_SLIDE
};

new g_szPreType[PRE_TYPE][] = {
"",
"[Прыжок]",
"[Присел]",
"[Лестница]",
"[Слайд]"
};

enum FOG_TYPE {
FOG_VERYBAD = 0,
FOG_PERFECT,
FOG_GOOD,
FOG_BAD
};

new g_szFogType[FOG_TYPE][] = {
"[очень плохо]",
"[идеальный]",
"[хороший]",
"[плохой]"
};

enum _:HUD_PRE {
HUD_FOG,
FOG_TYPE:HUD_FOGTYPE,
Float:HUD_PREST,
Float:HUD_POST,
PRE_TYPE:HUD_TYPE
};

new g_eHudPre[MAX_PLAYERS + 1][HUD_PRE];

enum PRE_COLOR {
CLR_WHITE = 0,
CLR_GREEN,
CLR_VIOLET,
CLR_BLUE,
CLR_RED,
CLR_YELLOW
};

new PRE_COLOR:g_eSpeedColorDef[MAX_PLAYERS + 1];
new PRE_COLOR:g_eSpeedColorPerf[MAX_PLAYERS + 1];

enum SPEED_TYPE {
ST_DEF = 0,
ST_QUAKE,
ST_NUM
}

new SPEED_TYPE:g_eSpeedType[MAX_PLAYERS + 1];

new bool:g_isPre[MAX_PLAYERS + 1];

new g_iFog[MAX_PLAYERS + 1];
new bool:g_isOldGround[MAX_PLAYERS + 1];
new bool:g_isOldLadder[MAX_PLAYERS + 1];
new bool:g_isSlide[MAX_PLAYERS + 1];
new bool:g_bInDuck[MAX_PLAYERS + 1];
new Float:g_flOldSpeed[MAX_PLAYERS + 1];
new Float:g_flPreSpeed[MAX_PLAYERS + 1];
new g_iPrevButtons[MAX_PLAYERS + 1];
new bool:g_isSGS[MAX_PLAYERS + 1];

new g_isSpec[MAX_PLAYERS + 1];
new Float:g_flHudTime[MAX_PLAYERS + 1];
new bool:g_isShowPre[MAX_PLAYERS + 1];
new Float:g_flPreShowTime[MAX_PLAYERS + 1];

enum PRE_CVAR {
Float:c_iPreHudX,
Float:c_iPreHudY,
c_iPreHud,
}

new g_pCvar[PRE_CVAR];

public plugin_init() {
register_plugin("PreFog", "3.2.4", "WessTorn"); // Спасибо: FAME, Destroman, Borjomi, Denzer, Albertio

bind_pcvar_float(register_cvar("pre_x", "-1.0"), g_pCvar[c_iPreHudX]);
bind_pcvar_float(register_cvar("pre_y", "0.55"), g_pCvar[c_iPreHudY]);
bind_pcvar_num(register_cvar("pre_hud", "1"), g_pCvar[c_iPreHud]);

register_clcmd("say /speedmenu", "cmdPreSpeedMenu");
register_clcmd("say /speed", "cmdPreSpeedMenu");
register_clcmd("say /premenu", "cmdPreSpeedMenu");
register_clcmd("say /pre", "cmdPreSpeedMenu");
register_clcmd("say /showpre", "cmdShowPre");
register_clcmd("say /showspeed", "cmdShowSpeed");

RegisterHookChain(RG_PM_Move, "rgPM_Move");

g_iHudObject = CreateHudSyncObj();
}

public client_connect(id) {
g_bOnOffPre[id] = true;
g_bOnOffSpeed[id] = true;
arrayset(g_eHudPre[id], 0, HUD_PRE);
g_eSpeedColorDef[id] = CLR_WHITE;
g_eSpeedColorPerf[id] = CLR_BLUE;
g_eSpeedType[id] = ST_DEF;
}

public rgPM_Move(id) {
if (!g_bOnOffPre[id] && !g_bOnOffSpeed[id])
return HC_CONTINUE;

if (!is_user_alive(id)) {
if(get_member(id, m_iObserverLastMode) == OBS_ROAMING)
return HC_CONTINUE;

new iTarget = get_member(id, m_hObserverTarget);

g_isSpec[id] = iTarget;
return HC_CONTINUE;
} else {
g_isSpec[id] = 0;
}

new bool:isLadder = bool:(get_entvar(id, var_movetype) == MOVETYPE_FLY);
new bool:isGround = bool:(get_entvar(id, var_flags) & FL_ONGROUND);
isGround = isGround || isLadder;

new Float:flVelocity[3]; get_entvar(id, var_velocity, flVelocity);
new Float:flSpeed = vector_hor_length(flVelocity);
new Float:flSpeedDef = vector_length(flVelocity);

new iOldButtons = get_entvar(id, var_oldbuttons);

new Float:flMaxSpeed = get_maxspeed(id);

g_bInDuck[id] = bool:(get_entvar(id, var_flags) & FL_DUCKING);

show_prespeed(id, flSpeed, flSpeedDef);

if (isGround) {
g_iFog[id]++;

if (g_iFog[id] == 1) {
g_isSGS[id] = g_bInDuck[id];
}

if (!g_isOldGround[id]) {
g_flPreSpeed[id] = flSpeed;
}
} else {
if (isUserSurfing(id)) {
g_iFog[id] = 0;
g_isSlide[id] = true;
} else {
if (g_isSlide[id]) {
format_prest(id, PRE_SLIDE, g_flOldSpeed[id]);
g_isSlide[id] = false;
}
}

if (g_iFog[id] == 1) {
g_flOldSpeed[id] = flSpeed;
}

if (g_isOldGround[id]) {
new bool:isDuck = !g_bInDuck[id] && !(iOldButtons & IN_JUMP) && g_iPrevButtons[id] & IN_DUCK;
new bool:isJump = !isDuck && iOldButtons & IN_JUMP && !(g_iPrevButtons[id] & IN_JUMP);

if (g_isOldLadder[id]) {
format_prest(id, PRE_LADDER, flSpeed);
} else {
if (g_iFog[id] > 10) {
if (isDuck) {
format_prest(id, PRE_DUCK, g_flOldSpeed[id]);
}
if (isJump) {
format_prest(id, PRE_JUMP, g_flOldSpeed[id]);
}
} else {
new FOG_TYPE:iFogType;

if (isJump) {
if (flSpeed < flMaxSpeed && g_iFog[id] == 1)
iFogType = FOG_PERFECT;

if (!iFogType) {
switch(g_iFog[id]) {
case 1..2: iFogType = FOG_GOOD;
case 3: iFogType = FOG_BAD;
default: iFogType = FOG_VERYBAD;
}
}
format_prest(id, PRE_FOG, g_flOldSpeed[id], g_flPreSpeed[id], g_iFog[id], iFogType);
} else if (isDuck) {
if (g_isSGS[id]) {
switch(g_iFog[id]) {
case 3: iFogType = FOG_PERFECT;
case 4: iFogType = FOG_GOOD;
case 5: iFogType = FOG_BAD;
default: iFogType = FOG_VERYBAD;
}
} else {
switch(g_iFog[id]) {
case 2: iFogType = FOG_PERFECT;
case 3: iFogType = FOG_GOOD;
case 4: iFogType = FOG_BAD;
default: iFogType = FOG_VERYBAD;
}
}
format_prest(id, PRE_FOG, g_flOldSpeed[id], g_flPreSpeed[id], g_iFog[id], iFogType);
}
}
}
}

g_isSGS[id] = false
g_iFog[id] = 0;
}

g_isOldGround[id] = isGround;
g_isOldLadder[id] = isLadder;
g_iPrevButtons[id] = iOldButtons;
g_flOldSpeed[id] = flSpeed;

return HC_CONTINUE;
}

stock format_prest(id, PRE_TYPE:iPreType, Float:flPost, Float:flPre = 0.0, iFog = 0, FOG_TYPE:iType = FOG_VERYBAD) {
g_isPre[id] = true;
g_eHudPre[id][HUD_TYPE] = iPreType;
g_eHudPre[id][HUD_POST] = flPost;
g_eHudPre[id][HUD_PREST] = flPre;
g_eHudPre[id][HUD_FOG] = iFog;
g_eHudPre[id][HUD_FOGTYPE] = iType;
}

stock show_prespeed(id, Float:flSpeed, Float:flSpeedDef = 0.0) {
new Float:g_flGameTime = get_gametime();

if(g_flHudTime[id] + 0.05 > g_flGameTime)
return;

if (!g_isShowPre[id]) {
g_isShowPre[id] = g_isPre[id];
if (g_isShowPre[id]) {
g_flPreShowTime[id] = g_flGameTime + 1.0;
g_isPre[id] = false;
}
} else {
if (g_isPre[id]) {
g_flPreShowTime[id] = g_flGameTime + 1.0;
g_isPre[id] = false;
}
}

if(g_flPreShowTime[id] < g_flGameTime) {
g_isShowPre[id] = false;
arrayset(g_eHudPre[id], 0, HUD_PRE);
}

new iColors[3];

new Float:val;
val = convertToRange(floatmin(flSpeed, 285.0), 40.0, 285.0); // в квар

FormatRGBHud(id, val, iColors);

new szSpeed[32];
if (g_bOnOffSpeed[id]) {
switch (g_eSpeedType[id]) {
case ST_DEF: formatex(szSpeed, charsmax(szSpeed), "%.0f u/s", flSpeed);
case ST_QUAKE: formatex(szSpeed, charsmax(szSpeed), "%.0f units/sec^n%.0f velocity", flSpeedDef, flSpeed);
case ST_NUM: formatex(szSpeed, charsmax(szSpeed), "%.0f", flSpeed);
}
}

for (new i = 1; i <= MaxClients; i++) {
if (i == id || g_isSpec == id) {
set_hudmessage(iColors[0], iColors[1], iColors[2], g_pCvar[c_iPreHudX], g_pCvar[c_iPreHudY], 0, 1.0, 0.15, 0.0, 0.0, g_pCvar[c_iPreHud]);

if (g_bOnOffPre && g_isShowPre[id] && (g_eHudPre[id][HUD_POST] > 30.0)) {
switch (g_eHudPre[id][HUD_TYPE]) {
case HUD_FOG: {
ShowSyncHudMsg(i, g_iHudObject, "%s^n^n%d %s^n%.2f^n%.2f", g_bOnOffSpeed ? szSpeed : "", g_eHudPre[id][HUD_FOG], g_szFogType[g_eHudPre[id][HUD_FOGTYPE]], g_eHudPre[id][HUD_PREST], g_eHudPre[id][HUD_POST]);
}
default: {
ShowSyncHudMsg(i, g_iHudObject, "%s^n^n%s^n%.2f", g_bOnOffSpeed ? szSpeed : "", g_szPreType[g_eHudPre[id][HUD_TYPE]], g_eHudPre[id][HUD_POST]);
}
}
} else {
ShowSyncHudMsg(i, g_iHudObject, "%s", g_bOnOffSpeed ? szSpeed : "");
}
}
}

g_flHudTime[id] = g_flGameTime;
}

public cmdPreSpeedMenu(id) {
if (!is_user_connected(id))
return;

new hMenu = menu_create("\rПрефог меню:", "SpeedMenuCode");

if (g_bOnOffSpeed[id]) {
menu_additem(hMenu, "Скорость - \yВкл", "1");
} else {
menu_additem(hMenu, "Скорость - \dВыкл", "1");
}

if (g_bOnOffPre[id]) {
menu_additem(hMenu, "Префог - \yВкл", "2");
} else {
menu_additem(hMenu, "Префог - \dВыкл", "2");
}

switch (g_eSpeedType[id]) {
case ST_DEF: menu_additem(hMenu, "Тип скорости - \yСтандарт", "3");
case ST_QUAKE: menu_additem(hMenu, "Тип скорости - \yКвакер", "3");
case ST_NUM: menu_additem(hMenu, "Тип скорости - \yЧисло", "3");
}

switch (g_eSpeedColorPerf[id]) {
case CLR_WHITE: menu_additem(hMenu, "Цвет префект - \yБелый", "4");
case CLR_GREEN: menu_additem(hMenu, "Цвет префект - \yЗеленый", "4");
case CLR_VIOLET: menu_additem(hMenu, "Цвет префект - \yФиолетовый", "4");
case CLR_BLUE: menu_additem(hMenu, "Цвет префект - \yСиний", "4");
case CLR_RED: menu_additem(hMenu, "Цвет префект - \yКрасный", "4");
case CLR_YELLOW: menu_additem(hMenu, "Цвет префект - \yЖелтый", "4");
}

switch (g_eSpeedColorDef[id]) {
case CLR_WHITE: menu_additem(hMenu, "Цвет по умолчанию - \yБелый", "5");
case CLR_GREEN: menu_additem(hMenu, "Цвет по умолчанию - \yЗеленый", "5");
case CLR_VIOLET: menu_additem(hMenu, "Цвет по умолчанию - \yФиолетовый", "5");
case CLR_BLUE: menu_additem(hMenu, "Цвет по умолчанию - \yСиний", "5");
case CLR_RED: menu_additem(hMenu, "Цвет по умолчанию - \yКрасный", "5");
case CLR_YELLOW: menu_additem(hMenu, "Цвет по умолчанию - \yЖелтый", "5");
}

menu_addblank2(hMenu);
menu_additem(hMenu, "\wВыход", "222", 0);

menu_setprop(hMenu, MPROP_PERPAGE, 0);
//menu_setprop(hMenu, MPROP_EXITNAME, "Выход")
menu_setprop(hMenu, MPROP_EXIT, MEXIT_ALL)

menu_display(id, hMenu, 0);
}

public SpeedMenuCode(id, hMenu, item) {
if(item == MENU_EXIT)
{
menu_destroy(hMenu);
return PLUGIN_HANDLED;
}

new data[6], iName[128];
new iaccess, callback;

menu_item_getinfo(hMenu, item, iaccess, data, 5, iName, 127, callback);
menu_destroy(hMenu);

if(str_to_num(data) == 222)
return PLUGIN_HANDLED;

switch (item) {
case 0: {
cmdShowSpeed(id);
cmdPreSpeedMenu(id);
}
case 1: {
cmdShowPre(id);
cmdPreSpeedMenu(id);
}
case 2: {
switch (g_eSpeedType[id]) {
case ST_DEF: g_eSpeedType[id] = ST_QUAKE;
case ST_QUAKE: g_eSpeedType[id] = ST_NUM;
case ST_NUM: g_eSpeedType[id] = ST_DEF;
}

cmdPreSpeedMenu(id);
}
case 3: {
switch (g_eSpeedColorPerf[id]) {
case CLR_WHITE: g_eSpeedColorPerf[id] = CLR_GREEN;
case CLR_GREEN: g_eSpeedColorPerf[id] = CLR_VIOLET;
case CLR_VIOLET: g_eSpeedColorPerf[id] = CLR_BLUE;
case CLR_BLUE: g_eSpeedColorPerf[id] = CLR_RED;
case CLR_RED: g_eSpeedColorPerf[id] = CLR_YELLOW;
case CLR_YELLOW: g_eSpeedColorPerf[id] = CLR_WHITE;
}

cmdPreSpeedMenu(id);
}
case 4: {
switch (g_eSpeedColorDef[id]) {
case CLR_WHITE: g_eSpeedColorDef[id] = CLR_GREEN;
case CLR_GREEN: g_eSpeedColorDef[id] = CLR_VIOLET;
case CLR_VIOLET: g_eSpeedColorDef[id] = CLR_BLUE;
case CLR_BLUE: g_eSpeedColorDef[id] = CLR_RED;
case CLR_RED: g_eSpeedColorDef[id] = CLR_YELLOW;
case CLR_YELLOW: g_eSpeedColorDef[id] = CLR_WHITE;
}

cmdPreSpeedMenu(id);
}
}
return PLUGIN_HANDLED;
}

public cmdShowPre(id) {
g_bOnOffPre[id] = g_bOnOffPre[id] ? false : true;

if (!g_bOnOffPre[id])
client_print_color(id, print_team_red, "^1[^4Сервер^1] Показ Фога/Престрейфа: ^3Выкл^1");
else
client_print_color(id, print_team_red, "^1[^4Сервер^1] Показ Фога/Престрейфа: ^4Вкл^1");
}

public cmdShowSpeed(id) {
g_bOnOffSpeed[id] = g_bOnOffSpeed[id] ? false : true;

if (!g_bOnOffSpeed[id])
client_print_color(id, print_team_red, "^1[^4Сервер^1] Показ скорости: ^3Выкл^1");
else
client_print_color(id, print_team_red, "^1[^4Сервер^1] Показ скорости: ^4Вкл^1");
}

FormatRGBHud(id, const Float:val, colors[3]) {
new iColorPerf[3], iColorDef[3];

switch (g_eSpeedColorPerf[id]) {
case CLR_WHITE: {
iColorPerf = {255, 255, 255};
}
case CLR_GREEN: {
iColorPerf = {0, 250, 0};
}
case CLR_VIOLET: {
iColorPerf = {250, 0, 250};
}
case CLR_BLUE: {
iColorPerf = {0, 150, 250};
}
case CLR_RED: {
iColorPerf = {250, 0, 0};
}
case CLR_YELLOW: {
iColorPerf = {250, 250, 0};
}
}

switch (g_eSpeedColorDef[id]) {
case CLR_WHITE: {
iColorDef = g_eHudPre[id][HUD_FOGTYPE] == FOG_PERFECT && g_eHudPre[id][HUD_PREST] > 30.0 ? iColorPerf : {255, 255, 255};
}
case CLR_GREEN: {
iColorDef = g_eHudPre[id][HUD_FOGTYPE] == FOG_PERFECT && g_eHudPre[id][HUD_PREST] > 30.0 ? iColorPerf : {0, 250, 0};
}
case CLR_VIOLET: {
iColorDef = g_eHudPre[id][HUD_FOGTYPE] == FOG_PERFECT && g_eHudPre[id][HUD_PREST] > 30.0 ? iColorPerf : {250, 0, 250};
}
case CLR_BLUE: {
iColorDef = g_eHudPre[id][HUD_FOGTYPE] == FOG_PERFECT && g_eHudPre[id][HUD_PREST] > 30.0 ? iColorPerf : {0, 150, 250};
}
case CLR_RED: {
iColorDef = g_eHudPre[id][HUD_FOGTYPE] == FOG_PERFECT && g_eHudPre[id][HUD_PREST] > 30.0 ? iColorPerf : {250, 0, 0};
}
case CLR_YELLOW: {
iColorDef = g_eHudPre[id][HUD_FOGTYPE] == FOG_PERFECT && g_eHudPre[id][HUD_PREST] > 30.0 ? iColorPerf : {250, 250, 0};
}
}

colors[0] = floatround(float(iColorPerf[0] - iColorDef[0]) * val + iColorDef[0]);
colors[1] = floatround(float(iColorPerf[1] - iColorDef[1]) * val + iColorDef[1]);
colors[2] = floatround(float(iColorPerf[2] - iColorDef[2]) * val + iColorDef[2]);
}

stock Float: convertToRange(Float:value, Float:FromMin, Float:FromMax, Float:ToMin = 0.0, Float:ToMax = 1.0) {
return floatclamp((value-FromMin) / (FromMax-FromMin) * (ToMax-ToMin + ToMin), ToMin, ToMax);
}

stock Float:vector_hor_length(Float:flVel[3]) {
new Float:flNorma = floatpower(flVel[0], 2.0) + floatpower(flVel[1], 2.0);
if (flNorma > 0.0)
return floatsqroot(flNorma);

return 0.0;
}

stock Float:get_maxspeed(id) {
new Float:flMaxSpeed;
flMaxSpeed = get_entvar(id, var_maxspeed);

return flMaxSpeed * 1.2;
}

stock bool:isUserSurfing(id) {
new Float:eek:rigin[3], Float:dest[3];
get_entvar(id, var_origin, origin);

dest[0] = origin[0];
dest[1] = origin[1];
dest[2] = origin[2] - 1.0;

new Float:flFraction;

engfunc(EngFunc_TraceHull, origin, dest, 0,
g_bInDuck[id] ? HULL_HEAD : HULL_HUMAN, id, 0);

get_tr2(0, TR_flFraction, flFraction);

if (flFraction >= 1.0) return false;

get_tr2(0, TR_vecPlaneNormal, dest);

return dest[2] <= 0.7;
}
#include <amxmodx>
#include <fun>
#include <reapi>

#define PLUGIN "HNS Train Admin"
#define VERSION "1.0.0"
#define AUTHOR "ar222"

new bool:g_ValueHook[MAX_PLAYERS+1];

new gChecks[33];
new gGoChecks[33];
new bool:gCheckpoint[33];
new gCheckpointPos[33][3];
new Float:gCheckpointAngle[33][3];
new gLastCheckpointPos[33][3];
new Float:gLastCheckpointAngle[33][3];

new hnstrainingmenu;
new ind;
//Hook Stuff
new bool:gHooked[33];
new gHook[33];
new gCvarHookSpeed;
new gBeam;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

register_clcmd("say /trening", "cmdAbilityMenu");
register_clcmd("say_team /trening", "cmdAbilityMenu");
register_clcmd("say trening", "cmdAbilityMenu");
register_clcmd("say_team trening", "cmdAbilityMenu");
register_clcmd("amxtrenmenu", "cmdAbilityMenu");

//Hook stuff
gCvarHookSpeed = register_cvar( "hns_hookspeed", "660" );

hnstrainingmenu = register_menuid("HNS Training Menu");
register_menucmd(hnstrainingmenu, 1023, "handleAbilityMenu");
}

public plugin_precache() {
gBeam = precache_model("sprites/zbeam4.spr");
ind = precache_model("models/rpgrocket.mdl");
precache_sound("weapons/xbow_fire1.wav");
}

public client_putinserver(id)
{
g_ValueHook[id]=false;
}

// HOOK
/////////////////////////////////////////////
public cmdHookOn(id)
{
if ( is_user_alive(id) && !gHooked[id] && g_ValueHook[id] )
hookThrow(id);

return PLUGIN_HANDLED;
}

public cmdHookOff(id) {
if ( gHooked[id])
hookRemove(id);

return PLUGIN_HANDLED;
}

public hookThink(param[])
{
new id = param[0];
new HookEnt = param[1];

if ( !is_user_alive(id) || !is_entity(HookEnt) || !is_user_connected(id) ) {
remove_task(id + 856);
return PLUGIN_HANDLED;
}

static Float:fVelocity[3];
fVelocity = Float:{0.0, 0.0, 1.0};

if ( gHooked[id] ) {
static Float:fHookOrigin[3], Float:fUsrOrigin[3], Float:fDist;
get_entvar(HookEnt, var_origin, fHookOrigin);
get_entvar(id, var_origin, fUsrOrigin);

fDist = vector_distance(fHookOrigin, fUsrOrigin);

if (fDist >= 38.0) {
new Float:fSpeed = get_pcvar_float(gCvarHookSpeed);

fSpeed *= 0.52;

fVelocity[0] = (fHookOrigin[0] - fUsrOrigin[0]) * (2.0 * fSpeed) / fDist;
fVelocity[1] = (fHookOrigin[1] - fUsrOrigin[1]) * (2.0 * fSpeed) / fDist;
fVelocity[2] = (fHookOrigin[2] - fUsrOrigin[2]) * (2.0 * fSpeed) / fDist;
}
}
set_entvar(id, var_velocity, fVelocity);
return PLUGIN_HANDLED;
}

public hookThrow(id) {
static Float:fAngle[3], iStart[3];
get_user_origin( id, iStart, 3 );
get_entvar( id, var_angles, fAngle );

gHook[id] = rg_create_entity("info_target");

if( is_entity( gHook[id] ) ) {
set_entvar( gHook[id], var_classname, "Hook" );

new Float:fStart[ 3 ];
fStart[0] = float( iStart[0] );
fStart[1] = float( iStart[1] );
fStart[2] = float( iStart[2] );

set_entvar(gHook[id], var_model, "models/rpgrocket.mdl" );
set_entvar(gHook[id], var_modelindex, ind );
set_entvar(gHook[id], var_origin, fStart );

new Float:Minss[3], Float:Maxss[3];
Minss[0] = -2.840000;
Minss[1] = -14.180000;
Minss[2] = -2.840000;
Maxss[0] = 2.840000;
Maxss[1] = 0.020000;
Maxss[2] = 2.840000;
new Float:GlSize[3];
GlSize[0]=Maxss[0]-Minss[0];
GlSize[1]=Maxss[1]-Minss[1];
GlSize[2]=Maxss[2]-Minss[2];
set_entvar(gHook[id], var_mins, Minss);
set_entvar(gHook[id], var_maxs, Maxss);
set_entvar(gHook[id], var_size, GlSize);
set_entvar( gHook[id], var_angles, fAngle );
set_entvar( gHook[id], var_solid, SOLID_BBOX );
set_entvar( gHook[id], var_movetype, MOVETYPE_NONE );
set_entvar( gHook[id], var_owner, id );

// Make the line between Hook and Player
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_BEAMENTPOINT );
write_short( id ); // Startent
write_coord( iStart[0] ); // End pos
write_coord( iStart[1] );
write_coord( iStart[2] );
write_short( gBeam ); // Sprite
write_byte( 1 ); // StartFrame
write_byte( 1 ); // FrameRate
write_byte( 600 ); // Life
write_byte( 16 ); // Width
write_byte( 3 ); // Noise
write_byte( random_num(1, 255) ); // R
write_byte( random_num(1, 255) ); // G
write_byte( random_num(1, 255) ); // B
write_byte( 192 ); // Brightness
write_byte( 0 ); // Scroll speed
message_end();

message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_SPARKS );
write_coord( iStart[0] );
write_coord( iStart[1] );
write_coord( iStart[2] );
message_end();

emit_sound(id, CHAN_BODY, "weapons/xbow_fire1.wav", VOL_NORM, ATTN_NORM, 0, PITCH_HIGH);

gHooked[id] = true;

static TaskData[2];
TaskData[0] = id;
TaskData[1] = gHook[id];

if (!task_exists(id + 856)) {
TaskData[0] = id;
TaskData[1] = gHook[id];
hookThink(TaskData);

set_task(0.1, "hookThink", id + 856, TaskData, 2, "b");
}
}
}

public hookRemove(id)
{
if( is_entity(gHook[id]) )
rg_remove_entity(gHook[id]);

gHook[id] = 0;

if(is_user_connected(id)) {
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, _, id );
write_byte( TE_KILLBEAM );
write_short( id );
message_end();
}

gHooked[id] = false;
return 1;
}

public cmdAbilityMenu(id)
{
if(get_user_flags(id) & ADMIN_BAN)
{
new players;
players = get_playersnum(1);

if(players > 6)
{
client_print_color(id, 0, "^1[^4Сервер^1] Вызов тренинг меню запрещен игроков более 6!");
console_print(id, "Вызов тренинг меню запрещен игроков более 6!");
return;
}
if(!is_user_alive(id))
{
client_print_color(id, 0, "^1[^4Сервер^1] Вызов тренинг меню не доступен для мертвых!");
console_print(id, "Вызов тренинг меню не доступен для мертвых!");
return;
}
/* Menu Start */
new szBuffer[1024], iLen;

iLen = formatex(szBuffer, sizeof szBuffer - 1, "\w[ \yМеню тренинг \w]^n^n");
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r1. \wПоставить чекпоинт^n");
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r2. \wПереместиться к чекпоинту^n^n");

iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, g_ValueHook[id] ? "\r3. \wХук: \y[\rвкл\y]^n^n" : "\r3. \wХук: \y[\rвыкл]\y]^n^n");

iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, get_user_noclip(id) ? "\r4. \wСвободный полет: \yвкл^n" : "\r4. \wСвободный полет: \rвыкл^n");
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, get_user_godmode(id) ? "\r5. \wБессмертие: \yвкл^n^n" : "\r5. \wБессмертие: \r%выкл^n^n");

iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r0. \wВыйти");

new iKeys = (1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9);
show_menu(id, iKeys, szBuffer, -1, "HNS Training Menu");
/* Menu End */
}
else
{
client_print_color(id, 0, "^1[^4Сервер^1] Вызов тренинг меню доступен только для админа!");
console_print(id, "Вызов тренинг меню доступен только для админа!");
}
}

public handleAbilityMenu(id, num) {
switch (num)
{
case 0: Checkpoint(id);

case 1: GoCheckpoint(id);

case 2:
{
g_ValueHook[id]=!g_ValueHook[id];
if(!g_ValueHook[id])
cmdHookOff(id);
else
cmdHookOn(id);
}
case 3:
{
if (get_user_noclip(id)) {
set_user_noclip(id, 0);
//client_print_color(id, 0, "%L", LANG_PLAYER, "NOCLIP_OFF", PREFIX);
}
else {
set_user_noclip(id, 1);
//client_print_color(id, 0, "%L", LANG_PLAYER, "NOCLIP_ON", PREFIX);
}
}
case 4:
{
if (get_user_godmode(id)) {
set_user_godmode(id, 0);
//client_print_color(id, 0, "%L", LANG_PLAYER, "GODMODE_OFF", PREFIX);
}
else {
set_user_godmode(id, 1);
//client_print_color(id, 0, "%L", LANG_PLAYER, "GODMODE_ON", PREFIX);
}
}

case 9: return PLUGIN_HANDLED;
}

cmdAbilityMenu(id);
return PLUGIN_HANDLED;
}

public Checkpoint(id)
{
if (gCheckpoint[id])
{
gLastCheckpointPos[id][0]=gCheckpointPos[id][0];
gLastCheckpointPos[id][1]=gCheckpointPos[id][1];
gLastCheckpointPos[id][2]=gCheckpointPos[id][2];

gLastCheckpointAngle[id][0]=gCheckpointAngle[id][0];
gLastCheckpointAngle[id][1]=gCheckpointAngle[id][1];
gLastCheckpointAngle[id][2]=gCheckpointAngle[id][2];
}

get_entvar(id, var_origin, gCheckpointPos[id]);
get_entvar(id, var_v_angle, gCheckpointAngle[id]);

gCheckpointPos[id][2] += 5;
gCheckpoint[id]=true;
gChecks[id]++;

return PLUGIN_HANDLED;
}

public GoCheckpoint(id)
{
if (!gCheckpoint[id])
{
return PLUGIN_CONTINUE;
}

move_to_check(id);
gGoChecks[id]++;

set_entvar(id, var_flags, get_entvar(id, var_flags) | FL_DUCKING);

new Float:Minss[3], Float:Maxss[3];
Minss[0] = -16.0;
Minss[1] = -16.0;
Minss[2] = -18.0;
Maxss[0] = 16.0;
Maxss[1] = 16.0;
Maxss[2] = 18.0;
new Float:GlSize[3];
GlSize[0]=Maxss[0]-Minss[0];
GlSize[1]=Maxss[1]-Minss[1];
GlSize[2]=Maxss[2]-Minss[2];
set_entvar(id, var_mins, Minss);
set_entvar(id, var_maxs, Maxss);
set_entvar(id, var_size, GlSize);

return PLUGIN_HANDLED;
}

stock move_to_check(id)
{
new vVelocity[3];
set_entvar( id, var_velocity, vVelocity );
/*
new CurOrig[3];
get_user_origin(id,CurOrig);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_TELEPORT);
write_coord(CurOrig[0]);
write_coord(CurOrig[1]);
write_coord(CurOrig[2]);
message_end();
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_TELEPORT);
write_coord(gCheckpointPos[id][0]);
write_coord(gCheckpointPos[id][1]);
write_coord(gCheckpointPos[id][2]);
message_end();
*/
//Move To Checkpoint
set_entvar(id, var_origin, gCheckpointPos[id]);
set_entvar(id, var_angles, gCheckpointAngle[id]);
set_entvar(id, var_fixangle, 1);

return PLUGIN_CONTINUE;
}
Сообщение автоматически объединено:

поставил два этих плагина (больше ничего не делал
Сообщение автоматически объединено:

@SKAJIbnEJIb, я не думаю что с этими двумя плагинами пошли конфликты со всеми вашими. на сколько я понимаю плагины не могут найти ключ? ну с ECD что то другое в момент скана если сменилась карта то может выскочить ошибка или человек прошел скан а его забанило (было такое 2 раза) банит с причиной что вышел с сервера
 
Последнее редактирование:
подробнее пишите, если речь про
Ошибка! Невозможно подключиться ни к одному зеркалу проверки лицензии!
то это проблема хостинга, по каким то причинам не удалось ему соединиться с сервером проверки лицензии. Если это майарена, то не удивительно, их сильно ддосят
 
  • Нравится
Реакции: devl

Похожие темы

Сверху
Назад