Witam. Mam prośbę. Nie wiem gdzie ten temat napisać ale jak coś to przenieście. Mógłby ktoś przerobić ten plugin
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <engine>
#include <hamsandwich>
#define TASK_HOOK_THINK 865367
#define MAX_PLAYERS 32
new Float:g_vecHookOrigin[MAX_PLAYERS + 1][3];
new g_pSpriteRicho2, g_pSpriteLgtning;
public plugin_init()
{
register_plugin("[JBE] Hook", "1.0", "Sanlerus");
register_clcmd("+hook", "ClCmd_HookOn");
register_clcmd("-hook", "ClCmd_HookOff");
}
public plugin_precache()
{
engfunc(EngFunc_PrecacheSound, "jb_engine/hook.wav");
g_pSpriteLgtning = engfunc(EngFunc_PrecacheModel, "sprites/lgtning.spr");
g_pSpriteRicho2 = engfunc(EngFunc_PrecacheModel, "sprites/richo2.spr");
}
public ClCmd_HookOn(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(task_exists(id+TASK_HOOK_THINK))
{
return PLUGIN_HANDLED;
}
if(is_user_alive(id))
{
new iOrigin[3];
get_user_origin(id, iOrigin, 3);
g_vecHookOrigin[id][0] = float(iOrigin[0]);
g_vecHookOrigin[id][1] = float(iOrigin[1]);
g_vecHookOrigin[id][2] = float(iOrigin[2]);
CREATE_SPRITE(g_vecHookOrigin[id], g_pSpriteRicho2, 10, 255);
emit_sound(id, CHAN_STATIC, "jb_engine/hook.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
jbe_hook_think(id+TASK_HOOK_THINK);
set_task(0.1, "jbe_hook_think", id+TASK_HOOK_THINK, _, _, "b");
}
}
return PLUGIN_HANDLED;
}
public ClCmd_HookOff(id)
{
if(get_user_flags(id) & ADMIN_IMMUNITY)
{
if(task_exists(id+TASK_HOOK_THINK))
{
remove_task(id+TASK_HOOK_THINK);
emit_sound(id, CHAN_STATIC, "jb_engine/hook.wav", VOL_NORM, ATTN_NORM, SND_STOP, PITCH_NORM);
}
}
return PLUGIN_HANDLED;
}
public jbe_hook_think(pPlayer)
{
pPlayer -= TASK_HOOK_THINK;
new Float:vecOrigin[3];
pev(pPlayer, pev_origin, vecOrigin);
new Float:vecVelocity[3];
vecVelocity[0] = (g_vecHookOrigin[pPlayer][0] - vecOrigin[0]) * 3.0;
vecVelocity[1] = (g_vecHookOrigin[pPlayer][1] - vecOrigin[1]) * 3.0;
vecVelocity[2] = (g_vecHookOrigin[pPlayer][2] - vecOrigin[2]) * 3.0;
new Float:flY = vecVelocity[0] * vecVelocity[0] + vecVelocity[1] * vecVelocity[1] + vecVelocity[2] * vecVelocity[2];
new Float:flX = (5 * 120.0) / floatsqroot(flY);
vecVelocity[0] *= flX;
vecVelocity[1] *= flX;
vecVelocity[2] *= flX;
set_pev(pPlayer, pev_velocity, vecVelocity);
CREATE_BEAMENTPOINT(pPlayer, g_vecHookOrigin[pPlayer], g_pSpriteLgtning, 0, 1, 1, 60, 30, 255, 69, 0, 200, _);
}
stock CREATE_SPRITE(Float:vecOrigin[3], pSptite, iWidth, iAlpha)
{
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, vecOrigin, 0);
write_byte(TE_SPRITE);
engfunc(EngFunc_WriteCoord, vecOrigin[0]);
engfunc(EngFunc_WriteCoord, vecOrigin[1]);
engfunc(EngFunc_WriteCoord, vecOrigin[2]);
write_short(pSptite);
write_byte(iWidth);
write_byte(iAlpha);
message_end();
}
stock CREATE_BEAMENTPOINT(pEntity, Float:vecOrigin[3], pSprite, iStartFrame = 0, iFrameRate = 0, iLife, iWidth, iAmplitude = 0, iRed, iGreen, iBlue, iBrightness, iScrollSpeed = 0)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BEAMENTPOINT);
write_short(pEntity);
engfunc(EngFunc_WriteCoord, vecOrigin[0]);
engfunc(EngFunc_WriteCoord, vecOrigin[1]);
engfunc(EngFunc_WriteCoord, vecOrigin[2]);
write_short(pSprite);
write_byte(iStartFrame);
write_byte(iFrameRate); // 0.1's
write_byte(iLife); // 0.1's
write_byte(iWidth);
write_byte(iAmplitude); // 0.01's
write_byte(iRed);
write_byte(iGreen);
write_byte(iBlue);
write_byte(iBrightness);
write_byte(iScrollSpeed); // 0.1's
message_end();
}
Żeby był tylko dla vipa, na flagę ,,T" i Tylko dla CT. Bo to jest linka na Jaila. Bardzo bym prosił. Nagradzam oczywiście plusami. Z góry dziękuje.