philatio 5 Report post Posted February 14, 2014 (edited) Ok, so you're asking yourself. What does he mean by scripting? Well, I pretty much grew up with botting games, before they were simple "tick this box" to do something. From actool/skunkworks, to mmbot (and derivatives), also extensively with d2nt/d2bs. What I'd like to see with this project is the ability to write my own bot behavior, instead of the current "one size fits all". For instance, here is a snippet from a d2nt script (with comments to show what its doing) function NTMain() { Include("libs/common/NTCommon.ntl"); NTC_IncludeLibs(); NTC_IncludeConfig("NTBot/char_configs"); // various dependancies to load in this section NT_LoadConfig(); NTSI_LoadNIPFiles("NTBot/item_configs"); NTA_Initialize(); if(!NTTM_CheckAct()) { NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()"); /// This section makes the bot return to town return; // if it was in the field from a previous script } NTTMGR_TownManager(); // Do town functions i.e. stashing selling etc if(!NTTM_TownMove("waypoint")) { NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()"); // move to waypoint return; } if(!NTM_TakeWaypoint(44)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()"); // take waypoint 44, this is lost city wp in d2, i believe return; } NTP_DoPrecast(true); // buffs if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_MONSTER, 751)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToPresetUnit()"); // move to a specific unique monster though return; // this is not possible with eb at this point } if(NTA_KillMonster(GetLocaleString(2886))) // obvious { if(NTConfig_ClearPosition) NTA_ClearPosition(); /// after killing the intended mob, clear any trash in the immediate area NTSI_PickItems(); /// obvious } NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()"); // Clear the rest of the zone, though this line could be commented to skip that behavior NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END"); } So, as you can see, behavior can be fine-tuned to the end users liking. Pretty much everything should be scripted, such as (in this case) NTTMGR_TownManager could be opened up and the in-town behavior changed. I feel this would benefit both the devs and users, as it would allow the devs to only focus on the core and the community could write alot of the other functions themselves. Let me know what ya think. Phil Edited February 14, 2014 by philatio 1 Quote Share this post Link to post Share on other sites
philatio 5 Report post Posted October 27, 2014 Just thought Id bump this back up. Still think it would make the bot alot more functional and make Alk's job alot easier. I.E. He wouldnt have to fine tune everything to "try" and make it work sufficiently for everyone. People could fix minor issues with a simple edit. Many of the day to day complaints I always see could be handled by the community. Even the ability to write plugins that could essentially pause the bot, yet still have access to core functions, would be amazing. This is one thing that eb's competitors have a leg up on. Anyhow, good luck and may rng be always in your favor. Quote Share this post Link to post Share on other sites