Jump to content
shadowrecon

Magic Include

Recommended Posts

Heres a magic include ive been working on for some time. it does any magic spell, and fixes the magic book if not set to default, scrolls for spells ect. it also takes in account if in members world or free (Because in members there is one more spell than in free) but it does any one of the 70 so spells.

 

[updated]

This is the current version im using and works really good.

 

{===============================================================================
Runescape 2
Magic Routines
--------------------------------------------------------------------------------
* Function: SetMagicTab(Tab: Integer): Boolean;
By: ShadowRecon.
* Function: SetMagicTabEx(Deffence, Combat, Tele, Misc, Skill:Boolean; SortTab: Integer):Boolean;
By: ShadowRecon.
* Function: FixMagicTabs:Boolean;
By: ShadowRecon.
* Function: FixSpellBook(FixUp: Boolean): Boolean;
By: ShadowRecon.
* Function: GetSpellBounds(Spell:Integer):TBox;
By: ShadowRecon
* Function: CastSpellEx(Spell_Cords: TBox; CheckInactive: Boolean):Boolean;
By: ShadowRecon
* Function: CastSpell(Spell: Integer):Boolean;
By: ShadowRecon.
===============================================================================}

{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
const Bottom Spell Book Tab boundaries.
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}
Const
MTab_Deffence = 0;
MTab_Combat = 1;
MTab_Teleport = 2;
MTab_Misc = 3;
MTab_Skill = 4;
MTab_SortLvl = 5;
MTab_SortCmb = 6;
MTab_SortTel = 7;

{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
const TelePort Spell Tab boundaries.
Decription: Teleport Spells numbered in order of default spell book from zero.
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}
Const
Tele_Home = 0;
Tele_MobArmy = 7;
Tele_Varrock = 16;
Tele_LumBridge = 19;
Tele_Falador = 22;
Tele_House = 24;
Tele_Camelot = 27;
Tele_Ardougne = 33;
Tele_WatchTower = 38;
Tele_Trollheim = 45;
Tele_ApeAToll = 48;

Tele_OtherLum = 55;
Tele_OtherFally = 62;
Tele_OtherCam = 67;
{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
const Skill Spell Tab boundaries.
Decription: Skill Spells numbered in order of default spell book from zero.
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}
Const
Spell_Enchant_1 = 5;
Spell_Bones2Bannas = 10;
Spell_LowAlch = 14;
Spell_Enchant_2 = 17;
Spell_TeleGrab = 20;
Spell_SuperHeat = 26;
Spell_Enchant_3 = 29;
Spell_HighAlch = 35;
Spell_ChargeWater = 36;
Spell_Enchant_4 = 37;
Spell_ChargeEarth = 40;
Spell_Bones2Peaches = 41;
Spell_ChargeFire = 47;
Spell_ChargeAir = 50;
Spell_Enchant_5 = 52;
Spell_Enchant_6 = 65;

{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
const Combat Spell Tab boundaries.
Decription: Combat Spells numbered in order of default spell book from zero.
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}
Const
Spell_WindRush = 1;
Spell_WindStrike = 2;
Spell_Confuse = 3;
Spell_WaterStrike = 4;
Spell_EarthStrike = 6;
Spell_Weaken = 8;
Spell_FireStrike = 9;
Spell_WindBolt = 11;
Spell_Curse = 12;
Spell_Bind = 13;
Spell_WaterBolt = 15;
Spell_EarthBolt = 18;
Spell_FireBolt = 21;
Spell_CrumbleUndead = 23;
Spell_WindBlast = 25;
Spell_WaterBlast = 28;
Spell_IbanBlast = 30;
Spell_SaraStrike = 42;
Spell_Guthix = 43;
Spell_Zamorak = 44;
Spell_Snare = 31;
Spell_MagicDart = 32;
Spell_EarthBlast = 34;
Spell_FireBlast = 39;
Spell_WindWave = 46;
Spell_WaterWave = 49;
Spell_Vulnerability = 51;
Spell_EarthWave = 53;
Spell_Enfeeble = 54;
Spell_FireWave = 56;
Spell_Armady = 57;
Spell_Entangle = 58;
Spell_Stun = 59;
Spell_Charge = 60;
Spell_WindSurge = 61;
Spell_TeleBlock = 63;
Spell_WaterSurge = 64;
Spell_EarthSurge = 66;
Spell_FireSurge = 68;

BlankSlot = 69; // Must Have! dont use
{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
const Spell Book Colors.
Decription: Set Tab Sort Skill Sort
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}
Const
MTab_Selected = 16711422;

