SRL Archive - Archive

slimshady002 - SRL Member Application Form


Shady?

2008-02-05 23:48:32

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

What is the meaning to life?


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


Programming Knowledge
Basics of java and php

Other Communitys
currently none

How Long have You Played Runescape
4 years now

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

Well, I've been scripting with scar a long time ago, then i just quit te whole rs thing. Now i'm back and i'm working on a few scripts, an autofighter and a powerchopper.

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

In this release i'd like to show you my Shady Fighter 1.0, wich was based on Narcle's Fast Fighter. Note that i've never released this script because i made it just to show my scripting knowledge. Well here is the script, there are some things i took off from Narcle's script, look in the credits.

{---------------------------Script Info----------------------------------------|
| ScriptName = Shady Fighter |
| Author = SlimShady002 |
| Description = Fights and regenerates HP by eating food or waiting |
| Version = 1.0 |
| SRL Version = 4.0 Rev 13 |
| SCAR Divi Version = 3.14 |
| Date = 6/02/08 |
|______________________________________________________________________________|
|----------------------Instructions, Credits & Help info-----=-----------------|
| |
| Instructions: |
| 1. You need to use Markus "Easy way of modifying scripts" tut |
| located here: |
| [url]http://www.villavu.com/forum/showthread.php?t=21279[/url] |
| in order for this script to work. |
| |
| |
| Credits: |
| -Narcle for releasing his FastFighter, wich inspired me. |
| |
|______________________________________________________________________________}
program ShadyFighter;

{.include SRL/SRL/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/skill/fighting.scar}
{.include SRL/SRL/misc/Users.scar}
Const
{------------------------------------------------------------------------------}
{===============================Player Setup===================================}
{------------------------------------------------------------------------------}

MySRLID = '';//example: '0000'
MySRLPassword = '';//example: 'password'

UseForm = false;//Use form? [true/false]
HaveReport = true;//Puts some information in Report box
PublicChat = 'off';//Public chat on or off?
DebugMode = true;//Writes to a ini file


procedure DeclarePlayers;
begin
if not(UseForm) then
begin
HowManyPlayers := 1;//Change this accordinly
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name :='slimshady002'; //Character Name
Players[0].Pass :='335042olimpic'; //Character Pass
Players[0].Nick :='lim'; //Nickname 3 - 4 Letter's of char name
Players[0].Active:=True; //True if you want this player to be ran in the script, false if not
Players[0].Booleans[0] := false;//Ranging? true/false
Players[0].Booleans[1] := true;//Eat food?
Players[0].Integers[0] := 5133140;//1st color of monster
Players[0].Integers[1] := 8423818;//2nd color of monster
Players[0].Integers[2] := 3489091;//3rd color of monster
Players[0].Integers[3] := 50;//hitpoints
Players[0].Integers[4] := 100000;//Kill monster for? in minutes.
Players[0].Strings[0] := 'Skeleton';//monster name
Players[0].Strings[1] := 'strength'; //the skill you want to train > strength, attack, defence, whipdefence, pure, even, accurate, rapid or longrange <
Players[0].Strings[2] := 'n';//Player run direction > n, e, s, w <
end else
begin
SRLPlayerForm(True, ['Ranging', 'Eat Food'], ['Color 1','Color 2','Color 3','Monster Hitpoints','Logout Time (9)'], ['Monster Name', 'Skill to train (even)','Run Direction (s)'], []);
end;
CheckUserNicks;
SRLid:= MySRLId;
SRLpassword:= MySRLPassword;
ScriptID := '631';
If (HowManyPlayers = 1) then Writeln('Single-Player Mode') else Writeln('Multi-Player mode; '+IntToStr(HowManyPlayers)+' Players');
end;

const
Version = '1.0';
DebugName = 'SF';
var
CharStartTime, TKilled, Txp, Startxp, foodate, RoundTimer, FailTimer,
ArrowStartAmount, TArrowAmount, FindMonsterFail, TFoodate:integer;
CurrentColor1,CurrentColor2,CurrentColor3,CurrentMonsterHP,CurrentKillTime:integer;
Hoverskillis,CurrentMonsterName,CurrentRunDir,CurrentStyle,StartTime:string;
Outoffood: Boolean;

