Thread: [AFB] Fun Slay Command

Results 1 to 6 of 6
  1. #1
    Japanese Wannabe NYO~~~! ゞ(ยด゜ω゜)つ~☆ Nero's Avatar
    Join Date
    Jul 2002
    Location
    Eskilstuna, Sweden.
    Posts
    579

    Standard Crate [AFB] Fun Slay Command

    Adds a command to slay players with various effects.
    REQUIRES AFB 1.2.0 TO RUN -- GO GRAB IT FROM HERE
    Code for rocket probably from AMX-Super-5.0.2

    INSTALLATION
    1. Download the attachment. Code is down below.
    2. Unpack it into svencoop_addons (sound file included if you don't have ragemap2016 for some reason)
    3. Open and edit /scripts/plugins/AFBaseExpansions.as
    4. Add this line to the other includes: #include "AFBaseExpansions/FunSlay"
    5. Add this line to the other calls: FunSlay_Call();
    6. Give yourself the flag G if you don't already have it
    7. Run as_reloadplugins in the console
    8. Change level or wait for map change.
    9. ????
    10. PROFIT



    USAGE
    Change the SLAYMSG_ lines if you want to change the messages or have them in another language.

    Console Commands:
    .fun_slay (target) <type 1-6>

    Don't enter type to get a random effect.

    SLAY EFFECTS
    1. Like .admin_slay but random colors.
    2. An explosion of bmortars (Gonarch/bigmomma projectiles)
    3. Rocket
    4. Fade
    5. Shrink
    6. Nuclear Explosion


    Valid targets are:
    • A player's name
    • A player's STEAMID
    • @me
    • @all
    • @admins
    • @noadmins
    • @alive
    • @aim
    • @random
    • @last


    NOTES
    Slayings with this command do not count towards a players death count. (Only way that I know of to make custom death messages.)


    Code:
    FunSlay funslay;
    
    array<bool> bIsBeingSlain(33);
    
    enum SlayTypes
    {
    	SLAY_THUNDER = 1,
    	SLAY_SEMEN,
    	SLAY_ROCKET,
    	SLAY_FADE,
    	SLAY_SHRINK,
    	SLAY_ALLAHUAKBAR
    }
    
    const string SLAYMSG_THUNDER = " was struck by lightning.\n";
    const string SLAYMSG_SEMEN = " exploded into a shower of semen.\n";
    const string SLAYMSG_ROCKET = " was turned into a rocket.\n";
    const string SLAYMSG_FADE = " faded into nothingness.\n";
    const string SLAYMSG_SHRINK = " shrank into an atom.\n";
    const string SLAYMSG_ALLAHUAKBAR = " ALLAHU AKBAR SALEEL SAWARIM NASHEED.\n";
    
    void FunSlay_Call()
    {
    	funslay.RegisterExpansion( funslay );
    }
    
    class FunSlay : AFBaseClass
    {
    	void ExpansionInfo()
    	{
    		this.AuthorName = "Nero";
    		this.ExpansionName = "Fun Slay Command 1.0";
    		this.ShortName = "SLAY";
    	}
    
    	void ExpansionInit()
    	{
    		//Admin commands
    		RegisterCommand( "fun_slay", "s!i", "(target) <type 1-6> - slay target with one of several effects.", AFBase::ACCESS_G, @FunSlay::FunSlay );
    	}
    
    	void MapInit()
    	{
    		g_Game.PrecacheModel( "sprites/zbeam3.spr" );
    		g_Game.PrecacheModel( "sprites/smoke.spr" );
    		g_Game.PrecacheModel( "sprites/muzzleflash.spr" );
    		g_Game.PrecacheModel( "sprites/white.spr" );
    		g_Game.PrecacheModel( "sprites/steam1.spr" );
    		g_Game.PrecacheModel( "sprites/fexplo.spr" );
    		g_Game.PrecacheModel( "sprites/hotglow.spr" );
    
    		g_SoundSystem.PrecacheSound( "common/bodysplat.wav" );
    		g_SoundSystem.PrecacheSound( "weapons/rocketfire1.wav" );
    		g_SoundSystem.PrecacheSound( "weapons/rocket1.wav" );
    		g_SoundSystem.PrecacheSound( "zode/thunder.ogg" );
    		g_SoundSystem.PrecacheSound( "ragemap2016/nero/aa.mp3" );
    		g_SoundSystem.PrecacheSound( "hunger/thambs2/mega_expl.wav" );
    		g_Game.PrecacheGeneric( "sound/zode/thunder.ogg" );
    		g_Game.PrecacheGeneric( "sound/ragemap2016/nero/aa.mp3" );
    		g_Game.PrecacheOther( "monster_bigmomma" );
    	}
    }
    
    namespace FunSlay
    {
    	//Admin commands
    	void FunSlay( AFBaseArguments@ args )
    	{
    		CBasePlayer@ pAdmin = args.User;
    		array<CBasePlayer@> pTargets;
    		int iMaxTypes = 6;
    		int iType = args.GetCount() == 2 ? AFBase::cclamp( args.GetInt(1), 1, iMaxTypes ) : Math.RandomLong(1, iMaxTypes);
    
    		if( AFBase::GetTargetPlayers(pAdmin, HUD_PRINTCONSOLE, args.GetString(0), 0, pTargets) )
    		{
    			CBasePlayer@ pTarget = null;
    
    			for( uint i = 0; i < pTargets.length(); i++ )
    			{
    				@pTarget = pTargets[i];
    				int id = pTarget.entindex();
    
    				if( !bIsBeingSlain[id] && pTarget.IsAlive() )
    				{
    					funslay.Tell( "Slayed player "+pTarget.pev.netname, pAdmin, HUD_PRINTCONSOLE );
    					funslay.Log( "Admin "+pAdmin.pev.netname+" slayed player "+pTarget.pev.netname );
    
    					if( iType != SLAY_THUNDER )
    						bIsBeingSlain[id] = true;
    
    					if( AFBase::IsSafe() )
    						SlayEffect( pAdmin, pTarget, iType );
    				}
    
    				if( iType == SLAY_THUNDER && !bIsBeingSlain[id] )
    					if( AFBase::IsSafe() )
    						SlayEffect( pAdmin, pTarget, iType );
    			}
    		}
    	}
    
    	void SlayEffect( CBasePlayer@ pAdmin, CBasePlayer@ pTarget, int iType )
    	{
    		int id = pTarget.entindex();
    
    		switch( iType )
    		{
    			case SLAY_THUNDER:
    			{
    				if( pTarget.IsAlive() )
    				{
    					KillPlayer( pTarget, true );
    					g_PlayerFuncs.ClientPrintAll( HUD_PRINTNOTIFY, string(pTarget.pev.netname) + SLAYMSG_THUNDER );
    				}
    
    				int r = Math.RandomLong(0, 255);
    				int g = Math.RandomLong(0, 255);
    				int b = Math.RandomLong(0, 255);
    				
    				TraceResult tr;
    				g_EngineFuncs.MakeVectors( pTarget.pev.angles );
    				g_Utility.TraceLine( pTarget.pev.origin, pTarget.pev.origin + g_Engine.v_up * 4096, ignore_monsters, pTarget.edict(), tr );
    
    				NetworkMessage message( MSG_BROADCAST, NetworkMessages::SVC_TEMPENTITY, null );
    					message.WriteByte( TE_BEAMPOINTS );
    					message.WriteCoord( pTarget.pev.origin.x );
    					message.WriteCoord( pTarget.pev.origin.y );
    					message.WriteCoord( pTarget.pev.origin.z );
    					message.WriteCoord( tr.vecEndPos.x );
    					message.WriteCoord( tr.vecEndPos.y );
    					message.WriteCoord( tr.vecEndPos.z );
    					message.WriteShort( g_EngineFuncs.ModelIndex("sprites/zbeam3.spr") );
    					message.WriteByte( 0 );
    					message.WriteByte( 1 );
    					message.WriteByte( 2 );
    					message.WriteByte( 16 );
    					message.WriteByte( 64 );
    					message.WriteByte( r );
    					message.WriteByte( g );
    					message.WriteByte( b );
    					message.WriteByte( 255 );
    					message.WriteByte( 0 );
    				message.End();
    
    				NetworkMessage message2( MSG_BROADCAST, NetworkMessages::SVC_TEMPENTITY, null );
    					message2.WriteByte( TE_DLIGHT );
    					message2.WriteCoord( pTarget.pev.origin.x );
    					message2.WriteCoord( pTarget.pev.origin.y );
    					message2.WriteCoord( pTarget.pev.origin.z );
    					message2.WriteByte( 24 );
    					message2.WriteByte( r );
    					message2.WriteByte( g );
    					message2.WriteByte( b );
    					message2.WriteByte( 4 );
    					message2.WriteByte( 88 );
    				message2.End();
    
    				g_Utility.Sparks( pTarget.pev.origin );
    
    				g_SoundSystem.PlaySound( pTarget.edict(), CHAN_AUTO, "zode/thunder.ogg", 1.0f, 1.0f );
    				bIsBeingSlain[id] = false;
    
    				break;
    			}
    
    			case SLAY_SEMEN:
    			{
    				KillPlayer( pTarget, true );
    
    				CBaseEntity@ pSemen = null;
    				Vector vecAiming;
    
    				for( int i = 0; i <= 6; i++ )
    				{
    					vecAiming = Vector( Math.RandomLong(0, 360), Math.RandomLong(0, 360), Math.RandomLong(0, 360) );
    					@pSemen = g_EntityFuncs.Create( "bmortar", pTarget.pev.origin, vecAiming, false, pTarget.edict() );
    					Math.MakeVectors( vecAiming );
    					pSemen.pev.velocity = vecAiming.Normalize() + g_Engine.v_forward * 750;
    				}
    
    				g_PlayerFuncs.ClientPrintAll( HUD_PRINTNOTIFY, string(pTarget.pev.netname) + SLAYMSG_SEMEN );
    				bIsBeingSlain[id] = false;
    
    				break;
    			}
    
    			case SLAY_ROCKET:
    			{
    				g_SoundSystem.PlaySound( pTarget.edict(), CHAN_STATIC, "weapons/rocketfire1.wav", 1.0f, 1.0f );
    				pTarget.pev.maxspeed = 0.01f;
    				g_Scheduler.SetTimeout( "rocket_liftoff", 0.6f, @pTarget );
    
    				break;
    			}
    
    			case SLAY_FADE:
    			{
    				pTarget.pev.maxspeed = 0.01f;
    				pTarget.pev.renderamt = 255;
    				pTarget.pev.rendermode = 1;
    				pTarget.pev.solid = SOLID_NOT;
    				g_Scheduler.SetTimeout( "fadeout", 0.0f, @pTarget );
    
    				break;
    			}
    
    			case SLAY_SHRINK:
    			{
    				pTarget.pev.maxspeed = 0.01f;
    				pTarget.pev.movetype = MOVETYPE_NOCLIP;
    				g_Scheduler.SetTimeout( "shrink", 0.0f, @pTarget );
    				break;
    			}
    
    			case SLAY_ALLAHUAKBAR:
    			{
    				g_SoundSystem.EmitSound( pTarget.edict(), CHAN_VOICE, "ragemap2016/nero/aa.mp3", 0.25f, ATTN_NORM );
    				pTarget.pev.maxspeed = 0.01f;
    				g_Scheduler.SetTimeout( "allahuakbar", 1.2f, @pTarget );
    				break;
    			}
    		}
    	}
    
    	void KillPlayer( CBasePlayer@ pTarget, bool bGib )
    	{
    		pTarget.pev.health = 0;
    		pTarget.pev.armorvalue = 0;
    		pTarget.pev.deadflag = DEAD_DYING;
    		pTarget.pev.rendermode = 1;
    		pTarget.pev.renderamt = 0;
    
    		if( bGib )
    		{
    			g_EntityFuncs.SpawnRandomGibs( pTarget.pev, 1, 1 );
    			g_SoundSystem.PlaySound( pTarget.edict(), CHAN_AUTO, "common/bodysplat.wav", 1.0f, 1.0f );
    		}
    	}
    
    	void rocket_liftoff( CBasePlayer@ pTarget = null )
    	{
    		if( pTarget !is null )
    		{
    			pTarget.pev.gravity = -0.50f;
    			Vector velocity = pTarget.pev.velocity;
    			velocity.z = Math.RandomFloat( 265.0f, 285.0f );
    			pTarget.pev.velocity = velocity;
    			g_SoundSystem.EmitSound( pTarget.edict(), CHAN_VOICE, "weapons/rocket1.wav", 0.5f, 0.5f );
    			rocket_effects( pTarget );
    		}
    	}
    
    	array<float> flRocketHeight(33);
    
    	void rocket_effects( CBasePlayer@ pTarget )
    	{
    		int victim = pTarget.entindex();
    		int r = Math.RandomLong( 0, 255 );
    		int g = Math.RandomLong( 0, 255 );
    		int b = Math.RandomLong( 0, 255 );
    
    		if( pTarget.IsAlive() )
    		{
    			Vector vorigin = pTarget.pev.origin;
    
    			if( flRocketHeight[victim] == vorigin.z )
    				rocket_explode( pTarget );
    
    			flRocketHeight[victim] = vorigin.z;
    
    			//Draw Trail and effects
    			NetworkMessage trailmsg( MSG_BROADCAST, NetworkMessages::SVC_TEMPENTITY, null );
    				trailmsg.WriteByte( TE_BEAMFOLLOW );
    				trailmsg.WriteShort( pTarget.entindex() );
    				trailmsg.WriteShort( g_EngineFuncs.ModelIndex("sprites/smoke.spr") );
    				trailmsg.WriteByte( 20 ); //life
    				trailmsg.WriteByte( 5 ); //width
    				trailmsg.WriteByte( r ); //r 224
    				trailmsg.WriteByte( g ); //g 224
    				trailmsg.WriteByte( b ); //b 255
    				trailmsg.WriteByte( 255 ); //brightness
    			trailmsg.End();
    
    			NetworkMessage spritemsg( MSG_BROADCAST, NetworkMessages::SVC_TEMPENTITY );
    				spritemsg.WriteByte( TE_SPRITE );
    				spritemsg.WriteCoord( vorigin.x );
    				spritemsg.WriteCoord( vorigin.y );
    				spritemsg.WriteCoord( vorigin.z );
    				spritemsg.WriteShort( g_EngineFuncs.ModelIndex("sprites/muzzleflash.spr") );
    				spritemsg.WriteByte( 15 ); //scale in 0.1's
    				spritemsg.WriteByte( 255 ); //brightness
    			spritemsg.End();
    
    			g_Scheduler.SetTimeout( "rocket_effects", 0.2f, @pTarget );
    		}
    		else
    		{
    			NetworkMessage killbeam( MSG_BROADCAST, NetworkMessages::SVC_TEMPENTITY, null );
    				killbeam.WriteByte( TE_KILLBEAM );
    				killbeam.WriteShort( victim );
    			killbeam.End();
    
    			g_SoundSystem.StopSound( pTarget.edict(), CHAN_VOICE, "weapons/rocket1.wav" );
    		}
    	}
    
    	void rocket_explode( CBasePlayer@ pTarget )
    	{
    		int id = pTarget.entindex();
    		int r = Math.RandomLong( 0, 255 );
    		int g = Math.RandomLong( 0, 255 );
    		int b = Math.RandomLong( 0, 255 );
    
    		if( pTarget.IsAlive() )
    		{
    			Vector origin = pTarget.pev.origin;
    
    			// blast circles
    			NetworkMessage message1( MSG_BROADCAST, NetworkMessages::SVC_TEMPENTITY, origin );
    				message1.WriteByte( TE_BEAMCYLINDER );
    				message1.WriteCoord( origin.x ); //center
    				message1.WriteCoord( origin.y );
    				message1.WriteCoord( origin.z -10 );
    				message1.WriteCoord( origin.x ); //axis and radius
    				message1.WriteCoord( origin.y );
    				message1.WriteCoord( origin.z + 1910 );
    				message1.WriteShort( g_EngineFuncs.ModelIndex("sprites/white.spr") );
    				message1.WriteByte( 0 ); // startframe
    				message1.WriteByte( 0 ); // framerate
    				message1.WriteByte( 2 ); // life
    				message1.WriteByte( 16 ); // width
    				message1.WriteByte( 0 ); // noise
    				message1.WriteByte( r ); // r 188
    				message1.WriteByte( g ); // g 220
    				message1.WriteByte( b ); // b 255
    				message1.WriteByte( 255 ); //brightness
    				message1.WriteByte( 0 ); // speed
    			message1.End();
    
    			NetworkMessage message2( MSG_BROADCAST, NetworkMessages::SVC_TEMPENTITY );
    				message2.WriteByte( TE_EXPLOSION2 );
    				message2.WriteCoord( origin.x );
    				message2.WriteCoord( origin.y );
    				message2.WriteCoord( origin.z );
    				message2.WriteByte( 188 ); // starting color
    				message2.WriteByte( 10 ); // numcolors
    			message2.End();
    
    			NetworkMessage message3( MSG_BROADCAST, NetworkMessages::SVC_TEMPENTITY, origin );
    				message3.WriteByte( TE_SMOKE );
    				message3.WriteCoord( origin.x );
    				message3.WriteCoord( origin.y );
    				message3.WriteCoord( origin.z );
    				message3.WriteShort( g_EngineFuncs.ModelIndex("sprites/steam1.spr") );
    				message3.WriteByte( 2 ); // scale in 0.1's
    				message3.WriteByte( 10 ); // framerate
    			message3.End();
    
    			KillPlayer( pTarget, true );
    
    			g_PlayerFuncs.ClientPrintAll( HUD_PRINTNOTIFY, string(pTarget.pev.netname) + SLAYMSG_ROCKET );
    			bIsBeingSlain[id] = false;
    		}
    
    		g_SoundSystem.StopSound( pTarget.edict(), CHAN_VOICE, "weapons/rocket1.wav" );
    
    		pTarget.pev.maxspeed = 0;
    		pTarget.pev.gravity = 1.0f;
    	}
    
    	void fadeout( CBasePlayer@ pTarget )
    	{
    		int id = pTarget.entindex();
    
    		if( pTarget.IsAlive() )
    		{
    			if( pTarget.pev.renderamt <= 0 )
    			{
    				pTarget.pev.origin = Vector( 90000, 90000, 90000 );
    				KillPlayer( pTarget, false );
    				g_PlayerFuncs.ClientPrintAll( HUD_PRINTNOTIFY, string(pTarget.pev.netname) + SLAYMSG_FADE );
    				bIsBeingSlain[id] = false;
    			}
    
    			pTarget.pev.renderamt -= 15;
    			g_PlayerFuncs.ScreenFade( pTarget, Vector(pTarget.pev.renderamt, pTarget.pev.renderamt, pTarget.pev.renderamt), 4, 0, 255, FFADE_MODULATE );
    			g_Scheduler.SetTimeout( "fadeout", 0.2f, @pTarget );
    		}
    	}
    
    	void shrink( CBasePlayer@ pTarget )
    	{
    		int id = pTarget.entindex();
    
    		if( pTarget.IsAlive() )
    		{
    			if( pTarget.pev.scale <= 0.01f )
    			{
    				pTarget.pev.origin = Vector( 90000, 90000, 90000 );
    				KillPlayer( pTarget, false );
    				g_PlayerFuncs.ClientPrintAll( HUD_PRINTNOTIFY, string(pTarget.pev.netname) + SLAYMSG_SHRINK );
    				bIsBeingSlain[id] = false;
    			}
    
    			pTarget.pev.scale -= 0.025f;
    			pTarget.pev.origin.z -= 0.80f;
    			pTarget.pev.scale = AFBase::cclamp( pTarget.pev.scale, 0.01f, 1.0f );
    			g_Scheduler.SetTimeout( "shrink", 0.1f, @pTarget );
    		}
    	}
    
    	void allahuakbar( CBasePlayer@ pTarget )
    	{
    		int id = pTarget.entindex();
    
    		int fireballScale = 60;
    		int fireballBrightness = 255;
    		int smokeScale = 125;
    		int discLife = 12;
    		int discWidth = 64;
    		int discR = 255;
    		int discG = 255;
    		int discB = 192;
    		int discBrightness = 128;
    		int glowLife = 15;
    		int glowScale = 128;
    		int glowBrightness = 190;
    		Vector origin = pTarget.pev.origin;
    
    		g_SoundSystem.EmitSound( pTarget.edict(), CHAN_BODY, "hunger/thambs2/mega_expl.wav", 0.25f, ATTN_NORM );
    
    		NetworkMessage nukexp1( MSG_PVS, NetworkMessages::SVC_TEMPENTITY );
    			nukexp1.WriteByte( TE_SPRITE );
    			nukexp1.WriteCoord( origin.x );
    			nukexp1.WriteCoord( origin.y );
    			nukexp1.WriteCoord( origin.z + 128 );
    			nukexp1.WriteShort( g_EngineFuncs.ModelIndex("sprites/fexplo.spr") );
    			nukexp1.WriteByte( int(fireballScale) );
    			nukexp1.WriteByte( int(fireballBrightness) );
    		nukexp1.End();
    
    		NetworkMessage nukexp2( MSG_PVS, NetworkMessages::SVC_TEMPENTITY );
    			nukexp2.WriteByte( TE_SMOKE );
    			nukexp2.WriteCoord( origin.x );
    			nukexp2.WriteCoord( origin.y );
    			nukexp2.WriteCoord( origin.z + 256 );
    			nukexp2.WriteShort( g_EngineFuncs.ModelIndex("sprites/steam1.spr") );
    			nukexp2.WriteByte( int(smokeScale) );
    			nukexp2.WriteByte( 5 ); //framrate
    		nukexp2.End();
    
    		NetworkMessage nukexp3( MSG_PVS, NetworkMessages::SVC_TEMPENTITY );
    			nukexp3.WriteByte( TE_BEAMCYLINDER );
    			nukexp3.WriteCoord( origin.x );
    			nukexp3.WriteCoord( origin.y );
    			nukexp3.WriteCoord( origin.z );
    			nukexp3.WriteCoord( origin.x );
    			nukexp3.WriteCoord( origin.y );
    			nukexp3.WriteCoord( origin.z + 320 );
    			nukexp3.WriteShort( g_EngineFuncs.ModelIndex("sprites/white.spr") );
    			nukexp3.WriteByte( 0 );
    			nukexp3.WriteByte( 0 );
    			nukexp3.WriteByte( discLife );
    			nukexp3.WriteByte( discWidth );
    			nukexp3.WriteByte( 0 );
    			nukexp3.WriteByte( int(discR) );
    			nukexp3.WriteByte( int(discG) );
    			nukexp3.WriteByte( int(discB) );
    			nukexp3.WriteByte( int(discBrightness) );
    			nukexp3.WriteByte( 0 );
    		nukexp3.End();
    		
    		NetworkMessage nukexp4( MSG_PVS, NetworkMessages::SVC_TEMPENTITY );
    			nukexp4.WriteByte( TE_GLOWSPRITE );
    			nukexp4.WriteCoord( origin.x );
    			nukexp4.WriteCoord( origin.y );
    			nukexp4.WriteCoord( origin.z );
    			nukexp4.WriteShort( g_EngineFuncs.ModelIndex("sprites/hotglow.spr") );
    			nukexp4.WriteByte( glowLife );
    			nukexp4.WriteByte( int(glowScale) );
    			nukexp4.WriteByte( int(glowBrightness) );
    		nukexp4.End();
    
    		KillPlayer( pTarget, true );
    		g_PlayerFuncs.ClientPrintAll( HUD_PRINTNOTIFY, string(pTarget.pev.netname) + SLAYMSG_ALLAHUAKBAR );
    		bIsBeingSlain[id] = false;
    	}
    }
    Attached Files Attached Files
    Last edited by Nero; 18-04-2017 at 05:54 PM.
    Nero of TSP and Wotnet
    Ingame names: Nero, Horny-Girl-13
    IRC nick: Nero (probably)

  2. #2
    โ„๐•–๐•๐•ก Cadaver's Avatar
    Join Date
    Mar 2016
    Location
    Argentina
    Posts
    86

    Re: [AFB] Fun Slay Command

    Great stuff!, I found a issue, when a player are slayed whit 6, respawns as an invisible player lol.



  3. #3
    Japanese Wannabe NYO~~~! ゞ(ยด゜ω゜)つ~☆ Nero's Avatar
    Join Date
    Jul 2002
    Location
    Eskilstuna, Sweden.
    Posts
    579

    Re: [AFB] Fun Slay Command

    Really? :O
    As a part of the fake death the player is turned invisible, but it should revert when respawning. o.O
    Nero of TSP and Wotnet
    Ingame names: Nero, Horny-Girl-13
    IRC nick: Nero (probably)

  4. #4
    โ„๐•–๐•๐•ก Cadaver's Avatar
    Join Date
    Mar 2016
    Location
    Argentina
    Posts
    86

    Re: [AFB] Fun Slay Command

    Yes, happends sometimes



  5. #5
    โ„๐•–๐•๐•ก Cadaver's Avatar
    Join Date
    Mar 2016
    Location
    Argentina
    Posts
    86

    Re: [AFB] Fun Slay Command

    A quick fix made by Zode here
    Attached Files Attached Files



  6. #6
    Registered User
    Join Date
    Apr 2019
    Posts
    1

    Re: [AFB] Fun Slay Command

    can I have some help adding more slay options to this plugin?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •