Author Topic: Money always shown in draw text ...  (Read 755 times)

0 Members and 1 Guest are viewing this topic.

Offline mich1103

  • Flagrunner
  • ****
  • Posts: 557
  • Did you say chocolate ? O.o
    • ZoMbIe-DeStRoYeR pk server
Money always shown in draw text ...
« on: June 12, 2010, 08:31:43 pm »
i have this script !
Code: [Select]
const
Color = $FF00FF00; //Color to be used.
psgpowa = 1;
psgtype = 14;
psgrang = 666;
psgspee = 75;
maxpsg = 5;
psgammo = 60; //took the liberty to invent it, since it was missing.

var
  pname: string;
  money: array[1..32] of integer;
  statcost:integer;
  giveid:integer;
  psgcost:integer;
  give,ammount,player:string;
  sgx,sgy:array[1..maxpsg] of single;
  sga,sgo,sgt:array[1..maxpsg] of byte;
  sgd:array[1..maxpsg] of boolean;
  invcost,medcost,nadecost,flamecost,vestcost,serkcost,clustcost,powercost,eaglecost: integer;
  mp5cost,ak47cost,augcost,spascost,rugecost,m79cost,barrcost,minimcost,minigcost, allcost: integer;
 

procedure placesentry(x,y:single;ID,team:byte);
var n,f:byte;
begin
if getplayerstat(ID,'Ground')=true then begin
f:=maxpsg;
for n:=1 to maxpsg do begin
if sgd[n]=true then f:=f-1;
end;
if f=0 then DrawText(ID,'Maximum of '+inttostr(maxpsg)+' sentry guns on map reached.',250,RGB(0,255,0),0.10,150,400) else begin
for n:=1 to maxpsg do begin
if sgd[n]=false then break;
end;
sgx[n]:=x; sgy[n]:=y; sgo[n]:=ID; sgt[n]:=team; sga[n]:=psgammo; sgd[n]:=true;
DrawText(ID,'Sentry gun placed!',250,RGB(0,255,0),0.1,75,350);
end;
end else DrawText(ID,'You are in mid-air!',250,RGB(0,255,0),0.10,220,400);
end;
 
 
 
procedure ActivateServer();
  begin
    statcost        := 25;
    psgcost         := 30;
    invcost         := 9;
    medcost         := 6;
    nadecost        := 6;
    flamecost       := 12;
    vestcost        := 7;
    serkcost        := 9;
    clustcost       := 8;
    powercost       := 18;
    eaglecost       := 9;
    mp5cost         := 9;
    ak47cost        := 10;
    augcost         := 10;
    spascost        := 10;
    rugecost        := 9;
    m79cost         := 12;
    barrcost        := 14;
    minimcost       := 11;
    minigcost       := 10;
    allcost         := 25;
  end;


procedure OnJoinGame(ID, Team: byte);

var
   asd : string;

  begin
if FileExists('scripts/shop/'+ GetPlayerStat(ID,'name') + '.txt') then begin 
asd := ReadFile('scripts/shop/'+ GetPlayerStat(ID,'name') + '.txt'); 
  money[ID] := StrToInt(Copy(asd,0,length(asd)-2)); 
 writeConsole(ID, 'Your Money is: $' + inttostr(money[ID]),Color);
    writeConsole(ID, 'Do /shop to see the shop, do /money to see your money !' + inttostr(money[ID]), Color);
 end else money[ID] := 0 
end; 






procedure OnPlayerKill(Killer, Victim: byte;Weapon: string);
  begin
    if Killer = Victim then
      begin
         writeConsole(Killer, 'you cant kill yourself for money !', Color);
      end else
      begin
        money[Killer] := money[Killer]+1;
        writeConsole(Killer, 'You just got $1 your money is now: $' + inttostr(money[Killer]), Color);
      end;
  end;