procedure SFoutfight; forward;
procedure Loginout(i:integer); forward;
procedure SFhpcheck; forward;
procedure StopBan; forward;

procedure TheDebug(ln:string);
begin
if (debugmode) then
WriteINI(TheDate(2), thetime+' :', ' '+ln, AppPath + DebugName + 'Debug.ini');
end;

Function HpPcnt:integer;
var s:string;
begin
result:=(GetMMLevels('hp',s)*100)/Players[CurrentPlayer].level[8];
TheDebug('Hp is: '+inttostr(result));
end;

procedure StartMsg;
begin
ShowMessage('Are you ready to start the script?' +Chr(13)+
+'Click below when the rs Applet' +Chr(13)+ ' has loaded.');
end;


procedure MySig;
var
n, I,len:integer;
rname, Cha:string;
V: TVariantArray;
begin
StartTime := TheTime;
TheDebug('Signature call');
Writeln(' Slimshady''s Fighter version'+Version);
Writeln('Started at: '+StartTime);
ClearReport;
Cha := 'abcdefghijklmnopqrstvuwxyz0123456789';
Len := 4+random(15);
for I := 1 to len do
rname := rname + Cha[random(Length(cha))+1];
Disguise(rname);
ThreadSafeCall('StartMsg', V);
n := 5;
repeat
n := n-1;
wait(999);
Status(inttostr(n)+' Seconds to start fighting.');
until (n=0)
Status('Starting the fighter');
end;

function ClearSpaces(Text: string): string;
var
Nums: string;
I, II: Integer;
begin
Nums := '01234567890';
for I := 1 to Length(Text) do
begin
for II := 1 to 10 do
begin
if (Copy(Text, I, 1) = Copy(Nums, II, 1)) then
Result := Result + Copy(Text, I, 1);
end;
end;
end;

procedure HighestBrightness;
var
x,y,SlideButton:integer;
begin
GameTab(11);
SlideButton := DTMFromString('78DA633CC6C4C0F0920105083ACE673002D28' +
'C40FC1F08180F01D5BC4155A3A0610957030260358FD1D4683BA0' +
'AA398DA9465CC516530D9A5D920A3A286A003116104C');
x:= 707;
y:= 228;
If (not FindDTM(SlideButton,x,y,x-25,y-25,x+25,y+25)) then
begin
Mouse(711,233,2,2,true);
writeln('Brightness setted to Highest');
end;
FreeDTM(SlideButton);
end;

Function RandomsCheck(Time: Integer): Boolean;
var
ti,t: Integer;
begin
if not(loggedin) then exit;
if time = 0 then Ti := 1 else Ti := time;
begin
for T := 1 to Ti do
begin
if FindNormalRandoms then
begin
FindInventoryRandoms;
result := true;
end;
if FindTalk then
Result := True;
if time = 0 then exit else Wait(200 + Random(50));
end;
end;
end;

function StatCD(s:string; T,HP:integer):boolean;
var
n:integer;
begin
n := T+random(4);
repeat
Status(s+'... '+inttostr(n));
n := n-1;
RandomsCheck(0);
wait(975);
if not(HP = 0) then
if (HpPcnt > HP) then
begin
result:=true;
Break;
end;
if ((Getsystemtime-CharStartTime)>(CurrentKillTime * 60000)) then
begin
Loginout(t);
result := true;
Break;
end;
until (n=0)
end;

function InFightNotAttacking: Boolean;
var
x, y : Integer;
begin
Result := ( (FindColor(x, y, 65280, 230, 130, 280, 180) or FindColor(x, y, 255, 230, 130, 280, 180)) and
(not(FindColor(x, y, 65280, 12, 24, 212, 328) or FindColor(x, y, 255, 12, 24, 212, 328))) and
(not(FindColor(x, y, 65280, 290, 12, 509, 328) or FindColor(x, y, 255, 290, 12, 509, 328))) and
(not(FindColor(x, y, 65280, 197, 15, 303, 117) or FindColor(x, y, 255, 197, 15, 303, 117))) and
(not(FindColor(x, y, 65280, 179, 180, 330, 332) or FindColor(x, y, 255, 179, 180, 330, 332))) )
if result then TheDebug('Not attacking');
end;

