Jump to content

[Release]Custom infiSTAR tools


_Jack

Recommended Posts

Hey guys releasing another script I made(or rather a compilation of scripts). I created this to make my admins lifes(lives?) easier in the game, hope someone finds it useful! :)

I created this for overpoch so some functions may not work on other mods(e.g. delete all nissans)

 

Tools Included:

Quarantine Target(teleports the selected player to debug island, could come in handy for misbehaving players)

Explode Target(Explodes the selected player)

Edit Bank(Opens a dialog that allows you to edit the selected players bank if you use zsc. If you dont use zsc everything else should still work)

Temporarily Delete all the Bikes on the map

Temporarily Delete all the nissan 350z's on the map

OTF Script Writer(thanks DuMa for the help with this)

Explosive Bullets(makes big bang bang)

 

How to install:

In your a2_infiSTAR folder create a folder called "custom".

In this folder create a file called "category.sqf" and another file called "functions.sqf"(without the quotation marks, obviously)

In category.sqf put this code:

Spoiler

admin_fillJackCustom =
	{
		inSub = false;
		_ctrl = 2 call getControl;
		lbclear _ctrl;
		_ctrl ctrlSetFont "TahomaB";
		adminadd = [];
		call admin_fillsubsss;
		adminadd = adminadd + ["","","0","1","0","0",[]];
		adminadd = adminadd + ["","","0","1","0","0",[]];
		adminadd = adminadd + ["============================================================","","0","0","0","1",[0,0.502,0.502,1]];
		adminadd = adminadd + ["","","0","1","0","0",[]];
		adminadd = adminadd + ["  Custom infiSTAR tools by                                  ","","0","0","0","1",[1,1,1,1]];
		adminadd = adminadd + ["          		 Jack a.k.a scubasteve for                  ","","0","0","0","1",[1,1,1,1]];
		adminadd = adminadd + ["                         			 Invictus Gaming        ","","0","0","0","1",[0,0.502,0.502,1]];
		adminadd = adminadd + ["","","0","1","0","0",[]];
		adminadd = adminadd + ["============================================================","","0","0","0","1",[0,0.502,0.502,1]];
		adminadd = adminadd + ["","","0","1","0","0",[]];
		adminadd = adminadd + ["Targeted Functions","","0","0","0","1",[0,0.502,0.502,1]];
		adminadd = adminadd + ["  Quarantine",adminquarantine,"0","0","0","1",[1,1,1,1]];
		adminadd = adminadd + ["  Explode",adminBomb,"0","0","0","1",[1,1,1,1]];
		adminadd = adminadd + ["  Edit Bank",giveMoneyDialog,"0","0","0","1",[1,1,1,1]];
		adminadd = adminadd + ["Untargeted Functions","","0","0","0","1",[0,0.502,0.502,1]];
		adminadd = adminadd + ["  Delete all Bikes",delBike,"0","0","0","0",[1,1,1,1]];
		adminadd = adminadd + ["  Delete all Nissans",delNissan,"0","0","0","0",[1,1,1,1]];
		adminadd = adminadd + ["  OTF Script Writer",scriptExec,"0","0","0","0",[1,1,1,1]];
		adminadd = adminadd + ["Toggle Functions","","0","0","0","1",[0,0.502,0.502,1]];
		adminadd = adminadd + ["  Explosive Bullets",adminExplosiveBullets,"1","0","0","0",[1,1,1,1]];
		call admin__FILL_MENUS;
	};

 

In functions.sqf put this code:

Spoiler

adminQuarantine = 
	{
		{
			if(name _x == _this select 0)then
			{
				
				_pos = [24000,30,0];
				(vehicle _x) setPosATL _pos;
				{player reveal _x;} forEach (player nearObjects ['All',25]);
				
				cutText [format['Quarantining %1\nThey have been teleported to debug island',name _x], 'PLAIN'];
				_sl = format['%1 Quarantined %2',name player,_this select 0];
				PVAH_WriteLogReq = [player,toArray _sl];
				publicVariableServer 'PVAH_WriteLogReq';
			};
		} forEach playableUnits;
	};
adminBomb = 
	{
		{
			if(name _x == _this select 0)then
			{
				_target = getPos vehicle _x;
				_createBomb = 
				{
					{
					
					_target = [(_target select 0),(_target select 1),(_target select 2)+1.5];
					_object = createVehicle ["HelicopterExploSmall",_target,[],0,"CAN_COLLIDE"];
					
					sleep 1;
					} forEach [10];
				};
				
				call _createBomb;
				
				cutText [format['Exploded %1',name _x], 'PLAIN'];
				_sl = format['%1 Exploded %2',name player,_this select 0];
				PVAH_WriteLogReq = [player,toArray _sl];
				publicVariableServer 'PVAH_WriteLogReq';
			};
		} forEach playableUnits;
	};
delBike = 
	{
				removeBikes = (position player) nearEntities ["MMT_Civ", 35000];
				{
				
					 deletevehicle _x;
					 
				} forEach removeBikes;
				
				cutText [format['Deleting Bikes from the database...'], 'PLAIN'];
				_sl = format['%1 Deleted all Bikes from database',name player];
				PVAH_WriteLogReq = [player,toArray _sl];
				publicVariableServer 'PVAH_WriteLogReq';
	};
delNissan = 
	{
				_toDelete = [
				"350z",
				"350z_red",
				"350z_kiwi",
				"350z_black",
				"350z_silver",
				"350z_green",
				"350z_blue",
				"350z_gold",
				"350z_white",
				"350z_pink",
				"350z_mod",
				"350z_ruben",
				"350z_v",
				"350z_city",
				"350z_yellow"
				];
				

				
				removeNissan = (position player) nearEntities [_toDelete, 35000];
				{
				
					 deletevehicle _x;
					 
				} forEach removeNissan;
				
				cutText [format['Deleting all Nissans from the map, they will reappear after restart'], 'PLAIN'];
				_sl = format['%1 Deleted all Nissans from the map',name player];
				PVAH_WriteLogReq = [player,toArray _sl];
				publicVariableServer 'PVAH_WriteLogReq';
	};
adminExplosiveBullets = 
	{
		
		
		if(isNil ('admin_loop3'))then{admin_loop3 = 0;};
		if(admin_loop3==0)then 
		{
			admin_loop3=1;
			cutText [format['Explosive Rounds ON'], 'PLAIN DOWN'];
			hint 'Explosive Rounds ON';
			(vehicle player) addEventHandler ["Fired",{[] spawn ExplosiveBullets;}];
			
			_sl = format['%1 Explosive Rounds ON',name player];
			PVAH_WriteLogReq = [player,toArray _sl];
			publicVariableServer 'PVAH_WriteLogReq';
		}
		else
		{
			admin_loop3=0;
			cutText [format['Explosive Rounds OFF'], 'PLAIN DOWN'];
			hint 'Explosive Rounds OFF';
			(vehicle player) removeAllEventHandlers "Fired";
			
			_sl = format['%1 Explosive Rounds OFF',name player];
			PVAH_WriteLogReq = [player,toArray _sl];
			publicVariableServer 'PVAH_WriteLogReq';
		};
		while{admin_loop3==1}do 
		{
			
			
						
				ExplosiveBullets = 
				{
					_target = [];
					
					if (isNull cursorTarget) then
					{
						_target = screenToWorld [0.5,0.5];
					}
					else
					{
						_target = getPos cursorTarget;
					};
					
					_explosion = createVehicle ["HelicopterExploSmall",_pos,[],0,"CAN_COLLIDE"];
					uiSleep 0.01;
				};
				
			
		};	
	};
