SRL Archive - Archive

SantaClause - SRL Member Application Form


Santa_Clause

2007-06-03 09:09:41

<!– BEGIN TEMPLATE: formanswers –>
SantaClause - SRL Member Application Form
SantaClause

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
No

Other Communitys
Sythe, Moparisthebest, Fagex

How Long have You Played Runescape
I've been playing Runescape for about 4 years now

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

I made my first attempt at scripting about 1 and a half months ago. I was bored from Runescape and needed something else to do so I realised that something new couldn't do any harm. After finishing my autotalker with forms, I tried my hand at an autofighter. At first I got bored so I just stopped. However, now, back to my scripting days, I finished Santy Fighter, my second script. I haven't been here for long but I still do help out when I can. Unfortunately, Aidan once posted a thread about me being a scammer. Please do not take this into account as it was not proved and never will be…

P.S - Long Live SRL!

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

Program SantyFighter;
{.include srl/srl.scar} {
{.include SRL/SRL/Extended/xAntiban.scar}

{ .M"""bgd db `7MN. `MMF MMP""MM""YMM `YMM `MM
,MI "Y ;MM: MMN. M P MM M VMA V
`MMb. ,V^MM. M YMb M MM VMA ,V
`YMMNq. ,M `MM M `MN. M MM VMMP
. `MM AbmmmqMA M `MM.M MM MM
Mb dM A VML M YMM MM MM
P"Ybmmd" .AMA. .AMMA..JML. YM .JMML. .JMML.

`7MM"""YMM `7MMF' .g8"""bgd `7MMF' `7MMF'MMP""MM""YMM `7MM"""YMM `7MM"""Mq.
MM `7 MM .dP' `M MM MM P' MM `7 MM `7 MM `MM.
MM d MM dM' ` MM MM MM MM d MM ,M9
MM""MM MM MM MMmmmmmmMM MM MMmmMM MMmmdM9
MM Y MM MM. `7MMF' MM MM MM MM Y , MM YM.
MM MM `Mb. MM MM MM MM MM ,M MM `Mb.
.JMML. .JMML. `"bmmmdPY .JMML. .JMML. .JMML. .JMMmmmmMMM .JMML. .JMM.


Heya Fellow Macroers!

Finally, My First Useful Scar Script. The Idea Originally Came To Me
When I Realised That There Were No Autofighters When I Realised Every
Single Autofighter Thread Had Leechers Asking What To Fill In. Well,
Here I Bring To You The First Free Autofighter With Forms...Enjoy

Credits:

1. XxKaneXx - I Love His Fighting Functions...The SRL Fighting
World Wouldn't Be Much Without Him

2. WT-Fakawi - I Love His Random Finding procedure, Along With Many
Other procedures He Made

3. SRL Developers - I Love SRL. Scar Scripting Would Mean Nothing
To Me Without SRL

4. Pentti - I Love His Awesome Auto-Responder, Although I'm Not Sure
I Implemented It Right

5. Widget - I Love His Forms...He Basically Taught Me Most Of The
Advanced Stuff About Them

Instructions:

1. To Start The Script, Press Play...

2. Fill Out All The Required Information

3. Press Fight And Go Find Something Else To Do }

var
FrmDesign : TForm;
Label1,Label2,Label3,Label4,Label5,Label6,Label7,Label8,Label9,
Label10,Label11,Label12,Label13,Label14,Label15,lblUser : TLabel;
Background : TImage;
CheckBox1,CheckBox3 : TCheckBox;
ColourOne,ColourTwo,ColourThree,EdUser,EdPass,EdNick : TEdit;
NameFood,EatHP,RunDirection,FightStyle,NameMonster,RunAwayHp,
cbActive : TComboBox;
Button1,PickOne,PickTwo,PickThree,Close,btnDelete,btnCreate,
btnNext,btnBack : TButton;
GroupBox1,GroupBox2,GroupBox3,GroupBox4 : TGroupBox;
Direction,MonsterName,FoodName,TheChatText,ThePmText : string;
Color1,Color2,Color3,Tolerance,BonesBuried,BoneDTM,MonstersKilled,
FoodEaten,r,z,t,F,G,M,Answers,Responds,OneColour,TwoColour,ThreeColour,
Style,HPEat,HPRun,cUser : Integer;
b : Integer;
BuryBones,EatFood,Started : Boolean;

procedure ScriptIntroduction;
begin
ClearDebug;
WriteLn(' S ');
Wait(300)
ClearDebug;
WriteLn(' Sa ');
Wait(300)
ClearDebug;
WriteLn(' San ');
Wait(300)
ClearDebug;
WriteLn(' Sant ');
Wait(300)
ClearDebug;
WriteLn(' Santy ');
Wait(300)
ClearDebug;
WriteLn(' Santy F ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fi ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fig ');
Wait(300)
ClearDebug;
WriteLn(' Santy Figh ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fight ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fighte ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fighter ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fighter! ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Post ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any ');
Wait(1000)
ClearDebug
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any Tips ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any Tips Or ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any Tips Or Suggestions ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any Tips Or Suggestions At ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Post Any Tips Or Suggestions At ');
WriteLn(' [url]Www.Srl-Forums.Com[/url] ');
end;

procedure DragForm(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
sx,sy,tx,ty:integer;
begin
getmousepos(tx,ty);
repeat
getmousepos(sx,sy);
frmDesign.Top := frmDesign.Top - (ty-sy);
frmDesign.Left := frmDesign.Left - (tx-sx);
sleep(1);
tx := sx;
ty := sy;
until (not IsMouseButtonDown(True));
end;

procedure AddUser;
begin
SetArrayLength(Players, GetArrayLength(Players) + 1);
Players[GetArrayLength(Players) - 1].Name := 'Username';
Players[GetArrayLength(Players) - 1].Pass := 'Password';
Players[GetArrayLength(Players) - 1].Nick := 'Nickname';
Players[GetArrayLength(Players) - 1].Active := True;
end;

procedure Inititate(Sender: TObject);
begin
lblUser.Caption := IntToStr(cUser);
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
cUser := GetArrayLength(Players) - 1;
end;

procedure CreateUser(Sender: TObject);
begin
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;

if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
AddUser;
cUser := GetArrayLength(Players) - 1;
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;

procedure ForwardUser(Sender: TObject);
begin
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
if (cUser + 1 > GetArrayLength(Players) - 1) then
cUser := 0
else
cUser := cUser + 1;
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;

procedure BackUser(Sender: TObject);
begin
Players[cUser].Nick := edNick.Text;
Players[cUser].Name := edUser.Text;
Players[cUser].Pass := edPass.Text;
if (cbActive.Text = 'True') then
Players[cUser].Active := True
else
Players[cUser].Active := False;
if (cUser - 1 < 0) then
cUser := GetArrayLength(Players) - 1
else
cUser := cUser - 1;
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;

procedure DeleteUser(Sender: TObject);
var
lo, na, ni: string;
ac: Boolean;
begin
lo := Players[GetArrayLength(Players) - 1].Loc;
na := Players[GetArrayLength(Players) - 1].Name;
ni := Players[GetArrayLength(Players) - 1].Nick;
ac := Players[GetArrayLength(Players) - 1].Active;
Players[cUser].Loc := lo;
Players[cUser].Name := na;
Players[cUser].Nick := ni;
Players[cUser].Active := ac;
SetArrayLength(Players, GetArrayLength(Players) - 1);
if (cUser + 1 > GetArrayLength(Players) - 1) then
cUser := 0
else
cUser := cUser + 1;
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;

procedure Start(Sender: TObject);
begin
lblUser.Caption := IntToStr(cUser);
edNick.Text := Players[cUser].Nick;
edUser.Text := Players[cUser].Name;
edPass.Text := Players[cUser].Pass;
if (Players[cUser].Active) then
cbActive.Text := 'True'
else
cbActive.Text := 'False';
end;

function SearchText: string;
begin
if(IsTextInAreaEx(40,415,130,415,x,y,':',0,smallchars,False,True,0,0,0))then
begin
TheChatText:=Trim(GetTextAtEx(x+8,415,0,SmallChars,False,False,0,1,16711680,40,False,tr_allChars));
Result:=TheChatText;
end;
end;

function SearchPMText: string;
begin
ThePmText:=Trim(GetTextAtEx(84, 415, 45, SmallChars, False, False, 0, 2, 128, 40, False, tr_NormalChars));
Result:=ThePmText;
end;

function Answer(TheText, FromCommand, WithCommand,ToPlayer: string): Boolean;
var
NameBmp: Integer;
GetName: string;
begin
if(FromCommand='')or
(WithCommand='')or
(ToPlayer='')then
Exit;
if(ThePmText='')then
SearchPmText;
if(pos(LowerCase(FromCommand),LowerCase(ThePmText))<>0)then
begin
GetName:=GetTextAtEx(20,415,45,SmallChars,False,False,0,2,0,40,True,tr_NormalChars);
if(not(pos('From',GetName)<>0))then
Exit;
Writeln('Found a command: ' + FromCommand);
GameTab(8);
NameBmp:=CreateBitMapMaskFromText(ToPlayer,SmallChars);
Wait(500+random(500));
if(FindBitMapMaskTolerance(NameBmp,x,y,MIX1,MIY1,MIX2,MIY2,50,85))then
begin
Mouse(x+10,y+3,10,1,true);
Wait(500);
Mouse(100,400,70,20,true);
TypeSend(WithCommand);
Delete(GetName,1,5);
Delete(Getname,length(getname)-1,length(getname));
Writeln('- - - PM-RESPOND! - - -');
Writeln(GetName+': '+ThePmText);
Writeln(Players[CurrentPlayer].Name+': '+WithCommand);
Writeln('- - - - - - - - - - - - ');
Answers:=Answers + 1;
Result:=True;
end;
end;
end;

function ChatBoxRespond(TheText,FromText,SayText: string): Boolean;
var
GetName: string;
begin
if(FromText='')or(SayText='')Or(Trim(Players[CurrentPlayer].Name)='')then
Exit;
if(TheText='')then
SearchText;
if(pos(lowerCase(FromText),LowerCase(Trim(TheText)))<>0)then
begin
GetName:=GetTextAtEx(20,415,45,SmallChars,False,False,0,2,0,40,True,tr_NormalChars);
if(pos(LowerCase(Players[Currentplayer].Name),LowerCase(GetName))<>0)then
Exit;
Wait(500+random(500));
TypeSend(SayText);
Writeln('| - - - - RESPOND - - - - -');
Writeln('|'+Trim(GetName)+' '+FromText);
Writeln('|'+Players[CurrentPlayer].Name+': '+SayText);
Writeln('| - - - - - - - - - - - - -');
Result:=True;
Responds:=Responds+1;
Wait(500+random(1000));
end;
end;

procedure AutoRespond;
begin
if(IsTextInAreaEx(40,415,130,415,x,y,':',0,smallchars,False,True,0,0,0))then
TheChatText:=Trim(GetTextAtEx(x+8,415,0,SmallChars,False,False,0,1,16711680,40,False,tr_allChars));
ChatBoxRespond(TheChatText,'wazzup','nothing much');
ChatBoxRespond(TheChatText,'noob','you are a noob!');
ChatBoxRespond(TheChatText,'stupid','you are stupid');
ChatBoxRespond(TheChatText,'idiot','you are an idiot');
ChatBoxRespond(TheChatText,'where','Somewhere, but not here.');
ChatBoxRespond(TheChatText,'anybody','Me!');
ChatBoxRespond(TheChatText,'have','I think i dont have');
ChatBoxRespond(TheChatText,'funny','Lol, Im funny!');
ChatBoxRespond(TheChatText,'stole','who stole and what?');
ChatBoxRespond(TheChatText,'maybe','yea, maybe...');
ChatBoxRespond(TheChatText,'better','Not sure whats better');
ChatBoxRespond(TheChatText,'lvl','Look my level on higscores....');
ChatBoxRespond(TheChatText,'nice','very niice...');
ChatBoxRespond(TheChatText,'cool','haha, thats really cool!');
ChatBoxRespond(TheChatText,'offer','im not offering anything');
ChatBoxRespond(TheChatText,'bot','argh, i hate bots.');
ChatBoxRespond(TheChatText,'auto','I hate autoers');
ChatBoxRespond(TheChatText,'macro','I hate macroers.');
ChatBoxRespond(TheChatText,'need','i dont need...');
ChatBoxRespond(TheChatText,'huh','dont you get it? "huh" lol.');
ChatBoxRespond(TheChatText,'want','i dont want....');
ChatBoxRespond(TheChatText,'free','Can i have anything for free?');
ChatBoxRespond(TheChatText,'someone','No one I think....');
ChatBoxRespond(TheChatText,'bank','You going to the bank?');
ChatBoxRespond(TheChatText,'full','Im full soon too.');
ChatBoxRespond(TheChatText,'almost','almost here too.');
ChatBoxRespond(TheChatText,'hack','hackers are stupid!');
ChatBoxRespond(TheChatText,'talk','Talk what?');
ChatBoxRespond(TheChatText,'thank','no problem');
ChatBoxRespond(TheChatText,'welcome','thanks!');
ChatBoxRespond(TheChatText,'trade','trade what?');
ChatBoxRespond(TheChatText,'again','not again, lol.');
ChatBoxRespond(TheChatText,'level','look my levels on highscores');
ChatBoxRespond(TheChatText,'accept','accept what?');
ChatBoxRespond(TheChatText,'brb','alright, see you soon.');
ChatBoxRespond(TheChatText,'wtf','that the f***');
ChatBoxRespond(TheChatText,'sorry','no problems.');
ChatBoxRespond(TheChatText,'nope','why not?');
ChatBoxRespond(TheChatText,'other','other what?');
ChatBoxRespond(TheChatText,'from','Im from finland, you?');
ChatBoxRespond(TheChatText,'like','I like too.');
ChatBoxRespond(TheChatText,'money','I need money!');
ChatBoxRespond(TheChatText,'follow','where?');
ChatBoxRespond(TheChatText,'Hi','Hello');
ChatBoxRespond(TheChatText,'hello','hi');
ChatBoxRespond(TheChatText,'hey','hi');
ChatBoxRespond(TheChatText,'win','who wins in what?');
ChatBoxRespond(TheChatText,'np','thanks');
ChatBoxRespond(TheChatText,'sell','How many can you sell?');
ChatBoxRespond(TheChatText,'buy','Sorry, I cant sell them.');
ChatBoxRespond(TheChatText,'what','I dont know...');
ChatBoxRespond(TheChatText,'why','You know why....');
ChatBoxRespond(TheChatText,'yo','wazzuuup?');
ChatBoxRespond(TheChatText,'sup','just normal');
ChatBoxRespond(TheChatText,'coin','I need coins, plz.');
ChatBoxRespond(TheChatText,'lol','Hahaa!');
ChatBoxRespond(TheChatText,'haha','hehe!');
ChatBoxRespond(TheChatText,'lmao','lolz!');
ChatBoxRespond(TheChatText,'many','too many...');
ChatBoxRespond(TheChatText,'much','not much...');
ChatBoxRespond(TheChatText,'main','This is my main.');
ChatBoxRespond(TheChatText,'ish','I dont talk that language, lol.');
ChatBoxRespond(TheChatText,'this','what?');
ChatBoxRespond(TheChatText,'how','not telling...');
ChatBoxRespond(TheChatText,'come','come where?');
ChatBoxRespond(TheChatText,'you','who? me?');
ChatBoxRespond(TheChatText,'ok','ye, ok.');
ChatBoxRespond(TheChatText,'yes','yes, yes...');
ChatBoxRespond(TheChatText,'can','I cant right now...');
ChatBoxRespond(TheChatText,'no','yes, no, yes, no');
ChatBoxRespond(TheChatText,'bar','i have many bars.');
ChatBoxRespond(TheChatText,'smelt','I smelt my ores, lol.');
ChatBoxRespond(TheChatText,'doric','yes');
ChatBoxRespond(TheChatText,'knight','yes');
ChatBoxRespond(TheChatText,'fish','I like fishes, lol.');
ChatBoxRespond(TheChatText,'lob','I like lobsters');
ChatBoxRespond(TheChatText,'cage','I have 3 lobster cages');
ChatBoxRespond(TheChatText,'net','I have one net in the bank');
ChatBoxRespond(TheChatText,'rod','I have so many fishing rods');
ChatBoxRespond(TheChatText,'bait','I need more baits');
ChatBoxRespond(TheChatText,'feather','need to get more feathers');
ChatBoxRespond(TheChatText,'salmon','I like salmon');
ChatBoxRespond(TheChatText,'herring','I like herring');
ChatBoxRespond(TheChatText,'river','i hate river troll! lol.');
ChatBoxRespond(TheChatText,'troll','i hate river troll! lol!');
ChatBoxRespond(TheChatText,'fire','I dont need fire right now.');
ChatBoxRespond(TheChatText,'food','I like food!');
ChatBoxRespond(TheChatText,'cook','I love cooking.');
ChatBoxRespond(TheChatText,'lobster','i wish I could cook lobsters.');
ChatBoxRespond(TheChatText,'tuna','i like tuna!');
ChatBoxRespond(TheChatText,'meat','Umm.... i like meat.');
ChatBoxRespond(TheChatText,'burn','I dont burn my foods');
ChatBoxRespond(TheChatText,'pizza','Im going to make pizzas soon.');
ChatBoxRespond(TheChatText,'kill','dont kill mee!!!');
ChatBoxRespond(TheChatText,'die','Im not going to die');
ChatBoxRespond(TheChatText,'monster','i can beat all the monsters');
ChatBoxRespond(TheChatText,'fight','i only fight against the monsters');
ChatBoxRespond(TheChatText,'goblin','i like to kill goblins');
ChatBoxRespond(TheChatText,'spider','ill murder every spider i see!!!');
ChatBoxRespond(TheChatText,'cow','im a cow slaughter!');
ChatBoxRespond(TheChatText,'chicken','i like to kill chickens and cook them!');
ChatBoxRespond(TheChatText,'shield','My shield protects me!');
ChatBoxRespond(TheChatText,'sword','I must get a better sword');
ChatBoxRespond(TheChatText,'armour','You like my armour?');
ChatBoxRespond(TheChatText,'boot','Like my boots?');
ChatBoxRespond(TheChatText,'leg','I like my platelegs');
ChatBoxRespond(TheChatText,'helm','i need a better helm...');
ChatBoxRespond(TheChatText,'hit','i can hit better than you.');
ChatBoxRespond(TheChatText,'hp','I still have almost full hp.');
ChatBoxRespond(TheChatText,'axe','what axe is the best?');
ChatBoxRespond(TheChatText,'willow','i like willows!');
ChatBoxRespond(TheChatText,'yew','...yes are very expensive');
ChatBoxRespond(TheChatText,'tree','Im going to cut all trees down!');
ChatBoxRespond(TheChatText,'oak','I dont like oaks');
ChatBoxRespond(TheChatText,'maple','I which I could chop maple trees');
ChatBoxRespond(TheChatText,'ent','I hate ents!!!');
ChatBoxRespond(TheChatText,'addy','is addy axe good?');
ChatBoxRespond(TheChatText,'rune','is rune axe good?');
ChatBoxRespond(TheChatText,'bronz','is bronze axe good?');
ChatBoxRespond(TheChatText,'iron','is iron axe good?');
ChatBoxRespond(TheChatText,'steel','is steel axe good?');
ChatBoxRespond(TheChatText,'mithril','is mithril axe good?');
ChatBoxRespond(TheChatText,'adaman','is addy axe good?');
ChatBoxRespond(TheChatText,'runit','is rune axe good?');
ChatBoxRespond(TheChatText,'pick','what pick is the best?');
ChatBoxRespond(TheChatText,'pickaxe','what pick is the best?');
ChatBoxRespond(TheChatText,'addy','is addy good?');
ChatBoxRespond(TheChatText,'rune','is rune good?');
ChatBoxRespond(TheChatText,'bronz','is bronze good?');
ChatBoxRespond(TheChatText,'iron','is iron good?');
ChatBoxRespond(TheChatText,'steel','is steel good?');
ChatBoxRespond(TheChatText,'mithril','is mithril good?');
ChatBoxRespond(TheChatText,'adaman','is addy good?');
ChatBoxRespond(TheChatText,'runit','is rune good?');
ChatBoxRespond(TheChatText,'copper','i need copper ores');
ChatBoxRespond(TheChatText,'tin','i need tin ores');
ChatBoxRespond(TheChatText,'silver','i need silver ores');
ChatBoxRespond(TheChatText,'clay','i need clay ores');
ChatBoxRespond(TheChatText,'gold','i need gold ores');
ChatBoxRespond(TheChatText,'coal','i need coal ores');
ChatBoxRespond(TheChatText,'ores','i like all kind of ores');
ChatBoxRespond(TheChatText,'gas','what is gas?');
ChatBoxRespond(TheChatText,'smoke','can there be smoke in the rock, lol?');
ChatBoxRespond(TheChatText,'handle','you need pick head to attach the handle to pick');
ChatBoxRespond(TheChatText,'head','I have my pick head on my pick.');
ChatBoxRespond(TheChatText,'golem','I hate rock golems!');
end;

procedure SafeInitForm;
var
v: TvariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;

procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;

procedure SafeShowFormModal;
var
v: TvariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;

procedure ClickButton(sender: TObject);
begin
GetSelf.Visible := False;
OneColour := strtoint(ColourOne.text);
TwoColour := strtoint(ColourTwo.text);
ThreeColour := strtoint(ColourThree.text);
Style := strtoint(FightStyle.text);
MonsterName := NameMonster.text;
Direction := (RunDirection.text);
FoodName := NameFood.text;
HPEat := strtoint(EatHP.text);
HPRun := strtoint(RunAwayHp.text);
if(Checkbox1.checked)then
BuryBones:=True;
if(Checkbox3.checked)then
EatFood:=True;
if StrToInt(EatHp.text)> 99 then
HPEat := 80;
if StrToInt(EatHp.text) < 1 then
HPEat := 5;
if StrToInt(FightStyle.text) > 4 then
Style := 4;
if StrToInt(FightStyle.text) < 1 then
Style := 1;
ClearDebug;
Writeln('Santy Fighter User Options:');
Writeln(' ');
Writeln(' Fighting : '+NameMonster.text);
Writeln(' Eating : '+NameFood.text);
if Style = 1 then
Writeln(' Fight Mode : Attack ');
if Style = 2 then
Writeln(' Fight Mode : Strength ');
if Style = 3 then
Writeln(' Fight Mode : Shared ');
if Style = 4 then
Writeln(' Fight Mode : Defence ');
if BuryBones = True then
Writeln(' Bone Burying : Enabled ');
if EatFood = True then
Writeln(' Food Eating : Enabled ');
if BuryBones = False then
Writeln(' Bone Burying : Disabled');
if EatFood = False then
Writeln(' Food Eating : Disabled');
Started := True;
frmDesign.Caption:= frmDesign.Caption + '.';
frmDesign.ModalResult := mrOk;
GetSelf.Visible := True;
end;

procedure GetColor1(Sender: TObject);
begin
PickColor(Color1, r, z);
ColourOne.Text := IntToStr(Color1);
ColourOne.Font.Color := Color1;
if Color1 < 3500000 then
begin
ColourOne.Color := clWhite;
end else
ColourOne.Color := clBlack;
end;

procedure GetColor2(Sender: TObject);
begin
PickColor(Color2, r, z);
ColourTwo.Text := IntToStr(Color2);
ColourTwo.Font.Color := Color2;
if Color2 < 3500000 then
begin
ColourTwo.Color := clWhite;
end else
ColourTwo.Color := clBlack;
end;

procedure GetColor3(Sender: TObject);
begin
PickColor(Color3, r, z);
ColourThree.Text := IntToStr(Color3);
ColourThree.Font.Color := Color3;
if Color3 < 3500000 then
begin
ColourThree.Color := clWhite;
end else
ColourThree.Color := clBlack;
end;

procedure AddPic;
var
Picture : Integer;
Canvas : TCanvas;
begin
Picture := LoadBitmap(ScriptPath + 'Untitled.bmp');
Canvas:= GetBitmapCanvas(Picture);
CopyCanvas(Canvas, frmDesign.Canvas, 1, -1, 300, 520, 0, 0, 696, 1000);
end;

procedure FormPaintStar(Sender : TObject);
begin
AddPic;
end;

procedure CloseMethod(Sender : TObject);
begin
TerminateScript;
end;

procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 247;
frmDesign.Top := 130;
frmDesign.BorderStyle := bsNone;
frmDesign.Width := 696;
frmDesign.Height := 465;
frmDesign.Caption := 'Santy Warrior!';
frmDesign.Color := clMaroon;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
frmDesign.OnMouseDown := @DragForm;

Background := TImage.Create(frmDesign);
Background.Parent := frmDesign;
Background.Width := frmDesign.Width;
Background.Height := frmDesign.Height;
Background.Top := 0;
Background.Left := 0;
Background.OnMouseDown := @DragForm;

GroupBox1 := TGroupBox.Create(frmDesign);
GroupBox1.Parent := frmDesign;
GroupBox1.Left := 9;
GroupBox1.Top := 65;
GroupBox1.Width := 243;
GroupBox1.Height := 207;
GroupBox1.Caption := 'Monster Information';
GroupBox1.Font.Color := clMaroon;
GroupBox1.Font.Height := -11;
GroupBox1.Font.Name := 'MS Sans Serif';
GroupBox1.Font.Style := [];
GroupBox1.ParentFont := False;
GroupBox1.TabOrder := 24;
GroupBox2 := TGroupBox.Create(frmDesign);
GroupBox2.Parent := frmDesign;
GroupBox2.Left := 256;
GroupBox2.Top := 65;
GroupBox2.Width := 199;
GroupBox2.Height := 121;
GroupBox2.Caption := 'Style Information';
GroupBox2.TabOrder := 25;
GroupBox3 := TGroupBox.Create(frmDesign);
GroupBox3.Parent := frmDesign;
GroupBox3.Left := 460;
GroupBox3.Top := 65;
GroupBox3.Width := 221;
GroupBox3.Height := 162;
GroupBox3.Caption := 'Health Information';
GroupBox3.TabOrder := 26;
GroupBox4 := TGroupBox.Create(frmDesign);
GroupBox4.Parent := frmDesign;
GroupBox4.Left := 200;
GroupBox4.Top := 280;
GroupBox4.Width := 330;
GroupBox4.Height := 65;
GroupBox4.Caption := 'Miscellaneous Information';
GroupBox4.TabOrder := 24;

Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 28;
Label1.Top := 86;
Label1.Width := 52;
Label1.Height := 13;
Label1.Caption := 'First Colour';
Label1.Color := clRed;
Label1.Font.Color := clYellow;
Label1.Font.Height := -11;
Label1.Font.Name := 'MS Sans Serif';
Label1.Font.Style := [];
Label1.ParentColor := False;
Label1.ParentFont := False;
Label2 := TLabel.Create(frmDesign);
Label2.Parent := frmDesign;
Label2.Left := 28;
Label2.Top := 134;
Label2.Width := 70;
Label2.Height := 13;
Label2.Caption := 'Second Colour';
Label2.Font.Color := clYellow;
Label2.Font.Height := -11;
Label2.Font.Name := 'MS Sans Serif';
Label2.Font.Style := [];
Label2.ParentFont := False;
Label3 := TLabel.Create(frmDesign);
Label3.Parent := frmDesign;
Label3.Left := 28;
Label3.Top := 182;
Label3.Width := 57;
Label3.Height := 13;
Label3.Caption := 'Third Colour';
Label3.Font.Color := clYellow;
Label3.Font.Height := -11;
Label3.Font.Name := 'MS Sans Serif';
Label3.Font.Style := [];
Label3.ParentFont := False;
Label4 := TLabel.Create(frmDesign);
Label4.Parent := frmDesign;
Label4.Left := 88;
Label4.Top := 156;
Label4.Width := 3;
Label4.Height := 13;
Label5 := TLabel.Create(frmDesign);
Label5.Parent := frmDesign;
Label5.Left := 262;
Label5.Top := 86;
Label5.Width := 53;
Label5.Height := 13;
Label5.Caption := 'Fight Mode';
Label5.Color := clRed;
Label5.Font.Color := clYellow;
Label5.Font.Height := -11;
Label5.Font.Name := 'MS Sans Serif';
Label5.Font.Style := [];
Label5.ParentColor := False;
Label5.ParentFont := False;
Label6 := TLabel.Create(frmDesign);
Label6.Parent := frmDesign;
Label6.Left := 28;
Label6.Top := 230;
Label6.Width := 76;
Label6.Height := 13;
Label6.Caption := 'Monster'#39's Name';
Label6.Font.Color := clYellow;
Label6.Font.Height := -11;
Label6.Font.Name := 'MS Sans Serif';
Label6.Font.Style := [];
Label6.ParentFont := False;
Label7 := TLabel.Create(frmDesign);
Label7.Parent := frmDesign;
Label7.Left := 465;
Label7.Top := 86;
Label7.Width := 63;
Label7.Height := 13;
Label7.Caption := 'Food Name?';
Label7.Font.Color := clYellow;
Label7.Font.Height := -11;
Label7.Font.Name := 'MS Sans Serif';
Label7.Font.Style := [];
Label7.ParentFont := False;
Label8 := TLabel.Create(frmDesign);
Label8.Parent := frmDesign;
Label8.Left := 465;
Label8.Top := 134;
Label8.Width := 109;
Label8.Height := 13;
Label8.Caption := 'Hitpoints To Eat Food?';
Label8.Font.Color := clYellow;
Label8.Font.Height := -11;
Label8.Font.Name := 'MS Sans Serif';
Label8.Font.Style := [];
Label8.ParentFont := False;
Label9 := TLabel.Create(frmDesign);
Label9.Parent := frmDesign;
Label9.Left := 465;
Label9.Top := 182;
Label9.Width := 115;
Label9.Height := 13;
Label9.Caption := 'Hitpoints To Run Away?';
Label9.Font.Color := clYellow;
Label9.Font.Height := -11;
Label9.Font.Name := 'MS Sans Serif';
Label9.Font.Style := [];
Label9.ParentFont := False;
Label10 := TLabel.Create(frmDesign);
Label10.Parent := frmDesign;
Label10.Left := 263;
Label10.Top := 134;
Label10.Width := 100;
Label10.Height := 13;
Label10.Caption := 'Run Away Direction?';
Label10.Font.Color := clYellow;
Label10.Font.Height := -11;
Label10.Font.Name := 'MS Sans Serif';
Label10.Font.Style := [];
Label10.ParentFont := False;
Label11 := TLabel.Create(frmDesign);
Label11.Parent := frmDesign;
Label11.Left := 183;
Label11.Top := 12;
Label11.Width := 347;
Label11.Height := 33;
Label11.Alignment := taCenter;
Label11.Caption := ' SANTY FIGHTER';
Label11.Color := clBlue;
Label11.Font.Color := clYellow;
Label11.Font.Height := -27;
Label11.Font.Name := 'Monotype Corsiva';
Label11.Font.Style := [];
Label11.ParentColor := False;
Label11.ParentFont := False;

CheckBox1 := TCheckBox.Create(frmDesign);
CheckBox1.Parent := frmDesign;
CheckBox1.Left := 400;
CheckBox1.Top := 305;
CheckBox1.Width := 97;
CheckBox1.Height := 17;
CheckBox1.Caption := 'Bury Bones?';
CheckBox1.Font.Color := clRed;
CheckBox1.Font.Height := -11;
CheckBox1.Font.Name := 'MS Sans Serif';
CheckBox1.Font.Style := [];
CheckBox1.ParentFont := False;
CheckBox1.TabOrder := 10;
CheckBox3 := TCheckBox.Create(frmDesign);
CheckBox3.Parent := frmDesign;
CheckBox3.Left := 265;
CheckBox3.Top := 305;
CheckBox3.Width := 97;
CheckBox3.Height := 17;
CheckBox3.Hint := 'Eat Food if Dying?';
CheckBox3.Caption := 'Eat Food?';
CheckBox3.ParentShowHint := False;
CheckBox3.ShowHint := True;
CheckBox3.TabOrder := 9;

ColourOne := TEdit.Create(frmDesign);
ColourOne.Parent := frmDesign;
ColourOne.Left := 118;
ColourOne.Top := 84;
ColourOne.Width := 81;
ColourOne.Height := 21;
ColourOne.Hint := 'Type A Distinct Colour Of The Monster';
ColourOne.Color := clBlack;
ColourOne.Font.Color := clWhite;
ColourOne.ParentShowHint := False;
ColourOne.ShowHint := True;
ColourOne.TabOrder := 11;
ColourOne.Text := 'ColourOne';
ColourTwo := TEdit.Create(frmDesign);
ColourTwo.Parent := frmDesign;
ColourTwo.Color := clBlack;
ColourTwo.Left := 118;
ColourTwo.Top := 130;
ColourTwo.Width := 81;
ColourTwo.Height := 21;
ColourTwo.Hint := 'Type Another Distinct Colour Of The Monster';
ColourTwo.Color := clBlack;
ColourTwo.Font.Color := clWhite;
ColourTwo.ParentShowHint := False;
ColourTwo.ShowHint := True;
ColourTwo.TabOrder := 19;
ColourTwo.Text := 'ColourTwo';
ColourThree := TEdit.Create(frmDesign);
ColourThree.Parent := frmDesign;
ColourThree.Left := 118;
ColourThree.Top := 178;
ColourThree.Width := 81;
ColourThree.Height := 21;
ColourThree.Hint := 'Type Another Distinct Colour Of The Monster';
ColourThree.Color := clBlack;
ColourThree.Font.Color := clWhite;
ColourThree.ParentShowHint := False;
ColourThree.ShowHint := True;
ColourThree.TabOrder := 12;
ColourThree.Text := 'ColourThree';

NameMonster := TComboBox.Create(frmDesign);
NameMonster.Parent := frmDesign;
NameMonster.Left := 118;
NameMonster.Top := 227;
NameMonster.Width := 121;
NameMonster.Height := 21;
NameMonster.Hint := 'Type The Name Of The Monster As Shown In Client';
NameMonster.Color := clBlack;
NameMonster.Font.Color := clWhite;
NameMonster.ParentShowHint := False;
NameMonster.ShowHint := True;
NameMonster.TabOrder := 13;
NameMonster.Text := 'NameMonster';
NameMonster.Items.Add('Cow')
NameMonster.Items.Add('Calf')
NameMonster.Items.Add('Dark Wizard')
NameMonster.Items.Add('Goblin')
NameMonster.Items.Add('Guard')
NameMonster.Items.Add('Giant Rat')
FightStyle := TComboBox.Create(FrmDesign);
FightStyle.Parent := frmDesign;
FightStyle.Left := 325;
FightStyle.Top := 85;
FightStyle.Width := 121;
FightStyle.Height := 21;
FightStyle.Hint := '1 : Attack, 2 : Strength, 3 : Shared, 4 : Defence';
FightStyle.Color := clBlack;
FightStyle.Font.Color := clWhite;
FightStyle.ParentShowHint := False;
FightStyle.ShowHint := True;
FightStyle.TabOrder := 14;
FightStyle.Text := 'FightStyle';
FightStyle.Items.Add('1');
FightStyle.Items.Add('2');
FightStyle.Items.Add('3');
FightStyle.Items.Add('4');
NameFood := TComboBox.Create(frmDesign);
NameFood.Parent := frmDesign;
NameFood.Left := 542;
NameFood.Top := 85;
NameFood.Width := 121;
NameFood.Height := 21;
NameFood.Hint := 'Name Of The Food To Eat';
NameFood.Color := clBlack;
NameFood.Font.Color := clWhite;
NameFood.ParentShowHint := False;
NameFood.ShowHint := True;
NameFood.TabOrder := 15;
NameFood.Text := 'NameFood';
NameFood.Items.Add('Shrimp');
NameFood.Items.Add('Karambwanji');
NameFood.Items.Add('Sardine');
NameFood.Items.Add('Herring');
NameFood.Items.Add('Anchovy');
NameFood.Items.Add('Mackerel');
NameFood.Items.Add('Trout');
NameFood.Items.Add('Cod');
NameFood.Items.Add('Pike');
NameFood.Items.Add('Slimey Eel');
NameFood.Items.Add('Salmon');
NameFood.Items.Add('Frog Spawn');
NameFood.Items.Add('Tuna');
NameFood.Items.Add('Cave Eel');
NameFood.Items.Add('Rainbow Fish');
NameFood.Items.Add('Lobster');
NameFood.Items.Add('Bass');
NameFood.Items.Add('Swordfish');
NameFood.Items.Add('Lava Eel');
NameFood.Items.Add('Karambwan');
NameFood.Items.Add('Monkfish');
NameFood.Items.Add('Shark');
NameFood.Items.Add('Sea Turtle');
NameFood.Items.Add('Manta Raw');
EatHP := TComboBox.Create(frmDesign);
EatHP.Parent := frmDesign;
EatHP.Left := 590;
EatHP.Top := 132;
EatHP.Width := 72;
EatHP.Height := 21;
EatHP.Hint := 'Hitpoints To Eat Food';
EatHP.Color := clBlack;
EatHP.Font.Color := clWhite;
EatHP.ParentShowHint := False;
EatHP.ShowHint := True;
EatHP.TabOrder := 16;
EatHP.Text := 'EatHP';
for t := 1 to 99 do
EatHp.Items.Add(inttostr(t));
RunAwayHP := TComboBox.Create(frmDesign);
RunAwayHP.Parent := frmDesign;
RunAwayHP.Left := 590;
RunAwayHP.Top := 179;
RunAwayHP.Width := 72;
RunAwayHP.Height := 21;
RunAwayHP.Hint := 'Hitpoints To Run Away When Food Finishes';
RunAwayHP.Color := clBlack;
RunAwayHP.Font.Color := clWhite;
RunAwayHP.ParentShowHint := False;
RunAwayHP.ShowHint := True;
RunAwayHP.TabOrder := 17;
RunAwayHP.Text := 'RunAwayHP';
for M := 1 to 99 do
RunAwayHp.Items.Add(inttostr(M));
RunDirection := TComboBox.Create(FrmDesign);
RunDirection.Parent := frmDesign;
RunDirection.Left := 374;
RunDirection.Top := 132;
RunDirection.Width := 72;
RunDirection.Height := 21;
RunDirection.Hint := 'N : North, S : South, E : East, W : West';
RunDirection.ParentShowHint := False;
RunDirection.Color := clBlack;
RunDirection.Font.Color := clWhite;
RunDirection.ShowHint := True;
RunDirection.TabOrder := 18;
RunDirection.Items.Add('N');
RunDirection.Items.Add('S');
RunDirection.Items.Add('E');
RunDirection.Items.Add('W');
RunDirection.Text := 'RunDirection';

Button1 := TButton.Create(frmDesign);
Button1.Parent := frmDesign;
Button1.Left := 279;
Button1.Top := 374;
Button1.Width := 75;
Button1.Height := 25;
Button1.Hint := 'Click To Fight!';
Button1.Caption := 'Fight!';
Button1.Font.Color := clRed;
Button1.Font.Height := -11;
Button1.Font.Name := 'MS Sans Serif';
Button1.Font.Style := [fsBold, fsUnderline];
Button1.ParentFont := False;
Button1.ParentShowHint := False;
Button1.ShowHint := True;
Button1.TabOrder := 20;
Button1.Onclick := @ClickButton;
PickTwo := TButton.Create(frmDesign);
PickTwo.Parent := frmDesign;
PickTwo.Left := 204;
PickTwo.Top := 130;
PickTwo.Width := 45;
PickTwo.Height := 21;
PickTwo.Caption := 'Pick!';
PickTwo.TabOrder := 21;
PickTwo.OnClick := @GetColor2;
PickOne := TButton.Create(frmDesign);
PickOne.Parent := frmDesign;
PickOne.Left := 204;
PickOne.Top := 83;
PickOne.Width := 45;
PickOne.Height := 21;
PickOne.Caption := 'Pick!';
PickOne.TabOrder := 22;
PickOne.OnClick := @GetColor1;
PickThree := TButton.Create(frmDesign);
PickThree.Parent := frmDesign;
PickThree.Left := 204;
PickThree.Top := 177;
PickThree.Width := 45;
PickThree.Height := 21;
PickThree.Caption := 'Pick!';
PickThree.TabOrder := 23;
PickThree.OnClick := @GetColor3;
Close := TButton.Create(frmDesign);
with Close do
begin
Parent := frmDesign;
Top := 374;
Left := 361;
Width := 75;
Height := 25;
Caption := 'Cancel';
ModalResult := mrCancel;
end;

edUser := TEdit.Create(frmDesign);
edUser.Parent := frmDesign;
edUser.Left := 2;
edUser.Top := 342;
edUser.Width := 121;
edUser.Height := 21;
edUser.Font.Color := clRed;
edUser.Font.Height := -11;
edUser.Font.Name := 'MS Sans Serif';
edUser.Font.Style := [];
edUser.ParentFont := False;
edUser.TabOrder := 25;
edUser.Text := 'Username';
edPass := TEdit.Create(frmDesign);
edPass.Parent := frmDesign;
edPass.Left := 2;
edPass.Top := 365;
edPass.Width := 121;
edPass.Height := 21;
edPass.Font.Color := clRed;
edPass.Font.Height := -11;
edPass.Font.Name := 'MS Sans Serif';
edPass.Font.Style := [];
edPass.ParentFont := False;
edPass.TabOrder := 26;
edPass.Text := 'Password';
edNick := TEdit.Create(frmDesign);
edNick.Parent := frmDesign;
edNick.Left := 2;
edNick.Top := 388;
edNick.Width := 121;
edNick.Height := 21;
edNick.Font.Color := clRed;
edNick.Font.Height := -11;
edNick.Font.Name := 'MS Sans Serif';
edNick.Font.Style := [];
edNick.ParentFont := False;
edNick.TabOrder := 27;
edNick.Text := 'Nickname';

cbActive := TComboBox.Create(frmDesign);
cbActive.Parent := frmDesign;
cbActive.Left := 2;
cbActive.Top := 411;
cbActive.Width := 121;
cbActive.Height := 21;
cbActive.Font.Color := clRed;
cbActive.Font.Height := -11;
cbActive.Font.Name := 'MS Sans Serif';
cbActive.Font.Style := [];
cbActive.ItemHeight := 13;
cbActive.ParentFont := False;
cbActive.TabOrder := 28;
cbActive.Text := 'Active';
cbActive.Items.Add('True');
cbActive.Items.Add('False');

btnBack := TButton.Create(frmDesign);
btnBack.Parent := frmDesign;
btnBack.Left := 230;
btnBack.Top := 405;
btnBack.Width := 45;
btnBack.Height := 25;
btnBack.Caption := '<';
btnBack.TabOrder := 0;
btnBack.OnClick := @BackUser;
btnNext := TButton.Create(frmDesign);
btnNext.Parent := frmDesign;
btnNext.Left := 439;
btnNext.Top := 405;
btnNext.Width := 45;
btnNext.Height := 25;
btnNext.Caption := '>';
btnNext.TabOrder := 1;
btnNext.OnClick := @forwardUser;
btnCreate := TButton.Create(frmDesign);
btnCreate.Parent := frmDesign;
btnCreate.Left := 361;
btnCreate.Top := 405;
btnCreate.Width := 75;
btnCreate.Height := 25;
btnCreate.Caption := 'Create';
btnCreate.TabOrder := 2;
btnCreate.OnClick := @CreateUser;
btnDelete := TButton.Create(frmDesign);
btnDelete.Parent := frmDesign;
btnDelete.Left := 279;
btnDelete.Top := 405;
btnDelete.Width := 75;
btnDelete.Height := 25;
btnDelete.Caption := 'Delete';
btnDelete.OnClick := @DeleteUser;
btnDelete.TabOrder := 3;

Label12 := TLabel.Create(frmDesign);
Label12.Parent := frmDesign;
Label12.Left := 38;
Label12.Top := 344;
Label12.Width := 48;
Label12.Height := 13;
Label12.Caption := 'Username';
Label12.Font.Color := clYellow;
Label12.Font.Height := -11;
Label12.Font.Name := 'MS Sans Serif';
Label12.Font.Style := [];
Label12.ParentFont := False;
Label13 := TLabel.Create(frmDesign);
Label13.Parent := frmDesign;
Label13.Left := 38;
Label13.Top := 367;
Label13.Width := 46;
Label13.Height := 13;
Label13.Caption := 'Password';
Label13.Font.Color := clYellow;
Label13.Font.Height := -11;
Label13.Font.Name := 'MS Sans Serif';
Label13.Font.Style := [];
Label13.ParentFont := False;
Label14 := TLabel.Create(frmDesign);
Label14.Parent := frmDesign;
Label14.Left := 38;
Label14.Top := 390;
Label14.Width := 48;
Label14.Height := 13;
Label14.Caption := 'Nickname';
Label14.Font.Color := clYellow;
Label14.Font.Height := -11;
Label14.Font.Name := 'MS Sans Serif';
Label14.Font.Style := [];
Label14.ParentFont := False;
Label15 := TLabel.Create(frmDesign);
Label15.Parent := frmDesign;
Label15.Left := 38;
Label15.Top := 414;
Label15.Width := 30;
Label15.Height := 13;
Label15.Caption := 'Active';
Label15.Font.Color := clYellow;
Label15.Font.Height := -11;
Label15.Font.Name := 'MS Sans Serif';
Label15.Font.Style := [];
Label15.ParentFont := False;
lblUser := TLabel.Create(frmDesign);
lblUser.Parent := frmDesign;
lblUser.Left := 600;
lblUser.Top := 9;
lblUser.Font.Color := clYellow;
lblUser.Width := 50;
lblUser.Height := 13;
lblUser.Caption := IntToStr(cUser);

b := BitmapFromString(696, 1, 'z78DAD597DB4E262110845F8933C3' +
'250CF0FE8FB4F1034399C91A5DF36FA21715A374D187EAA6C798B' +
'79F2B81159C6F583C98C1FB0DF9A7A901BCC00672BE71BEC1D30A' +
'D841FE7B3B308270DE9CB961B8EF5F8244740F41A2E3CFA65B904' +
'83BD9E8C4DBC94927EA4EDE3AA9ECC4DE31EEB00166C033601864' +
'7BC0306018E46DC030F06AC030F00430131F260C138609C38461E' +
'2C38467C233F164C236619B4370FE0095A70BDE726F157F2EF173' +
'F91C258A15913D91AEA877066EC94C918C45C9A43B79EE53F2BF6' +
'A51A446AB6A416A6AA4EE4B0F55949C45E1F879DBA3FF8655C3AA' +
'61D5B8A561D5A274D0B25ABD8655EDD26B55BA0FDB1AA52B61A8F' +
'6746B59BD0C4FE9A7970B6C8543A5BC0CABDC8827D589CFE544B7' +
'E26D4132D35E303DDAA7581F58042FC12C9804A3601025788982E' +
'ADC46B4A10AE9A293266A290FCDA48772DC433F53F4738B7E8AA8' +
'284945BCD448F5D31F9AB9E47580A14479356028E6BC26170C579' +
'357E6927707DB0BDB0BFF335619AB8CE719AB8C55C62A93E1CC5D' +
'89F3891C266E495C9FF030C19FE04FF047CE479823CC11E608738' +
'43972327032E0498039C01C600E9C0CF8C0AFC6E38387D9C3EC61' +
'F6F8E0F1C1C3EC6076303B981DCC0E66C779C779B7CEC36FE1B7F' +
'05BF82DFC162B8B95C5CA6280E9FBB8DC23CC4881579140623730' +
'BC0763E462737EACFCDDCBF9283C97F057B9B71F7F16CDF6D38BF' +
'F59E2AA12EF38D7EE9C78C955961C36C9ED3C39DFF98F52972AF5' +
'1A27945DD320B52EA2817EB4B174B23593444B5534368FF6B60EA' +
'3E8B3886EC7D1F3D2F6D67912FD57E98B7EFA65F5CEEEA328FD75' +
'49DF35E9C7794AB47BD64B2F27E9F14B7ABFC94C98B2193A99215' +
'166CB2533A7CA2CEAB23D1A995D4E665A945997650616998D4D66' +
'6697592AD375496FCF5EF798CCE131BD75AAEBB4D757405F87E7D' +
'BF1F95BF3DD37EBB9633889B1496682CCFF2E998FA7467BAADFFF' +
'7107687263979D44F563453F417CCEA2A22ABB503F3BD207FDA87' +
'254335574220AD9AAF07FD931AAD462C8B6EF643F4CB23796C76E' +
'3F65B777B28BC66F6EF5F6B1D5C77FDAED5FBDE17F7DB7D7ADDE7' +
'D73AB4F92492FDF4DE67C4F7DD8EDABD4284BD5A27CAF39F98E33' +
'E7FBEEC3175FFF555FAC5F991E5D266A3A1DB4B7C726DD176471B' +
'8E575F0E735F903257356ED');
SafeCopyCanvas(GetBitmapCanvas(b),Background.Canvas,0,0,669,1,0,0,1600,465);
end;

procedure ProgressReport;
begin
WriteLn(' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ');
WriteLn(' Thankyou For Using Santy Fighter! ');
WriteLn('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
WriteLn(' You Have Killed ' + IntToStr(MonstersKilled) + ' Monsters ');
WriteLn(' You Have Picked Up And Buried ' + IntToStr(BonesBuried) + ' Bones ');
WriteLn(' You Have Eaten ' + IntToStr(FoodEaten) + ' Pieces Of Food ');
WriteLn(' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ');
end;

function FindFastRandoms: Boolean;
var
i: Integer;
begin
for i := 1 to 8 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;

procedure FindAllRandoms;
begin
FindNormalRandoms;
FindFastRandoms;
end;

function InFight: Boolean;
begin
Result := (FindColor(x, y, 65280, 230, 130, 280, 180) Or FindColor(x, y, 255,
230, 130, 280, 180));
end;

procedure Pick;
begin
if (BuryBones) then
BoneDTM := DTMFromString('78DA8DD25B0A8020144551755A114445457D4' +
'4D1EC7B3F88A249740C8208E45CC1EDCF4211D58951AA55BFA13F' +
'C59AC1F4C414309DDB3CB38419DDC6BC66 C69EB508CC4A4C253' +
'00DBA1153A3073139BA1393A2173191C084E82930EC5EBEC078E8' +
'2CD887BD692030313A1043FEB33537723718F8');
if FindObjMultiText(x,y,'ake','Bon','nes',1185078,3) then
begin
FindAllRandoms;
AutoRespond;
FFlag(5);
Mouse(x,y,2,2,False);
ChooseOption(x,y,'Pick');
Gametab(4);
if(FindDTM(BoneDTM, F, G, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(F, G, 2, 2, True);
BonesBuried := BonesBuried+1;
end;
end;
end;

function Eating(FoodName: string):Integer;
begin
case lowercase(FoodName) of
'swordfish': result := DTMFromString('78DA633CC6C4C020C7C8800A189148207D08A' +
'84699809AFD40351A04D4EC06AA3124A0663B508D2511761132E7' +
'30508D1E0135A7806AB409A8B90C54A34B40CD05A01A4D026ACE1' +
'01186C7816A14F0AB01004F5D0B7A');

'lobster': result := DTMFromString('78DA6374666260B8C7800242BCACC1342394C' +
'FE80F54738D010D30A2AA0905AAB949404D3050CD6D026A02816A' +
'9E13500372CF63026A02806A3E1050E349841A17A09A3704D4580' +
'1D5BC22420D217FD910F6170042C70F2E');

'tuna': result := DTMFromString('78DA632C64626050666440058C482490CE05A' +
'AD124A0260DA8469F809A14A01A73026A32806A2C09A8C927424D' +
'29508D2901359540350604D43400D5E81150530B54A3865F0D00D' +
'AE50684');

'salmon': result := DTMFromString('78DA632C626260B8C38006189148209D0554F' +
'38C809A14A09AB704D46400D57C20A0A600A8E61D01352544A8A9' +
'04AA794A404D1D50CD0322D4DC2342CD2D026A6A816A6E1050530' +
'A54F30855C57C33415435F99871B1D14614450D00643F13A0');

'trout': result := DTMFromString('78DA639CC3C4C07087010D302291407A1A50C' +
'D13026AFA816A5E1150D30754F38E809AA940351F08A801B9F93D' +
'0135F388B06B1E116E5E0954F380809AE540357789507383809A0' +
'540358F5155E4474760C6C54B5435F59969286A00820A1649');

'herring': result := DTMFromString('78DA63AC61626070656440058C4824902E01A' +
'AF125A02607A8C68F809A54A09A6022D4441150930954134D404D' +
'11504D240135A54035A104D45400D50411505307541388AAA6293' +
'B1D554D0DE1F00100661F0A05');

'sardine': result := DTMFromString('78DA633CC9C4C0E0C1C8800A189148207D0CA' +
'8C697809A0340358104D4EC03AA0923A0E620504D3811EE0925A0' +
'E60411EE390B54E34740CD0522FC7E0AA8C613BF1A0074E40B1D');

'shrimp': result := DTMFromString('78DA633CC3C4C0F09F010D30229140FA12500' +
'D13237E3557806AD818099BC34D40CD05A01A2E026ACE02D5F013' +
'507304A8468C809ABD40354204D46C07AAE120A06637500D23013' +
'5078830E710508D001176F1A0AA31505040510300A0730C4E');

'anchovies': result := DTMFromString('78DA633CC3C4C0F09F010D30229140FA12500' +
'D13237E3557806AD818099BC34D40CD05A01A2E026ACE02D5F013' +
'507304A8468C809ABD40354204D46C07AAE120A06637500D23013' +
'5078830E710508D001176F1A0AA31505040510300A0730C4E');

'chicken': result := DTMFromString('78DA639CCFC4C0A0C8C8800A189148203D07A' +
'84685809A594035AA04D44C01AAD124A06602508D0101357D4035' +
'C64498634640CD54A01A0B026A1603D598A2AA6909E04355B31CA' +
'8C68880392B816A74F1AB0100858409BB');

'meat': result := DTMFromString('78DA630C60626070626440058C482490F601A' +
'A7143553331D205558D07508D3701731C806AFC08A8B106AA0924' +
'424D3801357640353104D43803D5C41150E30E54134F404D20504' +
'D2801356140359E04D47861864F8D0F1F8A1A005176096C');

end;
if (EatFood) then
begin
if (GetHp<=HPEat) then
begin
FindAllRandoms;
Wait(563+random(200));
Gametab(4);
if FindDTM(Eating(FoodName), x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x,y,2,2);
if(isuptext('Eat')) then
begin
Mouse(x,y,3,3,True);
WriteLn('We Ate A '+FoodName);
FoodEaten := FoodEaten + 1;
end;
end else
begin
if (not(FindDtm(Eating(FoodName), x, y, MIX1, MIY1, MIX2, MIY2))) then
begin
FindAllRandoms;
RunAwayDirection(Direction);
WriteLn('We Ran Away');
LogOut;
end;
end;
end;
end;
if (EatFood = False) then
begin
if(GetHp<=HPRun)then
begin
RunAwayDirection(Direction);
WriteLn('We Ran Away');
LogOut;
NextPlayer(True);
end;
end;
end;

procedure AvoidBan;
begin
case 1+random(100) of
1: MMouse(400,10,399,9);
2: PickupMouse;
3: GameTab(3 + Random(2));
4: RandomRClick;
5: AlmostLogout;
6: BoredEvery(27+random(58));
7: LeaveScreenEvery(39+random(52));
end;
GameTab(4);
end;

procedure OutFightO;
var
i: integer;
begin
Flag;
for i:= 1 to 5 do
begin
if(InFight)then
begin
repeat
FindAllRandoms;
AvoidBan;
Wait(50+random(37));
Eating(FoodName);
Wait(15000);
until(not(InFight));
Exit;
end else
Wait(300);
end;
end;

function KAttackMonsterM(Color1, Color2, Color3,Tolerance: Integer;
MonsterName: string): Boolean;
var
i, x, y: Integer;
begin
FFlag(5);
for i:= 1 to 10 do
begin
if(FindColorTolerance(x, y, OneColour, MSX1, MSY1, MSX2, MSY2, Tolerance + i))and
(FindColorTolerance(x, y, TwoColour, MSX1, MSY1, MSX2, MSY2, Tolerance + i))and
(FindColorTolerance(x, y, ThreeColour, MSX1, MSY1, MSX2, MSY2, Tolerance + i))then
begin
MMouse(x, y, 3, 3);
Wait(80 + random(60));
if(IsUpText('Attack ' + MonsterName))then
begin
Result := True;
FindAllRandoms;
AutoRespond;
GetMousePos(x, y);
Mouse(x, y, 0, 0, true);
Wait(40 + random(20));
AvoidBan;
Eating(FoodName);
FindAllRandoms;
FFlag(5);
OutFightO;
MonstersKilled := MonstersKilled+1;
Exit;
end;
end;
end;
end;

function FindMonster(OneColour, TwoColour, ThreeColour, Tolerance:Integer;
MonsterName: string): Boolean;
var
i: Integer;
dir: string;
begin
case Random(4) + 1 of
1: dir := 'nswe';
2: dir := 'wens';
3: dir := 'sewn';
4: dir := 'ewns';
end;
for i := 1 to 4 do
if (not(KAttackMonsterM(OneColour, TwoColour, ThreeColour, Tolerance + i, MonsterName)))then
MakeCompass(StrGet(dir, i))
else
begin
Result := True;
Exit;
end;
end;

procedure SkillCheck;
begin
if(Style = 1) then
begin
FindAllRandoms;
AutoRespond;
HoverSkill('Attack',false);
end;
if(Style = 2) then begin
FindAllRandoms;
AutoRespond;
HoverSkill('Strength',false);
end;
if(Style = 3) then begin
FindAllRandoms;
AutoRespond;
HoverSkill('Attack',False);
Wait(968 + random(500));
HoverSkill('Strength',False);
Wait(968 + random(500));
HoverSkill('Defence',False);
end;
if(Style = 4) then
begin
FindAllRandoms;
HoverSkill('Defence',false);
end;
end;

procedure SetUp;
begin
if(not(LoggedIn)) then
begin
LoginPlayer;
SetChat('On',1);
SetChat('Off',2);
SetChat('Off',3);
SetRun(True);
HighestAngle;
AutoRespond;
SkillCheck;
SetFightMode(Style);
AvoidBan;
Gametab(4);
repeat
FindMonster(OneColour,TwoColour,ThreeColour,tolerance,monstername);
KattackmonsterM(color1,color2,color3,Tolerance,MonsterName);
AutoRespond;
Pick;
AvoidBan;
until (False)
end;
end;

begin
try
Wait(1000);
getself.visible := false
LoadUs;
cUser := 0;
if (GetArrayLength(Players) = 0) then
AddUser;
SafeInitForm;
SafeShowFormModal;
getself.visible := True
SaveUs;
if (Started=True) then
begin
ActivateClient;
SetupSrl;
LoginPlayer;
SetChat('On',1);
SetChat('Off',2);
SetChat('Off',3);
SetRun(True);
HighestAngle;
AutoRespond;
SkillCheck;
SetFightMode(Style);
AvoidBan;
Gametab(4);
repeat
AutoRespond;
FindMonster(OneColour,TwoColour,ThreeColour,tolerance,monstername);
KattackmonsterM(color1,color2,color3,Tolerance,MonsterName);
Pick;
AvoidBan;
ProgressReport;
DisguiseScar(inttostr(MonstersKilled));
until(False)
end;
except
getself.visible := True
end;
end.

——————————————————
<!– END TEMPLATE: formanswers –>

rkroxpunk

2007-06-03 10:04:26

Holy crap that's a big form…..ok get rid or drastically shorten that Responder that will slow ur script down a lot and isn't really necasary. I don't bother with responder's any more they barely help. But I like it. Yes from me
Wow I just ran it to see what the form looked like and I must say very nice….
Also delete that respond.scar include thingy or is it another thing u have to download?

Pentti

2007-06-03 10:07:00

From: rkroxpunk
Holy crap that's a big form…..ok get rid or drastically shorten that Responder that will slow ur script down a lot and isn't really necasary. I don't bother with responder's any more they barely help. But I like it. Yes from me

Umm how will it slow the script down?!

WT-Fakawi

2007-06-03 10:08:18

I will vote for you If You Stop Posting Like This

rkroxpunk

2007-06-03 10:11:19

Errr doesn't it have to search for all those words every time it's called?

Pentti

2007-06-03 10:15:28

From: WT-Fakawi
I will vote for you If You Stop Posting Like This

Lol I Agree With You. Before He Posted Like This Too, But Not With Red Color.
From: rkroxpunk
Errr doesn't it have to search for all those words every time it's called?

{.include srl/srl.scar}
var
TheChatText : String;
Responds : Integer;

Function SearchText:String;
Begin
If(IsTextInAreaEx(40,415,130,415,x,y,':',0,smallchars,False,True,0,0,0))Then
TheChatText:=Trim(GetTextAtEx(x+8,415,0,SmallChars,False,False,0,1,16711680,40,False,tr_allChars))
Result:=TheChatText;
End;


Function ChatBoxRespond(TheText,FromText,SayText:String):Boolean;
Var GetName:String;
Begin
If(FromText='')or(SayText='')Or(Trim(Players[CurrentPlayer].Name)='')Then
Exit;
If(TheText='')Then
SearchText;
If(pos(lowerCase(FromText),LowerCase(Trim(TheText)))<>0)Then
Begin
GetName:=GetTextAtEx(20,415,45,SmallChars,False,False,0,2,0,40,True,tr_NormalChars);
If(pos(LowerCase(Players[Currentplayer].Name),LowerCase(GetName))<>0)Then
Exit;
wait(500+random(500))
TypeSend(SayText)
writeln('| - - - - RESPOND - - - - -')
Writeln('|'+Trim(GetName)+' '+FromText)
Writeln('|'+Players[CurrentPlayer].Name+': '+SayText)
writeln('| - - - - - - - - - - - - -')
Result:=True
Responds:=Responds+1
Wait(500+random(1000))
End;
End;

Procedure AutoRespond;
Begin
If(IsTextInAreaEx(40,415,130,415,x,y,':',0,smallchars,False,True,0,0,0))Then
TheChatText:=Trim(GetTextAtEx(x+8,415,0,SmallChars,False,False,0,1,16711680,40,False,tr_allChars))
if(Trim(TheChatText)='')then
Exit;
ChatBoxRespond(TheChatText,'wazzup','nothing much')
ChatBoxRespond(TheChatText,'noob','you are a noob!')
ChatBoxRespond(TheChatText,'stupid','you are stupid')
ChatBoxRespond(TheChatText,'idiot','you are an idiot')
ChatBoxRespond(TheChatText,'where','Somewhere, but not here.')
ChatBoxRespond(TheChatText,'anybody','Me!')
ChatBoxRespond(TheChatText,'have','I think i dont have')
ChatBoxRespond(TheChatText,'funny','Lol, Im funny!')
ChatBoxRespond(TheChatText,'stole','who stole and what?')
ChatBoxRespond(TheChatText,'maybe','yea, maybe...')
ChatBoxRespond(TheChatText,'better','Not sure whats better')
ChatBoxRespond(TheChatText,'lvl','Look my level on higscores....')
ChatBoxRespond(TheChatText,'nice','very niice...')
ChatBoxRespond(TheChatText,'cool','haha, thats really cool!')
ChatBoxRespond(TheChatText,'offer','im not offering anything')
ChatBoxRespond(TheChatText,'bot','argh, i hate bots.')
ChatBoxRespond(TheChatText,'auto','I hate autoers')
ChatBoxRespond(TheChatText,'macro','I hate macroers.')
ChatBoxRespond(TheChatText,'need','i dont need...')
ChatBoxRespond(TheChatText,'huh','dont you get it? "huh" lol.')
ChatBoxRespond(TheChatText,'want','i dont want....')
ChatBoxRespond(TheChatText,'free','Can i have anything for free?')
ChatBoxRespond(TheChatText,'someone','No one I think....')
ChatBoxRespond(TheChatText,'bank','You going to the bank?')
ChatBoxRespond(TheChatText,'full','Im full soon too.')
ChatBoxRespond(TheChatText,'almost','almost here too.')
ChatBoxRespond(TheChatText,'hack','hackers are stupid!')
ChatBoxRespond(TheChatText,'talk','Talk what?')
ChatBoxRespond(TheChatText,'thank','no problem')
ChatBoxRespond(TheChatText,'welcome','thanks!')
ChatBoxRespond(TheChatText,'trade','trade what?')
ChatBoxRespond(TheChatText,'again','not again, lol.')
ChatBoxRespond(TheChatText,'level','look my levels on highscores')
ChatBoxRespond(TheChatText,'accept','accept what?')
ChatBoxRespond(TheChatText,'brb','alright, see you soon.')
ChatBoxRespond(TheChatText,'wtf','that the f***')
ChatBoxRespond(TheChatText,'sorry','no problems.')
ChatBoxRespond(TheChatText,'nope','why not?')
ChatBoxRespond(TheChatText,'other','other what?')
ChatBoxRespond(TheChatText,'from','Im from finland, you?')
ChatBoxRespond(TheChatText,'like','I like too.')
ChatBoxRespond(TheChatText,'money','I need money!')
ChatBoxRespond(TheChatText,'follow','where?')
ChatBoxRespond(TheChatText,'Hi','Hello')
ChatBoxRespond(TheChatText,'hello','hi')
ChatBoxRespond(TheChatText,'hey','hi')
ChatBoxRespond(TheChatText,'win','who wins in what?')
ChatBoxRespond(TheChatText,'np','thanks')
ChatBoxRespond(TheChatText,'sell','How many can you sell?')
ChatBoxRespond(TheChatText,'buy','Sorry, I cant sell them.')
ChatBoxRespond(TheChatText,'what','I dont know...')
ChatBoxRespond(TheChatText,'why','You know why....')
ChatBoxRespond(TheChatText,'yo','wazzuuup?')
ChatBoxRespond(TheChatText,'sup','just normal')
ChatBoxRespond(TheChatText,'coin','I need coins, plz.')
ChatBoxRespond(TheChatText,'lol','Hahaa!')
ChatBoxRespond(TheChatText,'haha','hehe!')
ChatBoxRespond(TheChatText,'lmao','lolz!')
ChatBoxRespond(TheChatText,'many','too many...')
ChatBoxRespond(TheChatText,'much','not much...')
ChatBoxRespond(TheChatText,'main','This is my main.')
ChatBoxRespond(TheChatText,'ish','I dont talk that language, lol.')
ChatBoxRespond(TheChatText,'this','what?')
ChatBoxRespond(TheChatText,'how','not telling...')
ChatBoxRespond(TheChatText,'come','come where?')
ChatBoxRespond(TheChatText,'you','who? me?')
ChatBoxRespond(TheChatText,'ok','ye, ok.')
ChatBoxRespond(TheChatText,'yes','yes, yes...')
ChatBoxRespond(TheChatText,'can','I cant right now...')
ChatBoxRespond(TheChatText,'no','yes, no, yes, no')
ChatBoxRespond(TheChatText,'bar','i have many bars.')
ChatBoxRespond(TheChatText,'smelt','I smelt my ores, lol.')
ChatBoxRespond(TheChatText,'doric','yes')
ChatBoxRespond(TheChatText,'knight','yes')
ChatBoxRespond(TheChatText,'fish','I like fishes, lol.')
ChatBoxRespond(TheChatText,'lob','I like lobsters')
ChatBoxRespond(TheChatText,'cage','I have 3 lobster cages')
ChatBoxRespond(TheChatText,'net','I have one net in the bank')
ChatBoxRespond(TheChatText,'rod','I have so many fishing rods')
ChatBoxRespond(TheChatText,'bait','I need more baits')
ChatBoxRespond(TheChatText,'feather','need to get more feathers')
ChatBoxRespond(TheChatText,'salmon','I like salmon')
ChatBoxRespond(TheChatText,'herring','I like herring')
ChatBoxRespond(TheChatText,'river','i hate river troll! lol.')
ChatBoxRespond(TheChatText,'troll','i hate river troll! lol!')
ChatBoxRespond(TheChatText,'fire','I dont need fire right now.')
ChatBoxRespond(TheChatText,'food','I like food!')
ChatBoxRespond(TheChatText,'cook','I love cooking.')
ChatBoxRespond(TheChatText,'lobster','i wish I could cook lobsters.')
ChatBoxRespond(TheChatText,'tuna','i like tuna!')
ChatBoxRespond(TheChatText,'meat','Umm.... i like meat.')
ChatBoxRespond(TheChatText,'burn','I dont burn my foods')
ChatBoxRespond(TheChatText,'pizza','Im going to make pizzas soon.')
ChatBoxRespond(TheChatText,'kill','dont kill mee!!!')
ChatBoxRespond(TheChatText,'die','Im not going to die')
ChatBoxRespond(TheChatText,'monster','i can beat all the monsters')
ChatBoxRespond(TheChatText,'fight','i only fight against the monsters')
ChatBoxRespond(TheChatText,'goblin','i like to kill goblins')
ChatBoxRespond(TheChatText,'spider','ill murder every spider i see!!!')
ChatBoxRespond(TheChatText,'cow','im a cow slaughter!')
ChatBoxRespond(TheChatText,'chicken','i like to kill chickens and cook them!')
ChatBoxRespond(TheChatText,'shield','My shield protects me!')
ChatBoxRespond(TheChatText,'sword','I must get a better sword')
ChatBoxRespond(TheChatText,'armour','You like my armour?')
ChatBoxRespond(TheChatText,'boot','Like my boots?')
ChatBoxRespond(TheChatText,'leg','I like my platelegs')
ChatBoxRespond(TheChatText,'helm','i need a better helm...')
ChatBoxRespond(TheChatText,'hit','i can hit better than you.')
ChatBoxRespond(TheChatText,'hp','I still have almost full hp.')
ChatBoxRespond(TheChatText,'axe','what axe is the best?')
ChatBoxRespond(TheChatText,'willow','i like willows!')
ChatBoxRespond(TheChatText,'yew','...yes are very expensive')
ChatBoxRespond(TheChatText,'tree','Im going to cut all trees down!')
ChatBoxRespond(TheChatText,'oak','I dont like oaks')
ChatBoxRespond(TheChatText,'maple','I which I could chop maple trees')
ChatBoxRespond(TheChatText,'ent','I hate ents!!!')
ChatBoxRespond(TheChatText,'addy','is addy axe good?')
ChatBoxRespond(TheChatText,'rune','is rune axe good?')
ChatBoxRespond(TheChatText,'bronz','is bronze axe good?')
ChatBoxRespond(TheChatText,'iron','is iron axe good?')
ChatBoxRespond(TheChatText,'steel','is steel axe good?')
ChatBoxRespond(TheChatText,'mithril','is mithril axe good?')
ChatBoxRespond(TheChatText,'adaman','is addy axe good?')
ChatBoxRespond(TheChatText,'runit','is rune axe good?')
ChatBoxRespond(TheChatText,'pick','what pick is the best?')
ChatBoxRespond(TheChatText,'pickaxe','what pick is the best?')
ChatBoxRespond(TheChatText,'addy','is addy good?')
ChatBoxRespond(TheChatText,'rune','is rune good?')
ChatBoxRespond(TheChatText,'bronz','is bronze good?')
ChatBoxRespond(TheChatText,'iron','is iron good?')
ChatBoxRespond(TheChatText,'steel','is steel good?')
ChatBoxRespond(TheChatText,'mithril','is mithril good?')
ChatBoxRespond(TheChatText,'adaman','is addy good?')
ChatBoxRespond(TheChatText,'runit','is rune good?')
ChatBoxRespond(TheChatText,'copper','i need copper ores')
ChatBoxRespond(TheChatText,'tin','i need tin ores')
ChatBoxRespond(TheChatText,'silver','i need silver ores')
ChatBoxRespond(TheChatText,'clay','i need clay ores')
ChatBoxRespond(TheChatText,'gold','i need gold ores')
ChatBoxRespond(TheChatText,'coal','i need coal ores')
ChatBoxRespond(TheChatText,'ores','i like all kind of ores')
ChatBoxRespond(TheChatText,'gas','what is gas?')
ChatBoxRespond(TheChatText,'smoke','can there be smoke in the rock, lol?')
ChatBoxRespond(TheChatText,'handle','you need pick head to attach the handle to pick')
ChatBoxRespond(TheChatText,'head','I have my pick head on my pick.')
ChatBoxRespond(TheChatText,'golem','I hate rock golems!')
End;

var TI:Integer;
begin
SetUpSRL;
SetArrayLength(Players,1)
Players[0].Name:='Lol';
Currentplayer:=0;
repeat
TI:=GetSystemTime;
Autorespond;
Writeln(inttostr(GetSystemTime-TI)+'ms')
wait(500)
until(false)
end.
It will read the chat text only one time.

omgh4x0rz

2007-06-03 10:17:51

yes Fo' sho!

From: rkroxpunk
I don't bother with responder's any more they barely help. But I like it. Yes from me

I completely disagree. Alot of responders are shitty and get you banned because they aren't made properly. However, mine has saved my ass multiple times. In fact, just the otherday I was doing homework while my guy was chopping willows. I looked up and noticed someone walking around talking to people to make sure they weren't macroers Even lvl 20+ chars He came to mine, and sure enough, he asked if I was macroing. I responded, and then *we* had a nice little chat before my responder told him I was pretty busy.

To summarize, I was following all the rules, such as switching players and being 20+ cmb, but in the end it was my responder that saved me from being reported.

rkroxpunk

2007-06-03 10:36:51

Ok i'm never saying anything about responder's again :)

JAD

2007-06-03 10:43:17

These things:


Procedure GetColor1(Sender: TObject);
Begin
PickColor(Color1, r, z);
ColourOne.Text := IntToStr(Color1);
ColourOne.Font.Color := Color1;
If Color1 < 3500000 Then
Begin
ColourOne.Color := clWhite;
End Else
ColourOne.Color := clBlack;
End;

Could be shortened. Do you know how? Adding another parameter. Like this:


Procedure GetColor1(Senter: TObject; WhichColor: String);
begin
PickColor(WhichColor, r, z);
//........etc.

See? Because that would save you a lot of room in your script, and this script definately needs to be shortened (Or definately could).


Your standards are horrific, No offense. But I rarely vote yes on somebody with terrible standards, unless there script's amazing. Let me keep looking at it and see what else I find..


Procedure CloseMethod(Sender : TObject);
Begin
TerminateScript;
End;

What's with those things?? The Sender thing isn't used, and all that is is 4 lines to do a 1 line thing TerminateScript;


I can barely read through it because of the standards, and from what I saw, 1000 + lines of your script is the responder, your 100 line intro thing and forms. Which, don't get me wrong, forms can be important, but that's not a quality I really care about in an app, it's just a bonus if everything else is good.


Sorry, I'm going to have to vote no for now.

GoF

2007-06-03 10:45:23

I don't like your standards and that script is almost fully just forms and bitmaps.. So I'll vote no, it's not only about the length of the script.

omgh4x0rz

2007-06-03 10:55:09

I agree that there is a lot of form and bmp in there, but I think this demonstrates enough knowledge of SRL and scar to accept. Clearly he knows how to use forms. He even has a multiplayer form that reads in from files and saves characters, which is very unusual to see in a members app and fairly difficult.

I think we should ignore the odd standards because we already know he has some weird habits such as typing in red and capitalizing letters. So it doesn't mean he doesn't know how to use proper standards. He is just choosing not to.

Also, he has some pretty neat functions in there. I like this one.


Function ChatBoxRespond(TheText,FromText,SayText:String):Boolean;
Var GetName:String;
Begin
If(FromText='')or(SayText='')Or(Trim(Players[CurrentPlayer].Name)='')Then
Exit;
If(TheText='')Then
SearchText;
If(pos(lowerCase(FromText),LowerCase(Trim(TheText)))<>0)Then
Begin
GetName:=GetTextAtEx(20,415,45,SmallChars,False,False,0,2,0,40,True,tr_NormalChars);
If(pos(LowerCase(Players[Currentplayer].Name),LowerCase(GetName))<>0)Then
Exit;
wait(500+random(500))
TypeSend(SayText)
writeln('| - - - - RESPOND - - - - -')
Writeln('|'+Trim(GetName)+' '+FromText)
Writeln('|'+Players[CurrentPlayer].Name+': '+SayText)
writeln('| - - - - - - - - - - - - -')
Result:=True
Responds:=Responds+1
Wait(500+random(1000))
End;
End;
Which he then uses like this.
ChatBoxRespond(TheChatText,'cook','I love cooking.')

I like.

JAD

2007-06-03 10:58:12

Choosing not to go by what people want to see in your app is a bad choice. If we say we want to see something in an app for you to get accepted, then if it were me I'd do it.

Then once you got accepted you could use whatever standards you want. But it's not about what you like right now, it's about what we like (That is, if you want to get accepted).

rkroxpunk

2007-06-03 11:50:41

hmmm Summilion did say this
"i would like to say, that Standards is something personal. Not personal as in a diary but it's most likely that only you script like that."

So if in a way there's a loop hole kinda in that if we're asking for standards in an app anything is standards….or does it say u must have the normal standards?

Still I think it's a bit harsh to vote no straight away. Give him a day or 2 to do it normally and if he still hasn't vote no. You may have done this i dunno but meh that's just my opinion

Pentti

2007-06-03 12:48:14

From: omgh4x0rz
I agree that there is a lot of form and bmp in there, but I think this demonstrates enough knowledge of SRL and scar to accept. Clearly he knows how to use forms. He even has a multiplayer form that reads in from files and saves characters, which is very unusual to see in a members app and fairly difficult.

I think we should ignore the odd standards because we already know he has some weird habits such as typing in red and capitalizing letters. So it doesn't mean he doesn't know how to use proper standards. He is just choosing not to.

Also, he has some pretty neat functions in there. I like this one.


Function ChatBoxRespond(TheText,FromText,SayText:String):Boolean;
Var GetName:String;
Begin
If(FromText='')or(SayText='')Or(Trim(Players[CurrentPlayer].Name)='')Then
Exit;
If(TheText='')Then
SearchText;
If(pos(lowerCase(FromText),LowerCase(Trim(TheText)))<>0)Then
Begin
GetName:=GetTextAtEx(20,415,45,SmallChars,False,False,0,2,0,40,True,tr_NormalChars);
If(pos(LowerCase(Players[Currentplayer].Name),LowerCase(GetName))<>0)Then
Exit;
wait(500+random(500))
TypeSend(SayText)
writeln('| - - - - RESPOND - - - - -')
Writeln('|'+Trim(GetName)+' '+FromText)
Writeln('|'+Players[CurrentPlayer].Name+': '+SayText)
writeln('| - - - - - - - - - - - - -')
Result:=True
Responds:=Responds+1
Wait(500+random(1000))
End;
End;
Which he then uses like this.
ChatBoxRespond(TheChatText,'cook','I love cooking.')

I like.

MAN! That Chatbox responder is mine, and all the words to respond from. Not his! Remember that! So is like 4 other functions.

omgh4x0rz

2007-06-03 13:01:58

From: Pentti
MAN! That Chatbox responder is mine, and all the words to respond from. Not his! Remember that! So is like 4 other functions.


Oh oops! I didn't see the credit at the top.

JAD

2007-06-03 13:10:05

From: rkroxpunk
hmmm Summilion did say this
"i would like to say, that Standards is something personal. Not personal as in a diary but it's most likely that only you script like that."

So if in a way there's a loop hole kinda in that if we're asking for standards in an app anything is standards….or does it say u must have the normal standards?

Still I think it's a bit harsh to vote no straight away. Give him a day or 2 to do it normally and if he still hasn't vote no. You may have done this i dunno but meh that's just my opinion


Actually.. I thought the exact same thing when I read that. Standards though are Standard. They are the standard indenting for all scripters. The standards were made by kaitnieks I believe, and most people followed his indenting making them standards for indenting.

So yes, you can have your own standards.. But nobody can read your standards the same way they can read there own. And if everybody's is the same, then everybody can read everybody's scripts.

n3ss3s

2007-06-03 15:41:31

WTF is wrong with your standards?
ScarScript:By Drunkenoldma [LEFT]<font color="#000000"><b>Procedure</b></font> OutFightO; <font color="#000000"><b>Var</b></font> i: integer; <font color="#000000"><b>Begin</b></font> Flag; <font color="#000000"><b>For</b></font> i:= <font color="#000080">1</font> <font color="#000000"><b>To</b></font> <font color="#000080">5</font> <font color="#000000"><b>Do</b></font> <font color="#000000"><b>Begin</b></font> <font color="#000000"><b>If</b></font>(InFight)<font color="#000000"><b>Then</b></font> <font color="#000000"><b>Begin</b></font> <font color="#000000"><b>Repeat</b></font> FindAllRandoms; AvoidBan; wait(<font color="#000080">50</font>+random(<font color="#000080">37</font>)); Eating(FoodName); Wait(<font color="#000080">15000</font>); <font color="#000000"><b>Until</b></font>(<font color="#000000"><b>Not</b></font>(InFight)); <font color="#000000"><b>exit</b></font>; <font color="#000000"><b>End</b></font> <font color="#000000"><b>Else</b></font> wait(<font color="#000080">300</font>); <font color="#000000"><b>End;</b></font> <font color="#000000"><b>End;</b></font> [/LEFT]

That almost scared the living shit out of me.
And your variables???
My first time standards looked quite same as that…
Well, for me the main thing still is that the script works, not the text. Still, do not use an obfuscator for scar scripts :D

I dont know what should I vote.
Maybe ill give it a yes. Its nice and WT-Fakawi said that If You Wont Type Like This, he will vote for u too so thats enough motivation for me :D

[/HalfTopic] Have u noticed that theres quietly started to come good apps ? [/HalfTopic]

Edit: hey what the hell happened with my scar tags?? P.S, do not capitalize keywords, it makes script look messy..
Woot text colors changing for me wtf my browser is gonna die lol.

omgh4x0rz

2007-06-03 16:10:58

@n3ss3s
Drinking much?

lol that was the most rambling post I have ever read.

shaunthasheep

2007-06-03 16:46:40

From: omgh4x0rz
@n3ss3s
Drinking much?

lol that was the most rambling post I have ever read.


Looks like u turned on the WYSIWYG editor lol

omgh4x0rz

2007-06-03 19:21:28

From: The_Rs_Monkey
Looks like u turned on the WYSIWYG editor lol

/?

Santa_Clause

2007-06-04 02:12:49

Thanks for posting everyone. I'll listen to Fawki and stop posting in a weird manner. As for the standards, I'll fix as soon as I can which will probably be in 2 days because I'm not allowed on the computer.

SKy Scripter

2007-06-04 02:55:57

lol, ill vote yes… :p

he spent a long time working on this… and i feel bad because i couldnt help him much…….

n3ss3s

2007-06-04 08:34:28

yes I actually did and had no idea what it means :D turning back to normal…

The Claw

2007-06-05 07:01:41

yes from me, looks good.

Bobarkinator

2007-06-07 00:48:30

Even thought like 95% is forms and other stuff I am going to vote yes because it shows that he knows SRL well.

GoF

2007-06-07 06:31:23

I don't think SRL has much to do with forms..?

Ashur2Good

2007-06-07 07:03:54

From: GoF
I don't think SRL has much to do with forms..?



I think GoF is right there :S


-Ashur

rkroxpunk

2007-06-07 07:16:39

Well I still think he should get in but to be honest another guy applied with a better form than this and still had pretty much the same code as this, in terms of quality, possibly not quite as good but not far off and he was denied because most of it was form and the code wasn't as good, kinda like this one. consistancy :rolleyes:

Widget

2007-06-07 21:02:20

From: JAD

Procedure GetColor1(Senter: TObject; WhichColor: String);
begin
PickColor(WhichColor, r, z);
//........etc.


You lie! OnClick or any other form event can't have extra parameters on them, which gives people like me and SKy big weird case Sender of chains.

Oh, and I'm not voting since SRL won't compile for me >.<

me_ntal

2007-06-07 21:54:03

hmm just a few criticisms

83 lines of nothing right here

procedure ScriptIntroduction;
begin
ClearDebug;
WriteLn(' S ');
Wait(300)
ClearDebug;
WriteLn(' Sa ');
Wait(300)
ClearDebug;
WriteLn(' San ');
Wait(300)
ClearDebug;
WriteLn(' Sant ');
Wait(300)
ClearDebug;
WriteLn(' Santy ');
Wait(300)
ClearDebug;
WriteLn(' Santy F ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fi ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fig ');
Wait(300)
ClearDebug;
WriteLn(' Santy Figh ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fight ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fighte ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fighter ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fighter! ');
Wait(300)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Post ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any ');
Wait(1000)
ClearDebug
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any Tips ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any Tips Or ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any Tips Or Suggestions ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Give Any Tips Or Suggestions At ');
Wait(1000)
ClearDebug;
WriteLn(' Santy Fighter! ');
WriteLn(' ');
WriteLn(' Please Post Any Tips Or Suggestions At ');
WriteLn(' <a href="http://Www.Srl-Forums.Com" target="_blank">Www.Srl-Forums.Com</a> ');
end;

Your auto talker actually has no real link to your script and i feel its just a waste of space, for example ChatBoxRespond(TheChatText,'ish','I dont talk that language, lol.'); You could have surficed with a simple level responder and a responder which answered hello, goodbye,trade,what you doing. 150 lines here.

Your form is around 850+ lines, and im sorry but i dont think forms are important and never judge a script of them.

I tried your find bone procedure it doesnt work, remember bones mutate, you should look at fawkis bone collecting used in Goblin scheduler. I couldnt find adequete failsafes in the script.

Sorry its a no, i tried to explain it as much as i could remember these are NOT personal attacks their just constructive criticisms. Your script is too generic and needs some more work on it. I also agree with widget, it should be a required that scripts compile and atleast do a fraction of what the owner claims.

Santa_Clause

2007-06-08 05:03:17

Firstly, the script does do what it's supposed to…and it does compile…Yohojo just said I wasn't supposed to update much when I'd posted…though I'll still post one…

May rkroxpunk please tell me who has nicer forms than mine, cause I wanna have a look…;)

RAM

2007-06-08 15:11:16

From: SantaClause


May rkroxpunk please tell me who has nicer forms than mine, cause I wanna have a look…;)


Personaly, IMHO, I despise forms, just adds clutter and filler to to any script and adds more "variables" that can make a script mess up…. But, check out Sky's ..he creates some nice ones..

~RAM

omgh4x0rz

2007-06-08 15:21:09

From: me_ntal
remember these are personal attacks


You mean "are not"

me_ntal

2007-06-08 15:43:01

Whoops, sorry about that… As omg said this isnt personal.

Santa_Clause

2007-06-08 19:33:36

Well lol, I know he does…He's got the best forms on the forums…but rkroxpunk said someone applied with better forms so I wanna know who that is..

Ok, I have an update everyone, fixed up the bone picking and burying procedure and standardised…though the poll closes tomorrow…

3Garrett3

2007-06-09 13:40:58

actually it closes tomorrow, and from what i have heard, you were trying to find certain things out that you are not supposed to know, and have someone leaking you things.. so its a no.. unless you can prove to me you are trustworthy before tomorrow

Hobbit

2007-06-09 14:47:18

The script looks good.
Responder is a little over done though..

Yes from me.

Boreas

2007-06-10 22:41:18

Congrats!