rendered paste body{$VERSION 2.6.0}
const
MAX_HEALTH = 65; // Set to 150 for non-realistic mode, else set to 65.
DROP_VALUE = 1; // Value of each 'drop' of health, def: 5.
const
//Teams
ALPHA = 1;
BRAVO = 2;
CHARLIE = 3;
DELTA = 4;
SPECTATOR = 5;
//Game Modes
DEATHMATCH = 0;
POINTMATCH = 1;
TEAMMATCH = 2;
CTF = 3;
RAMBO = 4;
INF = 5;
HTF = 6;
//Weapons
DEAGLES = 1;
HKMP5 = 2;
AK74 = 3;
STEYR = 4;
SPAS = 5;
RUGER = 6;
M79 = 7;
BARRET = 8;
MINIMI = 9;
MINIGUN = 10;
FLAMER = 11;
BOW = 12;
FLAMEBOW = 13;
SOCOM = 0;
KNIFE = 14;
CHAINSAW = 15;
LAW = 16;
var
Disabled: tstringarray;
procedure ActivateServer();
var
Text: string;
begin
end;
procedure AppOnIdle(Ticks: integer);
var i: byte;
begin
if Ticks mod (60 * 1) = 0 then begin
for i := 1 to 32 do
if (GetPlayerStat(i,'Health') < (MAX_HEALTH - (DROP_VALUE - 1))) then begin
DoDamage(i,-DROP_VALUE);
end else begin
DoDamage(i,-(MAX_HEALTH - (GetPlayerStat(i,'Health'))));
end;
end;
end;
function OnCommand(ID: Byte; Text: string): boolean;
var
good: boolean;
i,Line: integer;
Name: string;
begin
Result := false;
Text := LowerCase(Text);
if (GetPiece(Text,' ',0) = '/disable') and (GetPiece(Text,' ',1) <> 'disable') and (GetPiece(Text,' ',1) <> 'enable') and (GetPiece(Text,' ',1) <> 'kill') and (GetPiece(Text,' ',1) <> 'brutalkill') and (GetPiece(Text,' ',1) <> 'smoke') and (GetPiece(Text,' ',1) <> 'tabac') and (GetPiece(Text,' ',1) <> 'takeoff') and (GetPiece(Text,' ',1) <> 'victory') and (GetPiece(Text,' ',1) <> 'pause') and (GetPiece(Text,' ',1) <> 'unpause') and (GetPiece(Text,' ',1) <> 'addbot') and (GetPiece(Text,' ',1) <> 'kick') and (GetPiece(Text,' ',1) <> 'ban') and (GetPiece(Text,' ',1) <> 'banip') and (GetPiece(Text,' ',1) <> 'unban') and (GetPiece(Text,' ',1) <> 'map') and (GetPiece(Text,' ',1) <> 'restart') and (GetPiece(Text,' ',1) <> 'nextmap') and (GetPiece(Text,' ',1) <> 'adm') and (GetPiece(Text,' ',1) <> 'admip') and (GetPiece(Text,' ',1) <> 'unadm') and (GetPiece(Text,' ',1) <> 'kicklast') and (GetPiece(Text,' ',1) <> 'respawntime') and (GetPiece(Text,' ',1) <> 'maxrespawntime') and (GetPiece(Text,' ',1) <> 'limit') and (GetPiece(Text,' ',1) <> 'timelimit') and (GetPiece(Text,' ',1) <> 'password') and (GetPiece(Text,' ',1) <> 'setteam') and (GetPiece(Text,' ',1) <> 'addbot') and (GetPiece(Text,' ',1) <> 'friendlyfire') and (GetPiece(Text,' ',1) <> 'vote%') and (GetPiece(Text,' ',1) <> 'bonus') and (GetPiece(Text,' ',1) <> 'maxplayers') and (GetPiece(Text,' ',1) <> 'loadcon') and (GetPiece(Text,' ',1) <> 'loadlist') and (GetPiece(Text,' ',1) <> 'loadwep') and (GetPiece(Text,' ',1) <> 'gamemode') and (GetPiece(Text,' ',1) <> 'realistic') and (GetPiece(Text,' ',1) <> 'advance') and (GetPiece(Text,' ',1) <> 'survival') and (GetPiece(Text,' ',1) <> 'banlast') and (GetPiece(Text,' ',1) <> 'unbanlast') and (GetPiece(Text,' ',1) <> 'lobby') and (GetPiece(Text,' ',1) <> 'say') and (GetPiece(Text,' ',1) <> 'adminlog') and (GetPiece(Text,' ',1) <> 'info') and (GetPiece(Text,' ',1) <> 'mute') and (GetPiece(Text,' ',1) <> 'unmute') and (GetPiece(Text,' ',1) <> 'gmute') and (GetPiece(Text,' ',1) <> 'ungmute') and (GetPiece(Text,' ',1) <> 'record') and (GetPiece(Text,' ',1) <> 'stop') then begin
if GetPiece(Text,' ',1) = 'all' then begin
SetArrayLength(Disabled,GetArrayLength(Disabled) + 23);
for i := 0 to 22 do Case i of
0: Disabled[GetArrayLength(Disabled) - i] := 'deagles'
1: Disabled[GetArrayLength(Disabled) - i] := 'hkmp5'
2: Disabled[GetArrayLength(Disabled) - i] := 'ak74'
3: Disabled[GetArrayLength(Disabled) - i] := 'steyr'
4: Disabled[GetArrayLength(Disabled) - i] := 'spaz'
5: Disabled[GetArrayLength(Disabled) - i] := 'ruger'
6: Disabled[GetArrayLength(Disabled) - i] := 'm79'
7: Disabled[GetArrayLength(Disabled) - i] := 'barret'
8: Disabled[GetArrayLength(Disabled) - i] := 'minimi'
9: Disabled[GetArrayLength(Disabled) - i] := 'minigun'
10: Disabled[GetArrayLength(Disabled) - i] := 'socom'
11: Disabled[GetArrayLength(Disabled) - i] := 'knife'
12: Disabled[GetArrayLength(Disabled) - i] := 'saw'
13: Disabled[GetArrayLength(Disabled) - i] := 'law'
14: Disabled[GetArrayLength(Disabled) - i] := 'stat'
15: Disabled[GetArrayLength(Disabled) - i] := 'medic'
16: Disabled[GetArrayLength(Disabled) - i] := 'nade'
17: Disabled[GetArrayLength(Disabled) - i] := 'flame'
18: Disabled[GetArrayLength(Disabled) - i] := 'armor'
19: Disabled[GetArrayLength(Disabled) - i] := 'pred'
20: Disabled[GetArrayLength(Disabled) - i] := 'berserk'
21: Disabled[GetArrayLength(Disabled) - i] := 'cluster'
22: Disabled[GetArrayLength(Disabled) - i] := 'test'
end;
WriteConsole(0,GetPlayerStat(ID,'Name') + ' has disabled all custom commands.',$FFFFFFFF);
end else begin
SetArrayLength(Disabled,GetArrayLength(Disabled) + 1);
Disabled[GetArrayLength(Disabled) - 1] := Copy(Text,10,Length(Text));
WriteConsole(0,GetPlayerStat(ID,'Name') + ' has disabled the ''/' + GetPiece(Text,' ',1) + ''' command.',$FFFFFFFF);
end;
end;
if GetPiece(Text,' ',0) = '/enable' then begin
if GetPiece(Text,' ',1) = 'all' then SetArrayLength(Disabled,0) else begin
While good do begin
Line := -1;
for i := 0 to GetArrayLength(Disabled) - 1 do if Copy(Text,9,Length(Text)) = Disabled[i] then begin
Line := i;
Break;
end;
if Line <> -1 then begin
for i := Line to GetArrayLength(Disabled) - 2 do Disabled[i] := Disabled[i + 1];
SetArrayLength(Disabled,GetArrayLength(Disabled) - 1);
good := true
end else good := false;
end;
WriteConsole(0,GetPlayerStat(ID,'Name') + ' has enabled the ''/' + GetPiece(Text,' ',1) + ''' command.',$FFFFFFFF);
end;
end;
end;
function OnPlayerCommand(ID: Byte; Text: string): boolean;
var
Allow: boolean;
i: integer;
begin
Allow := true;
for i := 0 to GetArrayLength(Disabled) - 1 do if Copy(Text,2,Length(Disabled[i])) = Disabled[i] then begin
Allow := false;
Break;
end;
if Allow then Result := false else Result := true;
if Result = false then Case Text of
'/deagles': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),1);
'/hkmp5': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),2);
'/ak74': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),3);
'/steyr': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),4);
'/spaz': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),5);
'/ruger': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),6);
'/m79': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),7);
'/barret': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),8);
'/minimi': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),9);
'/minigun': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),10);
'/socom': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),11);
'/knife': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),12);
'/saw': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),13);
'/law': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),14);
'/stat': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),15);
'/medic': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),16);
'/nade': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),17);
'/flame': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),18);
'/armor': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),19);
'/pred': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),20);
'/berserk': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),21);
'/cluster': SpawnObject(GetPlayerStat(ID,'x'),GetPlayerStat(ID,'y'),22);
'/commands': begin
WriteConsole(ID,'Commands: /deagles /hkmp5 /ak74 /steyr /spaz /ruger /m79 /barret /minimi /minigun',$EE81FAA1);
WriteConsole(ID,'/socom /knife /saw /law /stat',$EE81FAA1);
WriteConsole(ID,'/medic /nade /flame /armor /pred /berserk /cluster',$EE81FAA1);
end;
'/test': DrawText(0,'Master Chief43',330,RGB(255,255,255),0.20,40,240);
end;
end;
procedure OnException(ErrorMessage: string);
begin
// WriteFile('ErrorLog.txt', ErrorMessage);
end;