scriptExec = 
	{
		fn_executeGlobal = {
    _reobj ='Old_bike_TK_CIV_EP1' createVehicle [0,0,0];
    _reobj setVehicleInit _this;
    processInitCommands;
    clearVehicleInit _reobj;
    deleteVehicle _reobj;
	};
 
	OTFwriter = {
    disableSerialization;
    createDialog 'RscFunctionsViewer';
    _display    = findDisplay 2929;
    _indexdis   = 292905;
    _textTitle  = _display displayctrl (_indexdis + 0);
    _textPath   = _display displayctrl (_indexdis + 1);
    _textDesc   = _display displayctrl (_indexdis + 2);
    _textCode   = _display displayctrl (_indexdis + 3);
    _btnCopy    = _display displayctrl (_indexdis + 4);
    _btnCopy2   = _display displayctrl (_indexdis + 5);
    _btnCopy3   = _display displayctrl (_indexdis + 6);
    _listFNCs   = _display displayCtrl (_indexdis - 4);
    _listSRCs   = _display displayCtrl (_indexdis - 3);
    _listTags   = _display displayCtrl (_indexdis - 2);
    _listCats   = _display displayCtrl (_indexdis - 1);
    _textTitle ctrlShow true;_textPath ctrlShow true;_textDesc  ctrlShow true;
    _btnCopy ctrlShow true;_btnCopy2  ctrlShow true;_btnCopy3 ctrlShow true;
    _listFNCs  ctrlShow false;_listSRCs ctrlShow false;_listTags  ctrlShow false;_listCats ctrlShow false;
   
    _textDesc ctrlSetFont 'Zeppelin33';
    _textDesc ctrlSetTextColor [0.75,0,0,1];
    _textDesc ctrlSetBackgroundColor [0,0,0,1];
    _descctrl = (ctrlPosition _textDesc);
    _textDesc ctrlsetPosition [(_descctrl select 0) - 0.19,(_descctrl select 1),(_descctrl select 2),(_descctrl select 3)];
    _textDesc ctrlCommit 0;
   
    _textTitle ctrlSetFont 'LucidaConsoleB';
    _textTitle ctrlSetTextColor [0.75,0,0,1];
    _textTitle ctrlSetBackgroundColor [0,0,0,1];
    _textTitle ctrlSetText 'OTF Script Writer';
    _titlectrl = (ctrlPosition _textTitle);
    _textTitle ctrlsetPosition [(_titlectrl select 0) - 0.19,(_titlectrl select 1),(_titlectrl select 2),(_titlectrl select 3)];
    _textTitle ctrlCommit 0;
   
    _textCode ctrlSetFont 'EtelkaNarrowMediumPro';
    _textCtrl = (ctrlPosition _textCode);
    _textCode ctrlsetPosition [(_textCtrl select 0) - 0.19,(_textCtrl select 1),(_textCtrl select 2),(_textCtrl select 3)];
    _textCode ctrlCommit 0;
   
   
    _btnCopy ctrlSetText 'Run Local';
    _btnCopy ctrlSetTextColor [0,0,0,1];
    _btnCopy ctrlSetFont 'Zeppelin33';
    _btnCopy buttonSetAction '_text = ctrlText 292908;call compile _text';
    _btnctrl = (ctrlPosition _btnCopy);
    _btnCopy ctrlsetPosition [(_btnctrl select 0) - 0.19,(_btnctrl select 1),(_btnctrl select 2),(_btnctrl select 3)];
    _btnCopy ctrlCommit 0;
   
    _btnCopy2 ctrlSetText 'Run Global';
    _btnCopy2 ctrlSetTextColor [0,0,0,1];
    _btnCopy2 ctrlSetFont 'Zeppelin33';
    _btnCopy2 buttonSetAction '_text = ctrlText 292908;_text call fn_executeGlobal';
    _btn2ctrl = (ctrlPosition _btnCopy2);
    _btnCopy2 ctrlsetPosition [(_btn2ctrl select 0) - 0.19,(_btn2ctrl select 1),(_btn2ctrl select 2),(_btn2ctrl select 3)];
    _btnCopy2 ctrlCommit 0;
   
    _btnCopy3 ctrlSetText 'Close';
    _btnCopy3 ctrlSetTextColor [0,0,0,1];
    _btnCopy3 ctrlSetFont 'Zeppelin33';
    _btnCopy3 buttonSetAction 'closeDialog 0';
    _btn3ctrl = (ctrlPosition _btnCopy3);
    _btnCopy3 ctrlsetPosition [(_btn3ctrl select 0) - 0.19,(_btn3ctrl select 1),(_btn3ctrl select 2),(_btn3ctrl select 3)];
    _btnCopy3 ctrlCommit 0;
 
	};
 
	[] spawn OTFwriter;
				
	};

	
//money dialogs require the dialog i created to be in the mission file and included in description.ext
//this could easily be re-purposed for other things like humanity but im lazy so fuck off
giveMoneyDialog = 
	{	
		
		bankdialog = createDialog "BANK_DIALOG_ADMIN";

		
		
		
	};
	
