Introducing Holic Online

You may request or share scripts for MicroMacro in this forum.
Message
Author
hackbar
Posts: 8
Joined: Sun Jan 06, 2008 5:07 pm

Introducing Holic Online

#1 Post by hackbar » Thu Jan 17, 2008 1:57 pm

Netgames new mmorpg Holic Online enters open beta tommorow. Technically its in free technical test or whatever right now but theres no char wipe.

http://holic.netgame.com/

Heres the typical bot needs a lot of cleaning up and whatnot but its working for warriors...
Attachments
holic.lua
(9.55 KiB) Downloaded 309 times

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Introducing Holic Online

#2 Post by Administrator » Fri Jan 18, 2008 12:48 am

Looks like a pretty cool game. Thanks for the info. Maybe I'll try this game when I get bored of DOMO. Is it any fun? Is it another game where all you do is grind all day and night? Is there PVP/PK?

Guest

Re: Introducing Holic Online

#3 Post by Guest » Sat Jan 19, 2008 4:31 pm

cant remember my damn password in any case its a fairly typical kiddy graphic grinder with some interesting twists like multi classing and the option to add your own quests somehow...

I only made this bot cause it looks better than fiesta and all the mpc guys seem to love that game and its bot....

Um whats the difference between pointers and pure addresses cause Holic wont let me use the pointer system which i thought was superior... Hopefully these addresses dont change as the pointers constantly change which i thought was backwards....

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Introducing Holic Online

#4 Post by Administrator » Sat Jan 19, 2008 4:44 pm

Can't remember your password for what? Are you hackbar? If so, send me a PM on MPC (security reasons--since there is an IP mismatch) with a temp password, and I'll reset it for you. You can then log in and change it to whatever you want.

Guest

Re: Introducing Holic Online

#5 Post by Guest » Sat Jan 19, 2008 5:11 pm

yeah im hackbar im visiting my parents for the weekend dont worry ill get my password back when i get home... In any case i figured out the problem there were multiple pointers for the hp/mp just had to find the right one...

Guest

Re: Introducing Holic Online

#6 Post by Guest » Sat Jan 19, 2008 6:00 pm

updated and working

Code: Select all

-------------------------------------------------
--Holic Online Bot
--Mystikfox
--Hackbar
--Mangler
-------------------------------------------------
-- Variable declaration -- do not edit
-------------------------------------------------
CLASS_WARRIOR   = 0;
CLASS_MAGE      = 1;
HP              = 10000;
MP              = 10000;
SP              = 10000;


HP_ptr         = "009127F8";
HP_offset      = 556;


MP_ptr         = "009127F8";
MP_offset      = 552;

	
-------------------------------------------------


-------------------------------------------------
-- character configuration YOU HAVE TO CHANGE THIS STUFF FOR THE BOT TO WORK RIGHT
-------------------------------------------------
class           = CLASS_WARRIOR;
key_attack      = key.VK_1;
key_pickup      = key.VK_TILDE;
key_sit         = key.VK_F2;

key_skill1      = key.VK_2;
key_skill2      = key.VK_3;
key_skill3      = key.VK_4;

key_hppotion    = key.VK_7;
key_mppotion    = key.VK_F4;
key_sppotion    = key.VK_F3;

-- rest or use potions when low on HP/MP/SP 
HP_potion    = 600;
MP_potion    = 40;
SP_potion    = 0;

HP_sit          = 40;
MP_sit          = 0;
SP_sit          = 0;

-- chance to cast
skill1_chance   = 80;
skill2_chance   = 80;
skill3_chance   = 0;

-- MP cost
skill1_cost     = 15;
skill2_cost     = 20;
skill3_cost     = 25;


have_pig        = 0;            -- set to 1 if you have a fortune pig and want to
				-- skip the manual pickup function	