Procedure MonsterCheck;
begin
if (CurrentColor1 = 0) or (CurrentColor2 = 0) or (CurrentColor3 = 0) then
begin
Logout;
Writeln('Please enter Monster''s color.');
terminatescript;
end;
if CurrentMonsterName = '' then
begin
Logout;
Writeln('Enter Monster''s name.');
terminatescript;
end;
if CurrentMonsterHP = 0 then
begin
Logout;
Writeln('Enter Monster''s HP.');
terminatescript;
end;
end;

function GetArrowCount:integer;//from Narcle
var
ACtxt, text2: string;
l:integer;
begin
if(not(loggedin))then exit;
gametab(5);
wait(50);
ACtxt := Trim(GetTextAtEx(667, 249, 0, StatChars, False, False,
0, 2, -1, 5, True, tr_AlphaNumericChars));
for l := 1 to Length(ACtxt) do
begin
if (ACtxt[l] = 'K') or (ACtxt[l] = 'k') then text2 := text2 + '000' else text2 := text2+ ACtxt[l];
end;
if (ClearSpaces(text2) = '') then result := 0 else result := strtoint(ClearSpaces(text2));
TheDebug('Arrow count is: '+inttostr(result));
end;

function GetXPof(skill: string; t:integer): integer;
var
p: TPoint;
i, tx, ty, x, y, l, II, WaitT: Integer;
xp, Nums, text2, xpis, typeis : string;
begin
Result := -1;
case t of
1: typeis := 'urrent';
2: typeis := 'level';
3: typeis := 'ainder';
end;
if (not LoggedIn) or (not TabExists(2)) then Exit;
GameTab(2);
if (GetCurrentTab <> 2) then Exit;
p := SkillToCoords(True, Skill);
if (p.x < 1) then Exit;
MMouse(p.x, p.y+7, 12, 4);
repeat
WaitT := WaitT+1;
wait(100);
if WaitT >= 300 then exit;
until findcolor(x, y, 10551295, 554, 205, 743, 465);
wait(300 + Random(100))
if (not FindColor(x, y, 10551295, MIX1, MIY1, MIX2, MIY2)) then Exit;
if IsTextInAreaEx(x, y, x + 60, y + 60, tx, ty, typeis, 0, SmallChars, False, False, 0, 1, 0) then
xp := GetTextAtEx(tx, ty, 0, SmallChars, False, True, 0, 1, 0, 50, False, tr_AllChars);
for l := 1 to Length(xp) do
begin
if (xp[l] = 'O') then text2 := text2 + '0' else text2 := text2+ xp[l];
end;
Nums := '01234567890';
for I := 1 to Length(Text2) do
begin
for II := 1 to 10 do
begin
if (Copy(text2, I, 1) = Copy(Nums, II, 1)) then
xpis := xpis + Copy(Text2, I, 1);
end;
end;
result := strtoint(xpis);
TheDebug('XP is: '+xpis);
Status(skill+' T:'+inttostr(t)+' = ' +xpis);
end;


procedure TheOptions;
begin
if Players[CurrentPlayer].Integers[4] = 0 then CurrentKillTime := 9 else CurrentKillTime := Players[CurrentPlayer].Integers[4];
if Players[CurrentPlayer].Strings[2] = '' then CurrentRunDir := 's' else CurrentRunDir := lowercase(Players[CurrentPlayer].Strings[2]);
if Players[CurrentPlayer].Strings[1] = '' then CurrentStyle := 'even' else CurrentStyle := lowercase(Players[CurrentPlayer].Strings[1]);
CurrentColor1 := Players[CurrentPlayer].Integers[0];
CurrentColor2 := Players[CurrentPlayer].Integers[1];
CurrentColor3 := Players[CurrentPlayer].Integers[2];
if (Players[CurrentPlayer].Integers[3]<3) and (not(Players[CurrentPlayer].Integers[3]=0)) then CurrentMonsterHP := 3 else CurrentMonsterHP := Players[CurrentPlayer].Integers[3];
CurrentMonsterName := Players[CurrentPlayer].Strings[0];
If (CurrentPlayer > 0) and (Players[CurrentPlayer].Integers[0]=0) then
begin
CurrentColor1 := Players[0].Integers[0];
CurrentColor2 := Players[0].Integers[1];
CurrentColor3 := Players[0].Integers[2];
CurrentMonsterName := Players[0].Strings[0];
CurrentMonsterHP := Players[0].Integers[3];
end;
end;