deductbank = {
			value = ctrlText 1400;
			todeduct = parseNumber value;
			
			{
				if(name _x == VARIABLE_ADMIN_TARGET_NAME)then
				{	

					value = ctrlText 1400;
					todeduct = parseNumber value;
					_bankCurrent = _x getVariable[Z_bankVariable,0];
					_x setVariable[Z_bankVariable,_bankCurrent-todeduct,true];
					
					systemchat format["Deducted %1 coins from %2's bank", todeduct,VARIABLE_ADMIN_TARGET_NAME];
					_sl = format["%1 deducted %2 coins from %3's bank",name player,todeduct,VARIABLE_ADMIN_TARGET_NAME];
					PVAH_WriteLogReq = [player,toArray _sl];
					publicVariableServer 'PVAH_WriteLogReq';
				};
			} forEach playableUnits;
	};

addbank = {
			value = ctrlText 1400;
			toadd = parseNumber value;
			
			
			{
				if(name _x == VARIABLE_ADMIN_TARGET_NAME)then
				{	
					value = ctrlText 1400;
					toadd = parseNumber value;
					_bankCurrent = _x getVariable[Z_bankVariable,0];
					_x setVariable[Z_bankVariable,_bankCurrent+toadd,true];
					
					systemchat format["Added %1 coins to %2's bank", toadd,VARIABLE_ADMIN_TARGET_NAME];
					_sl = format["%1 added %2 coins to %3's bank",name player,toadd,VARIABLE_ADMIN_TARGET_NAME];
					PVAH_WriteLogReq = [player,toArray _sl];
					publicVariableServer 'PVAH_WriteLogReq';
				};
			} forEach playableUnits;
	};

 

Now, open your AT.sqf

In the code find this section: 

at.thumb.PNG.49bd2ba12707a3edd999cfd1840abbae.PNG

Add the highlighted line:

adminadd = adminadd + ["   +View Jacks Tools","jackEdits","0","0","1","0",[0,0.6,1,1]];

Now find this section:

case.PNG.61caf995cc00b488e7e8e97b36c152f1.PNG

And add the highlighted line:

case 'jackEdits':{call admin_fillJackCustom};

Then find(around line 46/47):

include1.PNG.4b0666b9d4351938824ec83a814e366b.PNG

And add the highlighted line:

#include "\a2_infistar\custom\category.sqf"

Then find this section of code(around line 530-535):

include2.PNG.3c49fa41160e1d1be47ef560a75a5de2.PNG

And add in the highlighted line.

For the edit bank feature to work you need to add this dialog somewhere in your mission file(ensure that is included in description.ext, could just add this to an already existing .hpp file as long as it is included in description.ext file):

Spoiler

class BANK_DIALOG_ADMIN
{
	idd = 187;
	movingenable = false;
	class controls
	{
		class BANK_FRAME: RscFrame
		{
			idc = 1800;
			type = 0;
			text = "";
			colorText[] = {1,1,1,1};
			colorBackground[] = {0,0,0,0.5};
			style = 128;
			sizeEx = 0;
			shadow = 0;
			x = 0.433894 * safezoneW + safezoneX;
			y = 0.370696 * safezoneH + safezoneY;
			w = 0.143231 * safezoneW;
			h = 0.129304 * safezoneH;
		};
		class ADMINBANK_DEDUCT: RscButton
		{
			idc = 1600;
			text = "Deduct";
			x = 0.488982 * safezoneW + safezoneX;
			y = 0.464735 * safezoneH + safezoneY;
			w = 0.0330532 * safezoneW;
			h = 0.0235098 * safezoneH;
			action = call deductbank;
		};
		class ADMINBANK_CLOSE: RscButton
		{
			idc = 1601;
			text = "Close";
			x = 0.533053 * safezoneW + safezoneX;
			y = 0.464735 * safezoneH + safezoneY;
			w = 0.0330532 * safezoneW;
			h = 0.0235098 * safezoneH;
			action = "closeDialog 187;";
		};
		class ADMINBANK_ADD: RscButton
		{
			idc = 1602;
			text = "Add";
			x = 0.444911 * safezoneW + safezoneX;
			y = 0.464735 * safezoneH + safezoneY;
			w = 0.0330532 * safezoneW;
			h = 0.0235098 * safezoneH;
			action = call addbank;
		};
		class ADMINBANK_TEXT1: RscText
		{
			idc = 1000;
			text = "Edit Bank";
			x = 0.483473 * safezoneW + safezoneX;
			y = 0.382451 * safezoneH + safezoneY;
			w = 0.0440709 * safezoneW;
			h = 0.0235098 * safezoneH;
		};
		class RscEdit_1400: zsc_RscEdit
		{
			idc = 1400;
			text = "";
			x = 0.466947 * safezoneW + safezoneX;
			y = 0.417716 * safezoneH + safezoneY;
			w = 0.0771241 * safezoneW;
			h = 0.0235098 * safezoneH;
		};
	};
};

 

