Shaiya bot
-
- Posts: 9
- Joined: Sat May 23, 2009 8:35 pm
Re: Shaiya bot
get this error when i try to exe shaiya.lua
Sat May 23 21:21:52 2009 : Executing script "shaiya.lua".
==================================================
Sat May 23 21:22:04 2009 : findProcessByExe() returned 0. Process not found or other error occured.
Sat May 23 21:22:04 2009 : Error attempting to open process 0x0. Error code: 87 (The parameter is incorrect.).
stack traceback:
C:\Users\ll\Desktop\micromacro\lib\lib.lua:476: in function 'startMacro'
C:\Users\ll\Desktop\micromacro\scripts\shaiya.lua:357: in main chunk
----------TRACEBACK END----------
Sat May 23 21:22:04 2009 : C:\Users\ll\Desktop\micromacro\scripts\shaiya.lua:226: bad argument #1 to 'memoryReadIntPtr' ((null))
Sat May 23 21:22:04 2009 : Execution of shaiya.lua complete.
Sat May 23 21:22:04 2009 : Execution error: Runtime error
Sat May 23 21:22:04 2009 : Collecting garbage...
Sat May 23 21:22:04 2009 : 24KB freed.
Sat May 23 21:21:52 2009 : Executing script "shaiya.lua".
==================================================
Sat May 23 21:22:04 2009 : findProcessByExe() returned 0. Process not found or other error occured.
Sat May 23 21:22:04 2009 : Error attempting to open process 0x0. Error code: 87 (The parameter is incorrect.).
stack traceback:
C:\Users\ll\Desktop\micromacro\lib\lib.lua:476: in function 'startMacro'
C:\Users\ll\Desktop\micromacro\scripts\shaiya.lua:357: in main chunk
----------TRACEBACK END----------
Sat May 23 21:22:04 2009 : C:\Users\ll\Desktop\micromacro\scripts\shaiya.lua:226: bad argument #1 to 'memoryReadIntPtr' ((null))
Sat May 23 21:22:04 2009 : Execution of shaiya.lua complete.
Sat May 23 21:22:04 2009 : Execution error: Runtime error
Sat May 23 21:22:04 2009 : Collecting garbage...
Sat May 23 21:22:04 2009 : 24KB freed.
- Administrator
- Site Admin
- Posts: 5313
- Joined: Sat Jan 05, 2008 4:21 pm
Re: Shaiya bot
Looks like you haven't bypassed GameGuard. Fix it.
-
- Posts: 9
- Joined: Sat May 23, 2009 8:35 pm
Re: Shaiya bot
your right, i was to fast on on the post sorry to wast your time.
I do one more for you if you got the time, everything working now But for some reason cant get it to use Hp pots have them on bar 1 and 2 slot 8 just like in the config but no luck any idea thanks
I do one more for you if you got the time, everything working now But for some reason cant get it to use Hp pots have them on bar 1 and 2 slot 8 just like in the config but no luck any idea thanks
- Administrator
- Site Admin
- Posts: 5313
- Joined: Sat Jan 05, 2008 4:21 pm
Re: Shaiya bot
The offsets probably changed. If I have some time later, I'll update the scripts.
-
- Posts: 9
- Joined: Sat May 23, 2009 8:35 pm
Re: Shaiya bot
I see this been going on for some time now
Nasa210 wrote:my guy doesnt uise potions at all... is there something wrong?
Code: Select all
------------------------------------------------------------------- ------------------------------------------------------------------- -- Title: Shaiya Bot -- -- Author: Elverion -- -- Date: May 29, 2008 -- -- Requirements: MicroMacro v0.97 -- -- License: Public Domain -- ------------------------------------------------------------------- ------------------------------------------------------------------- -- This script is public domain. You may use it in any way you -- -- find appropriate without restriction. This includes, but is -- -- not limited to, modification and distribution, whether it be -- -- commercial or not. -- ------------------------------------------------------------------- ------------------------------------------------------------------- ------------------------------------------------ -- HOTKEYS ------------------------------------------------ startKey = key.VK_INSERT; stopKey = key.VK_DELETE; key_switchtarget = key.VK_TILDE; key_attack = key.VK_1; key_pickup = key.VK_2; key_skill1 = key.VK_3; key_skill2 = key.VK_4; key_skill3 = key.VK_5; key_buff1 = key.VK_6; key_buff2 = key.VK_7; key_hp_potion = key.VK_8; key_mp_potion = key.VK_9; key_sp_potion = key.VK_0; key_sit = key.VK_C; ------------------------------------------------ -- SKILLS ------------------------------------------------ -- Set to 0 if you don't want to use a skill skill1_time = secondsToTimer(15); skill2_time = secondsToTimer(18); skill3_time = secondsToTimer(20); ------------------------------------------------ -- BUFFS ------------------------------------------------ -- Set a buff to 0 if you don't want to use it buff1_time = minutesToTimer(5); buff2_time = minutesToTimer(10); ------------------------------------------------ -- POTIONS ------------------------------------------------ -- All potion use values are specified in % -- Set the values to 0 to not use that potion HP_potion_use = 50; MP_potion_use = 40; SP_potion_use = 35; ------------------------------------------------ -- SITTING ------------------------------------------------ -- All sitting values are specified in % -- We will only sit while out of battle -- Set the values to 0 to not use sitting HP_sit = 90; MP_sit = 20; SP_sit = 10; --[[********************************************************************* ************************************************************************** DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING ************************************************************************** ************************************************************************]] ------------------------------------------------ -- Memory addresses ------------------------------------------------ playerptr_addr = 0x00825CB4; HP_offset = 0x12C; MaxHP_offset = 0x130; -- 304 MP_offset = 0x134; --308; MaxMP_offset = 0x138; --312; SP_offset = 0x13C; --316; MaxSP_offset = 0x140; --320; targetid_addr = 0x006d0bc4; -- short, 65535 if none selected sitcheck_addr = 0x006E5D40; -- byte, 0 = standing, 7 = sitting ------------------------------------------------ -- Variable setup ------------------------------------------------ HP = 10000; MaxHP = HP; MP = 10000; MaxMP = MP; SP = 10000; MaxSP = SP; skill1_ready = true; skill2_ready = true; skill3_ready = true; buff1_ready = true; buff2_ready = true; sittingTempDisabled = false; -- don't change this. it's just temporary. ------------------------------------------------ -- Functions ------------------------------------------------ skill1_toggle = function () skill1_ready = true; end; skill2_toggle = function () skill2_ready = true; end; skill3_toggle = function () skill3_ready = true; end; buff1_toggle = function () buff1_ready = true; end; buff2_toggle = function () buff2_ready = true; end; function use_hp_potion() keyboardPress(key_hp_potion); printf("Using HP potion\n"); end function use_mp_potion() keyboardPress(key_mp_potion); printf("Using MP potion\n"); end function use_sp_potion() keyboardPress(key_sp_potion); printf("Using SP potion\n"); end function tempDisableSitting() sittingTempDisabled = true; registerTimer("reenable_sitting", secondsToTimer(5), function () sittingTempDisabled = false unregisterTimer("reenable_sitting") end ); end function sit() if( HP_sit == 0 ) then return; end printf("Sitting.\n"); local sitting = false; while( sitting == false ) do keyboardPress(key_sit); yrest(1000); sitting = memoryReadByte(proc, sitcheck_addr) ~= 0; end local lasthp = HP; while( true ) do if( HP == MaxHP and MP == MaxMP and SP == MaxSP ) then switch_target(); break; end if( HP < (lasthp - 10) ) then printf("Exiting rest...under attack\n"); tempDisableSitting(); -- so we don't end up sitting right away again break; else lasthp = HP; end yrest(100); end sitting = true; while( sitting ) do keyboardPress(key_sit); yrest(1000); sitting = memoryReadByte(proc, sitcheck_addr) ~= 0; end printf("Standing... Resuming bot\n"); yrest(1000); end function pickup() printf("Pickup!\n"); if( key_pickup == 0 ) then return; end local i; for i = 0, 5 do keyboardPress(key_pickup); yrest(500); end yrest(1000); end function update_vars() HP = memoryReadIntPtr(proc, playerptr_addr, HP_offset); MaxHP = memoryReadIntPtr(proc, playerptr_addr, MaxHP_offset); MP = memoryReadIntPtr(proc, playerptr_addr, MP_offset); MaxMP = memoryReadIntPtr(proc, playerptr_addr, MaxMP_offset); SP = memoryReadIntPtr(proc, playerptr_addr, SP_offset); MaxSP = memoryReadIntPtr(proc, playerptr_addr, MaxSP_offset); end function have_target() local readid = memoryReadShort(proc, targetid_addr); return ( readid ~= 0xFFFF ); end function find_target() keyboardPress(key_attack); end function switch_target() keyboardPress(key_switchtarget); end ------------------------------------------------ -- FIGHT ------------------------------------------------ function fight() local beginTime = os.time(); local attack_ready = true; local attack_toggle = function () attack_ready = true; end; registerTimer("attack_timer", secondsToTimer(3), attack_toggle); local targetid = memoryReadByte(proc, targetid_addr); printf("TARGETID: %d\n", targetid); while( have_target() ) do local curtarget = memoryReadByte(proc, targetid_addr); if( targetid ~= curtarget ) then break; end; local currentTime = os.time(); if( os.difftime(currentTime, beginTime) > 60 ) then -- more than 1 minute has passed keyboardPress(key_switchtarget); break; -- exit combat end if( skill1_ready and skill1_time > 0 ) then keyboardPress(key_skill1); skill1_ready = false; yrest(1000); registerTimer("skill1_toggle", skill1_time, skill1_toggle); end; if( skill2_ready and skill2_time > 0) then keyboardPress(key_skill2); skill2_ready = false; yrest(1000); registerTimer("skill2_toggle", skill2_time, skill2_toggle); end; if( skill3_ready and skill3_time > 0) then keyboardPress(key_skill3); skill3_ready = false; yrest(1000); registerTimer("skill3_toggle", skill3_time, skill3_toggle); end; if( attack_ready ) then keyboardPress(key_attack); attack_ready = false; yrest(1000); end; if( (HP/MaxHP*100) < HP_potion_use and HP_potion_use > 0 ) then use_hp_potion(); end if( (MP/MaxMP*100) < MP_potion_use and MP_potion_use > 0 ) then use_mp_potion(); end if( (SP/MaxSP*100) < SP_potion_use and SP_potion_use > 0 ) then use_sp_potion(); end if( buff1_ready and buff1_time > 0 ) then keyboardPress(key_buff1); buff1_ready = false; yrest(2000); end; if( buff2_ready and buff2_time > 0 ) then keyboardPress(key_buff2); buff2_ready = false; yrest(2000); end; yrest(100); end printf("Target lost.\n"); unregisterTimer("attack_timer"); pickup() end ------------------------------------------------ -- MAIN ------------------------------------------------ function main() proc = openProcess(findProcessByExe("game.exe")); win = findWindow("Shaiya"); setPriority(PRIORITY_HIGH); registerTimer("update_vars", 100, update_vars); if( skill1_time ) then registerTimer("skill1_toggle", skill1_time, skill1_toggle); end if( skill2_time ) then registerTimer("skill2_toggle", skill2_time, skill2_toggle); end if( skill3_time ) then registerTimer("skill3_toggle", skill3_time, skill3_toggle); end if( buff1_time ) then registerTimer("buff1_toggle", buff1_time, buff1_toggle); end; if( buff2_time ) then registerTimer("buff2_toggle", buff2_time, buff2_toggle); end; while( true ) do find_target(); yrest(200); if( have_target() ) then fight(); end if( buff1_ready and buff1_time > 0 ) then keyboardPress(key_buff1); buff1_ready = false; yrest(2000); end; if( buff2_ready and buff2_time > 0 ) then keyboardPress(key_buff2); buff2_ready = false; yrest(2000); end; if( (HP/MaxHP*100) < HP_potion_use and HP_potion_use > 50 ) then use_hp_potion(); end if( (MP/MaxMP*100) < MP_potion_use and MP_potion_use > 50 ) then use_mp_potion(); end if( (SP/MaxSP*100) < SP_potion_use and SP_potion_use > 50 ) then use_sp_potion(); end if( not sittingTempDisabled ) then if( (HP/MaxHP*100) < HP_sit and (HP_sit > 0) ) then sit(); end if( (MP/MaxMP*100) < MP_sit and (MP_sit > 0) ) then sit(); end if( (SP/MaxSP*100) < SP_sit and (SP_sit > 0) ) then sit(); end end end end startMacro(main);
-
- Posts: 148
- Joined: Fri Mar 21, 2008 9:10 pm
Re: Shaiya bot
guys you need to update the bot. Open it up and replace with im going to give you bellow
playerptr_addr = 0x0083DDF4;
HP_offset = 12c;
MaxHP_offset = 130;
MP_offset = 134;
MaxMP_offset = 138;
SP_offset = 13c;
MaxSP_offset = 140;
targetid_addr = 0x002ABFF0; -- short, 65536 if none selected
sitcheck_addr = 0x006FDE90; -- byte, 0 = standing, 7 =
sitting
-
- Posts: 9
- Joined: Sat May 23, 2009 8:35 pm
Re: Shaiya bot
Fixed just replace this line playerptr_addr = 0x0083DDF4; not all the other works for me
This came up in yellow
Sun May 24 17:32:41 2009 : C:\Users\ll\Desktop\micromacro\scripts\shaiya.lua:93: malformed number near '12c'
Sun May 24 17:32:41 2009 : Execution of shaiya.lua complete.
Sun May 24 17:32:41 2009 : Execution error: Syntax error
Sun May 24 17:32:41 2009 : Collecting garbage...
Sun May 24 17:32:41 2009 : 32KB freed.
This came up in yellow
Sun May 24 17:32:41 2009 : C:\Users\ll\Desktop\micromacro\scripts\shaiya.lua:93: malformed number near '12c'
Sun May 24 17:32:41 2009 : Execution of shaiya.lua complete.
Sun May 24 17:32:41 2009 : Execution error: Syntax error
Sun May 24 17:32:41 2009 : Collecting garbage...
Sun May 24 17:32:41 2009 : 32KB freed.
-
- Posts: 148
- Joined: Fri Mar 21, 2008 9:10 pm
Re: Shaiya bot
sorry thats my bad..
for the offsets make sure the have 0x so
for the offsets make sure the have 0x so
HP_offset = 0x12c;
MaxHP_offset = 0x130;
MP_offset = 0x134;
MaxMP_offset = 0x138;
SP_offset = 0x13c;
MaxSP_offset = 0x140;
-
- Posts: 148
- Joined: Fri Mar 21, 2008 9:10 pm
Re: Shaiya bot
I saw someone wanted more hp spots so i decited to add them for you.
UPDATED shaiya.lua
UPDATED shaiya.lua
- Attachments
-
- shaiya.lua
- Whats Added
1 more skill spot
2 more buff spots
6 hp spots
2 sp spots
2 mp spots - (13.48 KiB) Downloaded 457 times
- Administrator
- Site Admin
- Posts: 5313
- Joined: Sat Jan 05, 2008 4:21 pm
Re: Shaiya bot
I went ahead and attached your fix to the original post. I just hope it all works, because I didn't bother to test it.
-
- Posts: 9
- Joined: Sat May 23, 2009 8:35 pm
Re: Shaiya bot
works fine just need to change the % when to use hp mp sp pots other then that works nice
Administrator wrote:I went ahead and attached your fix to the original post. I just hope it all works, because I didn't bother to test it.
Re: Shaiya bot
Works great until it goes to sit. If it's attacked or otherwise it stands and sits, repeatedly. Otherwise it's fine...Pots well and all that.
-
- Posts: 148
- Joined: Fri Mar 21, 2008 9:10 pm
Re: Shaiya bot
That is my bad..the only thing i didnt check..
sitcheck_addr = 0x0083DDF4
sitcheck_addr = 0x0083DDF4
Re: Shaiya bot
i got the script working fine and so, but if i have the sit function enabled it attacks the mobs for a while and then starts pressing c c c c and doesnt attack anymore, i tried to set mp sp to 0 so it wouldnt sit when they ran out and hp to 500 but even with 700 hp it starts sitting after a while, when i have sit function disabled it works fine execpt the looting aint perfect either, sometimes it takes some loot but half of the loot stays there, how to make it pickup loot more frequently ?
- Administrator
- Site Admin
- Posts: 5313
- Joined: Sat Jan 05, 2008 4:21 pm
Re: Shaiya bot
sadow wrote:i got the script working fine and so, but if i have the sit function enabled it attacks the mobs for a while and then starts pressing c c c c and doesnt attack anymore, i tried to set mp sp to 0 so it wouldnt sit when they ran out and hp to 500 but even with 700 hp it starts sitting after a while, when i have sit function disabled it works fine execpt the looting aint perfect either, sometimes it takes some loot but half of the loot stays there, how to make it pickup loot more frequently ?
Code: Select all
function pickup()
printf("Pickup!\n");
if( key_pickup == 0 ) then return; end
local i;
for i = 0, 5 do
keyboardPress(key_pickup);
yrest(500);
end
yrest(1000);
end
I'm not sure what the problem with sitting is. I'll check it later.
Re: Shaiya bot
well this bot works pretty fine exect the sitting part, it uses all my buffs and attacks skills well but problem is i will die if i keep the bot up too long, if it would sit to gain full hp and then startover it would run smootly ;P
Re: Shaiya bot
Hey all , thought id help out the community, the sitting problem you all are having is pretty easy to fix, open up shaiya.lua look for the line of code THERE ARE 2 LINES WITH THIS CODE IN THE FILE:
and just change it too
i am not sure if that is the "proper" way to fix it but works for me. If you are still confuesed about the offsets and whatnot
these are mine and my bot runs near enough perfectly while i sleep.
Steve
Code: Select all
sitting = memoryReadByte(proc, sitcheck_addr) ~= 0;
Code: Select all
sitting = memoryReadBytePtr(proc, sitcheck_addr, 0xdc) ~= 0;
Code: Select all
playerptr_addr = 0x83DDF4;
HP_offset = 0x12C;
MaxHP_offset = 0x130; -- 304
MP_offset = 0x134; --308;
MaxMP_offset = 0x138; --312;
SP_offset = 0x13C; --316;
MaxSP_offset = 0x140; --320;
targetid_addr = 0x6E8BE0; -- short, 65535 if none selected
sitcheck_addr = 0x83DDF4; -- byte, 0 = standing, 7 = sitting
Steve
- Administrator
- Site Admin
- Posts: 5313
- Joined: Sat Jan 05, 2008 4:21 pm
Re: Shaiya bot
Good work, Steve. I have found that changing your sitcheck_addr to 0x6FDE80 also seems to work right without the need of changing any other code.
Re: Shaiya bot
for i = 0, 5 do <--- that 5 to 10 or 15... can u explain me what i means, is 5 to pickup loot every 5 sec or what -_-
Who is online
Users browsing this forum: No registered users and 2 guests