All pastes #768207 Raw Edit

Someone

public text v1 · immutable
·published 2007-11-10 12:01 UTC
rendered paste body
procedure OnPlayerKill(Killer, Victim: byte; Weapon: string);
var
spree: array[1..25] of string;
colors: array[1..25] of Longint;
killsNeeded: byte;
	begin
		killsNeeded := 3; //number of kills needed to count as a killing spree
		//spree[x] where x represents the current number of spree kills player has
		//more can be added just be sure to change the spree array size
		spree[killsNeeded] := ' is on a Killing Spree!';
		colors[killsNeeded] := $FF52DD52;
		spree[5] := ' is on a Rampage!';
		colors[5] := $FFFFFC00;
		spree[8] := ' is Dominating!';
		colors[8] := $FFAF00A1;
		spree[11] := ' is Unstoppable!';
		colors[11] := $FFEC8931;
		spree[14] := ' is Wicked Sick!';
		colors[14] := $FFB1C0C6;
		spree[20] := ' is Godlike!';
		colors[20] := $FFE8FF27;
		spree[25] := ' is Beyond Godlike!';
		colors[25] := $FFFF081F;
		if killer <> victim then 
		begin
			if (GetPlayerStat(killer,'name') <> GetPlayerStat(victim,'name')) then begin
				kills[killer] := kills[killer] + 1;
				if (kills[victim] >= killsNeeded) then begin
					WriteConsole(0,GetplayerStat(victim,'name') + '''s ' + inttostr(kills[victim]) + ' kills spree ended by ' + GetPlayerStat(killer,'name'),$FFAF2F00);
				end;
				kills[victim] := 0;
				
				if bonus[victim] > 0 then bonus[victim] := 0;
				
				if (kills[killer] <= Arrayhigh(spree) + 1) then begin
					if (spree[kills[killer]] <> '') then WriteConsole(0,GetPlayerStat(killer,'name') + spree[kills[killer]],colors[kills[killer]]);
					
					if (kills[killer] >= 1) then begin
						bonus[killer] := Random(3,4);						
						case bonus[killer] of 
							1: begin DrawText(killer, 'Damage booster!!!',10000,RGB(255,0,0),0.20,40,240); end;
							2: begin DrawText(killer, 'Life Leech!!!',10000,RGB(255,0,0),0.20,40,240); end;
							3: begin DrawText(killer, 'Dodger!!!',10000,RGB(255,0,0),0.20,40,240); end;
						end;
					end;
					
				end;
			end
		else 
		begin
			WriteLn(IdToName(victim) + ' commited suicide!!!!!!!!!!!!');
			
			if (kills[killer] > 0) then WriteConsole(GetplayerStat(killer, 'ID'),'Your spree kills have been reset for team killing',$FFAF2F00);
			kills[killer] := 0;
			
			if bonus[killer] > 0 then bonus[killer] := 0;
			
		end;
		
		if killer = victim then begin			
			if bonus[victim] > 0 then begin
				bonus[victim] := 0;
				WriteLn(IdToName(victim) + ' commited suicide!!!!!!!!!!!!');
			end;			
		end;		
	end;
end;