Hope you find this post useful(and thanks to infistar for creating his tool, its pretty good)

Link to comment
Share on other sites

  • 1 month later...

I have an error with last part.

I used the zscATMdialogs.hpp to define ur code:
 

Spoiler

 

class ATMDialog {
    idd = -1;
    movingenable = 0;
    enableSimulation = true;

    onUnload = "player setVariable['isBusy',false,true];";

    class controlsBackground {
        class ATM_RscTitleBackground:ZSC_RscText {
            colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"};
            idc = -1;
            x = 0.35;
            y = 0.2;
            w = 0.3;
            h = (1 / 25);
        };

        class MainBackground:ZSC_RscText {
            colorBackground[] = {0, 0, 0, 0.7};
            idc = -1;
            x = 0.35;
            y = 0.2 + (11 / 250);
            w = 0.3;
            h = 0.6 - (22 / 250);
        };
    };

    class Controls {
        class CashTitle : ZSC_RscStructuredText {
            idc = 3701;
            text = "Bank";
            colorText[] = {0.8784,0.8471,0.651,1};
            x = 0.39;
            y = 0.26;
            w = 0.3;
            h = 0.2;
        };

        class RscTextT_1005 : ZSC_RscTextT {
            idc = 23002;
            text = "";
            colorText[] = {1,1,1,1};
            x = 0.39;
            y = 0.27;
            w = 0.6;
            h = 0.2;
        };

        class moneyEdit : ZSC_RscEdit {

            idc = 3702;
            colorText[] = {0.8784,0.8471,0.651,1};
            text = "";
            sizeEx = 0.030;
            x = 0.4; y = 0.41;
            w = 0.2; h = 0.03;
        };

        class Title : ZSC_RscTitle {
            colorBackground[] = {0, 0, 0, 0};
            idc = -1;
            text = "Banking";
            colorText[] = {1,1,1,1};
            x = 0.35;
            y = 0.2;
            w = 0.6;
            h = (1 / 25);
        };

        class WithdrawButton : ZSC_RscButtonMenu {
            idc = -1;
            text = "Withdraw";
            colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
            onButtonClick = "[(ctrlText 3702)] spawn AtmDialogWithdrawAmount; ((ctrlParent (_this select 0)) closeDisplay 9000);";
            colorText[] = {0.8784,0.8471,0.651,1};
            x = 0.432;
            y = 0.46;
            w = (6 / 40);
            h = (1 / 25);
        };

        class DepositButton : ZSC_RscButtonMenu {
            idc = -1;
            text = "Deposit";
            colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
            onButtonClick =  "[(ctrlText 3702)] spawn AtmDialogDepositAmount; ((ctrlParent (_this select 0)) closeDisplay 9000);";
            colorText[] = {0.8784,0.8471,0.651,1};
            x = 0.432;
            y = 0.512;
            w = (6 / 40);
            h = (1 / 25);
        };

        class CashTitle3 : ZSC_RscStructuredText {
            idc = 3703;
            text = "You";
            colorText[] = {0.8784,0.8471,0.651,1};
            x = 0.39;
            y = 0.58;
            w = 0.3;
            h = 0.2;
        };

        class RscTextT_1004 : ZSC_RscTextT {
            idc = 23001;
            text = "";
            colorText[] = {1,1,1,1};
            x = 0.39;
            y = 0.59;
            w = 0.6;
            h = 0.2;
        };