Inactive_Spell = 519;
Inactive_Hue = 3.18;
Inactive_Sat = 0.00;
Inactive_Tol = 2;

{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Function: SetMagicTab(Tab: Integer): Boolean;
Decription: Sets Magic Tab Selected.
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}

Function SetMagicTab(STab: Integer; Select: Boolean): Boolean;
Var
MTab: TBox;
TPA: TPointArray;
begin
Case (STab) of
MTab_Deffence: MTab := Box(557, 444, 567, 457);
MTab_Combat : MTab := Box(588, 444, 598, 457);
MTab_Teleport: MTab := Box(607, 444, 620, 457);
MTab_Misc : MTab := Box(630, 444, 639, 457);
MTab_Skill : MTab := Box(647, 444, 664, 457);
MTab_SortLvl : MTab := Box(679, 444, 688, 457);
MTab_SortCmb : MTab := Box(698, 444, 711 ,457);
MTab_SortTel : MTab := Box(716, 444, 729 ,457);
end;
if Select then // If you want to Select
begin
if FindColorsTolerance(TPA,MTab_Selected,MTab.x1+4,459,MTab.x2-4,462,0) then // Checks to See if its been selected
begin
Result := True;
Exit;
end;
Writeln('Clicking Tabs');
MouseBox(MTab.x1,MTab.y1,MTab.x2,MTab.y2,ClickLeft);
wait(550);

if FindColorsTolerance(TPA,MTab_Selected,MTab.x1+4,459,MTab.x2-4,462,0) then // Checks to See if its been selected
begin
Result := True;
Exit;
end else
begin
result := False;
exit;
end;
end;

if not(Select) then // If you want to De-select
begin
if Not(FindColorsTolerance(TPA,MTab_Selected,MTab.x1+4,459,MTab.x2-4,462,0)) then // Checks to See if its not selected
begin
Result := True;
Exit;
end;
repeat
MouseBox(MTab.x1,MTab.y1,MTab.x2,MTab.y2,ClickLeft);
wait(550);

if Not(FindColorsTolerance(TPA,MTab_Selected,MTab.x1+4,459,MTab.x2-4,462,0)) then // Checks to See if its been un-selected
begin
Result := True;
Exit;
end else
begin
result := False;
end;
until True;
end;
end;


{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Function: SetMagicTabEx(Deffence, Combat, Tele, Misc, Skill:Boolean; SortTab: Integer):Boolean;
Decription: Sets All Magic Tabs to Sected
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}

Function SetMagicTabEx(Deffence, Combat, Tele, Misc, Skill:Boolean; SortTab: Integer):Boolean;
begin
SetMagicTab(MTab_Deffence,Deffence); waitRR(75,100);
SetMagicTab(MTab_Combat, Combat); waitRR(75,100);
SetMagicTab(MTab_Teleport, Tele); waitRR(75,100);
SetMagicTab(MTab_misc, Misc); waitRR(75,100);
SetMagicTab(MTab_Skill, Skill); waitRR(75,100);
if SetMagicTab(SortTab,True) then WaitRR(100,250);
result := True;
end;

{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Function: FixMagic:Boolean;
Decription: Sets Spell Book To default.
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}

Function FixMagicTabs:Boolean;
begin
if SetMagicTabEx(False,True,True,True,True,5) then
result := True;
end;

{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Function: FixSpellBook(FixUp: Boolean): Boolean;
Decription: Either makes spell book up or down.
Contributors: ShadowRecon, Wanted.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}

