0 Members and 4 Guests are viewing this topic.
I just want to say that we have try all thing, i think ...From: April 18, 2010, 05:20:53 amBut can we do it with WriteINI ?
I dont understand the Aka split and explode !!!
Ok so ... This function is supposed to do what ?
10-04-18 13:07:56 [*] asd -> [Error] (76:1): 'BEGIN' expected
constColor = $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;beginif getplayerstat(ID,'Ground')=true then beginf:=maxpsg;for n:=1 to maxpsg do beginif 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 beginfor n:=1 to maxpsg do beginif 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); 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;beginfor n:=1 to maxpsg do begin sgd[n]:=false; end;end;procedure OnLeaveGame(ID,team:byte;kicked:boolean);var n:byte;beginfor n:=1 to maxpsg dobegin 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);beginif (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;
procedure OnJoinGame(ID, Team: byte);var asd : string; 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);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)); end else money[ID] := 0 end;
WriteFile('scripts/shop/'+ GetPlayerStat(ID,'name') + '.txt',IntToStr(money[ID]));
function FilterFilename(const filename: string):string;var i,len: byte; c: string;begin len := length(filename); result := ''; for i := 1 to len do begin c := copy(filename,i,1); if (c=chr(92)) or (c='/') or (c=':') or (c='*') or (c='?') or (c='"') or (c='<') or (c='>') or (c='|') then result := result + '_' else result := result + c; end; result := LowerCase(result);end;