Can i include the mine script to my shop script to make player able to bye mine ?
my shop script !
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;
merccost:integer;
asd : string;
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;
merccost := 20;
invcost := 6;
medcost := 5;
nadecost := 5;
flamecost := 10;
vestcost := 5;
serkcost := 6;
clustcost := 5;
powercost := 17;
eaglecost := 7;
mp5cost := 8;
ak47cost := 9;
augcost := 8;
spascost := 9;
rugecost := 7;
m79cost := 9;
barrcost := 11;
minimcost := 8;
minigcost := 8;
allcost := 20;
end;
procedureOnJoinGame(ID, Team: byte);
begin
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);
DrawText(ID,$ + inttostr(money[ID]),300,Color,0.08,1,1);
ifFileExists('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));
endelsemoney[ID] := 0
end;
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, '#/merc $20 (Spawn a mercenary) #', Color);
writeConsole(ID, '#/inv $6 (Give you the invisibility) #', Color);
writeConsole(ID, '#/med $5 (Give you a medic kit) #', Color);
writeConsole(ID, '#/nade $5 (Give to you some nade) #', Color);
writeConsole(ID, '#/flame $10 (Give you a flamer) #', Color);
writeConsole(ID, '#/vest $5 (Give you a Bullet proof) #', Color);
writeConsole(ID, '#/serk $6 (Give you the RAGE !!!) #', Color);
writeConsole(ID, '#/clust $5 (Give you some cluster) #', Color);
writeConsole(ID, '#/power $17 (Spawn all bonus above you) #', Color);
writeConsole(ID, '#/eagle $7 (Give you a Desert Eagle) #', Color);
writeConsole(ID, '#/mp5 $8 (Give you a Hk mp5) #', Color);
writeConsole(ID, '#/ak47 $9 (Give you a Ak 47) #', Color);
writeConsole(ID, '#/aug $8 (Give you a Steyr AUG) #', Color);
writeConsole(ID, '#/spas $9 (Give you a spas 12) #', Color);
writeConsole(ID, '#/ruge $7 (Give you a Ruger) #', Color);
writeConsole(ID, '#/m79 $9 (Give you a m79) #', Color);
writeConsole(ID, '#/barr $11 (Give you a Barret) #', Color);
writeConsole(ID, '#/minim $8 (Give you a FN minimi) #', Color);
writeConsole(ID, '#/minig $8 (Give you a Minigun) #', Color);
writeConsole(ID, '#/guns 20(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('^/(merc)$', Text) then
begin
if money[ID] >= merccost then
begin
money[ID] := money[ID] - merccost;
Command('/addbot1 mercenary');
writeconsole(ID, 'Youve engage a mercenary for $20, 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 $7, 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 $8, 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 $9, 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 $8, 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 $9, 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 $7, 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 $9, 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 $11, 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 $8, 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 $8, 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 $5, 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 $5, 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 $5, 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 $5, 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 $17, 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 $6, 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 $10, 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 $6, 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 $20, 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, '#/merc $20 (Spawn a mercenary) #', Color);
writeConsole(ID, '#/inv $6 (Give you the invisibility) #', Color);
writeConsole(ID, '#/med $5 (Give you a medic kit) #', Color);
writeConsole(ID, '#/nade $5 (Give to you some nade) #', Color);
writeConsole(ID, '#/flame $10 (Give you a flamer) #', Color);
writeConsole(ID, '#/vest $5 (Give you a Bullet proof) #', Color);
writeConsole(ID, '#/serk $6 (Give you the RAGE !!!) #', Color);
writeConsole(ID, '#/clust $5 (Give you some cluster) #', Color);
writeConsole(ID, '#/power $17 (Spawn all bonus above you) #', Color);
writeConsole(ID, '#/eagle $7 (Give you a Desert Eagle) #', Color);
writeConsole(ID, '#/mp5 $8 (Give you a Hk mp5) #', Color);
writeConsole(ID, '#/ak47 $9 (Give you a Ak 47) #', Color);
writeConsole(ID, '#/aug $8 (Give you a Steyr AUG) #', Color);
writeConsole(ID, '#/spas $9 (Give you a spas 12) #', Color);
writeConsole(ID, '#/ruge $7 (Give you a Ruger) #', Color);
writeConsole(ID, '#/m79 $9 (Give you a m79) #', Color);
writeConsole(ID, '#/barr $11 (Give you a Barret) #', Color);
writeConsole(ID, '#/minim $8 (Give you a FN minimi) #', Color);
writeConsole(ID, '#/minig $8 (Give you a Minigun) #', Color);
writeConsole(ID, '#/guns 20(Spawn all gun above you) #', Color);
writeConsole(ID, '#############END##########################', Color);
end;
end;