function OnPlayerCommand(ID: Byte; Text: string): boolean;
  begin



  give := GetPiece(LowerCase(Text), ' ', 0);
  ammount := GetPiece(LowerCase(Text), ' ', 1);
  player := GetPiece(Text, ' ', 2);
  if give = '/give' then
    begin
      if money[ID] > strtoint(ammount) then
        begin
          giveid := NameToID(player);

          if giveid > 0 then
            begin
              money[ID] := money[ID] - strtoint(ammount);
              money[giveid] := money[giveid] + strtoint(ammount);
              writeconsole(ID, 'You gave $' + ammount + ' to: ' + IDToName(giveid) + ', Your money is now: $' + inttostr(money[ID]) , Color);
              writeconsole(giveid, 'You recived $' + ammount + ' from: ' + IDToName(ID) + ', Your money is now: $' + inttostr(money[giveid]), Color);
            end else
              begin
                writeconsole(ID, 'That person does not exist.', Color);
              end;

        end else
        begin
          writeconsole(ID, 'You don''t have enough money', Color);
        end;

    end;







    if regExpMatch('^/(money|moneys)$', Text) then
      begin
        writeConsole(ID, 'Your money is: $' + inttostr(money[ID]), Color);
     end;



    if regExpMatch('^/(commands|shop|spawn|help)$', Text) then
      begin
        writeConsole(ID, '#############SHOP#########################', Color);
        writeConsole(ID, '#commands:                               #', Color);
        writeConsole(ID, '#/stat $25 (spawn a turret)              #', Color);
        writeConsole(ID, '#/psg $30 (Spawn a sentry gun)           #', Color);
        writeConsole(ID, '#/inv  $9(Give you the invisibility)     #', Color);
        writeConsole(ID, '#/med $6 (Give you a medic kit)          #', Color);
        writeConsole(ID, '#/nade $6 (Give to you some nade)        #', Color);
        writeConsole(ID, '#/flame $12 (Give you a flamer)          #', Color);
        writeConsole(ID, '#/vest $7 (Give you a Bullet proof)      #', Color);
        writeConsole(ID, '#/serk $9 (Give you the RAGE !!!)        #', Color);
        writeConsole(ID, '#/clust $8 (Give you some cluster)       #', Color);
        writeConsole(ID, '#/power $18 (Spawn all bonus above you)  #', Color);
        writeConsole(ID, '#/eagle $7 (Give you a Desert Eagle)     #', Color);
        writeConsole(ID, '#/mp5 $9 (Give you a Hk mp5)             #', Color);
        writeConsole(ID, '#/ak47 $10 (Give you a Ak 47)            #', Color);
        writeConsole(ID, '#/aug $10 (Give you a Steyr AUG)         #', Color);
        writeConsole(ID, '#/spas $10 (Give you a spas 12)          #', Color);
        writeConsole(ID, '#/ruger $9 (Give you a Ruger)            #', Color);
        writeConsole(ID, '#/m79 $12 (Give you a m79)               #', Color);
        writeConsole(ID, '#/barr $14 (Give you a Barret)           #', Color);
        writeConsole(ID, '#/minim $11 (Give you a FN minimi)       #', Color);
        writeConsole(ID, '#/minig $10 (Give you a Minigun)         #', Color);
        writeConsole(ID, '#/guns 25(Spawn all gun above you)       #', Color);
        writeConsole(ID, '#############END##########################', Color);
      end;





