Author Topic: rageADMIN  (Read 2049 times)

0 Members and 4 Guests are viewing this topic.

DarkCrusade

  • Guest
rageADMIN
« on: August 27, 2013, 04:09:56 pm »
   rageADMIN :::

rageADMIN is the answer to all the hate and all the anger that fills the server admin of your choice! It provides any admin with the means to make a certain player rage, get that hacker who keeps dodging your bans so pissed off that he gives in to your powers, and have some fun to mess around with when killing sprees become boring and something new's awaited.

Features:

/Godmode [ID]

Code: [Select]
Target ID will receive invulnerability until you decide to turn it off again. He will receive no damage from any source.. except from /slap of course. Noone can escape a good slapping!
/LockToTeam [ID] [Team]

Code: [Select]
This command will lock target player to the designated team. If he tries to join another team, he gets swapped back immediatly. Use 'Team = 0' to turn it off again.
/Change [Stat] [ID] [Value]

Code: [Select]
Changes one of the following stats of target ID to the defined value.

'HPReg' -> Health regeneration. You can use both positive and negative values.
'Armor' -> Resistance to damage. Value = 0.5 means 50% damage reduction.
'DmgMod' -> Damage output. Value = 1.75 means 175% damage incremention.
'Mirror' -> Damage reflection. Value = 0.25 means 25% of received damage is inflicted to the shooter.
'Primary'    -> Value = Weapon. Value2 = Ammunition. '/Change Primary 1 5 7' will give ID #1 a fully loaded Spas-12.
'Secondary' -> Same as above, only for secondary slot.

/Give [ID] [Item]

Code: [Select]
Give a predefined item to target ID. Putting 'infinite' before the item will automatically refresh the bonus when
it runs out. Items like cluster grenades or bulletproof vests will refresh every 5 seconds. Flamegod is excluded from
this command but can be forced to a player's hands using the /Change command.

[Item] -> 1: Predator; 2: Berserker; 3: Bulletproof Vest; 4: Grenades; 5: Cluster Grenades;

Example: '/Give 1 Infinite 2' will give ID number 1 an automatically refreshing berserker upgrade.

/Move [ID] [Direction] [Distance]

Code: [Select]
This command will teleport target ID into a certain direction. 7 units for [Distance] are 1 meter in Soldat.

Directions:
Left:    <
Right:    >
Up:    ^
Down:    v

Example: '/Move 3 > 70' will move ID 3 10 metres to the right.

/Tele [ID] [Object] [Value]

Code: [Select]
Teleport target ID to target object. Fill in 'Flag' for [Object] and '1' or '2' for [Value] to teleport the player to one
of the CTF flags, and 'Player' and '1' to '32' to teleport him to another player.

Example: '/Tele 3 Flag 2' will teleport player 3 to Bravo's flag.

/Autokill [ID] [Value]

Code: [Select]
Target ID will be instantly killed for X seconds. Using /Autokill [ID] again will end the effect sooner.
/Slap [ID]/b]

Code: [Select]
This command should be used whenever someone says something really stupid and you feel as if this player
was so stupid that hitting your own face with a facepalm would cause such massive disorientation and severe
damage to bones and brain in the process, /slap is just the better choice, because you can punish [i]him[/i] for his [i]own[/i]
stupidity instead of chastening yourself for his faults.

Note: neither 'mirror' nor 'armor' and not even 'godmode' can mitigate the damage dealt by a /slap command. Let the slapping begin!

/Flash [ID] [Time]

Code: [Select]
Target ID will twitch nervously for X seconds, as you brighten his screen until he would bet his grandmother that his screen said #FFFFFFFF.
/Timewarp [ID]

Code: [Select]
This mean bitch of a command will warp target ID every two seconds to the place that he was at one second before the warp. Laaaaaaaaaaaaaag bro.
/KnifeFlurry [ID] [Time]

Code: [Select]
Target ID will have infinite knives for X seconds.
/SayAsID [ID] [Text]