-- buff stuff
-- NOTE:  set on 10 minutes
-- buff / scroll durations in msec 	time = minutes x 60000
-- to de- activate non used buffs / scrolls replace "1" with "0"
-- to activate buff / scroll replace "0" with "1"
-- scrolls can be used too as buff
-------------------------

buff1_duration 		= 1800000;
buff_1			= 1;
buff_key1               = key.VK_8;

buff2_duration 		= 1800000;
buff_2         		= 1;
buff_key2               = key.VK_9;

buff3_duration 		= 1800000;
buff_3         		= 1;
buff_key3               = key.VK_0;

--dont change these
buff1_needed 	= true;
buff2_needed 	= true;
buff3_needed    = true;




-- cast times in milliseconds
skill1_casttime        = 2000;
skill2_casttime        = 1000;
skill3_casttime        = 3000;

-- skill cool downs in milliseconds (not working)
skill1_cooldown        = 3000;
skill2_cooldown        = 8000;
skill3_cooldown        = 9000;
-------------------------------------------------

function hp_potion()
  keyboardPress(key_hppotion);
end

function mp_potion()
  keyboardPress(key_mppotion);
end

function sp_potion()
  keyboardPress(key_sppotion);
end

-- so we aren't spamming the attack key...
-- we will use a timer to press it once
-- every 3 seconds.
function attack_timer()
  keyboardPress(key_attack);
end

function fight_warrior()
  registerTimer("attack_timer", 3000, attack_timer);

  while( have_target() ) do
    if( HP < HP_potion ) then
      hp_potion(); end
    if( MP < MP_potion ) then
      mp_potion(); end
    if( SP < SP_potion ) then
      sp_potion(); end
      
      local roll = math.random(100);
  
      if( roll <= skill1_chance and SP >= skill1_cost ) then
        keyboardPress(key_skill1);
        yrest(120);
      elseif( roll <= skill2_chance and SP >= skill2_cost ) then
        keyboardPress(key_skill2);
        yrest(120);
      elseif( roll <= skill3_chance  and SP >= skill3_cost ) then
        keyboardPress(key_skill3);
        yrest(120);
      else
        keyboardPress(key_attack);
        yrest(500);
      end
      yrest(250);
      coroutine.yield();
   end
  unregisterTimer("attack_timer");

  yrest(1000);
end

function fight_mage()
  while( have_target() ) do
    if( HP < HP_potion ) then
      hp_potion(); end
    if( MP < MP_potion ) then
      mp_potion(); end
    
    local roll = math.random(100);
    if( roll <= skill1_chance and MP >= skill1_cost ) then
      -- cast skill 1
      keyboardPress(key_skill1);
      yrest(skill1_casttime);
    else
      keyboardPress(key_attack);
    end
    
    if( roll <= skill2_chance and MP >= skill2_cost ) then
    -- cast skill 1
    keyboardPress(key_skill2);
    yrest(skill2_casttime);
    else
    keyboardPress(key_attack);
    end

    yrest(100);
    coroutine.yield();
  end

  yrest(1000);
end

-- heal until full HP & MP
function rest_heal()
  if( can_rest == false ) then return; end
  
    keyboardHold(key_sit);
    yrest(50);
    keyboardRelease(key_sit);
  
    -- set a timer to toggle healing in 30 seconds
    registerTimer("heal_rest_timer", 30000, heal_rest_timer);
  
    need_heal = true;
    last_hp = HP;
    while( need_heal ) do
      yrest(100);
      if (HP < last_hp)  then
        print("Under attack! Exiting rest.");
        can_rest = false;
        registerTimer("can_rest_timer", 3000, can_rest_timer);
        break;
      else
        last_hp = HP;
      end
    end
  
    keyboardHold(key_sit);
    yrest(50);
    keyboardRelease(key_sit);
  
  yrest(200);
end

-- toggle can_heal to true, disable timer
function can_rest_timer()
  unregisterTimer("can_rest_timer");
  can_rest = true;
  print("Can rest again.");