if regExpMatch('^/(stationary|stat|turrent)$', Text) then
  begin
      if money[ID] >= statcost then
        begin
          money[ID] := money[ID] - statcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,15);
          writeconsole(ID, 'You bought a Stat Gun for $25, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color);
      end;
  end;
  result := false;






if regExpMatch('^/(psg)$', Text) then begin
      if money[ID] >= psgcost then begin
          money[ID] := money[ID] - psgcost;
         placesentry(getplayerstat(ID,'x'),getplayerstat(ID,'y'),ID,getplayerstat(ID,'team'));
          writeconsole(ID, 'You bought a Sentry Gun for $30, you have $' + inttostr(money[ID]), Color);
        end else begin writeconsole(ID, 'You do not have enough money', Color);
    end;
end;


  if regExpMatch('^/(desert eagles|eagle|deagles|deserteagles)$', Text) then
    begin
      if money[ID] >= eaglecost then
        begin
          money[ID] := money[ID] - eaglecost;
          forceWeapon(ID,1,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought deagles for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(hkmp5|mp5|hk)$', Text) then
    begin
      if money[ID] >= mp5cost then
        begin
          money[ID] := money[ID] - mp5cost;
          forceWeapon(ID,2,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a HK MP5 for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(ak47)$', Text) then
    begin
      if money[ID] >= ak47cost then
        begin
          money[ID] := money[ID] - ak47cost;
          forceWeapon(ID,3,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a AK47 for $10, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(steyr|aug)$', Text) then
    begin
      if money[ID] >= augcost then
        begin
          money[ID] := money[ID] - augcost;
          forceWeapon(ID,4,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a Steyr Aug for $10, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(spas 12|spas|spas12)$', Text) then
    begin
      if money[ID] >= spascost then
        begin
          money[ID] := money[ID] - spascost;
          forceWeapon(ID,5,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a SPAS12 for $10, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(ruger|ruge|ruger77)$', Text) then
    begin
      if money[ID] >= rugecost then
        begin
          money[ID] := money[ID] - rugecost;
          forceWeapon(ID,6,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a Ruger for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(m79)$', Text) then
    begin
      if money[ID] >= m79cost then
        begin
          money[ID] := money[ID] - m79cost;
          forceWeapon(ID,7,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a M79 for $12, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(barreta|barr|barrett m82a1|barret|barret m)$', Text) then
    begin
      if money[ID] >= barrcost then
        begin
          money[ID] := money[ID] - barrcost;
          forceWeapon(ID,8,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a Barreta for $14, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(fn minimi|minim|fn)$', Text) then
    begin
      if money[ID] >= minimcost then
        begin
          money[ID] := money[ID] - minimcost;
          forceWeapon(ID,9,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a FN Minimi for $11, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(minigun|minig)$', Text) then
    begin
      if money[ID] >= minigcost then
        begin
          money[ID] := money[ID] - minigcost;
          forceWeapon(ID,10,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a Minigun for $10, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;


  if regExpMatch('^/(medic|med|health|med pack)$', Text) then
    begin
      if money[ID] >= medcost then
        begin
          money[ID] := money[ID] - medcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,16);
          writeconsole(ID, 'You bought a Medkit for $6, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(grenade|nade)$', Text) then
    begin
      if money[ID] >= nadecost then
        begin
          money[ID] := money[ID] - nadecost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,17);
          writeconsole(ID, 'You bought some Grenades for $6, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(cluster|clust|clustergrandes|clusternades|clustnades)$', Text) then
    begin
      if money[ID] >= clustcost then
        begin
          money[ID] := money[ID] - clustcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,22);
          writeconsole(ID, 'You bought some Cluster Greanades for $8, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(armor|vest|bulletproofvest)$', Text) then
    begin
      if money[ID] >= vestcost then
        begin
          money[ID] := money[ID] - vestcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,19);
          writeconsole(ID, 'You bought a Bullet Proof Vest for $7, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;


  if regExpMatch('^/(boxes|power|box)$', Text) then
    begin
      if money[ID] >= powercost then
        begin
          money[ID] := money[ID] - powercost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,16);
          SpawnObject(GetPlayerStat(ID,'x')+30,GetPlayerStat(ID,'y')-20,17);
          SpawnObject(GetPlayerStat(ID,'x')+40,GetPlayerStat(ID,'y')-20,18);
          SpawnObject(GetPlayerStat(ID,'x')+50,GetPlayerStat(ID,'y')-20,19);
          SpawnObject(GetPlayerStat(ID,'x')+60,GetPlayerStat(ID,'y')-20,20);
          SpawnObject(GetPlayerStat(ID,'x')+70,GetPlayerStat(ID,'y')-20,21);
          SpawnObject(GetPlayerStat(ID,'x')+80,GetPlayerStat(ID,'y')-20,22);
          writeconsole(ID, 'You bought all Powerups for $18, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(preditor|inv|invisible)$', Text) then
    begin
      if money[ID] >= invcost then
        begin
          money[ID] := money[ID] - invcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,20);
          writeconsole(ID, 'You bought a Preditor Box for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(flame god|flame|flamegodmode|flame god mode)$', Text) then
    begin
      if money[ID] >= flamecost then
        begin
          money[ID] := money[ID] - flamecost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,18);
          writeconsole(ID, 'You bought a Flame God Box for $12, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(berseker|serk)$', Text) then
    begin
      if money[ID] >= serkcost then
        begin
          money[ID] := money[ID] - serkcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,21);
          writeconsole(ID, 'You bought a Berseker Box for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;



if regExpMatch('^/(gunz|guns|weapons|weaps|weps)$', Text) then
    begin
      if money[ID] >= allcost then
        begin
          money[ID] := money[ID] - allcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,1);
          SpawnObject(GetPlayerStat(ID,'x')+30,GetPlayerStat(ID,'y')-20,2);
          SpawnObject(GetPlayerStat(ID,'x')+40,GetPlayerStat(ID,'y')-20,3);
          SpawnObject(GetPlayerStat(ID,'x')+50,GetPlayerStat(ID,'y')-20,4);
          SpawnObject(GetPlayerStat(ID,'x')+60,GetPlayerStat(ID,'y')-20,5);
          SpawnObject(GetPlayerStat(ID,'x')+70,GetPlayerStat(ID,'y')-20,6);
          SpawnObject(GetPlayerStat(ID,'x')+80,GetPlayerStat(ID,'y')-20,7);
          SpawnObject(GetPlayerStat(ID,'x')-20,GetPlayerStat(ID,'y')-20,8);
          SpawnObject(GetPlayerStat(ID,'x')-30,GetPlayerStat(ID,'y')-20,9);
          SpawnObject(GetPlayerStat(ID,'x')-40,GetPlayerStat(ID,'y')-20,10);
          SpawnObject(GetPlayerStat(ID,'x')-50,GetPlayerStat(ID,'y')-20,11);
          SpawnObject(GetPlayerStat(ID,'x')-60,GetPlayerStat(ID,'y')-20,12);
          SpawnObject(GetPlayerStat(ID,'x')-70,GetPlayerStat(ID,'y')-20,13);
          SpawnObject(GetPlayerStat(ID,'x')-80,GetPlayerStat(ID,'y')-20,14);
          writeconsole(ID, 'You bought all Weapon for $25, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color);
   end;

end;
end;

procedure OnMapChange(newmap:string);
var n:byte;
begin
for n:=1 to maxpsg do begin sgd[n]:=false; end;
end;

procedure OnLeaveGame(ID,team:byte;kicked:boolean);
var n:byte;
begin
for n:=1 to maxpsg do
begin if sgo[n]=ID then sgd[n]:= false;
end;
WriteFile('scripts/shop/'+ GetPlayerStat(ID,'name') + '.txt',IntToStr(money[ID])); 
end;




Procedure AppOnIdle(Ticks: Integer);
 Var N, K: Byte;
  X, Y, Dista: Single;
   Begin
    For N := 1 To maxpsg Do Begin
     if sgd[n] = True Then Begin
      CreateBullet(sgx[n],sgy[n],0,0,0,5,sgo[n]);
       For K := 1 To 32 Do Begin
        GetPlayerXy(K,X,Y);
         if GetPlayerStat(K,'Team') <> sgt[n] Then if GetPlayerStat(K,'Alive') = True Then if RayCast(sgx[n],sgy[n],x,y,dista,psgrang) = True Then if dista <= psgrang Then Begin
          x := ((x-sgx[n]) / dista)*psgspee;
         y := ((y-sgy[n]) / dista)*psgspee;
          CreateBullet(sgx[n],sgy[n],x,y,psgpowa,psgtype,sgo[n]); sga[n]:=sga[n]-1;
         if sga[n] = 0 Then Begin
      sgd[n] := false;
      Writeconsole(sgo[n],'One of your sentry guns ran out of ammo.',$0000FF00);
     end;
     Break;
    end;
   end;
  end;
 end;
end;

procedure OnPlayerSpeak(ID:Byte;Text:String);
begin
if (Text='!money')
      then begin
        writeConsole(ID, 'Your money is: $' + inttostr(money[ID]), Color);
     end;



if(Text='!shop')
      then begin
        writeConsole(ID, '#############SHOP#########################', Color);
        writeConsole(ID, '#commands:                               #', Color);
        writeConsole(ID, '#/stat $25 (spawn a turret)              #', Color);
        writeConsole(ID, '#/psg $30 (Spawn a sentry gun)           #', Color);
        writeConsole(ID, '#/inv  $9(Give you the invisibility)     #', Color);
        writeConsole(ID, '#/med $6 (Give you a medic kit)          #', Color);
        writeConsole(ID, '#/nade $6 (Give to you some nade)        #', Color);
        writeConsole(ID, '#/flame $12 (Give you a flamer)          #', Color);
        writeConsole(ID, '#/vest $7 (Give you a Bullet proof)      #', Color);
        writeConsole(ID, '#/serk $9 (Give you the RAGE !!!)        #', Color);
        writeConsole(ID, '#/clust $8 (Give you some cluster)       #', Color);
        writeConsole(ID, '#/power $18 (Spawn all bonus above you)  #', Color);
        writeConsole(ID, '#/eagle $7 (Give you a Desert Eagle)     #', Color);
        writeConsole(ID, '#/mp5 $9 (Give you a Hk mp5)             #', Color);
        writeConsole(ID, '#/ak47 $10 (Give you a Ak 47)            #', Color);
        writeConsole(ID, '#/aug $10 (Give you a Steyr AUG)         #', Color);
        writeConsole(ID, '#/spas $10 (Give you a spas 12)          #', Color);
        writeConsole(ID, '#/ruger $9 (Give you a Ruger)            #', Color);
        writeConsole(ID, '#/m79 $12 (Give you a m79)               #', Color);
        writeConsole(ID, '#/barr $14 (Give you a Barret)           #', Color);
        writeConsole(ID, '#/minim $11 (Give you a FN minimi)       #', Color);
        writeConsole(ID, '#/minig $10 (Give you a Minigun)         #', Color);
        writeConsole(ID, '#/guns 25(Spawn all gun above you)       #', Color);
        writeConsole(ID, '#############END##########################', Color);
      end;
  end;

How can i put that each player see his money all the time in Draw text ?

DarkCrusade

  • Guest
Re: Money always shown in draw text ...
« Reply #1 on: June 12, 2010, 08:40:47 pm »
Just put this into your script

Code: [Select]
Procedure AllDraw();
var
  i:Byte;
begin
  for i := 1 to 32 do if (GetPlayerStat(i,'Active') = true) AND (GetPlayerStat(i,'Human') = true) then
    DrawText(i,'Money: $' + inttostr(Money[i]),65,Color,0.08,15,320);
end;

Procedure AppOnIdle(Ticks:Integer);
begin
  AllDraw();
end;

Offline mich1103

  • Flagrunner
  • ****
  • Posts: 557
  • Did you say chocolate ? O.o
    • ZoMbIe-DeStRoYeR pk server
Re: Money always shown in draw text ...
« Reply #2 on: June 12, 2010, 08:48:28 pm »
Where i place it ? i got like duplicate identifer or other thing ....

DarkCrusade

  • Guest
Re: Money always shown in draw text ...
« Reply #3 on: June 12, 2010, 08:51:11 pm »
Just put this

Code: [Select]
AllDraw();
into your AppOnIdle procedure and make sure you don't mess things up again :3

Offline mich1103

  • Flagrunner
  • ****
  • Posts: 557
  • Did you say chocolate ? O.o
    • ZoMbIe-DeStRoYeR pk server
Re: Money always shown in draw text ...
« Reply #4 on: June 12, 2010, 08:57:14 pm »
Code: [Select]
10-06-12 21:56:02  [*] shop -> [Error] (485:1): Unknown identifier 'AllDraw'
Code: [Select]
const
Color = $FF00FF00; //Color to be used.
psgpowa = 1;
psgtype = 14;
psgrang = 666;
psgspee = 75;
maxpsg = 5;
psgammo = 60; //took the liberty to invent it, since it was missing.

var
  pname: string;
  money: array[1..32] of integer;
  statcost:integer;
  giveid:integer;
  psgcost:integer;
  give,ammount,player:string;
  sgx,sgy:array[1..maxpsg] of single;
  sga,sgo,sgt:array[1..maxpsg] of byte;
  sgd:array[1..maxpsg] of boolean;
  invcost,medcost,nadecost,flamecost,vestcost,serkcost,clustcost,powercost,eaglecost: integer;
  mp5cost,ak47cost,augcost,spascost,rugecost,m79cost,barrcost,minimcost,minigcost, allcost: integer;
 

procedure placesentry(x,y:single;ID,team:byte);
var n,f:byte;
begin
if getplayerstat(ID,'Ground')=true then begin
f:=maxpsg;
for n:=1 to maxpsg do begin
if sgd[n]=true then f:=f-1;
end;
if f=0 then DrawText(ID,'Maximum of '+inttostr(maxpsg)+' sentry guns on map reached.',250,RGB(0,255,0),0.10,150,400) else begin
for n:=1 to maxpsg do begin
if sgd[n]=false then break;
end;
sgx[n]:=x; sgy[n]:=y; sgo[n]:=ID; sgt[n]:=team; sga[n]:=psgammo; sgd[n]:=true;
DrawText(ID,'Sentry gun placed!',250,RGB(0,255,0),0.1,75,350);
end;
end else DrawText(ID,'You are in mid-air!',250,RGB(0,255,0),0.10,220,400);
end;
 
 
 
procedure ActivateServer();
  begin
    statcost        := 25;
    psgcost         := 30;
    invcost         := 9;
    medcost         := 6;
    nadecost        := 6;
    flamecost       := 12;
    vestcost        := 7;
    serkcost        := 9;
    clustcost       := 8;
    powercost       := 18;
    eaglecost       := 9;
    mp5cost         := 9;
    ak47cost        := 10;
    augcost         := 10;
    spascost        := 10;
    rugecost        := 9;
    m79cost         := 12;
    barrcost        := 14;
    minimcost       := 11;
    minigcost       := 10;
    allcost         := 25;
  end;


procedure OnJoinGame(ID, Team: byte);

var
   asd : string;

  begin
if FileExists('scripts/shop/'+ GetPlayerStat(ID,'name') + '.txt') then begin 
asd := ReadFile('scripts/shop/'+ GetPlayerStat(ID,'name') + '.txt'); 
  money[ID] := StrToInt(Copy(asd,0,length(asd)-2)); 
 writeConsole(ID, 'Your Money is: $' + inttostr(money[ID]),Color);
    writeConsole(ID, 'Do /shop to see the shop, do /money to see your money !' + inttostr(money[ID]), Color);
 end else money[ID] := 0 
end; 






procedure OnPlayerKill(Killer, Victim: byte;Weapon: string);
  begin
    if Killer = Victim then
      begin
         writeConsole(Killer, 'you cant kill yourself for money !', Color);
      end else
      begin
        money[Killer] := money[Killer]+1;
        writeConsole(Killer, 'You just got $1 your money is now: $' + inttostr(money[Killer]), Color);
      end;
  end;




function OnPlayerCommand(ID: Byte; Text: string): boolean;
  begin



  give := GetPiece(LowerCase(Text), ' ', 0);
  ammount := GetPiece(LowerCase(Text), ' ', 1);
  player := GetPiece(Text, ' ', 2);
  if give = '/give' then
    begin
      if money[ID] > strtoint(ammount) then
        begin
          giveid := NameToID(player);

          if giveid > 0 then
            begin
              money[ID] := money[ID] - strtoint(ammount);
              money[giveid] := money[giveid] + strtoint(ammount);
              writeconsole(ID, 'You gave $' + ammount + ' to: ' + IDToName(giveid) + ', Your money is now: $' + inttostr(money[ID]) , Color);
              writeconsole(giveid, 'You recived $' + ammount + ' from: ' + IDToName(ID) + ', Your money is now: $' + inttostr(money[giveid]), Color);
            end else
              begin
                writeconsole(ID, 'That person does not exist.', Color);
              end;

        end else
        begin
          writeconsole(ID, 'You don''t have enough money', Color);
        end;

    end;







    if regExpMatch('^/(money|moneys)$', Text) then
      begin
        writeConsole(ID, 'Your money is: $' + inttostr(money[ID]), Color);
     end;



    if regExpMatch('^/(commands|shop|spawn|help)$', Text) then
      begin
        writeConsole(ID, '#############SHOP#########################', Color);
        writeConsole(ID, '#commands:                               #', Color);
        writeConsole(ID, '#/stat $25 (spawn a turret)              #', Color);
        writeConsole(ID, '#/psg $30 (Spawn a sentry gun)           #', Color);
        writeConsole(ID, '#/inv  $9(Give you the invisibility)     #', Color);
        writeConsole(ID, '#/med $6 (Give you a medic kit)          #', Color);
        writeConsole(ID, '#/nade $6 (Give to you some nade)        #', Color);
        writeConsole(ID, '#/flame $12 (Give you a flamer)          #', Color);
        writeConsole(ID, '#/vest $7 (Give you a Bullet proof)      #', Color);
        writeConsole(ID, '#/serk $9 (Give you the RAGE !!!)        #', Color);
        writeConsole(ID, '#/clust $8 (Give you some cluster)       #', Color);
        writeConsole(ID, '#/power $18 (Spawn all bonus above you)  #', Color);
        writeConsole(ID, '#/eagle $7 (Give you a Desert Eagle)     #', Color);
        writeConsole(ID, '#/mp5 $9 (Give you a Hk mp5)             #', Color);
        writeConsole(ID, '#/ak47 $10 (Give you a Ak 47)            #', Color);
        writeConsole(ID, '#/aug $10 (Give you a Steyr AUG)         #', Color);
        writeConsole(ID, '#/spas $10 (Give you a spas 12)          #', Color);
        writeConsole(ID, '#/ruger $9 (Give you a Ruger)            #', Color);
        writeConsole(ID, '#/m79 $12 (Give you a m79)               #', Color);
        writeConsole(ID, '#/barr $14 (Give you a Barret)           #', Color);
        writeConsole(ID, '#/minim $11 (Give you a FN minimi)       #', Color);
        writeConsole(ID, '#/minig $10 (Give you a Minigun)         #', Color);
        writeConsole(ID, '#/guns 25(Spawn all gun above you)       #', Color);
        writeConsole(ID, '#############END##########################', Color);
      end;





if regExpMatch('^/(stationary|stat|turrent)$', Text) then
  begin
      if money[ID] >= statcost then
        begin
          money[ID] := money[ID] - statcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,15);
          writeconsole(ID, 'You bought a Stat Gun for $25, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color);
      end;
  end;
  result := false;






if regExpMatch('^/(psg)$', Text) then begin
      if money[ID] >= psgcost then begin
          money[ID] := money[ID] - psgcost;
         placesentry(getplayerstat(ID,'x'),getplayerstat(ID,'y'),ID,getplayerstat(ID,'team'));
          writeconsole(ID, 'You bought a Sentry Gun for $30, you have $' + inttostr(money[ID]), Color);
        end else begin writeconsole(ID, 'You do not have enough money', Color);
    end;
end;


  if regExpMatch('^/(desert eagles|eagle|deagles|deserteagles)$', Text) then
    begin
      if money[ID] >= eaglecost then
        begin
          money[ID] := money[ID] - eaglecost;
          forceWeapon(ID,1,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought deagles for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(hkmp5|mp5|hk)$', Text) then
    begin
      if money[ID] >= mp5cost then
        begin
          money[ID] := money[ID] - mp5cost;
          forceWeapon(ID,2,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a HK MP5 for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(ak47)$', Text) then
    begin
      if money[ID] >= ak47cost then
        begin
          money[ID] := money[ID] - ak47cost;
          forceWeapon(ID,3,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a AK47 for $10, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(steyr|aug)$', Text) then
    begin
      if money[ID] >= augcost then
        begin
          money[ID] := money[ID] - augcost;
          forceWeapon(ID,4,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a Steyr Aug for $10, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(spas 12|spas|spas12)$', Text) then
    begin
      if money[ID] >= spascost then
        begin
          money[ID] := money[ID] - spascost;
          forceWeapon(ID,5,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a SPAS12 for $10, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(ruger|ruge|ruger77)$', Text) then
    begin
      if money[ID] >= rugecost then
        begin
          money[ID] := money[ID] - rugecost;
          forceWeapon(ID,6,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a Ruger for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(m79)$', Text) then
    begin
      if money[ID] >= m79cost then
        begin
          money[ID] := money[ID] - m79cost;
          forceWeapon(ID,7,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a M79 for $12, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(barreta|barr|barrett m82a1|barret|barret m)$', Text) then
    begin
      if money[ID] >= barrcost then
        begin
          money[ID] := money[ID] - barrcost;
          forceWeapon(ID,8,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a Barreta for $14, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(fn minimi|minim|fn)$', Text) then
    begin
      if money[ID] >= minimcost then
        begin
          money[ID] := money[ID] - minimcost;
          forceWeapon(ID,9,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a FN Minimi for $11, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(minigun|minig)$', Text) then
    begin
      if money[ID] >= minigcost then
        begin
          money[ID] := money[ID] - minigcost;
          forceWeapon(ID,10,GetPlayerStat(ID,'Primary'),0);
          writeconsole(ID, 'You bought a Minigun for $10, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;


  if regExpMatch('^/(medic|med|health|med pack)$', Text) then
    begin
      if money[ID] >= medcost then
        begin
          money[ID] := money[ID] - medcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,16);
          writeconsole(ID, 'You bought a Medkit for $6, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(grenade|nade)$', Text) then
    begin
      if money[ID] >= nadecost then
        begin
          money[ID] := money[ID] - nadecost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,17);
          writeconsole(ID, 'You bought some Grenades for $6, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(cluster|clust|clustergrandes|clusternades|clustnades)$', Text) then
    begin
      if money[ID] >= clustcost then
        begin
          money[ID] := money[ID] - clustcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,22);
          writeconsole(ID, 'You bought some Cluster Greanades for $8, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(armor|vest|bulletproofvest)$', Text) then
    begin
      if money[ID] >= vestcost then
        begin
          money[ID] := money[ID] - vestcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,19);
          writeconsole(ID, 'You bought a Bullet Proof Vest for $7, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;


  if regExpMatch('^/(boxes|power|box)$', Text) then
    begin
      if money[ID] >= powercost then
        begin
          money[ID] := money[ID] - powercost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,16);
          SpawnObject(GetPlayerStat(ID,'x')+30,GetPlayerStat(ID,'y')-20,17);
          SpawnObject(GetPlayerStat(ID,'x')+40,GetPlayerStat(ID,'y')-20,18);
          SpawnObject(GetPlayerStat(ID,'x')+50,GetPlayerStat(ID,'y')-20,19);
          SpawnObject(GetPlayerStat(ID,'x')+60,GetPlayerStat(ID,'y')-20,20);
          SpawnObject(GetPlayerStat(ID,'x')+70,GetPlayerStat(ID,'y')-20,21);
          SpawnObject(GetPlayerStat(ID,'x')+80,GetPlayerStat(ID,'y')-20,22);
          writeconsole(ID, 'You bought all Powerups for $18, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;

    end;

  if regExpMatch('^/(preditor|inv|invisible)$', Text) then
    begin
      if money[ID] >= invcost then
        begin
          money[ID] := money[ID] - invcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,20);
          writeconsole(ID, 'You bought a Preditor Box for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(flame god|flame|flamegodmode|flame god mode)$', Text) then
    begin
      if money[ID] >= flamecost then
        begin
          money[ID] := money[ID] - flamecost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,18);
          writeconsole(ID, 'You bought a Flame God Box for $12, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;

  if regExpMatch('^/(berseker|serk)$', Text) then
    begin
      if money[ID] >= serkcost then
        begin
          money[ID] := money[ID] - serkcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,21);
          writeconsole(ID, 'You bought a Berseker Box for $9, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color); end;
    end;



if regExpMatch('^/(gunz|guns|weapons|weaps|weps)$', Text) then
    begin
      if money[ID] >= allcost then
        begin
          money[ID] := money[ID] - allcost;
          SpawnObject(GetPlayerStat(ID,'x')+20,GetPlayerStat(ID,'y')-20,1);
          SpawnObject(GetPlayerStat(ID,'x')+30,GetPlayerStat(ID,'y')-20,2);
          SpawnObject(GetPlayerStat(ID,'x')+40,GetPlayerStat(ID,'y')-20,3);
          SpawnObject(GetPlayerStat(ID,'x')+50,GetPlayerStat(ID,'y')-20,4);
          SpawnObject(GetPlayerStat(ID,'x')+60,GetPlayerStat(ID,'y')-20,5);
          SpawnObject(GetPlayerStat(ID,'x')+70,GetPlayerStat(ID,'y')-20,6);
          SpawnObject(GetPlayerStat(ID,'x')+80,GetPlayerStat(ID,'y')-20,7);
          SpawnObject(GetPlayerStat(ID,'x')-20,GetPlayerStat(ID,'y')-20,8);
          SpawnObject(GetPlayerStat(ID,'x')-30,GetPlayerStat(ID,'y')-20,9);
          SpawnObject(GetPlayerStat(ID,'x')-40,GetPlayerStat(ID,'y')-20,10);
          SpawnObject(GetPlayerStat(ID,'x')-50,GetPlayerStat(ID,'y')-20,11);
          SpawnObject(GetPlayerStat(ID,'x')-60,GetPlayerStat(ID,'y')-20,12);
          SpawnObject(GetPlayerStat(ID,'x')-70,GetPlayerStat(ID,'y')-20,13);
          SpawnObject(GetPlayerStat(ID,'x')-80,GetPlayerStat(ID,'y')-20,14);
          writeconsole(ID, 'You bought all Weapon for $25, you have $' + inttostr(money[ID]), Color);

        end else begin writeconsole(ID, 'You do not have enough money', Color);
   end;

end;
end;

procedure OnMapChange(newmap:string);
var n:byte;
begin
for n:=1 to maxpsg do begin sgd[n]:=false; end;
end;

procedure OnLeaveGame(ID,team:byte;kicked:boolean);
var n:byte;
begin
for n:=1 to maxpsg do
begin if sgo[n]=ID then sgd[n]:= false;
end;
WriteFile('scripts/shop/'+ GetPlayerStat(ID,'name') + '.txt',IntToStr(money[ID])); 
end;




Procedure AppOnIdle(Ticks: Integer);
 Var N, K: Byte;
  X, Y, Dista: Single;
   Begin
    For N := 1 To maxpsg Do Begin
     if sgd[n] = True Then Begin
      CreateBullet(sgx[n],sgy[n],0,0,0,5,sgo[n]);
       For K := 1 To 32 Do Begin
        GetPlayerXy(K,X,Y);
         if GetPlayerStat(K,'Team') <> sgt[n] Then if GetPlayerStat(K,'Alive') = True Then if RayCast(sgx[n],sgy[n],x,y,dista,psgrang) = True Then if dista <= psgrang Then Begin
          x := ((x-sgx[n]) / dista)*psgspee;
         y := ((y-sgy[n]) / dista)*psgspee;
          CreateBullet(sgx[n],sgy[n],x,y,psgpowa,psgtype,sgo[n]); sga[n]:=sga[n]-1;
         if sga[n] = 0 Then Begin
      sgd[n] := false;
      Writeconsole(sgo[n],'One of your sentry guns ran out of ammo.',$0000FF00);
AllDraw();     
end;
Break;
    end;
   end;
  end;
 end;
end;


Procedure AllDraw();
var
  i:Byte;
begin
  for i := 1 to 32 do if (GetPlayerStat(i,'Active') = true) AND (GetPlayerStat(i,'Human') = true) then
    DrawText(i,'Money: $' + inttostr(Money[i]),65,Color,0.08,15,320);
end;


procedure OnPlayerSpeak(ID:Byte;Text:String);
begin
if (Text='!money')
      then begin
        writeConsole(ID, 'Your money is: $' + inttostr(money[ID]), Color);
     end;



if(Text='!shop')
      then begin
        writeConsole(ID, '#############SHOP#########################', Color);
        writeConsole(ID, '#commands:                               #', Color);
        writeConsole(ID, '#/stat $25 (spawn a turret)              #', Color);
        writeConsole(ID, '#/psg $30 (Spawn a sentry gun)           #', Color);
        writeConsole(ID, '#/inv  $9(Give you the invisibility)     #', Color);
        writeConsole(ID, '#/med $6 (Give you a medic kit)          #', Color);
        writeConsole(ID, '#/nade $6 (Give to you some nade)        #', Color);
        writeConsole(ID, '#/flame $12 (Give you a flamer)          #', Color);
        writeConsole(ID, '#/vest $7 (Give you a Bullet proof)      #', Color);
        writeConsole(ID, '#/serk $9 (Give you the RAGE !!!)        #', Color);
        writeConsole(ID, '#/clust $8 (Give you some cluster)       #', Color);
        writeConsole(ID, '#/power $18 (Spawn all bonus above you)  #', Color);
        writeConsole(ID, '#/eagle $7 (Give you a Desert Eagle)     #', Color);
        writeConsole(ID, '#/mp5 $9 (Give you a Hk mp5)             #', Color);
        writeConsole(ID, '#/ak47 $10 (Give you a Ak 47)            #', Color);
        writeConsole(ID, '#/aug $10 (Give you a Steyr AUG)         #', Color);
        writeConsole(ID, '#/spas $10 (Give you a spas 12)          #', Color);
        writeConsole(ID, '#/ruger $9 (Give you a Ruger)            #', Color);
        writeConsole(ID, '#/m79 $12 (Give you a m79)               #', Color);
        writeConsole(ID, '#/barr $14 (Give you a Barret)           #', Color);
        writeConsole(ID, '#/minim $11 (Give you a FN minimi)       #', Color);
        writeConsole(ID, '#/minig $10 (Give you a Minigun)         #', Color);
        writeConsole(ID, '#/guns 25(Spawn all gun above you)       #', Color);
        writeConsole(ID, '#############END##########################', Color);
      end;
  end;


DarkCrusade

  • Guest
Re: Money always shown in draw text ...
« Reply #5 on: June 12, 2010, 09:02:59 pm »
You must put "Procedure AllDraw();" before AppOnIdle! That is the part with DrawText