Code: [Select]
Did you ever want to be someone else? Well, here is the moment you waited for! Abuse someone else's body for
your dirty little secrets!

/Nuke [ID]

Code: [Select]
Blow someone up in a big ball of fire.
/LockWeapon [ID] [Item]

Code: [Select]
Disable target ID's weapon of your choice, or a complete set of weapons. Fill in 'Primaries' or 'Secondaries' for example,
and disable / enable all his primary or secondary weapons. Fill in any other number to disable a specific weapon.

/Snipe

Code: [Select]
Shoot an M79 bullet straight to the nearest enemy's head.
/Copycat [ID] [Team]

Code: [Select]
Add an exact copy of target ID to the designated team. The bot will have target ID's visual appearance and
weapon of choice, but will be a parody of him. Humiliation and comedy in one!

/Gravity [Value]

Code: [Select]
Change gravity to a new value. 0.06 is the default value. 0.00 will make everyone float. Negative values are possible.
/Disable [ID] [Time]

Code: [Select]
Make target ID unable to pick up any weapon or use one from the start for X seconds. The target ID will only deal 25%
of the normal damage with their bare hands or grenades.

/Freeze [ID] [Time]

Code: [Select]
This command will lock target ID in place for X seconds. They will not be able to do anything.
/Meatshield [ID] [MeatshieldID]

Code: [Select]
Any damage that target ID receives will be redirected to [MeatshieldID] until the shield is dead.
« Last Edit: August 30, 2013, 03:11:12 pm by DarkCrusade »

Offline skrX

  • Soldier
  • **
  • Posts: 112
  • x ye.
Re: rageADMIN
« Reply #1 on: August 27, 2013, 04:37:48 pm »
Yey, nice Dark. You can add my function AdminSpeak. It would be cool  :P
« Last Edit: August 27, 2013, 04:55:18 pm by skrX »

DarkCrusade

  • Guest
Re: rageADMIN
« Reply #2 on: August 27, 2013, 04:43:38 pm »
Haha, I knew you'd like it, Skrillex :P You can use /tele ID Flag [1 or 2] to move a player to a flag already :)

Offline Mighty

  • Camper
  • ***
  • Posts: 276
Re: rageADMIN
« Reply #3 on: August 27, 2013, 04:46:14 pm »
Lock the player in place for X seconds
Make him lose hp over time
Limit weapons to secondary only
Add a bot with his nickname + space, saying 'I'm bad' when he dies
Limit his vision to a small circle on screen (damn font changes)
Make him say something
Create a homing missle to chase him around (screw campers)
Make him explode like a cluster grenade, clusters being nades or w/e

I'm out of ideas, too ;)
xFire: macmil        e-mail: macekmil@gmail.com
My scripts: Accuracy Script       Flashbang       Punishments GUID
            CatchMe Gamemod       AntiFake
            CW System             AntiFakeGUID

Offline skrX

  • Soldier
  • **
  • Posts: 112
  • x ye.
Re: rageADMIN
« Reply #4 on: August 27, 2013, 04:51:08 pm »
/wep  [ID] [Time] - makes it unable for player to use weapons (except nades) idea Mighty.
« Last Edit: August 27, 2013, 04:57:54 pm by skrX »

DarkCrusade

  • Guest
Re: rageADMIN
« Reply #5 on: August 27, 2013, 05:03:45 pm »
Lock the player in place for X seconds // I think Neosano wrote a 'freeze' script some time ago. Have to look it up. Good call!
Make him lose hp over time // /change HPReg [ID] [Negative value] does the job just fine
Limit weapons to secondary only // Will be done asap :)
Add a bot with his nickname + space, saying 'I'm bad' when he dies // Haha, good one :D I can give him the same appearance, too, thanks to SC3
Limit his vision to a small circle on screen (damn font changes) // If you explain to me how I can achieve that effect, that would be kind of awesome lol.
Make him say something // World text is on its way. Before that, there are only workarounds as far as I know..
Create a homing missle to chase him around (screw campers) // That requires some work, but I will put this on my TODO list :)
Make him explode like a cluster grenade, clusters being nades or w/e // How could I not think of that? Of course!

