←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Prośba o przerobienie linki.

  • +
  • -
funnheaven's Photo 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. :)

Quote

  • +
  • -
Kowalsky's Photo Kowalsky 09.02.2016

Sprawdź:

Quote

  • +
  • -
funnheaven's Photo 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.

Quote

  • +
  • -
vanillah's Photo 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.
Quote

  • +
  • -
funnheaven's Photo funnheaven 09.02.2016

Działa! Dzięki Wielkie za pomoc, do zamknięcia. :) :lol:


 


Edited by funnheaven, 09.02.2016 16:28.
Quote