Post Reply Home » Forums » Dark Age of Camelot » DAOC Submissions

Skald lvl macro : DAOC Submissions

Posted: January 27th, 2004
User avatar
administrator
Total Posts:29918 Joined:2002
Need confirmation

Code: Select all

// This is designed to work at 800x600 resolution only due to
// the fact that it uses GetPixelColor to find specific pixels
// on the screen that are a specific color.  Your user info box
// must be at the bottom right-hand corner of the screen and
// 100% Alpha.  This is where the function looks for the
// colors to determine your health, endurance, power, target
// con, and target health (for anti-KS).
//
// You will need to run this where there is nobody else around
// because the script will exit if anyone says anything to you
// (for anti-banning purposes.)  To exit this script yourself
// simply say anything.
//
// Be sure to turn chat logging on by typing 'L' before running
// this script.
//
// Your quick bar must be set up as follows:
// 1. doesn't matter
// 2. rest
// 3. chant of battle
// 4. compell surrender
// 5. doesn't matter
// 6. DD
// 7. DD
// 8. Assault style attack
//
// You may have to edit the color values at various locations in the
// script:
//    e.g.    (Red=255) and (Green=132) and (Blue=56)
// You can find out what the specific color values are for a particular
// pixel with this code:
//
//   var Red : integer;
//   var Green : integer;
//   var Blue : integer;
//   var x : integer;
//   var y : integer;
//
//   x := 790;
//   y := 546;
//
//   GetPixelColor(x,y,Red,Green,Blue);
//   debug(Red);
//   debug(Green);
//   debug(Blue);
//
// Use the ScriptHelper under the Main Menu to find the exact x, y pixel 
location
// that you want to check the color of.
//
//
// I am posting this because I am truly hoping that all game makers
// (including Mythic) will find a way to stop this type of exploit.  I 
played my
// character normally up to a very high level.  I started reading about 
posts
// about people artificially leveling their characters.  First I was peeved, 
but
// then being a programmer, I was intrigued.
//
// I wrote this script just to see if it could be done.  I will be the first 
to
// admit that it is not perfect, but it works extremely well for leveling 
your
// character artificially.
//
// My success at writing this script, along with programs like DAoC 
Unleashed
// that display a map with your enemies on it, made me stop playing this 
game.
// My hope is that scripts like this and others will become wildly popular 
and
// Mythic and other game makers will be forced to find a solution to this 
exploit.
//
//

Pause (4000);

var logtext : string;
var logmarker : integer;

Function GetCon() : boolean;
Begin
var j : integer;
var Red : integer;
var Green : integer;
var Blue : integer;
var x : integer;

for j := 1 to 10 do begin
   x := 681 + j;

   GetPixelColor(x,579,Red, Green, Blue);
   //debug(Red);
   //debug(Green);
   //debug(Blue);

   //if (Red=255) and (Green=132) and (Blue=56) then Result:=True;  //  
Orange
   if (Red=248) and (Green=240) and (Blue=0) then Result:=True; // Yellow
   if (Red=104) and (Green=100) and (Blue=255) then Result:=True;  // Blue
   if (Red=152) and (Green=240) and (Blue=128) then Result:=True;  // Green
   if (Red=168) and (Green=168) and (Blue=168) then Result:=True;  // Grey
end;
End;


Function GetHealth() : boolean;
Begin
var Red : integer;
var Green : integer;
var Blue : integer;

GetPixelColor(790,526,Red, Green, Blue);

if (Red=216) and (Green=64) and (Blue=0) then Result:=True;
End;


Function GetEnd() : boolean;
Begin
var Red : integer;
var Green : integer;
var Blue : integer;

GetPixelColor(790,536,Red, Green, Blue);

if (Red=48) and (Green=224) and (Blue=0) then Result:=True;
End;


Function GetPow() : boolean;
Begin
var Red : integer;
var Green : integer;
var Blue : integer;

GetPixelColor(790,546,Red, Green, Blue);