I'm out of ideas, too ;) // You already provided me with a good list of new material! Thanks! :)

/wep  [ID] [Time] - makes it unable for player to use weapons (except nades) idea Mighty. // Cool as well. On my TODO!

EDIT:

New features:

/snipe         - Snipe next enemy in vision range (takes polygons in the way into account)
/nuke [ID]          - Shred someone to pieces.
/disable [ID] [Object]   - Object: 1 to 14 = single weapon on/off; 'Primaries' or 'Secondaries' = disable a set of weapons
/sayasID [ID] [Text]   - Copies chatbox's style (colour, names, etc.) to confuse players.
« Last Edit: August 27, 2013, 06:28:08 pm by DarkCrusade »

Offline Mighty

  • Camper
  • ***
  • Posts: 276
Re: rageADMIN
« Reply #6 on: August 27, 2013, 10:25:11 pm »
I think Neosano wrote a 'freeze' script some time ago. Have to look it up. Good call!
--> Sure he did, but it would be a great addition

Add a bot with his nickname + space, saying 'I'm bad' when he dies // Haha, good one :D I can give him the same appearance, too, thanks to SC3
--> You could've done that before, too. Just create .bot file and load it then
Quote
Limit his vision to a small circle on screen (damn font changes)
Quote
If you explain to me how I can achieve that effect, that would be kind of awesome lol.
You can use DrawText/DrawTextEx in SC2 and BigText in SC3 with a, for example, huge scale "o". The problem is it's font dependant, meaning client dependant. Soldat uses 2 fonts to do this by default: Verdana (Polish and Russian) and BankGothic Lt BT (all others). It's a pain in the ass to find a good char, scale and position for both of these fonts.
xFire: macmil        e-mail: macekmil@gmail.com
My scripts: Accuracy Script       Flashbang       Punishments GUID
            CatchMe Gamemod       AntiFake
            CW System             AntiFakeGUID

DarkCrusade

  • Guest
Re: rageADMIN
« Reply #7 on: August 27, 2013, 10:49:52 pm »
What I meant about the bot file was that I could not access player properties like hair style, colours and stuff like dogtags. I can create an exact copy of the player now :)

The BigText thing sounds like it could work but would be a real pain in the ass to code. I will stick with the other suggestions. I do not feel as if I'd lose out on too much without the small vision radius, and maybe I will have a day or two off with absolutly nothing to do and will do it anyway :P

DarkCrusade

  • Guest
Re: rageADMIN
« Reply #8 on: August 29, 2013, 06:00:21 am »
New features:

/Snipe -> Will shoot an M79 bullet to the next enemy player's face
/Copycat ID Team -> Will add a bot with a name derived from target ID's name to the designated team. Will say funny stuff and is an exact copy of the targeted ID
/Gravity Value -> Will change the gravity to the designated value. 0.06 is default gravity. 0 means floating. Negative values will make players move up, etc.
/Disable ID Time -> Will make the ID unable to use weapons for X seconds. Grenades and fists can still be used, but they will deal only 25% of the original damage. Picked up weapons will be removed from the player's hands.
/Freeze ID Time -> Will freeze the ID in place for X seconds.

Offline skrX

  • Soldier
  • **
  • Posts: 112
  • x ye.
Re: rageADMIN
« Reply #9 on: August 29, 2013, 11:58:33 am »
New features:

/Snipe -> Will shoot an M79 bullet to the next enemy player's face
/Copycat ID Team -> Will add a bot with a name derived from target ID's name to the designated team. Will say funny stuff and is an exact copy of the targeted ID
/Gravity Value -> Will change the gravity to the designated value. 0.06 is default gravity. 0 means floating. Negative values will make players move up, etc.
/Disable ID Time -> Will make the ID unable to use weapons for X seconds. Grenades and fists can still be used, but they will deal only 25% of the original damage. Picked up weapons will be removed from the player's hands.
/Freeze ID Time -> Will freeze the ID in place for X seconds.