function FixSpellBook(FixUp: Boolean): Boolean;
var
TPA: TPointArray;
B1, B2, B3: TBox;
begin
Result := False;
if (FixUp) then
if (GetColor(733, 222) = 1250841) then
Exit;
if (not (FixUp)) then
if (GetColor(729, 417) = 592137) then
Exit;
Result := True;
if (not (FindColors(TPA, 1250841, 722, 222, 736, 418))) then
Exit;
B1 := TPABounds(TPA);
if (not (FindColors(TPA, 592137, 722, 222, 736, 418))) then
Exit;
B2 := TPABounds(TPA);
B3 := Box(723, B1.Y1, 735, B2.Y2);
if (FixUp) then
DragMouseBox(B3.X1, B3.Y1, B3.X2, B3.Y2, 722, 207, 735, 220, True)
else
DragMouseBox(B3.X1, B3.Y1, B3.X2, B3.Y2, 722, 418, 734, 433, True)
end;
{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Function: GetSpellBounds(Spell:Integer):TBox;
Decription: returns the cords of a spell.
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}
Function GetSpellBounds(Spell:Integer):TBox;
begin
Case Spell of
Tele_Home : Result := Box(567, 222, 582 ,237);
Tele_MobArmy : Result := Box(592, 246, 607, 263);
Tele_Varrock : Result := Box(661, 269, 680, 286);
Tele_LumBridge : Result := Box(590, 294, 607, 309);
Tele_Falador : Result := Box(664, 296, 677, 310);
Tele_House : Result := Box(567, 319, 582, 333);
Tele_Camelot : Result := Box(638, 317, 655, 335);
Tele_Ardougne : Result := Box(638, 343, 654, 357);
Tele_WatchTower : Result := Box(613, 364, 631, 382);
Tele_Trollheim : Result := Box(639, 389, 655, 407);
Tele_ApeAToll : Result := Box(566, 415, 582, 429);
Tele_OtherLum : Result := Box(592, 354, 604, 369);
Tele_OtherFally : Result := Box(617, 378, 629, 394);
Tele_OtherCam : Result := Box(590, 401, 604, 418);
Spell_Enchant_1 : Result := Box(687, 222, 702, 339);
Spell_LowAlch : Result := Box(615, 269, 630, 286);
Spell_Enchant_2 : Result := Box(687, 269, 702, 286);
Spell_TeleGrab : Result := Box(612, 292, 630, 310);
Spell_SuperHeat : Result := Box(612, 317, 629, 332);
Spell_Enchant_3 : Result := Box(685, 317, 700, 332);
Spell_HighAlch : Result := Box(690, 342, 705, 355);
Spell_Enchant_4 : Result := Box(590, 365, 615, 380);
Spell_Enchant_5 : Result := Box(663, 415, 672, 428);
Spell_Bones2Bannas : Result := Box(663, 246, 681, 263);
Spell_WindRush : Result := Box(592, 221, 608, 238);
Spell_WindStrike : Result := Box(616, 219, 630, 237);
Spell_Confuse : Result := Box(638, 221, 658, 239);
Spell_WaterStrike : Result := Box(662, 223, 679, 237);
Spell_EarthStrike : Result := Box(569, 249, 580, 260);
Spell_Weaken : Result := Box(611, 242, 633, 262);
Spell_FireStrike : Result := Box(640, 247, 652, 259);
Spell_WindBolt : Result := Box(689, 250, 703, 263);
Spell_Curse : Result := Box(562, 270, 581, 288);
Spell_Bind : Result := Box(588, 267, 609, 289);
Spell_WaterBolt : Result := Box(639, 273, 655, 288);
Spell_WaterBlast : Result := Box(661, 319, 677, 333);
Spell_EarthBolt : Result := Box(567, 300, 582, 310);
Spell_FireBolt : Result := Box(639, 297, 655, 311);
Spell_CrumbleUndead : Result := Box(685, 292, 703, 310);
Spell_WindBlast : Result := Box(590, 318, 606, 334);
Spell_IbanBlast : Result := Box(564, 340, 582, 359);
Spell_Snare : Result := Box(588, 338, 607, 359);
Spell_MagicDart : Result := Box(612, 340, 631, 361);
Spell_EarthBlast : Result := Box(663, 341, 677, 359);
Spell_ChargeWater : Result := Box(565, 366, 580, 380);
Spell_FireBlast : Result := Box(663, 342, 676, 357);
Spell_ChargeEarth : Result := Box(663, 366, 678, 380);
Spell_Bones2Peaches : Result := Box(686, 365, 701, 383);
Spell_SaraStrike : Result := Box(565, 390, 580, 405);
Spell_Guthix : Result := Box(591, 391, 605, 404);
Spell_Zamorak : Result := Box(614, 391, 630, 406);
Spell_WindWave : Result := Box(661, 389, 678, 407);
Spell_ChargeFire : Result := Box(686, 388, 700, 404);
Spell_WaterWave : Result := Box(589, 413, 607, 433);
Spell_ChargeAir : Result := Box(614, 415, 628, 428);
Spell_Vulnerability : Result := Box(639, 412, 655, 432);
Spell_EarthWave : Result := Box(686, 412, 704, 432);
Spell_Enfeeble : Result := Box(566, 353, 583, 370);
Spell_FireWave : Result := Box(613, 354, 630, 372);
Spell_Entangle : Result := Box(662, 354, 680, 370);
Spell_Stun : Result := Box(687, 353, 701, 371);
Spell_WindSurge : Result := Box(589, 379, 606, 396);
Spell_WaterSurge : Result := Box(660, 378, 677, 395);
Spell_Enchant_6 : Result := Box(687, 379, 701, 395);
Spell_EarthSurge : Result := Box(565, 402, 584, 420);
Spell_FireSurge : Result := Box(613, 399, 630, 420);
Spell_Armady : Result := Box(638, 357, 654, 373);
Spell_Charge : Result := Box(565, 379, 582, 394);
Spell_TeleBlock : Result := Box(639, 380, 655, 396);
BlankSlot : Result := Box(637, 398, 659, 416);
end;
end;