function ActiveCount:integer;
var i:integer;
begin
for i := 0 to HowManyPlayers-1 do
begin
if Players[i].Active = true then
result := result+1;
end;
end;





procedure SFset;
Var
Mode:integer;
begin
if (not(LoggedIn)) then Exit;
TheDebug('SFset Start');
Status('Player: '+Players[CurrentPlayer].Name+'...');
MouseSpeed := 14+random(5);
TheOptions;
MonsterCheck;
GetAllLevels;
GameTab(1);
mode := 0;
case CurrentStyle of
'attack': mode := 1;
'strength': mode := 2;
'defence': mode := 3;
'accurate' : begin
SetFightMode(1);
Hoverskillis := 'range';
end;
'whipdefence' : begin
Setfightmode(3);
Hoverskillis := 'defence';
end;
'rapid' : begin
Setfightmode(2);
Hoverskillis := 'range';
end;
'longrange': begin
Setfightmode(3)
Hoverskillis := 'range';
end;
'even': begin
if (Players[CurrentPlayer].level[3] <= Players[CurrentPlayer].level[1]) and
(Players[CurrentPlayer].level[3] <= Players[CurrentPlayer].level[2]) then mode := 3;
if (Players[CurrentPlayer].level[1] <= Players[CurrentPlayer].level[3]) and
(Players[CurrentPlayer].level[1] <= Players[CurrentPlayer].level[2]) then mode := 1;
if (Players[CurrentPlayer].level[2] <= Players[CurrentPlayer].level[1]) and
(Players[CurrentPlayer].level[2] <= Players[CurrentPlayer].level[3]) then mode := 2;
end;
'pure': begin
if Players[CurrentPlayer].level[2]<15 then mode := 2 else
if Players[CurrentPlayer].level[1]<30 then mode := 1 else
if Players[CurrentPlayer].level[2]<25 then mode := 2 else
if Players[CurrentPlayer].level[1]<40 then mode := 1 else
mode := 2;
end;
end;
Case mode of
1: begin SetfightMode(1); Hoverskillis := 'attack'; end;
2: begin SetfightMode(2); Hoverskillis := 'strength'; end;
3: begin SetfightMode(4); Hoverskillis := 'defence'; end;
end;
Retaliate(True);
SetChat(PublicChat, 1);
SetChat('off', 2);
SetChat('off', 3);
SetChat('off', 4);
SetChat('off', 5);
gametab(11);
SetRun(True);
HighestBrightness;
if (Players[CurrentPlayer].Booleans[0]) then
begin
ArrowStartAmount:=GetArrowCount;
If (ArrowStartAmount < 200) then Loginout(0);
end;
SetAngle(true);
Startxp := GetXPof(Hoverskillis,1);
outoffood := false;
CharStartTime := Getsystemtime+random(20000);
MarkTime(RoundTimer);
MarkTime(FailTimer);
If HaveReport then
begin
ClearReport;
ChangeReportWidth(284);
AddtoReport('Active Players: '+inttostr(ActiveCount)+' False: '+inttostr(HowManyPlayers-ActiveCount)+' |');
AddtoReport('Current Player: '+Players[Currentplayer].Name);
end;
TheDebug('SFset End');
end;