        class CloseButtonKey : ZSC_RscButtonMenu {
            idc = -1;
            text = "Close";
            onButtonClick = "((ctrlParent (_this select 0)) closeDisplay 9000);";
            x = 0.35;
            y = 0.8 - (1 / 25);
            w = (6.25 / 40);
            h = (1 / 25);
        };
        
    };
};

class BANK_DIALOG_ADMIN
{
    idd = 187;
    movingenable = false;
    class controls
    {
        class BANK_FRAME: RscFrame
        {
            idc = 1800;
            type = 0;
            text = "";
            colorText[] = {1,1,1,1};
            colorBackground[] = {0,0,0,0.5};
            style = 128;
            sizeEx = 0;
            shadow = 0;
            x = 0.433894 * safezoneW + safezoneX;
            y = 0.370696 * safezoneH + safezoneY;
            w = 0.143231 * safezoneW;
            h = 0.129304 * safezoneH;
        };
        class ADMINBANK_DEDUCT: RscButton
        {
            idc = 1600;
            text = "Deduct";
            x = 0.488982 * safezoneW + safezoneX;
            y = 0.464735 * safezoneH + safezoneY;
            w = 0.0330532 * safezoneW;
            h = 0.0235098 * safezoneH;
            action = call deductbank;
        };
        class ADMINBANK_CLOSE: RscButton
        {
            idc = 1601;
            text = "Close";
            x = 0.533053 * safezoneW + safezoneX;
            y = 0.464735 * safezoneH + safezoneY;
            w = 0.0330532 * safezoneW;
            h = 0.0235098 * safezoneH;
            action = "closeDialog 187;";
        };
        class ADMINBANK_ADD: RscButton
        {
            idc = 1602;
            text = "Add";
            x = 0.444911 * safezoneW + safezoneX;
            y = 0.464735 * safezoneH + safezoneY;
            w = 0.0330532 * safezoneW;
            h = 0.0235098 * safezoneH;
            action = call addbank;
        };
        class ADMINBANK_TEXT1: RscText
        {
            idc = 1000;
            text = "Edit Bank";
            x = 0.483473 * safezoneW + safezoneX;
            y = 0.382451 * safezoneH + safezoneY;
            w = 0.0440709 * safezoneW;
            h = 0.0235098 * safezoneH;
        };
        class RscEdit_1400: zsc_RscEdit
        {
            idc = 1400;
            text = "";
            x = 0.466947 * safezoneW + safezoneX;
            y = 0.417716 * safezoneH + safezoneY;
            w = 0.0771241 * safezoneW;
            h = 0.0235098 * safezoneH;
        };
    };
};

 

which is called inside description.ext but doesnt work.

I mean it works but the edit bank section is not :)

Any help?

Edited by totis
Link to comment
Share on other sites

21 hours ago, JasonTM said:

These are not admin tools, they are hacks obtained from a public hack menu and added as "admin tools."

Either way its nice being able to teleport someone to debug island when they doing something they not supposed to when its there first warning. Hacks or not don't care infistar tools is nothing but a hack menu anyway used for admin tools. Thanks for sharing it @_Jack

Link to comment
Share on other sites

16 hours ago, Hooty said:

Either way its nice being able to teleport someone to debug island when they doing something they not supposed to when its there first warning. Hacks or not don't care infistar tools is nothing but a hack menu anyway used for admin tools. Thanks for sharing it @_Jack

The problem I see with them is that they were originally created to troll players. Adding them to infistar enables badmins to troll players.

On that note, if we are going to add cheeky scripts, then I request parachuting cows.

Link to comment
Share on other sites

9 minutes ago, JasonTM said:

The problem I see with them is that they were originally created to troll players. Adding them to infistar enables badmins to troll players.

On that note, if we are going to add cheeky scripts, then I request parachuting cows.

There is a script out there that lets you shoot cows... I WAS going to put it on our special server LOL... i might after all haha

Link to comment
Share on other sites

@Anhor

Thank you took it the wrong way.. I have no problem nor do I care how someone runs there Epoch server.  Love your idea with Vietnam. What I was saying was infistar admin tools are pretty much hacks esp,god,tp,spawn,etc. So whats wrong with adding more tools that admins can use even if it is from a hack. You rather kick, kill, and then ban. Where I just teleport there ass to debug to die slow while they think what they did wrong to get there.

Link to comment
Share on other sites

  • 6 years later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...