end

-- tell heal_rest we no longer need rest
function heal_rest_timer()
  need_heal = false;
end

-- toggle cast needed for buff1
function buff1_timer()
  buff1_needed = true;
end

-- toggle cast needed for buff2
function buff2_timer()
  buff2_needed = true;
end

-- pickup nearby items
function pickup()
  keyboardHold(key_pickup);
  yrest(50);
  keyboardRelease(key_pickup);
  yrest(775)
  keyboardHold(key_pickup);
  yrest(50);
  keyboardRelease(key_pickup);
end



-- you have died! oh noes!
function death_return()
  keyboardPress(key.VK_SNAPSHOT);
  print(os.date("Looks like somebody got you killed.	%X"))
  print("A screen capture has been taken. Open MS Paint and paste it.");
  stopPE(); -- this turns the macro off!
  coroutine.yield(); -- yield to make sure the protected environment stops
end


function move_forward()
  keyboardHold(key.VK_W);
  if( math.random(100) >= 80 )
    then keyboardHold(key.VK_A);
  else if( math.random(100) >= 80 )
    then keyboardHold(key.VK_D); end
  end

  yrest( math.random(200) );

  keyboardRelease(key.VK_W);
  keyboardRelease(key.VK_A);
  keyboardRelease(key.VK_D);
end









-- update client variables by reading from it's memory
function update_vars()
    HP = memoryReadIntPtr(proc, HP_ptr, HP_offset);
 
    MP = memoryReadIntPtr(proc, MP_ptr, MP_offset);
  
 -- SP = memoryReadIntPtr(proc, SP_ptr, SP_offset);
  
 -- X_coord = memoryReadIntPtr(proc, X_ptr, X_offset);
 -- Y_coord = memoryReadIntPtr(proc, Y_ptr, Y_offset);
  
end



-- rotate camera
function rotate_cam()
  wx,wy = windowRect(win);

  mouseSet(wx+512, wy+412);
  yrest(100);
  mouseRHold();
  yrest(200);
  mouseSet(wx+526, wy+412);
  yrest(100);
  mouseRRelease();
  yrest(100);
end



-- selects a nearby monster
function target_monster()
  keyboardHold(key.VK_TAB);
  yrest(50);
  keyboardRelease(key.VK_TAB);
end




-- checks if you have a target
function have_target()
  r,g,b = getPixel(hdc, 579, 79);
  print(r,g,b); 
  -- check for the blueish color in the monster's HP window
  if( r >= 18 and r <= 36 and g >= 34 and g <= 49 and b >= 93 and b<= 109 ) then
    return true;
  else
    return false;
  end
end

--function used to test the position and colour of the current pixel under the mouse
function pixeltest()
  x,y = mouseGetPos(); 
  print("mouse_x: ", x, "; mouse_y: ", y); -- display the coordinates of the mouse
  r,g,b = getPixel(hdc, x, y);
  print("R : ", r, "; G : ", g, "; B : ", b);
end