procedure SProgressReport;
Var
CurRemXP, XPpH, Tlm, CurXP, CurAU, XPn, Killed, I,H,M,S:integer;
Active:string;
begin
if not(loggedin) then loginplayer;
TheDebug('SProgressReport Start');
SFoutfight;
ConvertTime(gettimerunning, H, M, S);
GetAllLevels;
CurXP := GetXPof(Hoverskillis,1);
if (HowManyPlayers = 1) then CurRemXP := GetXPof(Hoverskillis,3);
if (CurXP > Startxp) and (CurXP > 0) and (Startxp > 0) then XPn := CurXP-Startxp else XPn := 0;
If (XPn > 0) and (CurrentMonsterHP > 0) then Killed := (XPn/(4*CurrentMonsterHP)) else Killed := 0;
TKilled := TKilled+killed;
Txp := (Txp+XPn);
TFoodate := TFoodate + foodate;
if (HowManyPlayers = 1) and (CurRemXP>0) and (Txp > 0) then TLm := (CurRemXP)/(Txp/(H*60+m)) else TLm := 1;
if (HowManyPlayers = 1) and (txp>0) then XPpH := (Txp*60)/(H*60+m) else XPpH := 0;
if (Players[CurrentPlayer].Booleans[0]) then if (ArrowStartAmount > GetArrowCount) and (GetArrowCount > 0) then CurAU := ArrowStartAmount - GetArrowCount else CurAU := 0;
if (Players[CurrentPlayer].Booleans[0]) then TArrowAmount := TArrowAmount+CurAU;
if (HowManyPlayers = 1) then
begin
Cleardebug;
Writeln('| Single Player |');
Writeln('| Ran for: ' + inttostr(H) + 'h:' + inttostr(M) + 'm:' + inttostr(S)+'s |');
WriteLn('| A:'+IntToStr(Players[currentplayer].level[1])+', S:'+IntToStr(Players[currentplayer].level[2])+', D:'+
+IntToStr(Players[currentplayer].level[3])+', R:'+IntToStr(Players[currentplayer].level[4])+
+' Kills: '+ inttostr(TKilled)+', XP Gained: '+ inttostr(Txp)+', Kills Round: '+ inttostr(Killed)+', XP Round: '+ inttostr(XPn));
WriteLn('| XP/hour: '+inttostr(XPpH)+ ', Estimated time to '+Capitalize(hoverskillis)+' level: '+inttostr((Tlm/60))+' Hour(s) & '+inttostr(tlm-(((Tlm/60)*60)))+' Minutes |');
If (Players[CurrentPlayer].Booleans[0]) then writeln('| Ammo remaining: '+inttostr(GetArrowCount)+', Ammo used: '+inttostr(TArrowAmount)+', Ammo Used/hour: '+inttostr((TArrowAmount*60)/(H*60+m))+' |');
If (Players[CurrentPlayer].Booleans[0]) and (txp>0) then writeln('| XP/ammo:'+inttostr(Txp/TArrowAmount)+', Estimated Ammo Time Remaining: '+ inttostr(GetArrowCount/((TArrowAmount*60)/(H*60+m)))+' Hour(s) & '+
+inttostr( ((GetArrowCount*60)/((TArrowAmount*60)/(H*60+m)))-((GetArrowCount/((TArrowAmount*60)/(H*60+m)))*60) )+' Minutes |'); //Think I could make this equation bigger? lol
end;
if (HowManyPlayers > 1) then
begin
Players[currentplayer].Integers[11] := Players[currentplayer].Integers[11] + XPn;
Players[currentplayer].Integers[12] := Players[currentplayer].Integers[12] + killed;
Players[currentplayer].Integers[13] := Players[currentplayer].Integers[13] + CurAU;
Players[currentplayer].Integers[15] := Players[currentplayer].Integers[15] + foodate;
Players[currentplayer].Integers[31] := Players[currentplayer].Integers[31] + TimeFromMark(RoundTimer);
if (Players[currentplayer].Integers[11]>0) and (Players[currentplayer].Integers[31]>0) then
Players[currentplayer].Integers[32] := ((Players[currentplayer].Integers[11]*3600)/(Players[currentplayer].Integers[31]/1000)) else Players[currentplayer].Integers[32] := 0;
ClearDebug;
Writeln('| Multi-Player |');
Writeln('| Ran for: ' + inttostr(H) + 'h:' + inttostr(M) + 'm:|');
WriteLn('| Totals: XP Gained; '+ inttostr(Txp)+', Kills; '+ inttostr(TKilled)+', Food ate; '+inttostr(TFoodate)+', Ammo used; '+inttostr(TArrowAmount)+' |');
writeln(' _____________________________________________________________________________________');
Writeln('| # | Nick | Active | A S D R | XP gained | Kills | XP/hour | Food ate | Ammo Used |');
For I := 0 to HowManyPlayers - 1 do
begin
if Players[i].Active=True then Active := 'True' else Active := 'False';
Writeln('| '+IntToStr(I)+' | '+Players[i].Nick+' | '+Active+' | '+IntToStr(Players[i].level[1])+' '+IntToStr(Players[i].level[2])+' '+
+IntToStr(Players[i].level[3])+' '+IntToStr(Players[i].level[4])+' | XP: '+IntToStr(Players[i].Integers[11])+' | K: '+
+IntToStr(Players[i].Integers[12])+' | XP/h: '+IntToStr(Players[i].Integers[32])+' | Ate: '+IntToStr(Players[i].Integers[15])+
+' | AU: '+IntToStr(Players[i].Integers[13])+' |');
end;
end;
begin
ReportVars[0] := Killed;
ReportVars[1] := XPn;
ReportVars[2] := FoodAte;
SendSRLReport;
end;
foodate := 0;
Killed := 0;
TheDebug('SProgressReport End');
end;


