This is my NTBotGame.ntj file that will chicken even if hostiled in town, and print to your D2NT Manager "Someone Hostiled"
However, if you run 2xbots on the same manager this code doesn't chicken or if you run 2xManager on the same computer (yes even if everythings in it's own sandbox)...No matter HOW i scripted it (i tried over 180 variations) Nothing worked if using more than 1 bot/1 manager..

But for you Hardcore people like me, this works wonders and so far even those wp campers can't kill this
var CurScriptIndex = 0;
var LastScript = false;
var CloneDiabloString;
var CloneDiabloNotify = false;
function NTMain()
{
Delay(1000);
//Print("?c4[+] NTBot 4.1 [+]");
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
if(NTConfig_StartDelay > 0);
NTC_Delay(NTConfig_StartDelay);
SetUIState(0x0A, true);
NTT_GetCorpses();
if(NTConfig_Script.length > 0)
{
NTCU_InitCubing();
NTT_ClearInventory();
NTT_ClearBelt();
Load("NTBot/tools/NTToolsThread.ntj");
if(NTConfig_CheckCloneDiablo)
{
CloneDiabloString = GetLocaleString(11005);
RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);
}
RegisterEvent(EVENT_KEYDOWN, NT_KeyEvents);
RegisterEvent(EVENT_SCRIPTMSG, NT_ScriptMsgEvents);
Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
SetStatusText("Running " + NTConfig_Script[CurScriptIndex]);
while(!LastScript || CloneDiabloNotify)
{
NTC_Delay(500);
}
}
ExitGame();
}
function NT_GameMsgEvents(msg, type)
{
if(type == 4 && msg.indexOf(CloneDiabloString) != -1)
{
CloneDiabloNotify = true;
NTC_SendLogToOOG(NTC_LOG_COMMON, "?c4" + CloneDiabloString);
SetStatusText(CloneDiabloString);
me.maxgametime = 0;
NTC_StopScript(NTConfig_Script[CurScriptIndex]);
NTC_Delay(500);
NTTM_CheckAct();
}
else if(type == 8 && msg.indexOf(GetLocaleString(4026)) != -1)
{
NTConfig_LeaveWhenHostiled = true;
ExitGame();
NTC_SendLogToOOG(NTC_LOG_COMMON, "?E00000Someone Hostiled");
}
}
function NT_KeyEvents(keycode)
{
var _script;
switch(keycode)
{
case 19:
_script = NTC_FindScript(NTConfig_Script[CurScriptIndex]);
if(_script)
{
if(_script.running)
{
_script.Stop();
NTC_Delay(300);
ClickMap(NTC_CLICK_LUP, NTC_SHIFT_NONE, null);
SetStatusText("Stopped " + NTConfig_Script[CurScriptIndex]);
}
else
{
Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
SetStatusText("Running " + NTConfig_Script[CurScriptIndex]);
}
}
break;
}
}
function NT_ScriptMsgEvents(msg)
{
var _area;
switch(msg)
{
case "SCRIPT_END":
if(++CurScriptIndex < NTConfig_Script.length)
{
NTTM_CheckAct();
Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
SetStatusText("Running " + NTConfig_Script[CurScriptIndex]);
}
else
LastScript = true;
break;
default:
Print("?c1" + NTConfig_Script[CurScriptIndex] + " : " + msg + " failed");
_area = GetArea();
if(_area)
NTC_SendLogToOOG(NTC_LOG_COMMON, "?E00000" + NTConfig_Script[CurScriptIndex] + " : " + msg + " failed (" + _area.name + ")");
else
NTC_SendLogToOOG(NTC_LOG_COMMON, "?E00000" + NTConfig_Script[CurScriptIndex] + " : " + msg + " failed (unknown area)");
if(++CurScriptIndex < NTConfig_Script.length)
{
NTTM_CheckAct();
Load("NTBot/bots/" + NTConfig_Script[CurScriptIndex]);
SetStatusText("Running " + NTConfig_Script[CurScriptIndex]);
}
else
LastScript = true;
break;
}
}