+

Code: [Select]
const
Color = $FFFFFFFFF;

function PlaceBot(botname: string; team: byte; X,Y: single): byte;
var
 i,n,tempType: byte;
 spawn: array of byte;
 tempX,tempY: single;
begin
  SetArrayLength(spawn,0);
  n:=0;
 
  for i:=1 to 254 do
    if GetSpawnStat(i,'Active') = true then
      if GetSpawnStat(i,'Style') = team then
begin
n:=n + 1;
SetArrayLength(spawn,n);
spawn[n-1]:=i;
SetSpawnStat(i,'Active',false);
end;

  for i:=1 to 254 do
    if GetSpawnStat(i,'Active') = false then
begin
SetSpawnStat(i,'Active',true);
tempType:=GetSpawnStat(i,'Style');
tempX:=GetSpawnStat(i,'X');
tempY:=GetSpawnStat(i,'Y');
SetSpawnStat(i,'Style',team);
SetSpawnStat(i,'X',X);
SetSpawnStat(i,'Y',Y);
break;
end;

Result:=Command('/addbot' + inttostr(team) + ' ' + botname);
SetSpawnStat(i,'Active',false);
SetSpawnStat(i,'Style',tempType);
SetSpawnStat(i,'X',tempX);
SetSpawnStat(i,'Y',tempY);

  if n > 0 then
    for i:=0 to n-1 do
      SetSpawnStat(spawn[i],'Active',true);
end;

function Bot(const ID: byte): byte;
begin
  if NumPlayers < 20 then
begin
Result:=PlaceBot(randombot(),GetPlayerStat(ID,'Team'),GetPlayerStat(ID,'X')+21,GetPlayerStat(ID,'Y'));
PlaceBot(randombot(),GetPlayerStat(ID,'Team'),GetPlayerStat(ID,'X')+10,GetPlayerStat(ID,'Y')+18);
PlaceBot(randombot(),GetPlayerStat(ID,'Team'),GetPlayerStat(ID,'X')-10,GetPlayerStat(ID,'Y')-18);
PlaceBot(randombot(),GetPlayerStat(ID,'Team'),GetPlayerStat(ID,'X')-21,GetPlayerStat(ID,'Y'));
end
  else Result:=0;
end;

