Prośba o przerobienie linki.
funnheaven
08.02.2016
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.
funnheaven
09.02.2016
Dzięki bardzo, tyle, że nadal jest w tt i w ct, a dla vipa jest. Tyle, że chce ze dla vipa i chce tylko w ct. A na vipa dziala.
vanillah
09.02.2016
#include <amxmodx> #include <fakemeta> #include <fun> #include <engine> #include <hamsandwich> #include <cstrike> #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 && cs_get_user_team(id)==CS_TEAM_CT) { 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_LEVEL_H && cs_get_user_team(id)==CS_TEAM_CT) { 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(); }
Edited by vanillah, 09.02.2016 16:15.
funnheaven
09.02.2016
Działa! Dzięki Wielkie za pomoc, do zamknięcia.
Edited by funnheaven, 09.02.2016 16:28.