-------------------------------------------------
-- FUNCTION MAIN
-------------------------------------------------
function main()
  win = findWindow("HoLic Online");
  hdc = openDC(win);
  proc = openProcess( findProcessByExe("HolicUSA.exe") );
  attach(win);

  registerTimer("update_vars", 100, update_vars);
  registerTimer("buff1_timer", buff1_duration, buff1_timer);
  registerTimer("buff2_timer", buff2_duration, buff2_timer);

  
  --pixeltest(); 
  while( 1 ) do
    --pixeltest(); 
    if( HP == 0 ) then death_return(); end
    if( HP < HP_potion ) then hp_potion(); end
    if( MP < MP_potion ) then mp_potion(); end
    if( SP < SP_potion ) then sp_potion(); end
    if( HP < HP_sit and can_rest == true ) then rest_heal(); end
    if( MP < MP_sit and can_rest == true ) then rest_heal(); end
    print(X_coord, Y_coord);
    yrest(100);
    target_monster();
    yrest(200);
    if( have_target() ) then
      can_rest = false; -- prevent resting during battle
                        -- for the few that have this bug
      if( class == CLASS_WARRIOR) then fight_warrior(); end
      if( class == CLASS_MAGE) then fight_mage(); end
      can_rest = true;
    else
   
      rotate_cam();
      if( math.random(100) > 90 ) then
        move_forward(); end
    end
    
    
    
   
    if(have_pig == 0) then
    pickup();
    end
    
    -------- if you want more than 2 buffs you gotta duplicate and change one of these if statements
    
    if( buff_1 == 1 ) then 
	if( buff1_needed ) then
          keyboardPress(buff_key1);
          print(os.date("buff 1 casted	%X"))
	  buff1_needed = false;
	  yrest(1000);
	end
    end
    if( buff_2 == 1 ) then 
      if( buff2_needed ) then
        keyboardPress(buff_key2);
        print(os.date("buff 2 casted	%X"))
    	buff2_needed = false;
    	yrest(1000);
      end
    end
        if( buff_3 == 1 ) then 
          if( buff3_needed ) then
            keyboardPress(buff_key3);
            print(os.date("buff 3 casted	%X"))
        	buff3_needed = false;
        	yrest(1000);
          end
    end
  end

  detach();
  closeProcess(proc);
end

startMacro(main);
-------------------------------------------------

Reiiko

Re: Introducing Holic Online

#7 Post by Reiiko » Thu Jan 24, 2008 10:56 am

He this is a Shaiya Question
What do i need to change here i'm new to this
-- character configuration
-------------------------------------------------
class = CLASS_WARRIOR;
key_attack = key.VK_1;
key_pickup = key.VK_2;
key_sit = key.VK_C;

key_skill1 = key.VK_3;
key_skill2 = key.VK_4;
key_skill3 = key.VK_5;

key_hppotion = key.VK_8;
key_mppotion = key.VK_9;
key_sppotion = key.VK_9;

-- rest or use potions when low on HP/MP/SP
HP_usepotion = 350;
MP_usepotion = 0;
SP_usepotion = 0;

HP_sit = 180;
MP_sit = 0;
SP_sit = 20;

-- chance to cast
skill1_chance = 100;
skill2_chance = 0;
skill3_chance = 0;

-- MP cost
skill1_cost = 38;
skill2_cost = 20;
skill3_cost = 80;

casttime = 2000;

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Introducing Holic Online

#8 Post by Administrator » Thu Jan 24, 2008 12:05 pm

Holic is not Shaiya. I'm not sure why you posted a Shaiya question here. Anyways, change whatever you want.

SoftCloth
Posts: 1
Joined: Tue May 13, 2008 6:08 am

Re: Introducing Holic Online

#9 Post by SoftCloth » Tue May 13, 2008 6:13 am

Hi, I was using the Holic.lua script yesterday and it worked for about 5 minutes, then I kept getting an error:
WARNING: Failure reading memory from 0x11B31A8 at 0x9127f8 in memoryReadIntPtr<>. Error code 299 (Only part of a ReadProcessMemory or WriteProcessMemory request was completed.)
Looks like somebody got you killed.
A screen capture has been taken. Open MS Paint and paste it.
Only when I get this error I'd be at full health, also I'd just randomly use potions even though I have it set to use them at 200 health. :D You guys think you could help me out?

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Introducing Holic Online

#10 Post by Administrator » Tue May 13, 2008 1:20 pm

So it happened in the middle of botting? After closing and reopening MicroMacro, did you still have the error message coming up? After restarting the game client? Your computer?

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Introducing Holic Online

#11 Post by tgbhgf » Wed Sep 10, 2008 3:39 am

please help it's not working. the 1st one works but the edited one doesn't. the pic is the error of the 2nd one he posted and the 1st i have no idea -.-
Attachments
Untitled.jpg

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Introducing Holic Online