procedure DrawSymbol(const X,Y: single; const owner: byte);
begin
      CreateBullet(X,Y-80,0,0,0,5,owner);
      CreateBullet(X+7,Y-68,0,0,0,5,owner);
      CreateBullet(X-7,Y-68,0,0,0,5,owner);
      CreateBullet(X+14,Y-56,0,0,0,5,owner);
      CreateBullet(X-14,Y-56,0,0,0,5,owner);
      CreateBullet(X+21,Y-44,0,0,0,5,owner);
      CreateBullet(X-21,Y-44,0,0,0,5,owner);
      CreateBullet(X+28,Y-32,0,0,0,5,owner);
      CreateBullet(X-28,Y-32,0,0,0,5,owner);
      CreateBullet(X+35,Y-20,0,0,0,5,owner);
      CreateBullet(X-35,Y-20,0,0,0,5,owner);
      CreateBullet(X+42,Y-8,0,0,0,5,owner);
      CreateBullet(X-42,Y-8,0,0,0,5,owner);
      CreateBullet(X+49,Y+4,0,0,0,5,owner);
      CreateBullet(X-49,Y+4,0,0,0,5,owner);
      CreateBullet(X+56,Y+16,0,0,0,5,owner);
      CreateBullet(X-56,Y+16,0,0,0,5,owner);
      CreateBullet(X+63,Y+28,0,0,0,5,owner);
      CreateBullet(X-63,Y+28,0,0,0,5,owner);
      CreateBullet(X+70,Y+40,0,0,0,5,owner);
      CreateBullet(X+56,Y+40,0,0,0,5,owner);
      CreateBullet(X+42,Y+40,0,0,0,5,owner);
      CreateBullet(X+28,Y+40,0,0,0,5,owner);
      CreateBullet(X+14,Y+40,0,0,0,5,owner);
      CreateBullet(X,Y+40,0,0,0,5,owner);
      CreateBullet(X-14,Y+40,0,0,0,5,owner);
      CreateBullet(X-28,Y+40,0,0,0,5,owner);
      CreateBullet(X-42,Y+40,0,0,0,5,owner);
      CreateBullet(X-56,Y+40,0,0,0,5,owner);
      CreateBullet(X-70,Y+40,0,0,0,5,owner);

      CreateBullet(X,Y+80,0,0,0,5,owner);
      CreateBullet(X+7,Y+68,0,0,0,5,owner);
      CreateBullet(X-7,Y+68,0,0,0,5,owner);
      CreateBullet(X+14,Y+56,0,0,0,5,owner);
      CreateBullet(X-14,Y+56,0,0,0,5,owner);
      CreateBullet(X+21,Y+44,0,0,0,5,owner);
      CreateBullet(X-21,Y+44,0,0,0,5,owner);
      CreateBullet(X+28,Y+32,0,0,0,5,owner);
      CreateBullet(X-28,Y+32,0,0,0,5,owner);
      CreateBullet(X+35,Y+20,0,0,0,5,owner);
      CreateBullet(X-35,Y+20,0,0,0,5,owner);
      CreateBullet(X+42,Y+8,0,0,0,5,owner);
      CreateBullet(X-42,Y+8,0,0,0,5,owner);
      CreateBullet(X+49,Y-4,0,0,0,5,owner);
      CreateBullet(X-49,Y-4,0,0,0,5,owner);
      CreateBullet(X+56,Y-16,0,0,0,5,owner);
      CreateBullet(X-56,Y-16,0,0,0,5,owner);
      CreateBullet(X+63,Y-28,0,0,0,5,owner);
      CreateBullet(X-63,Y-28,0,0,0,5,owner);
      CreateBullet(X+70,Y-40,0,0,0,5,owner);
      CreateBullet(X+56,Y-40,0,0,0,5,owner);
      CreateBullet(X+42,Y-40,0,0,0,5,owner);
      CreateBullet(X+28,Y-40,0,0,0,5,owner);
      CreateBullet(X+14,Y-40,0,0,0,5,owner);
      CreateBullet(X,Y-40,0,0,0,5,owner);
      CreateBullet(X-14,Y-40,0,0,0,5,owner);
      CreateBullet(X-28,Y-40,0,0,0,5,owner);
      CreateBullet(X-42,Y-40,0,0,0,5,owner);
      CreateBullet(X-56,Y-40,0,0,0,5,owner);
      CreateBullet(X-70,Y-40,0,0,0,5,owner);
end;

procedure OnPlayerKill(Killer, Victim: byte;Weapon: string);
begin
if (Killer<>Victim) then
begin
if (GetPlayerStat(Killer,'Human') = true) and (GetPlayerStat(Victim,'Human') = false) then
begin
Command('/kick ' + InttoStr(Victim));
end;
end;
end;

function OnCommand(ID: Byte; Text: string): boolean;
begin
if (Text = '/bot') then
begin
DrawSymbol(GetPlayerStat(ID,'X'),GetPlayerStat(ID,'Y'),ID);
Bot(ID);
WriteConsole(ID,'Woahh!',Color);
end;
Result := false;
end;

Try this :D you can do something cool ;)

Offline NoMAtter

  • Major(1)
  • Posts: 15
    • Soldat Arena
Re: rageADMIN
« Reply #10 on: August 29, 2013, 01:38:28 pm »
Maybe you can use these two commands:

Code: [Select]

/matrix [ID] [Delay] = Creates a black background and changing 0s and 1s on players' screen. You can determine how long it will last.
Set ID as 0 to make it to all players. It seems like matrix, so I named it matrix :D

