Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Dekaron > Dekaron Exploits, Hacks, Bots, Tools & Macros
You last visited: Today at 11:33

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release]ThaiBot for 2Moons\Global Dekaron

Discussion on [Release]ThaiBot for 2Moons\Global Dekaron within the Dekaron Exploits, Hacks, Bots, Tools & Macros forum part of the Dekaron category.

Closed Thread
 
Old   #1
 
Nebular's Avatar
 
elite*gold: 0
Join Date: Mar 2008
Posts: 136
Received Thanks: 3,513
[Release]ThaiBot for 2Moons\Global Dekaron

ATTENTION! This program is for advanced users only! It requires you write/modify script files in Lua language to work.If you're not familiar with Lua, use TzPhQy bot instead, as it has more intuitive and user-friendly interface.

This bot is modification of Thailand 's dekaron bot, adapted to work for 2Moons\GlobalDK servers. It has many bugs, and lacks good scripts, but i have no time to spend on this program, so i'm releasing it as it is.But it's quite interesting and i guess experienced people can make good use of it, since it has some nice features, TzPhQy bot lacks.A thanks goes to gawron25 and L.e.v.i.a.t.h.a.n for supplying me with the original version

The bot is script based. It means that right after login, or if a game event occurs (such as incoming chat message for example) it calls appropriate function from script ( "onChat(id,chatType,from,mesg)" in dkutil.script).In the function you can write your own code that handle the event (in the chat example you could scan message for words like "bot" or "party?" and reply with "i'm not bot" or "no,ty" ).Your script can access any variable and call any function that is declared in "binding list" (See lua_bind.txt).You can also call another functions that is defined in script and define your own functions. Theoretically, the bot can be programmed to do anything : dungeon runs, quests, fishing, player assisting, etc...To do unimplemented things you can call sendPacket() to directly send required packet. Of course, you need to know game protocol specifics to do that.


Please don't ask me to teach you Lua script language. Google is your friend.
Please don't ask me to give you ready-made scripts.I don't have any besides released ones.


Download link 1 :
Download link 2 :

Script files:

.\bot\user.script general bot setup, skill definitions
.\bot\config.script paths to scripts and other data files
.\share\script\dkutil.script most of game event handlers, bot AI
.\share\script\util.script misc. useful functions used by other scripts
.\share\script\const.script general game constants definitions(servers IP list, map list, map portal locations, etc...)

------------ How to update bot ------------

To update bot with Xigncode, simply copy all new ReXIGNation files to bot folder (folder that contains dkutil.exe file)

To update bot with game update, use Merovingian's data pack unpacker and included tool BotCRC.exe
1.Use Data Unpacker to unpack 'share' folder from pack.d04

2.Start BotCRC.exe


3.Click 'Select' button and choose path to unpacked shared folder.When correct folder is selected, OK button will become active.

4.After a few seconds a window will appear asking whether to create CRC Archive. Answer "YES".


5.When the archive is ready, a window will popup.Click "OK" to close it.

6.Copy newly created file crcdata.bin to \ThaiBot\share\data folder

7.Open user.script file with a notepad and find (you have to scroll it almost to the end) following line:

Code:
crcDataInitValue=hex('0x12345678');
Copy CRC Hash value here, right after '0x' prefix.Save file.

8.That's all.Restart bot to take effect.

------- Brief script configuration tutorial ------


[Setting up bot for trading (private shop)]
You should login first with normal client and put items you want to sell to your private shop.Logout. Login with bot, enter name of your shop into text input field (see pic.) then right- click on items tab and select "Shop->Name" in popup menu.Then do again right-click and select "Shop->Open".Your shop will open.

[Settings up bot for leveling]

All configuarion parameters is stored in user.script file.You should not edit otehr files unless you're know what you're doing (but you can always try, just keep a backup copy).