if (Red=216) and (Green=160) and (Blue=0) then Result:=True;
End;

Function GetTargetHealth() : boolean;
Begin
var Red : integer;
var Green : integer;
var Blue : integer;

GetPixelColor(790,591,Red, Green, Blue);

if (Red=255) and (Green=96) and (Blue=0) then Result:=True;
End;

Procedure CheckExit(Str:string);
Begin
if (hastoken(logtext,Str)) then begin
  Raise Exception.Create('Script Halted' + Str);
end;
End;


Procedure Melee ();
Begin

var i : integer;
var BeingAttacked : boolean;
var DONE : boolean;

while true do begin
sendkeys('l');
pause(500);
sendkeys('l');
pause(500);

DONE := false;
repeat
  pause(3000);
  sendkeys('<F8>');  // target
  pause(500);
  logmarker := SetLogMarker;
  logtext := GetNewLogText (logmarker);
  CheckExit(' say,');
  CheckExit(' says,');
  CheckExit(' sends,');
  CheckExit('You have died.');
  if (hastoken(logtext,'damage')) then begin
   BeingAttacked:=true;
  end;
  if (GetCon=true) then begin
   if (GetTargetHealth=true) then begin
    DONE := true;
   end;
  end;
until (DONE=true) or (BeingAttacked=true);
BeingAttacked := false;
sendkeys('/stand<CR>');
pause(500);
sendkeys('/face<CR>');  // face
pause(500);
sendkeys('4');  // compell surrender
pause(500);
sendkeys('8');  // attack mode - assault
pause(500);
sendkeys('3');  // dmg add
pause(500);

i := 0;
repeat
  i := i + 1;
  sendkeys('8');  // attack mode - assault
  pause(500);
  sendkeys('6');  //  dd
  pause(500);
  sendkeys('7');  //  dd
  pause(1000);
  logmarker := SetLogMarker;
  logtext := GetNewLogText (logmarker);
  CheckExit(' say,');
  CheckExit(' says,');
  CheckExit(' sends,');
  CheckExit('You have died.');
until (i=100) or (GetCon=false);

sendkeys('l');
pause(500);
sendkeys('l');
pause(500);

sendkeys('2');  // regen
pause(500);
sendkeys('c');  // sit
pause(500);
sendkeys('<F7>');  //  target loot
pause(500);
sendkeys('g');  // get it
pause(500);
sendkeys('<F7>');  //  target loot
pause(500);
sendkeys('g');  // get it
pause(500);
sendkeys('<F7>');
pause(500);
sendkeys('g');
pause(500);

repeat
  pause(1000);
  logmarker := SetLogMarker;
  logtext := GetNewLogText (logmarker);
  CheckExit(' say,');
  CheckExit(' says,');
  CheckExit(' sends,');
  CheckExit('You have died.');
  if (hastoken(logtext,'damage')) then begin
   BeingAttacked:=true;
   sendkeys('8');
   pause(500);
   sendkeys('<F8>');
   pause(500);
   sendkeys('/face<CR>');
   pause(500);
  end;
until ((GetHealth=true) and (GetEnd=true) and (GetPow=true)) or 
(BeingAttacked=true);
sendkeys('/stand<CR>');
pause(500);
end;
End;


Begin
Melee;
End;


Last edited by Tault_admin on March 20th, 2004, 11:07 am, edited 1 time in total.
Posted: February 16th, 2004
Total Posts:10213 Joined:2004
i dont get it.. how do u use scripts?
Posted: February 23rd, 2004
Total Posts:10213 Joined:2004
http://www.xylobot.com/
Posted: February 23rd, 2004
User avatar
administrator
Total Posts:29918 Joined:2002
Thats if you actually want to pay but actool is the program thats free.
Posted: February 23rd, 2004
Total Posts:10213 Joined:2004
The script you posted requires xylobot, it don't work with ACTool
Ready to join the community? Click here and see all of the benefits!
blue large dotWho is online
Users browsing this forum: No registered users and 9 guests
Post Reply