Author Topic: Current Achievements script (unfinished)  (Read 627 times)

0 Members and 1 Guest are viewing this topic.

Offline Kavukamari

  • Camper
  • ***
  • Posts: 435
  • 3.14159265358979, mmm... pi
Current Achievements script (unfinished)
« on: November 08, 2007, 10:50:02 pm »
this is the current version, is still unfinished

Code: [Select]
const
  Debug=false;
  Default=5;
  KillsNeeded=Default;
  UsesNeeded=Default;
  CapsNeeded=Default;
  Max_Players=32;

type Achievements = record
  Spree, Cap: integer;
  WepUsed: array[0..17] of integer;
end;

type Playertype = record
  Name: string;
  Kills: integer;
end;

var
  Player: array[1..Max_Players] of Achievements;
  Stats: array[1..Max_Players] of Playertype;
  i: integer;

procedure OnJoinGame(ID, Team: Byte);
begin
  Stats[ID].Name:=GetPlayerStat(ID,'Name');
  if Debug then WriteLn(Stats[ID].Name);
end;

procedure OnPlayerKill(Killer, Victim: Byte; Weapon: string);
begin
  for i:=1 to Max_Players do Stats[i].Kills:=GetPlayerStat(i,'Kills');
  if Killer <> Victim then begin
    if Debug then WriteLn(floattostr(Stats[Killer].Kills/KillsNeeded));
    if MaskCheck(floattostr(Stats[Killer].Kills/KillsNeeded),'?') then begin
      if (Stats[Killer].Kills/KillsNeeded) = 1 then begin
        Player[Killer].Spree:=1;
        WriteConsole(0,GetPlayerStat(Killer,'Name')+' is on a Killing Spree!',$FFFFFFFF);
      end;
      if (Stats[Killer].Kills/KillsNeeded) = 2 then begin
        Player[Killer].Spree:=2;
        WriteConsole(0,Stats[Killer].Name+' is on a Running Riot!!',$FFBFBFBF);
      end;
      if (Stats[Killer].Kills/KillsNeeded) = 3 then begin
        Player[Killer].Spree:=3;
        WriteConsole(0,'all your base r belong 2 '+lowercase(Stats[Killer].Name)+'!!!',$FF808080);
      end;
      if (Stats[Killer].Kills/KillsNeeded) = 4 then begin
        Player[Killer].Spree:=4;
        WriteConsole(0,Stats[Killer].Name+' seems unstoppable!!!!',$FF404040);
      end;
      if (Stats[Killer].Kills/KillsNeeded) = 5 then begin
        Player[Killer].Spree:=5;
        WriteConsole(0,'AAH!! '+Stats[Killer].Name+' MUST BE A FLIPPIN DEMON!!!!!',$FF000000);
      end;
    end;
  end;
end;
« Last Edit: November 08, 2007, 11:55:51 pm by Kavukamari »
"Be mindful of fame, show a mighty courage, watch against foes. Nor shalt thou lack what thou desirest, if with thy life thou hast comest out from that heroic task."

Offline EnEsCe

  • Retired Soldat Developer
  • Flamebow Warrior
  • ******
  • Posts: 3101
  • http://enesce.com/
    • [eC] Official Website
Re: help on killing spree script (part of bigger project)
« Reply #1 on: November 08, 2007, 11:13:55 pm »
Put in some debug WriteLn's....

Like WriteLn(inttostr(Stats[Killer].Kills/KillsNeeded));

Offline Kavukamari

  • Camper
  • ***
  • Posts: 435
  • 3.14159265358979, mmm... pi
Re: help on killing spree script (part of bigger project)
« Reply #2 on: November 08, 2007, 11:50:56 pm »
thanx, it works now I'll update this topic when I finish each achievement
"Be mindful of fame, show a mighty courage, watch against foes. Nor shalt thou lack what thou desirest, if with thy life thou hast comest out from that heroic task."