#12 Post by Administrator » Thu Sep 11, 2008 1:00 am

Holic has XTrap protection, doesn't it? You'll need to remove that before it'll work.

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Introducing Holic Online

#13 Post by tgbhgf » Thu Sep 11, 2008 2:09 am

can you help me remove it =( i can't do it -.-

Impala
Posts: 14
Joined: Mon Aug 18, 2008 6:58 pm

Re: Introducing Holic Online

#14 Post by Impala » Thu Sep 18, 2008 12:08 am

This works, but it looks like the memory addresses are wrong...there is no in game protection so if someone could update the script, it would be greatly appreciated


*EDIT* I edited the script to make it work without any type of healing all it needs to have healing is for someone to edit the script above for new addresses

Code: Select all

-------------------------------------------------
--Holic Online Bot
--Mystikfox
--Hackbar
--Mangler
-------------------------------------------------
-- Variable declaration -- do not edit
-------------------------------------------------
CLASS_WARRIOR   = 0;
CLASS_MAGE      = 1;
HP              = 10000;
MP              = 10000;
SP              = 10000;


   
-------------------------------------------------


-------------------------------------------------
-- character configuration YOU HAVE TO CHANGE THIS STUFF FOR THE BOT TO WORK RIGHT
-------------------------------------------------
class           = CLASS_WARRIOR;
key_attack      = key.VK_1;
key_pickup      = key.VK_TILDE;
key_sit         = key.VK_F2;

key_skill1      = key.VK_2;
key_skill2      = key.VK_3;
key_skill3      = key.VK_4;

key_hppotion    = key.VK_7;
key_mppotion    = key.VK_F4;
key_sppotion    = key.VK_F3;

-- rest or use potions when low on HP/MP/SP
HP_potion    = 600;
MP_potion    = 40;
SP_potion    = 0;

HP_sit          = 40;
MP_sit          = 0;
SP_sit          = 0;

-- chance to cast
skill1_chance   = 80;
skill2_chance   = 80;
skill3_chance   = 0;

-- MP cost
skill1_cost     = 15;
skill2_cost     = 20;
skill3_cost     = 25;


have_pig        = 0;            -- set to 1 if you have a fortune pig and want to
            -- skip the manual pickup function   

-- buff stuff
-- NOTE:  set on 10 minutes
-- buff / scroll durations in msec    time = minutes x 60000
-- to de- activate non used buffs / scrolls replace "1" with "0"
-- to activate buff / scroll replace "0" with "1"
-- scrolls can be used too as buff
-------------------------

buff1_duration       = 1800000;
buff_1         = 1;
buff_key1               = key.VK_8;

buff2_duration       = 1800000;
buff_2               = 1;
buff_key2               = key.VK_9;

buff3_duration       = 1800000;
buff_3               = 1;
buff_key3               = key.VK_0;

--dont change these
buff1_needed    = true;
buff2_needed    = true;
buff3_needed    = true;




-- cast times in milliseconds
skill1_casttime        = 2000;
skill2_casttime        = 1000;
skill3_casttime        = 3000;

-- skill cool downs in milliseconds (not working)
skill1_cooldown        = 3000;
skill2_cooldown        = 8000;
skill3_cooldown        = 9000;
-------------------------------------------------

function hp_potion()
  keyboardPress(key_hppotion);
end

function mp_potion()
  keyboardPress(key_mppotion);
end

function sp_potion()
  keyboardPress(key_sppotion);
end

-- so we aren't spamming the attack key...
-- we will use a timer to press it once
-- every 3 seconds.
function attack_timer()
  keyboardPress(key_attack);
end

function fight_warrior()
  registerTimer("attack_timer", 3000, attack_timer);

  while( have_target() ) do
     
      local roll = math.random(100);
 
      if( roll <= skill1_chance and SP >= skill1_cost ) then
        keyboardPress(key_skill1);
        yrest(120);
      elseif( roll <= skill2_chance and SP >= skill2_cost ) then
        keyboardPress(key_skill2);
        yrest(120);
      elseif( roll <= skill3_chance  and SP >= skill3_cost ) then
        keyboardPress(key_skill3);
        yrest(120);
      else
        keyboardPress(key_attack);
        yrest(500);
      end
      yrest(250);
      coroutine.yield();
   end
  unregisterTimer("attack_timer");

  yrest(1000);
end

function fight_mage()
  while( have_target() ) do
    
    local roll = math.random(100);
    if( roll <= skill1_chance and MP >= skill1_cost ) then
      -- cast skill 1
      keyboardPress(key_skill1);
      yrest(skill1_casttime);
    else
      keyboardPress(key_attack);
    end
   
    if( roll <= skill2_chance and MP >= skill2_cost ) then
    -- cast skill 1
    keyboardPress(key_skill2);
    yrest(skill2_casttime);
    else
    keyboardPress(key_attack);
    end

    yrest(100);
    coroutine.yield();
  end

  yrest(1000);
end


-- toggle can_heal to true, disable timer
function can_rest_timer()
  unregisterTimer("can_rest_timer");
  can_rest = true;
  print("Can rest again.");
end

-- tell heal_rest we no longer need rest
function heal_rest_timer()
  need_heal = false;
end

-- toggle cast needed for buff1
function buff1_timer()
  buff1_needed = true;
end

-- toggle cast needed for buff2
function buff2_timer()
  buff2_needed = true;
end

-- pickup nearby items
function pickup()
  keyboardHold(key_pickup);
  yrest(50);
  keyboardRelease(key_pickup);
  yrest(775)
  keyboardHold(key_pickup);
  yrest(50);
  keyboardRelease(key_pickup);
end



-- you have died! oh noes!
function death_return()
  keyboardPress(key.VK_SNAPSHOT);
  print(os.date("Looks like somebody got you killed.   %X"))
  print("A screen capture has been taken. Open MS Paint and paste it.");
  stopPE(); -- this turns the macro off!
  coroutine.yield(); -- yield to make sure the protected environment stops
end


function move_forward()
  keyboardHold(key.VK_W);
  if( math.random(100) >= 80 )
    then keyboardHold(key.VK_A);
  else if( math.random(100) >= 80 )
    then keyboardHold(key.VK_D); end
  end

  yrest( math.random(200) );

  keyboardRelease(key.VK_W);
  keyboardRelease(key.VK_A);
  keyboardRelease(key.VK_D);
end









-- update client variables by reading from it's memory
function update_vars()
 
-- SP = memoryReadIntPtr(proc, SP_ptr, SP_offset);
 
-- X_coord = memoryReadIntPtr(proc, X_ptr, X_offset);
-- Y_coord = memoryReadIntPtr(proc, Y_ptr, Y_offset);
 
end



-- rotate camera
function rotate_cam()
  wx,wy = windowRect(win);

  mouseSet(wx+512, wy+412);
  yrest(100);
  mouseRHold();
  yrest(200);
  mouseSet(wx+526, wy+412);
  yrest(100);
  mouseRRelease();
  yrest(100);
end



-- selects a nearby monster
function target_monster()
  keyboardHold(key.VK_TAB);
  yrest(50);
  keyboardRelease(key.VK_TAB);
end




-- checks if you have a target
function have_target()
  r,g,b = getPixel(hdc, 579, 79);
  print(r,g,b);
  -- check for the blueish color in the monster's HP window
  if( r >= 18 and r <= 36 and g >= 34 and g <= 49 and b >= 93 and b<= 109 ) then
    return true;
  else
    return false;
  end
end

--function used to test the position and colour of the current pixel under the mouse
function pixeltest()
  x,y = mouseGetPos();
  print("mouse_x: ", x, "; mouse_y: ", y); -- display the coordinates of the mouse
  r,g,b = getPixel(hdc, x, y);
  print("R : ", r, "; G : ", g, "; B : ", b);
end



-------------------------------------------------
-- FUNCTION MAIN
-------------------------------------------------
function main()
  win = findWindow("HoLic Online");
  hdc = openDC(win);
  proc = openProcess( findProcessByExe("HolicUSA.exe") );
  attach(win);

  registerTimer("update_vars", 100, update_vars);
  registerTimer("buff1_timer", buff1_duration, buff1_timer);
  registerTimer("buff2_timer", buff2_duration, buff2_timer);

 
  --pixeltest();
  while( 1 ) do
    --pixeltest();
    print(X_coord, Y_coord);
    yrest(100);
    target_monster();
    yrest(200);
    if( have_target() ) then
      can_rest = false; -- prevent resting during battle
                        -- for the few that have this bug
      if( class == CLASS_WARRIOR) then fight_warrior(); end
      if( class == CLASS_MAGE) then fight_mage(); end
      can_rest = true;
    else
   
      rotate_cam();
      if( math.random(100) > 90 ) then
        move_forward(); end
    end
   
   
   
   
    if(have_pig == 0) then
    pickup();
    end
   
    -------- if you want more than 2 buffs you gotta duplicate and change one of these if statements
   
    if( buff_1 == 1 ) then
   if( buff1_needed ) then
          keyboardPress(buff_key1);
          print(os.date("buff 1 casted   %X"))
     buff1_needed = false;
     yrest(1000);
   end
    end
    if( buff_2 == 1 ) then
      if( buff2_needed ) then
        keyboardPress(buff_key2);
        print(os.date("buff 2 casted   %X"))
       buff2_needed = false;
       yrest(1000);
      end
    end
        if( buff_3 == 1 ) then
          if( buff3_needed ) then
            keyboardPress(buff_key3);
            print(os.date("buff 3 casted   %X"))
           buff3_needed = false;
           yrest(1000);
          end
    end
  end

  detach();
  closeProcess(proc);
end

startMacro(main);
-------------------------------------------------

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Introducing Holic Online

#15 Post by tgbhgf » Thu Sep 18, 2008 3:53 am

wow thanks but will it work with out removing xtrap in holic?

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Introducing Holic Online

#16 Post by Administrator » Thu Sep 18, 2008 4:00 am

Holic doesn't have XTrap? Maybe you're right. I must have been confusing it with some other game.

tgbhgf: You'll have to get Cheat Engine and look up the new addresses. That is, these:
HP_ptr = "009127F8";
HP_offset = 556;


MP_ptr = "009127F8";
MP_offset = 552;
Once updated, it should work.

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Introducing Holic Online

#17 Post by tgbhgf » Thu Sep 18, 2008 5:06 am

im confused T_T so you don't need to remove xtrap from holic be4 you use this?
and about Cheat Engine i have no clue...how to even get it :shock:

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Introducing Holic Online

#18 Post by Administrator » Thu Sep 18, 2008 7:30 am

Apparently it doesn't have XTrap, so no. I've never played the game, so I couldn't tell you.

Google for Cheat Engine. Then follow the tutorial in the memory editing section of this forum that shows how to look up pointers.

Impala
Posts: 14
Joined: Mon Aug 18, 2008 6:58 pm

Re: Introducing Holic Online

#19 Post by Impala » Thu Sep 18, 2008 2:51 pm

Ok, don't say I didn't do anything for anyone

*EDIT* Might be the wrong pointers...someone test
Attachments
holic.lua
(9.93 KiB) Downloaded 211 times

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Introducing Holic Online

#20 Post by tgbhgf » Thu Sep 18, 2008 4:29 pm

o.O Holic doesn't have xTrap? wow cool ^^

edited: omg whenever i attack a monster it says "You have been killed" and the thing stops T_T please help

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests