PDA

View Full Version : So You want to be a scripter....



pwnaz0r
02-10-2007, 01:17 AM
For All Questions / Add Me on MSN( pwnaz0r@hotmail.com ) or post here!!!

PLEASE REMEMBER TO:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
| http://img412.imageshack.us/img412/1740/addua0.png (http://imageshack.us) | ------------------------------------------->
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

AND

!!!!!!!!!!!!!!!!!!!!!!!!!
| http://img404.imageshack.us/img404/6499/votewm8.png (http://imageshack.us) |
!!!!!!!!!!!!!!!!!!!!!!!!!









LIST OF BASIC TERMINOLOGY

Debug Box = The Box At the bottom Of SCAR (The Biggest One ).

Constant = A value that does not change in a script.


Variable = A value that can change in a script.


Integer = A number.


String = Words.


Boolean = true/ false.


Extended = a number also just a different kind.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ok now the First thing your going to want to learn is CONSTANTS

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CONSTANTS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



You have to " state " or " declare " it before you use it Like so.


Const
UserName = hi;



Basically you have said its a constant because it has const before it. See how const goes bold? You have now declared it is a "constant" as it will not change throughout your script.


The second thing your going to want to know is VARIABLES. These are things that can change throughout the script like times banked, trees cut, etc.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
VARIABLES
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

What They Do : This is a "Value" that can be changed in a script.

Now you have to state this also as you have to with a constant. Do that like so:


var
TimesBanked : integer;// Learn About Integer, String, Boolean, and Extended Below.


Here you have stated the variable correctly.
Now when you want to change the value of a variable, Such as after you bank, you would say this.


TimesBanked := TimesBanked + 1;
(To Change variables always do " := ")


This tell SCAR that the variable is 1 more than it orginally was.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPES OF VARIABLES AND CONSTANTS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Now there are basically four things variables and constants can be. Integers( Numbers), Strings( Words, Must Have ' ' Around them ), Boolean (Returns true or false, Won't be used until you learn how to script a little better), and Extended( not used much just an "Extended" Number). The first two of these are the only ones you will really use until you get better at scripting.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Integers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Integers are used for everything... Colors, Coordinates, Anything...




Const
WaitTime = 68457;

^^^
That would be an example of an Integer;




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Strings
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Strings are often used to talk and in reports..



Const
WordsToSay = 'Hi';//See the ' ' s?


^^
That would be a valid String


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Boolean
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Boolean are something that is true or false.




const
LogOut = false;


^^
That would be an Correct boolean



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Extended
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Unless you are an expert scripter don't learn this yet or you will get them confused with regular integers;


Var
SymbolAccuracy := 0.4;


^^
That would be an example of an Extended.

Now What you can do with variables and these 4 main values combined :


//With variables you can make these things( these are example scripts)

program Agoogle;//All Scripts have to have this

var
I : integer;//Declared "I" a variable that was an integer;

procedure Example;
begin// Always
I := random(2);// This means that I can be a random of 5 things
case I of// This is the start of what " I " can be.
0 : Writeln('hi');// always start with zero or you will get an " Out Of Range " Error
1 : Writeln('bye');//yup
end;



//also like this
Var
I : integer;

Procedure Example;
begin
For I := 1 to 3 do;
end;

begin
Example;
End.


Remember this for arrays section!!

Begin// Start of Main Loop
Example;
End.//Always put a period after the end of the main loop
.
So no that You know all About Symbols and Constants let move on to where they can be used. These two things are called..


PROCEDURES AND CONSTANTS

Ok Well there are two things that basically SCAR is composed of. A procedure is basically a job for SCAR to do. A function Is the Same sort of thing but A function will give you a result of one of the 4 types above.

For example here is a simple PROCEDURE that will make a line appear in the "Debug Box"(The box at the bottom left of scar.).


procedure Write;// See procedure go bold??
begin // All things must have a begining and an end
Writeln('hi');// Writeln is a basic command that write a line in the debug box and is must have a string in the parenthesis See how it has the quotations around it?
end;


This Procedure will write the line into the debug box.


Functions on the other hand have to be done like this:
( I know these parameters arent right guys :p )

function FindAColor : boolean;//This means if it finds the color, it will result true
begin// always :)
result := false;//This is the result of the function we are doin right now. It Starts out as false.
If(FindColor(0))then//Scroll down to learn about if and then
begin// see how i spaced twice? Scroll down and go to scripting standards links to find out why
result := true;//This means that If it Finds the color it will change it to true
end;//End the begin we started two lines up.
end;//end the first begin


Im sorry i can't make that any simpler. That is what those two things do.

Now Onto Basic Logic things:

Main Loop
The Main loop is where you put all the procedures in order. In other words, It tells scar what to do. Always End the " End" in the main loop with a period. These are always stated at the bottom of the script. Read on and look at the scripts below to understand better;

LOGIC
Logical Commands:


Begin/End

Well Maybe i should i done this at the beggining of the script but im trying to teach you in the most efficient way possible.
Begin and end is everything in SCAR. You must begin something in every procedure and function and in the MAIN LOOP(Read Down)

Example


procedure I;
Begin//Here
End;// and here

Now that procedure will not do anything but you get the basic idea ( hopefully )


If/then

This means that IF it does what you state after IF Then
it will do what you state after then.

EXAMPLE

If(FindChatText('hi'))then
begin
Writeln('Hi');
end;



While/do

This means that while something is there or happening to do something like.


While(BankScreen)do CloseBank;



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


STARTING TO SCRIPT

Now that you basically know all of the basics, pat yourself on the back. YOU KNOW THE BASICS WOOT.

Now to go into more advanced stuff i will try to use pictures and videos as accurately as i can.

ARRAYS

Now Arrays Are Basically a list of the 4 types of values( usually only integers used for colors and Strings used for like autotalkers.

Now An Array is A variable. You state them like this:


var
TreeColor : array [1..3] of integer;//could be of Any of the 4 types


Now to set the values of the array, you would do this :

TreeColor[1] := 43897;
TreeColor[2] := 345325;
TreeColor[3] := 324242;


and to use them you would do this :



FindColor(x,y,TreeArray[1]);



or you can do this( If you don't know how then look under the " What you can do with variable section );



procedure Hello;
var I := integer;
begin
For I := 1 to 3 do
FindColor(x,y,TreeArray[I]);
end;


This will make it search for TreeArray 1, then 2, then 3 in order.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Now You basically know what Scar it, How its SetUp, Etc.
So You Want To Start Scripting
Here are the most basic TUT's
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://www.villavu.com/forum/showthread.php?t=2027?t=2455
http://www.villavu.com/forum/showthread.php?t=4625?t=5444
http://www.villavu.com/forum/showthread.php?t=1415?t=1706
http://www.villavu.com/forum/showthread.php?t=597?t=704
http://www.villavu.com/forum/showthread.php?t=581?t=683
http://www.villavu.com/forum/showthread.php?t=50?t=73
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

now all those are good and all but you wanna learn more stuff since you're done doing simple scripts using writeln (:p)

Try Out These Tuts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Radialwalking : For ALl Your Walking Needs!!!
~~~~~~~~~~~~~~~~~~~~~~~~~~
http://www.villavu.com/forum/showthread.php?t=372?t=452
~~~~~~~~~~~~~~~~~~~~~~~~~~

BitMaps:kind of like a picture that scar can find.I recommend Advanced Batch Converter that can be found here :
~~~~~~~~~~~~~~~~~~~~~~~~~~
http://www.villavu.com/forum/showthread.php?t=1609?t=1952
http://www.villavu.com/forum/showthread.php?t=1442?t=1741
http://www.villavu.com/forum/showthread.php?t=596?t=703
http://www.villavu.com/forum/showthread.php?t=1116?t=1283



~~~~~~~~~~~~~~~~~~~~~~~~~~
DTMs : Deformable Template Module(I think)
~~~~~~~~~~~~~~~~~~~~~~~~~~
http://www.villavu.com/forum/showthread.php?t=1085?t=1249
http://www.villavu.com/forum/showthread.php?t=1353?t=1637
http://www.villavu.com/forum/showthread.php?t=564?t=663
~~~~~~~~~~~~~~~~~~~~~~~~~~



AntiRandoms : O so important!!!!!!
~~~~~~~~~~~~~~~~~~~~~~~~~~
http://www.villavu.com/forum/showthread.php?t=633?t=743
~~~~~~~~~~~~~~~~~~~~~~~~~~



Forms :
~~~~~~~~~~~~~~~~~~~~~~~~~~
http://www.villavu.com/forum/showthread.php?t=1616?t=1961 <--- Ultamite
http://www.villavu.com/forum/showthread.php?t=5165?t=6010
http://www.villavu.com/forum/showthread.php?t=1101?t=1266
http://www.villavu.com/forum/showthread.php?t=5427?t=6284 <--- Form during runtime
~~~~~~~~~~~~~~~~~~~~~~~~~~

Arrays : Read to learn
~~~~~~~~~~~~~~~~~~~~~~~~~~
http://www.villavu.com/forum/showthread.php?t=585?t=689&highlight=Array http://www.villavu.com/forum/showthread.php?t=4309?t=5106 <-- arrays in arrays
http://www.villavu.com/forum/showthread.php?t=3747?t=4502
~~~~~~~~~~~~~~~~~~~~~~~~~~



Scripting Standards : Things to make your scripts look nice & neat
~~~~~~~~~~~~~~~~~~~~~~~~~~
http://kaitnieks.com/scar/scriptingsta/ <------- Official Site
http://www.villavu.com/forum/showthread.php?t=5195?t=6042
http://www.villavu.com/forum/showthread.php?t=3293?t=3997
http://www.villavu.com/forum/showthread.php?t=4676?t=5496
~~~~~~~~~~~~~~~~~~~~~~~~~



Other Useful Tuts :
~~~~~~~~~~~~~~~~~~~~~~~~~~
http://www.villavu.com/forum/showthread.php?t=4812?t=5635 <--- teaches advanced color finding techinique
http://www.villavu.com/forum/showthread.php?t=4064?t=4845 <------F.A.Q.
http://www.villavu.com/forum/showthread.php?t=3562?t=4302 <-------How To become an SRL Member
http://www.villavu.com/forum/showthread.php?t=?t=4953 <------ How to delete your UID in a scar script( this is what you they kind of identify you by ).

SOME OF MY PROCEDURES JUST COPY AND PASTE :)( PLEASE GIVE CREDITS IF YOU USE THOUGH)

PZ FULL ANTIRANDOMS

program PZFullAntiRandoms;
{.include srl/srl.scar}
{.include srl/srl/skill/woodcutting.scar}
{.include srl/srl/skill/fishing.scar}
{.include srl/srl/skill/mining.scar}


function PZFullAntiRandoms(skill, LampSkill, RunAwayDir : string; WaitTime, TreeColor : integer; LogForMod, LogForQuiz : boolean) : boolean;
var a , kkkkkk, gx, gy: integer;
begin
If(skill = 'Fishing' ) or (Skill = 'fishing') then
begin
SetupSRLFishing;
end;
If( skill = 'Mining' ) or ( Skill = 'mining' ) then
begin
SetUpSRLMining;
end;
for kkkkkk := 0 to 27 do
case kkkkkk of
1 : SetScreenName(Players[CurrentPlayer].Name);
2 : If(FindFight)then
begin
result := true;
RunAwayDirection((RunAwayDir));
wait(10000+random(5000));
RunBack;
end;
3 : repeat
A := A + 1;
If(FindName)then
begin
FindTalk;
end;
until(a = 5) or ( result = true )
4 : If(FindNormalRandoms)then
result := true;
5 : If(FindForester)then
begin
result := true;
wait(WaitTime);
LoginPlayer;
end;
6 : If(FindLamp(LampSkill))then
result := true;
7 : If(SolveGenie(LampSkill))then
result := true;
8 : If(FindDead)then
result := true;
9 : If(FindPlant)then
result := true;
10 : If(FindMaze)then
result := true;
11: If(FindMime)then
result := true;
12 : If(FindScapeRune)then
result := true;
13 : If(SolvePinball)then
result := true;
14 : If(FindPlant)then
result := true;
15 : If(DetectFrogCave)or(FindFrogCave)then
begin
result := true;
SolveFrogSwamp;
end;
16 : If(FindTalk)then
result := true;
17 : If(FindNewBox)then
begin
result := true;
SolveBox;
end;
18 : If(FindCerter)then
begin
result := true;
CerterLoadBmps;
SolveCerter;
FreeCerterBmps;
end;
19 : If(TalkToRand)then
result := true;
20 : If(FindDemon)then
result := true;
21 : If(NoGameTab)then
begin
Logout;
WriteLn('No Game Tab');
NextPlayer(false);
end;
22 : If(FindQuiz)then
begin
result := true;
If(LogForQuiz=true)then
begin
Logout;
NextPlayer(False);
Players[CurrentPlayer].Loc := ' Quiz ';
end;
If(LogForQuiz=false)then
begin
SolveQuiz;
end;
end;
23 : If(SolveSandWich)then
result := true;
24 : If(Skill = 'Fishing ')or (Skill = 'fishing')then
begin
If(FindFishingEquipMent)then
begin
result := true;
end;
end;
25 : If(Skill = 'Mining') or ( Skill = 'mining' ) then
begin
If(FindPick)then
begin
result := true;
end;
If( GasColors( gx, gy ) ) then
begin
result := true;
end;
end;
26 : If(skill = ' Woodcutting' ) or (Skill = 'woodcutting')then
begin
If(FindHead)then
result := true;
FindBirdsNest;
result := true;
If(FindEnt(TreeColor))then
result := true;
end;
27 : If(LogForMod=true)then
begin
If(FindMod)then
begin
result := true;
end;
end;
end;
end;

^^^^^^^^^^^^
Notes:
Remeber for woodcutting always Use FindAxeHeadColors, For Mining FindPickHeadColor, And Fishing FindFishingEquipmentColor. REMEBER TO INCLUDE THE RIGHT INCLUDES!!
^^^^^^^^^^^^^^
List of Basic Commands(In Alphabetical order from includes)

//AntiBan
// * procedure RotateEvery(mins:integer); // * by Stupid3ooo
// * procedure RandomChatEvery(mins:integer); // * by Stupid3ooo
// * procedure RandomRClick; // * by phantombmx
// * procedure RandomRClickEvery(mins : Integer); // * by phantombmx
// * procedure LeaveScreenEvery(mins:integer); // * by Stupid3ooo
// * procedure KillScript(hours:integer); // * by Stupid3ooo
// * procedure HoverSkill(skill:string); // * by Dankness
// * procedure HoverEvery(mins:integer;skill:string); // * by Dankness
// * procedure AntiBan; // * by Stupid3ooo
// * function MessageFriend(Row: integer; S: string): boolean; // * by XxKanexX
// * procedure SetMessageFriendEvery(Secs, Row: integer; Messages: array of string); // * by XxKanexX
// * procedure MessageFriendEvery; // * by XxKanexX
// * procedure PickUpMouse; // * by dark_sniper
// * procedure SayCurrentLevels(which : string); // * by RealRune
// * procedure AlmostLogout;


// AutoColor
// » function FindWaterColor: Integer; | by Tarajunky
// » function FindRoadColor: Integer; | by Tarajunky
// » function FindFallyRoadColor: Integer; | by Tarajunky
// » function FindRockColor: Integer; | by Tarajunky
// » function FindDirtRoadColor: Integer; | by Tarajunky
// » function FindBridgeColor: Integer; | by Tarajunky
// » function FindLadderColor: Integer; | by Tarajunky
// » function AutoColorThis(Bitmap, MaxTol, X1, Y1, X2, Y2:Integer) : integer;




//Auto Talk
// * procedure LoadWords; // * by Mutant
// * procedure RussianWords; // * by WT-Fakawi
// * procedure FrenchWords; // * SDcit
// * procedure SpanishWords; // * SDcit
// * procedure EnglishWords; // * SDcit
// * procedure DutchWords; // * Freddy1990
// * procedure PolyGlotTalk; // * SDcit
// * procedure TextDataBase;
// * function IsOnline(Row: integer): boolean; // * by XxKanexX
// * function OnlineCount: integer; // * by XxKanexX
// * function Exists(Row: integer): boolean; // * by XxKanexX
// * function ClickFriend(Row: integer): boolean; // * by XxKanexX


//Banking
// * function BankScreen:Boolean; // * by RSN
// * function PinScreen:Boolean; // * by Starblaster100
// * function InPin(pin: string): Boolean; // * by RSN / Starblaster100
// * Procedure FixBank; // * by RSN
// * procedure OpenBank; // * by Stupid3ooo / Mutant Squirrle
// * procedure OpenBank3; // * by RSN / Mutant Squirrle
// * procedure Deposit(slot, toslot, thetype:integer); // * by PPLSUQBAWLZ / Stupid3ooo
// * procedure Withdraw(Col,Row,Amount:integer); // * by PPLSUQBAWLZ / Stupid3ooo
// * procedure DepositAll; // * by Mutant Squirrle
// * Function FindBank(TheBank:string): Boolean; // by WT-Fakawi
// * Procedure CloseBank; // by RealRune
// * Function OpenBankQuiet(WhichBank:string):Boolean; // by WT-Fakawi
// * Function OpenBankGlass(WhichBank:String; ChangeCompass:Boolean): Boolean; // By Wizzup?



//BitMaps
// * function FindBitmapsProgressiveTol(bmp1,bmp2,bmp3,bmp4,bmp5 ,tolmax,step,xs,ys,xe,ye:integer):boolean; // * by Stupid3ooo
// * Function FindBitMapTol(var TX,TY:integer; BitMap,x1,y1,x2,y2:integer):Boolean; // * by WT-Fakawi
// * Function FindBitMapTolRaiser(BitMap,x,y,StartingTol,EndingT ol,p1,p2,p3,p4:Integer):Boolean; // * by Sdcit
// * Function FindDeformed(var Xoff,Yoff: integer; BMP,a,b,c,d: integer): Boolean;



//ColorFinding
// » function FindColorRightTol(var cx,cy: Integer; dacolor,ax1,ay1,ax2,ay2,tol: Integer): | by RSN
// » function FindMMColor(color:integer):boolean; | by Stupid3ooo
// » function FindMMColorTol(color,tol:integer):boolean; | by Stupid3ooo
// » procedure ClickMMColor(color:integer); | by Stupid3ooo
// » procedure ClickMMColorTol(color,tol:integer); | by Stupid3ooo
// » function FindMSColor(color:integer):boolean; | by Stupid3ooo
// » function FindMSColorTol(color,tol:integer):boolean; | by Stupid3ooo
// » procedure ClickMSColor(color:integer;left:boolean); | by Stupid3ooo
// » procedure ClickMSColorTol(color,tol:integer;left:boolean); | by Stupid3ooo
// » function FindColorEllipse(var x, y: integer; Color, Tol, X1, Y1, X2, Y2: integer): boolean; | by BenLand100
// » function FindColorsEllipse(var Points: TPointArray; Color, Tol, X1, Y1, X2, Y2: integer): boolean; | by BenLand100
// » function FindColorAbstract(var x,y: integer; Color, Tol, x1,y1,x2,y2,x3,y3,x4,y4: integer): boolean; | by BenLand100
// » function FindColorsAbstract(var Points: TPointArray; Color, Tol, x1,y1,x2,y2,x3,y3,x4,y4: integer): boolean; | by BenLand100
// » function ScanForObj(Scanwidth, Scanheight, Color, Tolerance: Integer; Name, DebugName: string): Boolean | by Pplsuqbawlz
// » function FindColorTolRaiser(var x, y, xe, ye, xs, ys, Color, BeginTol, EndTol: integer; Spiral: Boolean): Boolean; | by Sdcit
// » function FindSimColorBase(color, xs, ys, xe, ye, LTimes, sTol, Distance: integer): integer; | by XxKanexX
// » function FindSimColor(color, xs, ys, xe, ye, tol, dist: integer; hardsearch: boolean): integer; | by XxKanexX
// » function FindSimColorMany(var save: array of integer; many, color, xs, ys, xe, ye, tol, dist: integer; hardsearch: boolean): integer; | by XxKanexX
// » function FindMMRoadColor: Integer; | by XxKanexX
// » function FindColorFromCentre(var x, y: Integer; Cx, Cy, Color, Radius, Tol: Integer): boolean; | by XxKanexX
// » function ColorDistanceTolerance(Col1, Col2, xs, ys, xe, ye, tol: Integer): Integer; // * By XxKabexX
// » function ColorDistance(Col1, Col2, xs, ys, xe, ye, tol: Integer): Integer; // * By XxKabexX
// » procedure ClickRandomlyOnColour(Colour, x, y, xa, ya : Integer; Left : Boolean); // * By Spky
// » function FindColorCircle(var x, y: Integer; color, radius, MidPointx, MidPointy: Integer): Boolean; | by Freddy1990
// » function FindColorCircleTolerance(var x, y: Integer; color, radius, MidPointx, MidPointy, tolerance: Integer): Boolean; | by Freddy1990
// » function MouseColor(var x, y : Integer; color, radius, tol : Integer): Boolean; // * by Krazy_Meerkat
// » function FindClosestColor(var x, y, matchingcolour : Integer; colour, xs, ys, xe, ye : Integer): Boolean; // * by Krazy_Meerkat
// » function FindColorSkipBox(var x, y: Integer; color, x1, y1, x2, y2: Integer; box: TBox): Boolean; | by Freddy1990
// » function FindColorSkipBoxTolerance(var x, y: Integer; color, x1, y1, x2, y2, tolerance: Integer; box: TBox): Boolean; | by Freddy1990
// » function FindColorSkipBoxArray(var x, y: Integer; color, x1, y1, x2, y2: Integer; box: TBoxArray): Boolean; | by Freddy1990
// » function FindColorSkipBoxArrayTolerance(var x, y: Integer; color, x1, y1, x2, y2, tolerance: Integer; box: TBoxArray): Boolean; | by Freddy1990
// » function ScanMMColorExact(var x, y: Integer; color: Integer): Boolean; | by Freddy1990
// » function ScanMMColorTolerance(var x, y: Integer; color, tolerance: Integer): Boolean; | by Freddy1990
// » procedure ClickExactMMColor(color: Integer); | by Freddy1990
// » procedure ClickExactMMColorTol(color, tolerance: Integer); | by Freddy1990
// » function ScanMMAreaColorExact(var x, y: Integer; x1, y1, x2, y2, color: Integer): Boolean; | by Freddy1990
// » function ScanMMAreaColorExactTolerance(var x, y: Integer; x1, y1, x2, y2, color, tolerance: Integer): Boolean; | by Freddy1990


//DTMS
// * function FindDtmIn(var FX, FY: Integer; DTM, X1, Y1, X2, Y2: integer): boolean; // * by BenLand100
// * function WeAreInMM(WhichDTM:Integer): Boolean; // * by WT-Fakawi
// * function WeAreInMS(WhichDTM:Integer): Boolean; // * by WT-Fakawi
// * Function ClickMMDTM(DTM:Integer): Boolean; // * by WT-Fakawi
// * Function ClickMSDTM(DTM:Integer): Boolean; // * by WT-Fakawi
// * function FindMSDtm(dtm:integer):boolean; // * by Stupid3ooo
// * function findinvdtm(dtm:integer):boolean; // * by Dankness
// * function FindMMDtm(dtm:integer):boolean; // * by Stupid3ooo
// * function FindMMColorDTMBase(DTM, Base, Tol: Integer): Integer; // * by XxKanexX
// * function FindMMColorDTMBaseDouble(DTM, DTM2, Base, Base2, Tol: Integer): Integer; // * by XxKanexX



//GameTabs
// * GameTab 1 = Fightmode
// * GameTab 2 = Statistic
// * GameTab 3 = Quest
// * GameTab 4 = Inventory (see Inventory.scar)
// * GameTab 5 = Wield
// * GameTab 6 = Prayer
// * GameTab 7 = Mage
// * GameTab 8 = Add Friend
// * GameTab 9 = Del Friend
// * GameTab 10 = LogOut (See Login.scar)
// * GameTab 11 = Tools
// * GameTab 12 = Run/Emotes
// * GameTab 13 = Music
//************************************************** **************************//

// * function GetCurrentTab : Integer; // * By Devil Elbow / Starblaster100
// * procedure GameTab(tabnumber:Integer); // * By Mutant Squirrle / Starblaster100
// * procedure SetFightMode(oFightMode:integer); // * by Stupid3ooo
// * Function GetStatFor(stat:string; bottom:integer):integer; // * by Odie5533
// * Function GetHp:integer; // * by Odie5533
// * function SkillCoords(row, column: Integer): Tpoint; // * by RSN
// * function GetSkillAmount(skill: string): Integer; // * by RSN
// * function GetSkillLevel(skill: string): Integer; // * by RSN
// * Function GetStat(stat : string):integer; // * By Mutant Squirrle
// * function NextLevelAt(Skill:String):Integer; // * by phantombmx
// * function XpTilNextLevel(Skill:String):Integer; // * by phantombmx
// * function HpPercent: Integer; // * by RSN
// * procedure Brightness(Intensity : String); // * By phantombmx
// * procedure SetQuestPos(QuestName: String; Members: Boolean); // * by phantombmx
// * function QuestStarted(QuestName: String; Members: Boolean): Boolean; // * by phantombmx
// * function QuestDone(QuestName: String; Members: Boolean): Boolean; // * by phantombmx
// * procedure Retaliate(Yes : Boolean); // * By Spky
// * function EquipmentCoords(i : Integer) : TPoint; // * by RSN
// * function WearingItem(i : Integer) : Boolean; // * by RSN
// * procedure TakeOff(i : Integer);
// * Function CheckEquipItems(number:Integer): Boolean; // * by SDcit
// * procedure DoEmote(EmoteNumber : Integer); // * By Sumilion
// * procedure RandomEmote; // * By Spky
// * procedure MusicSet(Setting:String); // * by phantombmx
// * function TakeOffName(ItemName: String): Boolean; // * by Freddy1990
// * function IsNameEquiped(ItemName: String): Boolean; // * by Freddy1990
// * function GetEquipPosName(var iPos: Integer; ItemName: String): Boolean; // * by Freddy1990
// » function TabExists(TabNumber: Integer): Boolean; // * By Flyboy



//Inventory
// * function ItemCoords(i: Integer): TPoint; // * by RSN
// * procedure MMouseItem(i: Integer); // * by RSN
// * procedure MouseItem(i: Integer; left: Boolean); // * by RSN
// * procedure UseItem(invin: Integer); // * by RSN
// * procedure DragItem(inv1, inv2: Integer); // * by RSN
// * function ExistsItem(i: Integer): Boolean; // * by RSN
// * function InvCount: Integer; // * by RSN
// * function InvFull: Boolean; // * by RSN
// * function InventoryCount: Integer; // * Starblaster100
// * function FindRS: Boolean; // * by RSN
// * function FindLoginScreen : Boolean; // * by Krazy_Meerkat & phantombmx
// * function CountItemColor(color:integer):integer; // * by Stupid3ooo
// * function CountItemColorTol(color,tol:integer):integer; // * by Stupid3ooo
// * function CountItemBmpTol(bmp,tol:integer):integer; // * by Stupid3ooo
// * function CountItemDtm(dtm:integer):integer; // * by Starblaster100
// * function CountItemName(name:string):integer; // * by Stupid3ooo
// * function FindItemColor(color:integer):boolean; // * by Stupid3ooo
// * function FindItemColorTol(color,tol:integer):boolean; // * by Stupid3ooo
// * function FindItemBmpTol(bmp,tol:integer):boolean; // * by Stupid3ooo
// * function FindItemName(name:string):boolean; // * by Stupid3ooo
// * procedure ClickItemColor(color:integer;left:boolean); // * by Stupid3ooo
// * procedure ClickItemColorTol(color,tol:integer;left:boolean); // * by Stupid3ooo
// * procedure ClickItemName(name:string;left:boolean); // * by Stupid3ooo
// * procedure ClickItemBmpTol(bmp,tol:integer;left:boolean); // * by Stupid3ooo
// * procedure ClickAllItemsColorTolWait(option:string;color,tol, waitnum:integer);
// * procedure ClickAllItemsBmpTolWait(optionx:string;bmp,tol,wai tnum:integer);
// * procedure ClickAllItemsNameWait(optionx,name:string;waitnum: integer);
// * procedure ClickAllItemsColor(option:string;color:integer);
// * procedure ClickAllItemsName(option,name:string;color:integer );
// * procedure ClickAllItemsBmpTol(option:string;bmp,tol:integer) ;
// * procedure ClickAllItemsColorTol(option,name:string;color,tol :integer);
// * procedure DropItem(i:integer); // * by Lorax
// * procedure DropAll; // * by Lorax
// * Procedure DropTo(x,y:Integer); // * by Sdcit
// * Procedure DropExcept(I : array of Integer); // * by Spky
// * function DropInvPosition(i : Integer): Boolean; //Mutant Squirrle
// * procedure DropToPosition(StartPosition, EndPosition: Integer); //Mutant Squirrle
// * procedure DropHold(keep:string); //Mutant Squirrle
// * function CountInvSlot(var items: integer; row, col: Integer): Boolean; // * by Freddy1990
// * function ArrangeInv;



//Login
// * function LoggedIn:boolean; // * by Stupid3ooo
// * Procedure Logout; // * by Stupid3ooo
// * Procedure LoginPlayer; // * by WT-Fakawi
// * Procedure NextPlayer(Active: Boolean); // * by WT-Fakawi
// * procedure RandomNextPlayer(Active : Boolean); // * by WT-Fakawi and Dankness
// * Procedure LogOutEvery(hours,forxmins:integer); // * by Stupid3ooo
// * Procedure HighestAngle; // * by Starblaster100



//MapWalking
//// * Function FindCompassAngle: Integer; // * by Tarajunky
// * Procedure Face(direction:string); // * by Stupid3ooo
// * Procedure MakeCompass(direction: string); // * by Lorax
// * Procedure WalkAsideColorTol(Color:integer;MoveDir,HugSide:st ring;Tol:integer); // * by Stupid3ooo
// * Procedure WalkAsideColor(Color:integer;MoveDir,HugSide:strin g); // * by Stupid3ooo
// * Procedure RoadWalkTol(RColor:integer;Dir:string;Tol:integer) ; // * by Stupid3ooo
// * Procedure SetRun(run:Boolean); // * by Stupid3ooo
// * Procedure RunAwayDirection(direction:string); // * by Stupid3ooo
// * Procedure RunBack; // * by Stupid3ooo
// * Procedure RoadWalk(RColor:integer;Dir:string); // * by Stupid3ooo
// * Function RadialWalk(TheColor:Integer; StartRadial,EndRadial:Integer; Radius:Integer; Xmod,Ymod:integer): Boolean; // * by Wizzup? and WT-Fakawi
// * Function LinearWalk(TheColor:Integer; Direction:Integer; Radius:Integer; Xmod,Ymod:integer): Boolean; // * by Wizzup? and WT-Fakawi
// * Function MakeTrueAngle(Angle: Integer): Integer; // by * Liquid
// * Procedure AngleWalk(Angle, Distance, Randomx, Randomy: Integer); // by * Liquid
// * Procedure AngleWalker(Angle, Distance, Randomx, Randomy: Integer); // by * Liquid
// * Procedure AWalk2(Angle, Radius, Color : Integer); // by * Starblaster100
// * Function DTMFlag(DTM:integer;Click:Boolean): Boolean; // by * WT-Fakawi
// * Function RoadWalkDTMTol(RColor,DTM:integer; Dir:string; Tol:integer; Click:Boolean): Boolean; // by * WT-Fakawi
// * Function Road2DTMWalk(Rcolor,DTM:integer; Dir:string; Click:Boolean):Boolean; // by * WT-Fakawi
// * Function DTM3Flag(DTM1,DTM2,DTM3:integer;Click:Boolean): Boolean; // by * WT-Fakawi
// * Procedure ToBankers(var BankColor:integer;MouseAdjustX,MouseAdjustY:intege r); // by * Stupid3ooo
// * Procedure PerfectNorth; // by * WT-Fakawi
// * procedure RoadWalkTol2(RColor : Integer; Dir : String; Tol : Integer); // * By XxKanexX
// * procedure RoadWalkTolExt(RColor : Integer; Dir : String; Tol, ex, ey : Integer); // * By XxKanexX
// * procedure RoadWalkGDist(RColor : Integer; Dir : String; Tol : Integer); // * By XxKanexX
// * procedure RoadWalkTolGDistExt(var Dist: Integer; RColor : Integer; Dir : String; Tol, ex, ey : Integer); // * By XxKanexX
// * function EstimateDist(Steps: integer; Direction: String): integer; // * By XxKanexX
// * function StepsDist(Dist: Integer; Direction: String): Integer; // * By XxKanexX
// * procedure WalkDist(Distance, RoadColor, Tol: integer; Direction: String); // * By XxKanexX
// * procedure WalkDistEstimate(Steps, RoadColor, Tol: Integer; Direction: String); // * By XxKanexX
// * procedure walkhalfway(xl, yl : Integer); // * by Krazy_Meerkat



//Math
// * function Distance(x1, y1, x2, y2: Integer): Integer; //PPLSUQBAWLZ edit BenLand100
// * function Point(x, y: Integer): TPoint; //RsN
// * procedure LoadCoSineArrays;// Mutant Squirrle
// * function FixD(Degrees: extended): extended; // BenLand100
// * function AdjustD(Angle, Adjustment: extended): extended;// BenLand100
// * function Degrees(Radians: extended): extended; // BenLand100
// * function FixR(Radians: extended): extended; // BenLand100
// * function AdjustR(Angle, Adjustment: extended): entended; // BenLand100
// * function Radians(Degrees: extended): extended; // BenLand100
// * function Fract(number: longint): longint; // BenLand100
// * function BinCoe(a, b: longint): extended; // BenLand100
// * function ArcSin(X: extended): extended; // BenLand100
// * function ArcCos(X: extended): extended; // BenLand100
// * function Tan(X: extended): extended; // BenLand100
// * function ArcTan(X: extended): extended; // BenLand100
// * function ArcTan2(Y, X: extended): extended; // BenLand100
// * function GetSplinePt(Points: TPointArray; Theta: extended): TPoint; // BenLand100
// * function MakeSplinePath(Points: TPointArray; ThetaInc: extended): TPointArray; // BenLand100
// * function MidPoints(Path: TPointArray; MaxDist: integer): TPointArray; // BenLand100
// * function InAbstractBox(x1, y1, x2, y2, x3, y3, x4, y4: integer; x, y: integer): boolean; // BenLand100
// * function ToCart(point: PPoint): TPoint; // BenLand100
// * function ToCartOffset(point: PPoint; offset: TPoint): TPoint; // BenLand100
// * function ToPolar(point: TPoint): PPoint; // BenLand100
// * function ToPolarOffset(point, offset: TPoint): PPoint; // BenLand100
// * function inAngle(Origin: TPoint; Angle1, Angle2, Radius1, Radius2: extended; X, Y: integer): boolean; // BenLand100
// * function Randomize(Original, RandomN: Integer):Integer; // Mutant Squirrle
// * function TMax(choices:arrayof integer): integer; //XxKanexX
// * function SimilarFloats(tFloat1, tFloat2: Extended; tTol: Integer): Boolean; //Lorax
// * function Hash(const Str: string): integer; //BenLand100
// * function sine(degrees:integer):extended;
// * function cose(degrees:integer):extended;
// * function NormDist(MaxNum: integer): Integer; //Flyboy / inspired by lardmaster



//MouseFlag
// * procedure Swap(var a, b: Integer); // * By PPLSUQBAWLZ
// * procedure swapPoint(var a, b: TPoint); // * By PPLSUQBAWLZ
// * procedure Bubble(var a : TPointArray; var d:TIntegerArray; N : Integer); // * By PPLSUQBAWLZ
// * function MakeSplinePath(Sx, Sy, Ex, Ey, randX, randY, MaxDist, CtrlDist, CtrlVar: integer): TPointArray; // * By BenLand100
// * procedure MMouse(X, Y, RandX, RandY: integer); // * By BenLand100
// * procedure CMMouse(x, y, rx, ry: Integer); // * By Mutant Squirrle
// * procedure SetCMMouse(x,y,rx,ry,SControl,EControl,Step,min,ma x,maxdist,gravity,wind: Integer); // * By Mutant Squirrle
// * procedure CMouse(x,y,rx,ry:Integer; left:Boolean); // * By Mutant Squirrle
// * procedure IdleTime(Time, Rand: integer; Gravity: extended); // * By BenLand100
// * procedure IdleColor(Rand, Gravity, Color, Tol, X1, Y1, X2, Y2: integer; Exists: boolean); // * By BenLand100
// * Procedure Mouse(mousex,mousey,ranx,rany:integer; left:boolean); // * By RSN/Mutant Squirrle
// * procedure SleepAndMoveMouse(Time: Integer); // * By RSN
// * Procedure Flag; // by PPLSUQBAWLZ/Odie533
// * Function FlagDist: Integer; // by PPLSUQBAWLZ/Odie533
// * Function FlagPresent:boolean; // * By RSN
// * function FlagDistance: Integer; // * By RSN
// * procedure HumanFlag(flagdis: Integer); // * By RSN
// * function WaitTillFlag: Boolean; // * By RSN
// * procedure MouseFlag(cx,cy,rx,ry: Integer); // * By RSN
// * procedure HumanMouseFlag(cx,cy,rx,ry,flagdis: Integer); // * By RSN
// * Function HumanFlag(flagdis:Integer):boolean; // * by PPLSUQBAWLZ
// * Function HumanCircleFlag(Dist:integer): Boolean; // * by WT-Fakawi
// * procedure FFlag(Distance : Integer); // * by WT-Fakawi
// * procedure MouseFindFlag(ax,ay,xmod,ymod:integer); // * by PPLSUQBAWLZ
// * procedure MouseUntilFlag(xmod,ymod:integer); // * by PPLSUQBAWLZ
// * procedure MouseFindNoFlag(ax,ay,xmod,ymod:integer); // * by PPLSUQBAWLZ
// * function Findminimapangle:integer; // * by Liquid
// * function MouseFindFlagAngle(x1,y1:extended; angle:integer):boolean; // * by Liquid
// * procedure ChatsOff; // * By RSN
// * procedure SetChat(state: string; chat: Integer); // * By RSN
// * procedure MouseBox(xs, ys, xe, ye: integer; click: boolean); // * XxKanexX
// * procedure Drag(x1, y1, rx1, ry1, x2, y2, rx2, ry2: Integer; left: Boolean); // * by Zup
// * procedure MouseBack(cx, cy, RanX, RanY, RandomEnd, PercentReturn, Click: Integer); // * by phantombmx



//Object
// » function FindObjMulti(Text: String; color1, color2, color3, tolerance: Integer): Boolean;
// » function FindObj(var cx, cy: Integer; Text: String; color, tolerance: Integer): Boolean;
// » function FindObjMultiText(var cx, cy: Integer; Ut1, UT2, UT3: String; color, tolerance: Integer): Boolean;
// » function FindObjArea(var x, y : integer; ObjectText : string; x1, y1, x2, y2, ObjectColor, ObjectTolerance : Integer; Center: Boolean): Boolean; // by Mutant Squirrle
// » function FindObjArea2(var x, y : integer; ObjectText : string; x1, y1, x2, y2, ObjectColor, ObjectTolerance, MinYValue, MinXValue : Integer; Center: Boolean): Boolean; // by Mutant Squirrle
// » function FindObject(var x, y : integer; ObjectText : string; ObjectColor, ObjectTolerance : Integer; Center: Boolean): Boolean; // by Mutant Squirrle
// » function FindObject2(var x, y : integer; ObjectText : string; ObjectColor, ObjectTolerance, MinYValue, MinXValue : Integer; Center: Boolean): Boolean; // by Mutant Squirrle
// » function FindObjEx(var x, y: Integer; ObjText: String; x1, y1, x2, y2, Color, Tol, MinXDist, MinYDist, WaitPerCheck: Integer; Spiral: Boolean): Boolean;
// » function FindObjectMulti(Text1, Text2, Text3 : String; color1, color2, color3, tolerance, Turns : Integer; MultiText, MultiTimes : Boolean) : Boolean; // by Stupid3ooo / Kernel Klink / Mutant Squirrle
// » function FindObjDtm(text:string;dtm:integer):boolean; // * by Stupid3ooo
// » function FindObjFrom(var fx, fy: integer; x, y, Color, Tol, Step: integer; Text: string): Boolean; // * by BenLand100
// » function ExamineObj(Text: string; color, tol: integer): boolean; // * by XxKanexX
// » function FindObjSpe(Text: String; Color, Tol: integer): boolean; // * By XxKanexX
// » function FindObjectDeformed(var ObjX, ObjY :integer; UpText1, UpText2: String; BMP, a, b, c, d: integer): Boolean; // * By WT-Fakawi



//Setup
// * function getSRLData(dName : String): String; //* by Dankness
// * function setBoolean ( T : String ) : Boolean; //* by Dankness
// * procedure LoadSRLConfig; //* by Dankness



//Symbol
// * function GetSymbolColor(var rx,ry:integer; Name : String) : Integer; // * by Stupid3ooo extended by WT-Fakawi and Bebemycat2!
// * function FindSymbol(var rx,ry:integer; Name : String) : Boolean; // * by Stupid3ooo
// * Function FindMMSymbolColor: Integer; // * by WT-Fakawi
// * FindSymbolColorIfNeeded(SymbolName : String; TerminateIfNotFound : Boolean; var Color : Integer);
// * FindMMSymbolColor : Integer; // by WT-Fakawi
// * FindMMSymbol(BitMap : Integer) : Boolean; // by WT-Fakawi
// * ClickSymbol(BitMap : Integer) : Boolean; // by WT-Fakawi



//Text
// » procedure SendText(text: string); | by RSN
// » procedure SendText2(text: string); | by RSN
// » procedure SendText3(Text : String); | by SDcit
// » function Option2(Text: Dtring):boolean; | by Freddy1990
// » function GetOption:string; | by Stupid3ooo
// » function GetUpText : String;
// » function ReadUpText : Boolean; | by Mutant Squirrle
// » function IsUpText(s: string):Boolean; | by Masquerader
// » function IsUpTextMulti(UpText:string) : Boolean;
// » function FindText(txt:string;font,xs,ys,xe,ye:integer):bool ean; | by Stupid3ooo
// » function ClickText(txt:string;font,xs,ys,xe,ye:integer;left :boolean):boolean; | by Stupid3ooo
// » function IsChatMessage(s: string): Boolean; | by Stupid3ooo
// » function NewChatMsg(txt:string):boolean; | by Stupid3ooo
// » function GetNewChatMsg:string; | by Stupid3ooo
// » function ClearSpaces(Text: String) : String; | by Mad Cow
// » function FindInventoryText(txt:string):boolean; | by Stupid3ooo
// » function ClickOption(s: string; i: Integer): Boolean; | by RSN
// » function ChooseOption(txt:string):boolean; | by Stupid3ooo
// » function Capitalize(S: string): string; | by Starblaster100
// » procedure FindTextSpiral(txt: String; dx,dy: Integer; SpiralSize: Integer; step, SpiralWait: Integer); | By OhDearUrDead, Edited By Khain
// » procedure CloseWindow; | by Stupid3ooo
// » function Hitkeys(send:boolean):integer; |By Pyro
// » function HumanText(Text:string;Chance:integer):string;|By Pyro



//Timing
// * function TheTime: string; // * by RSN
// * function TimeRunning:string; // * Stupid3ooo modified from Phalanx's script
// * procedure MarkTime(var TimeMarker:integer); // * by Stupid3ooo
// * function TimeFromMark(var TimeMarker:integer):integer; // * by Stupid3ooo
// * function ScriptTime(i: Integer): Integer; // * by RSN
// * function ScriptTime2(mode: integer): string; // * by RSN



//Users
// * procedure LoadUs; // * by Yakman
// * procedure SaveUs; // * by Yakman
// * procedure StartPlayers(ShowForm: boolean;Options: string); // * by Yakman


Ok Well thats sums up all the basic commands of Core

pwnaz0r
02-10-2007, 02:50 AM
I Have to leave for something will be back later!!!!!

Avaphi
02-10-2007, 03:09 AM
Nice job. Just clean it up a bit, only use one link for scripting standards(use the official scripting standards link here: http://kaitnieks.com/scar/scriptingsta/ ) Also clean up your spelling. Also... Your kind of just giving a bunch of links to other peoples tutorials.... :\

pwnaz0r
02-10-2007, 03:16 AM
alright lol im sorry i am a bad speller

WhoCares357
02-10-2007, 04:26 AM
Nice job. I've been looking for a tut with all(most) SRL functions listed for a while.

JAD
02-10-2007, 04:41 AM
wow great thanks dude. I'm going to go read every one of those tuts now lol. thanks a lot for this, it should help me alot in becoming a better scripter

pwnaz0r
02-10-2007, 07:20 AM
Update 1

pwnaz0r
02-10-2007, 08:41 PM
update 2

Ejjman
02-10-2007, 09:42 PM
Don't double post o.O

*Edit Button*



As for the post, its pretty good, and if noobs really want to learn how to script, they'll follow that stuff. Good job pwnz0r

pwnaz0r
02-10-2007, 09:47 PM
so why did you post no >.< :p

Ejjman
02-10-2007, 09:49 PM
so why did you post no >.< :p

Its not helpful to *me*

:garfield:

pwnaz0r
02-10-2007, 09:54 PM
lol Well it's not meant for members yet :rolleyes:

Avaphi
02-11-2007, 07:31 AM
yet as in you plan it to be? What are you going to add?

pwnaz0r
02-11-2007, 08:03 AM
Yea i know not much to add :p this was not meant for members is what i mean

I B X R
09-01-2007, 12:50 AM
Oh lala, I liked this one. I'm trying to create an auto cooker, and auto fighter. I don't know how to include more than one color, and I still don't know how to you use color tolerence:mad:

bobbob30
09-26-2007, 07:50 PM
srry dude but that tut sorta sucked

coollukehand
09-26-2007, 11:29 PM
This is great I have added it to my favorites so i can come back for reference.

bobbob30's post is what sucks

coolluke

supadude
11-04-2007, 06:14 AM
nice tut thanks still a little confused about some things but i'm getting there

wafyl
11-05-2007, 09:52 PM
Thanks, this really helped!

rshacker101
11-24-2007, 10:44 AM
Wow, nice tut. It helped a lot :D

-Spartan-
11-27-2007, 12:55 AM
Great tut. Great support of knowledge introduced in other tutorials. Bookmarked in order for easier referencing. Thanks.

InfernoKnight
12-02-2007, 05:12 PM
Thanks a lot ;) I was a little confused with some stuff(that is before reading this tutorial), but now I think I understand(hopefully) and I will get started on my first script soon :D

Rct33
12-02-2007, 07:37 PM
Woah, the basics are easy to understand. Thanks, I'm trying to create basic scripts now.

Dervish
12-27-2007, 06:04 PM
Jeeez i didn't get the const part but thanks to you and others i made my first script :D (ABC) if the mod approves it :p

FEAR
01-17-2008, 07:22 PM
Great tutorial:D
It helped me a lot. I added it to favorites for easier access. Thank you for taking the time to write this.

Hope I see more great tutorials from you in the future....

~~ FEAR ~~

malotthouse
01-17-2008, 07:35 PM
Nice,

i especially like the lists of functions, it helps alot

anoobis
01-25-2008, 11:16 PM
I've been looking at all the Tuts lately and now have a bsic idea of scripting. This symester I am also taking C++. Is C++ similar to scar scripting, or is scar sort of it's own type of programming. If there's any specifics to pay attention to in C++ that will help with scripting, it would be greatly appreciated. Thanks.

gamer 5
01-25-2008, 11:20 PM
Good Job, but ill call it like a review :D

anoobis
01-26-2008, 12:15 AM
So is Jumping into SCAR with pretty much no background programming experience too amitious, or possible, but with a lot of perserverance?

ridwan23
10-17-2008, 03:31 PM
Thanks alot

I might use this for learning SCAR

thanks

Alligaattor
10-18-2008, 05:41 PM
Great TUT but I didn't understand everything...

jacobsalle
11-22-2008, 07:05 PM
thank you! nice tut

Riffe
11-22-2008, 07:16 PM
Not helpfully:(

Hugolord
11-22-2008, 07:22 PM
Not helpfully:(

How is it not HELPFUL for a beginner's tutorial?

defnubure
11-26-2008, 05:33 AM
Awesome Tutorial not to lie i didn't read it all but i will back when i find some time to.

Ascension
02-12-2009, 08:00 AM
Great tutorial. Thanks


There is one problem though:


I := random(2);// This means that I can be a random of 5 things


This means that 'I' can be a random of 5 things? Don't you mean 2?

Good Tutorial.