procedure Loginout(i:integer);
begin
if(not(loggedin))then exit;
SFoutfight;
Status('Logout');
TheDebug('Logout');
SProgressReport;
Stopban;
if (i = 0) then
begin
Writeln(TheTime+': '+Players[Currentplayer].Name+' is now inactive.');
nextplayer(false);
end;
if (i = 1) then nextplayer(true);
TheDebug('Logout seq end');
SFset;
end;


procedure Stopban;
begin
if(not(LoggedIn))then Exit;
begin
case Random(70) of
0: wait(500+random(5000));
1: RandomMovement;
2: HoverSkill(Hoverskillis ,false);
3: PickUpMouse;
5: RandomMovement;
end;
TheDebug('Stopban called');
SetAngle(true);
end;
end;


procedure SFhpcheck;
var
i,x,y,tcts:integer;
begin
if (not(loggedin)) or (HpPcnt > 70) then exit;
TheDebug('SFhpcheck start');
tcts:= GetColorToleranceSpeed;
ColorToleranceSpeed(1);
if not Players[CurrentPlayer].Booleans[1] then outoffood := true;
begin
if (Players[CurrentPlayer].Booleans[1]) and (outoffood = false) and (HpPcnt < 70) then
begin
gametab(4);
Status('Looking for food');
TheDebug('Looking for food');
for i := 0 to 27 do
if (ExistsItem(i+1)) then
begin
MMouseItem(i+1);
GetMousePos(x, y);
wait(200+random(50));
if (pos('Eat', rs_GetUpText) > 0) then
begin
Mouse(x,y,0,0,true);
TheDebug('Food ate');
foodate := foodate+1;
if (HpPcnt > 65) then exit;
end;
end else outoffood := true;
end;
if (HpPcnt < 30) then
begin
Status('Running away HP% < 30...');
TheDebug('Running away');
RunAway(CurrentRunDir, true, 1, 10+random(5000));
TheDebug('Ran back');
end;
if (HpPcnt < 60) and (outoffood = true) then
begin
Status('HP low, waiting for regeneration...');
repeat
TheDebug('Waiting for HP regeneration');
if StatCD('Waiting for HP regeneration', 25, 60) then Break;
if infight then
begin
TheDebug('In fight whlie regen');
if StatCD('Waiting till fight is over', 15, 60) then Break;
if (HpPcnt < 50) and infight then
begin
Status('Waiting to auto logout...');
TheDebug('Waiting to auto logout');
Repeat
wait(5000);
until(not(loggedin))
Loginout(1);
Break;
end;
end;
RandomMovement;
until( (HpPcnt > 50) or (not(loggedin)) );
SetAngle(true);
end;
end;
ColorToleranceSpeed(tcts);
TheDebug('SFhpcheck end');
end;

var MobColorFail:integer;
function ShadyFfight(name: string; color, tol: integer): boolean;
var
x, y: integer;
begin
result := false;
x:=MSCX;
y:=MSCY;
if FindColorSpiralTolerance(x, y, color, MSX1, MSY1, MSX2, MSY2, Tol) then
begin
MMouse(x, y, 3, 3);
if IsFightAt(x, y) then exit;
wait(50+random(50));
if (pos(name, rs_GetUpText) > 0) then
begin
result := true;
MarkTime(FailTimer);
MobColorFail := 0;
Status('Attacking');
GetMousePos(x, y);
case Random(2) of
0: begin
Mouse(x, y, 0, 0, false);
if not(ChooseOption('ttack')) then result := false;
end;
1: Mouse(x, y, 0, 0, true);
end;
exit;
end;
end;
end;


function Shadyattack:boolean;
var
MobColors: array[0..3] of integer;
i,t: Integer;
dir: string;
begin
if (not (LoggedIn)) or (infight and (not(infightnotattacking))) then Exit;
MobColors[0] := CurrentColor1;
MobColors[1] := CurrentColor2;
MobColors[2] := CurrentColor3;
Status('Searching monster');
for i := 0 to 2 do
if (ShadyFfight(CurrentMonsterName, MobColors[i], 2)) then
begin
SFOutFight;
result:=true;
end else
begin
MobColorFail := MobColorFail+1;
if (MobColorFail >= 5) then
begin
case Random(4) of
0: dir := 'nswe';
1: dir := 'wens';
2: dir := 'sewn';
3: dir := 'ewns';
end;
for t := 1 to 4 do
for i := 0 to 2 do
if (not (ShadyFfight(CurrentMonsterName, MobColors[i], 4))) then
begin
if infight then exit;
FindMonsterFail := FindMonsterFail+1;
if FindMonsterFail >= 4 then
begin
HighestBrightness;
FindMonsterFail := 0;
end;
Status('Moving camera');
TheDebug('Moving camera');
MakeCompass(StrGet(dir, t));
end else
begin
SFOutFight;
result:=true;
end;
end;
end;
end;

procedure SFOutFight;
begin
flag;
if (Players[CurrentPlayer].Booleans[0]) then RandomsCheck(8)
else RandomsCheck(4);
if (InFight) then
begin
Status('Killing Monster');
repeat
if (not (LoggedIn)) then exit;
Wait(100);
RandomsCheck(0);
if infightnotattacking then
begin
if (Players[CurrentPlayer].Booleans[0]) then RandomsCheck(8) else RandomsCheck(4);
if infightnotattacking then exit;
end;
until (not(InFight))
end else
Wait(300);
end;


//=============================================Main Loop============================================\\

begin
SetupSRL;
ClearDebug;
MySig;
DeclarePlayers;
TheOptions;
MonsterCheck;
if(not(loggedin))then loginplayer;
SFset;
repeat
if(not(loggedin))then loginplayer;
Shadyattack;
SFhpcheck;
RandomsCheck(0);
if infightnotattacking then Shadyattack;
if (infight and (not(infightnotattacking))) then SFOutFight;
Stopban;
if (TimeFromMark(FailTimer) > 240000) then Loginout(0);
if ((Getsystemtime-CharStartTime)>(CurrentKillTime * 60000)) then Loginout(1);
until(false);
end.

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

Raskolnikov

2008-02-05 23:56:06

Very good application! I'm holding my vote for lack of application experience. Good luck!

Cut em2 it

Negaal

2008-02-06 00:55:42

Yes….i'll edit this pos later,,,,hurry

Edit:
It's nice, though some procedures may be missing credits…Holding vote…comparing…Narcle's and your's


Edit:

Sig,
Clearspaces,
Slidebutton,
InFightNotAttacking,
GetXPof,
TheOptions, named OptionsAre in Narcle's
RandomsCheck,
StopBan,
SFhpcheck, named NAFhpCheck in Narcle's
ShadyFight, named NAFFight
ShadyAttack, named NAFAttack
SFOutFight, named NAFOutFight
LoginOut, named LogoutSeq in Narcle's
StatCD,

Are missing credits


G2g….

Think there are plenty more I missed

NO.

Naike

2008-02-06 02:20:02

I changed your pass and pmed.

Narcle

2008-02-06 03:31:40

Its basically a *copy* then rename some stuff thats it…. Its almost identical…
I don't appreciate copying with no credits, nor almost a exact lookalike. Nothing original nothing is personal except the names.

A script has to be 90% yours, not 90% someone else's.
No.

nielsie95

2008-02-06 07:16:44

In this release i'd like to show you my Shady Fighter 1.0, wich was based on Narcle's Fast Fighter


It's a lot more than only based on Narcle's Fast Fighter. Please try again in one month with a script that is more of your own.
Closed.