{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Function: CastSpellEx(Spell_Cords: TBox):Boolean;
Decription: Cast Spell From Spell Book, With custom cords, Must set up Spell Book.
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}
Function CastSpellEx(Spell_Cords: TBox; CheckInactive: Boolean):Boolean;
Var
S_S: TBox;
TPA: TPointArray;
begin
if Not(GetCurrentTab = 7) then
begin
SetGameTab(7);
waitRR(100,150);
end;

S_S := Spell_Cords;

ColorToleranceSpeed(2);
SetColorspeed2Modifiers(Inactive_Hue,Inactive_Sat);
if CheckInactive then
begin
if FindColorsTolerance(TPA,Inactive_Spell,S_S.x1+1,S_S.y1+1,S_S.x2-1,S_S.y2-1,Inactive_Tol) then // Spell inactive
begin
ColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.14,0.14);
result := False;
exit;
end;
end;
begin
MouseBox(S_S.x1,S_S.y1,S_S.x2,S_S.y2,ClickLeft);
WaitRR(100,150);
Result := True;
ColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.14,0.14);
Exit;
end;
end;
{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Function: CastSpell(Spell: Integer):Boolean;
Decription: Cast Spell Fom Spell Book
Contributors: ShadowRecon.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}
Function CastSpell(Spell:Integer):Boolean;
Var
TPA:TPointArray;
begin
if Not(GetCurrentTab = 7) then
SetGameTab(7);

WaitRR(100,150);
SetMagicTabEx(False,True,True,True,True,MTab_SortLvl);

if FindColorsTolerance(TPA,9631484,671,217,683,229,0) and (Spell > 3) then
Inc(Spell);

if Spell < 54 then
FixSpellBook(True)
else
begin
FixSpellBook(False);
WaitRR(200,350);
end;
Result := CastSpellEx(GetSpellBounds(Spell),True)
end;
[/Code]

Edited by shadowrecon
Link to comment
Share on other sites

You should of posted this in UBeX, Last time I heard wanted was not adding skills to OSI unless he does them himself... but hey thanks for making it very so easy for the public. Lets get 5000 magic scripts going now... thats why wanted doesnt add in this type of code because it makes people stupid. Look at UBeX.. its made for stupid people ( sorry not trying to offend anyone ) but what I mean is we made it VERY easy to make scripts with the include file.... it takes little to no skill... Wanted is kind of agaionst it because he believes people need a brain or else we would end up like SRL. Sorry man. I could be wrong.

Thing is I think that wanted wants to get away from being like SRL with "easy" type in scripts pretty much premade which made SRL turn to crap... the code turned into crap and the community got dumb because of it.... Notice their code which is 10000 months old and outdated... its because of includes like what UBeX and this magic include is...

Edited by rsutton
Link to comment
Share on other sites

You should of posted this in UBeX, Last time I heard wanted was not adding skills to OSI unless he does them himself... but hey thanks for making it very so easy for the public. Lets get 5000 magic scripts going now... thats why wanted doesnt add in this type of code because it makes people stupid. Look at UBeX.. its made for stupid people ( sorry not trying to offend anyone ) but what I mean is we made it VERY easy to make scripts with the include file.... it takes little to no skill... Wanted is kind of agaionst it because he believes people need a brain or else we would end up like SRL. Sorry man. I could be wrong.

Thing is I think that wanted wants to get away from being like SRL with "easy" type in scripts pretty much premade which made SRL turn to crap... the code turned into crap and the community got dumb because of it.... Notice their code which is 10000 months old and outdated... its because of includes like what UBeX and this magic include is...

 