/blind [ID] [Delay] = Makes a player blind. It is same as matrix just without numbers. Set ID 0 to make it everyone.

edit : Matrix hardly lags the server if you use a delay more than 500-600.  But you can freely use the /blind.
« Last Edit: August 29, 2013, 01:41:07 pm by NoMAtter »

Offline skrX

  • Soldier
  • **
  • Posts: 112
  • x ye.
Re: rageADMIN
« Reply #11 on: August 29, 2013, 03:33:15 pm »
Maybe you can use these two commands:

Code: [Select]

/matrix [ID] [Delay] = Creates a black background and changing 0s and 1s on players' screen. You can determine how long it will last.
Set ID as 0 to make it to all players. It seems like matrix, so I named it matrix :D

/blind [ID] [Delay] = Makes a player blind. It is same as matrix just without numbers. Set ID 0 to make it everyone.

edit : Matrix hardly lags the server if you use a delay more than 500-600.  But you can freely use the /blind.

Good idea with this matrix. I like it. You can replace the numbers on random words.

Offline Mighty

  • Camper
  • ***
  • Posts: 276
Re: rageADMIN
« Reply #12 on: August 29, 2013, 05:55:30 pm »
Matrix hardly lags the server if you use a delay more than 500-600.  But you can freely use the /blind.

/matrix 1 100 made the server freeze for 2 seconds, /matrix 1 1000 made me timout :p

Here, try this. This is SC3 code though and for all players on the server, but that's just an example. Looks more Matrix-like, but doesn't change the background. It's tested, doesn't lag at all for me.

Edit: Remember that /blind you did is client dependant. If someone changes his font it will most likely not work.

Code: [Select]
const
CELLH=15; // Cell Height
CELLW=15; // Cell Width
COLS=40; // Columns in matrix
ROWS=30; // rows in matrix

DELAY=120;
COLOR=$00FF00;
SCALE=0.05;
LAYERMIN=10; // lowest layer value
LAYERMAX=255;

FLOWS=10; // number of "flows".
// Decrease to one to see the explanation
FLOWMIN=5; // minimum chars in a flow
FLOWMAX=20; // max chars in a flow
FLOWSTOPPERCENT=15; // chance (%) that flow will stop
// checked each char

TICKINTERVAL=8; // TickThreshold value


type
TFlow = RECORD
X: integer;
Y: integer;
count: byte;
end;

var
Flow: array[1..FLOWS] of TFlow;
currLayer: integer;

procedure OnTick(t: integer);
var i,j: integer;
begin
for i:=1 to FLOWS do
begin
with Flow[i] do
begin
// reset the flow if needed
j := Random(1,100);
if ((j <= FLOWSTOPPERCENT) AND (Count >= FLOWMIN))
OR (Count > FLOWMAX)
OR (Y > ROWS) then
begin
X := Random(1,COLS);
Y := Random(1,ROWS-5);
Y := Y - Random(0,5);
if Y < 1 then Y := -Y + 1;
Count := 0;
end;
// draw the char
Players.BigText(currLayer,Chr(Random(33,126)),DELAY,COLOR,SCALE,5+CELLW*X,5+CELLH*Y);
// update variables
Inc(currLayer);
if currLayer > LAYERMAX then currLayer := LAYERMIN;
Inc(Y);
Inc(Count);
end;
end;
end;

begin

Game.OnClockTick := @OnTick;
Game.TickThreshold := TICKINTERVAL;

end.
« Last Edit: August 30, 2013, 02:26:42 am by Mighty »
xFire: macmil        e-mail: macekmil@gmail.com
My scripts: Accuracy Script       Flashbang       Punishments GUID
            CatchMe Gamemod       AntiFake
            CW System             AntiFakeGUID

DarkCrusade

  • Guest
Re: rageADMIN
« Reply #13 on: August 30, 2013, 03:11:49 pm »
Cool stuff, guys! Will have to look into that after my exams next week. I added some fancy stuff as well, though, so read the first post for an update.