First of all you need to setup walkcode.WalkCode (also called "Style" in client's CSV files) is a special code used in action packets (while attacking, moving, and doing any other activities).Without correct code your character won't do anything in game. This code is dependant on weapons (and thus, indirectly, on character class) you're armed with. Use following table to determine WalkCode


Armed weapons WalkCode
Azure Knight
sword(1h) 3
sword(1h) + shield 16
sword(1h) + sword(1h) 10
sword(1h) + mace(1h) 10
sword(1h) + axe(1h) 10
sword(2h) 4
mace(1h) 12
mace(1h) + shield 17
mace(1h) + mace(1h) 10
mace(1h) + axe(1h) 10
mace(2h) 19
axe(1h) 13
axe(1h) + shield 18
axe(1h) + axe(1h) 10
axe(2h) 20
Segita Hunter 
bow 7
crossbow 8
Incar Magician 
staff 9
wand 11
Vicious Summoner 
staff 9
twin sword 21
Segnale 
Whip 22
Bagi Warrior 
Gauntlet 24
Aloken 
Spear 25
Spear + Guardam 27

Code:
function getWalkCode()
    walkCode=22; -- modify this value according to your character's weapons
	dbgTrace("getWalkCode()");
	trace( "WalkCode(Style)="..walkCode);
end;

Setting up grind location.Set map value to ID of desired map, see table for map ID's
Code:
toLevelTab = {
	{name="GOTO", map=14, delay=1000}, -- map is an ID of destination map
Setting up shopping NPC.Change values of map to destination map ID and parameters in sendMove() to select NPC you want to buy from/sell to.Note that coordiantes are x128 times bigger than you see them in game.
Code:
toShoppingTab = { -- What to do when we need to buy\sell stuff from\to NPC
	{name="SCRIPT", delay=1000,
		func=function(self)
			trace("Shopping : preparing to go shopping...");
			toShoppingTab.x = myPlayer.curPos.x; -- save current coordiantes
			toShoppingTab.y = myPlayer.curPos.y; -- save current coordinates
		end;
	},
	{name="GOTO", map=7, delay=1000}, -- '7' = ID of target map (Loa castle)


	{name="SCRIPT", delay=1000,
		func=function(self)
			trace("Shopping : Moving to NPC...");
			sendMove(28160,29696); -- Near 'Sonya' in Loa castle
		end;
	},
Type item names you want to sell to NPC in 'sellTab'
Code:
sellTab = {-- Items to sell to NPC
{name='Armor',plus=8, numSlot=8},
{name='Boots',plus=8, numSlot=8},
Type item names you want to buy from NPC in 'buyTab'
Code:
buyTab = {--Items to buy from NPC
-- 	### North Morte & Draco Desert ###

{name="Large Health Potion",numKeep=3,numToShop=1,tab=0,slotID=10}, --(pack5) 480 HP
-- 	{name="Large Mana Potion",numKeep=4,numToShop=1,tab=0,slotID=11},

After login click "Script-> > go Leveling" to start bot.

Other options:

“Script->Reload Script” - reload all script files from disk
“Script->Exec” – execute Lua script string from text input field
"Option->Auto reconnect" - auto reconnect if disconnected
"Option->Use scoreboard" - Used to communicate betewen members-bots in party.Probably not working, not sure about this one.
"Option->Debug mode" - spit out more messages about program internal state

------------ Script reference ------------

For a list of Lua binding functions see lua_bind.txt file in bot archive.
Following functions are NOT implemented in bot, even though they are present in binding list.
Code:
sendNPCBuy()
processRecvPacket()
showFriend()
healParty()
supportParty()
cleanupMonster()
useItem()
sellItem()
buyItem()
dropItem()
move()
sendReadyPacket()
autoSell()
autoBuy()
autoStore()
sendSellStart()
sendSellEnd()
sendWarpXZ()
sendChatEx()
processCommand()
useSkill()
clearSkillStatus()
updateSkillStatus()
getSkillStatus()
updatePlayerPos()
autoTalk()
autoUseItem()
reposition()
warpSavePoint()
isFriend()
sendTradeRequest() 
sendTradeCancel()
sendTradeAccept()
sendTradeItem()
sendTradeMoney()
sendTradeCommit()
sendStoreStart()
sendStoreEnd()
setFollow()
sendIRC()
addFriendFromIRCList()
setFriendOnline()
syntaxCheck()
addLuaEditor()
showSkillStatus()
sendAction()
sendNPCRequest()
sendWarpByNearestNPC()
putMoneyToStore()
getMoneyFromStore()
autoGetStore()
putToStore()
getFromStore()
syncMyPos()
cmdMgrSendAll()
cmdMgrSendTo()
crcMe()
crcMe2()
resetDir()
sendPetAttack()
sendSit()
sendStand()
sendRest()
sendNPCClick()
sendNPCBuy()
sendUseBuffSkill()
sendUseWeaponSkill()
sendBuyItem() 
sendSellItem()
sendUseSkillMultiAll()
sendUseSkillStatus()
sendUseSkillMulti()
sendUseSkillMultiMoveAll()
sendUseSkillMultiMoveAll2()
sendUseSkillMultiMove()
sendUseSkillMultiMove2()
sendMoveStop()
sendMoveContinue()
sendTransmuteItem()
sendDropAll()
sendBossKill()
sendQuestDunStart()
sendDunFinish()
sendServerChat()
sendHex()
sendMoveContinue2()
sendChatGuild()
sendChatInfo()
sendComboStart() 
sendTradeReady()
sendPartyRequest()
sendPartyAccept()
sendUseMoveSkill()
sendAddParty()
sendRequestQuest()
sendPVPRequest()
sendPVPAccept()
sendUpdateQuest()
sendSumbitQuest()
PlaySound()
Script procedures called by bot on corresponding events
Code:
function onSkillFail(code) 
function onSkillSuccess(id,level)
function onSkillObjCreate(id,targetID,unkI)
function onSkillHoming()
function onSkillDone(id,level)
function onGMAppear()
function onAttackMonster(id,value)
function onControlMonster(id)
function onInventoryFull()
function onNPCShopClose()
function onPartyCreate()
function shouldPickItem(name)
function onGameReady()
function onDisconnect()
Adding custom script functions to ‘Script’ menu (shortcuts)
Code:
frmMain:addCustomScript('name menu item','scriptHandlerName();');
Nebular is offline  
Thanks
29 Users
Old 02/13/2010, 20:29   #2
 
elite*gold: 0
Join Date: Oct 2008
Posts: 259
Received Thanks: 44
Thx, i will test it out!
megalos12345 is offline  
Thanks
1 User
Old 02/13/2010, 20:35   #3
 
elite*gold: 0
Join Date: Aug 2008
Posts: 8,097
Received Thanks: 3,359
#Stickied

Amazing release Nebular
trane. is offline  
Old 02/13/2010, 20:40   #4
 
PureEnergy3's Avatar
 
elite*gold: 0
Join Date: Dec 2008
Posts: 346
Received Thanks: 121
Quote:
Originally Posted by trane. View Post
#Stickied

Amazing release Nebular
Agreed
Waiting for the download now
PureEnergy3 is offline  
Old 02/14/2010, 12:33   #5
 
ejamious's Avatar
 
elite*gold: 0
Join Date: Dec 2008
Posts: 371
Received Thanks: 51
very nice release, I will test this out when I get some free time.
ejamious is offline  
Old 02/15/2010, 13:30   #6
 
elite*gold: 3
Join Date: Nov 2008
Posts: 5,333
Received Thanks: 1,335
Freu #reported 3x post + spam
Vaidas B is offline  
Old 02/15/2010, 13:50   #7
 
elite*gold: 0
Join Date: Aug 2008
Posts: 8,097
Received Thanks: 3,359
Quote:
Originally Posted by waidas123 View Post
Freu #reported 3x post + spam
#User infractioned
#Posts deleted
trane. is offline  
Old 02/16/2010, 17:22   #8

 
elite*gold: 35
Join Date: Aug 2009
Posts: 5,822
Received Thanks: 1,958
#unstickied

This bot will not be used as much as TzPhQy Bot

(trane agreed)
~Kakkarot~ is offline  
Old 02/16/2010, 20:30   #9
 
elite*gold: 0
Join Date: Jan 2010
Posts: 3
Received Thanks: 0
HI
the Bot is working fine... bur I have a problem...!!
he dosn't use any skill....
Can someone help me to see my mistake..??

thx allready
LALALA1986 is offline  
Old 02/17/2010, 15:51   #10
 
sachamo512's Avatar
 
elite*gold: 20
Join Date: Nov 2008
Posts: 1,496
Received Thanks: 345
hmm...would it be possible to write scripts for dungeons on this bot? I'll admit I don't know the first thing about Lua, but if it's worth it, I'll take the time to learn.
sachamo512 is offline  
Thanks
1 User
Old 02/17/2010, 17:54   #11
 
GrandSlam's Avatar
 
elite*gold: 0
Join Date: Oct 2007
Posts: 121
Received Thanks: 39
Quote:
Originally Posted by sachamo512 View Post
hmm...would it be possible to write scripts for dungeons on this bot? I'll admit I don't know the first thing about Lua, but if it's worth it, I'll take the time to learn.
Apparently you didn't read this thread huh . . .

Quote:
You can also call another functions that is defined in script and define your own functions. Theoretically, the bot can be programmed to do anything : dungeon runs, quests, fishing, player assisting, etc...To do unimplemented things you can call sendPacket() to directly send required packet. Of course, you need to know game protocol specifics to do that.
Nebular said it in the beginning of the thread
GrandSlam is offline  
Old 02/17/2010, 18:00   #12
 
elite*gold: 0
Join Date: Dec 2007
Posts: 1,238
Received Thanks: 387
Quote:
Originally Posted by sachamo512 View Post
hmm...would it be possible to write scripts for dungeons on this bot? I'll admit I don't know the first thing about Lua, but if it's worth it, I'll take the time to learn.
Yes. Is possible only if you know the packets for dg and you also must know lua scripting :P
EliteDKTrader is offline  
Old 02/18/2010, 10:09   #13
 
HellSpider's Avatar
 
elite*gold: 20
Join Date: Aug 2008
Posts: 2,763
Received Thanks: 4,397
Quote:
Originally Posted by Timespirit View Post
on board is Trainer
Just ban this clown...
HellSpider is offline  
Old 02/18/2010, 13:28   #14

 
elite*gold: 35
Join Date: Aug 2009
Posts: 5,822
Received Thanks: 1,958
#post deleted
#infraction given
~Kakkarot~ is offline  
Old 02/18/2010, 19:37   #15
 
sachamo512's Avatar
 
elite*gold: 20
Join Date: Nov 2008
Posts: 1,496
Received Thanks: 345
Quote:
Originally Posted by GrandSlam View Post
Apparently you didn't read this thread huh . . .



Nebular said it in the beginning of the thread
haha, no. I saw how big this post was and didn't feel like reading... -.- thanks

Quote:
Originally Posted by andrew_seul View Post
Yes. Is possible only if you know the packets for dg and you also must know lua scripting :P
Guess I need to start learning lua then xD
sachamo512 is offline  
Closed Thread




All times are GMT +1. The time now is 11:33.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.