Wanted may be very strict about the code that goes into OSI, but that doesn't mean he doesn't appreciate input, just look at Smithing.scar, it contains code written by Bixby because he wrote an include file just like shadow did, but for smithing. The code may need some tweaking, but that doesn't mean it isn't suited for OSI... I'll leave it up to Wanted to decide that of course.

Link to comment
Share on other sites

Wanted may be very strict about the code that goes into OSI, but that doesn't mean he doesn't appreciate input, just look at Smithing.scar, it contains code written by Bixby because he wrote an include file just like shadow did, but for smithing. The code may need some tweaking, but that doesn't mean it isn't suited for OSI... I'll leave it up to Wanted to decide that of course.

 

This code could use maybe a little tweaking, i tried to cover all the fail-safes, and make sure everything works right. and as of now its been working great. i ran all of the spells through a loop to make sure they detected that the spells weren't that then went back and tried about 30 spells to make sure ti clicked them right. It also, dont touch the sorting tabs at the bottom if there in the correct position on clicks if they arnt in the right position. Anywho we will see what he says. Just trying to help.

Link to comment
Share on other sites

I'm glad that you're trying to help, and your code continues to progressively improve quite significantly (both you and rsutton).

 

Unfortunately I can't just add this "as-is" to OSI for a number of reasons obviously, consistency with the rest of OSI, quality assurance etc. I have to look over any code that is not contributed by an OSI Developer and make adjustments where necessary. It's the only way to ensure and keep OSI to the high standards we aspire for.

 

I'm sure there is plenty of useful code and information in your suggested include file, but I am also sure there is plenty of things that require adjustment of some kind.

 

After all, OSI needs to accommodate the most intensive and skilled scripter writing a Soul Wars Bot just as much as the beginner making his first enchanter.

 

I'm stressed for time and may not get to this for a while, but when I do, I look forward to critiquing this and utilizing what I can while giving you useful feedback that will benefit everyone in the long run.

Link to comment
Share on other sites

I'm glad that you're trying to help, and your code continues to progressively improve quite significantly (both you and rsutton).

 

Unfortunately I can't just add this "as-is" to OSI for a number of reasons obviously, consistency with the rest of OSI, quality assurance etc. I have to look over any code that is not contributed by an OSI Developer and make adjustments where necessary. It's the only way to ensure and keep OSI to the high standards we aspire for.

 

I'm sure there is plenty of useful code and information in your suggested include file, but I am also sure there is plenty of things that require adjustment of some kind.

 

After all, OSI needs to accommodate the most intensive and skilled scripter writing a Soul Wars Bot just as much as the beginner making his first enchanter.

 

I'm stressed for time and may not get to this for a while, but when I do, I look forward to critiquing this and utilizing what I can while giving you useful feedback that will benefit everyone in the long run.

 

Thanks For the Response, I noticed some little things that could be changed and by the time you get around to looking at it i will prob have it completely remade, but it seems to progress as i work on it, and im trying to add as many fail-safes as possible with-out adding to many computations.

 

Thanks Again. =)

Link to comment
Share on other sites

I think the biggest thing and difference between our scripts and wanteds are that wanted goes back tot he source of the coding and we write on top of coding which is already on top. So when he says he has to integrate it correctly. He means tear it apart, give it a whole new make over... which actually looks NOTHING like the code we would of wrote lol.

Link to comment
Share on other sites

I think the biggest thing and difference between our scripts and wanteds are that wanted goes back tot he source of the coding and we write on top of coding which is already on top. So when he says he has to integrate it correctly. He means tear it apart, give it a whole new make over... which actually looks NOTHING like the code we would of wrote lol.

 

Possibly, but once you learn to script as quickly as I do, you notice that somewhere around half the work is information gathering and data collection.

Link to comment
Share on other sites

Possibly, but once you learn to script as quickly as I do, you notice that somewhere around half the work is information gathering and data collection.

This is very true, as i spent a hour or so getting all the boxs for the spells.. the new version of this include im working on works alot better i broke the cast spell down into more peaces but still left a simple castspell function if you just needed to cast one spell. im working on it tho. =p

Link to comment
Share on other sites

You'll also learn there is usually a pattern algorithm for most of things =P

yeah this i figured out after is pent all the time getting the data, the magic bots are 15x15, so i should of prob made a for loop or something to create the boxes instead of manually entering all of the boxs.. gah.. lol

 

I keep trying to use different things and make procedures more productive. ever since ive learned tpa's, i have came to really like them especially for finding colors, as they can find the colors in like a 1/10th of a second which is good compared to the findcolor(x,y ect.. =)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
  • Create New...