Quote:
Originally Posted by matzekatze1
hoi, hab auch mal eine kurze frage und nach ewig langer suche nix gefunden ..
ich mach mit meiner blizz soso diablo, aber immer beim deSeis chickened der bot raus, weil er sich direkt in die minions und deSeis reinportet... kann man das bei dem einen gegner ausstellen, sodass er da zuerst die nicht immunen mobs legt???
danke
|
Schau dir mal
[Only registered and activated users can see links. Click Here To Register...] an, dort hatte ich mich schonmal dazu geäußert. ;)
Quote:
Originally Posted by -Nemesis1337-
@Muddy
ich möchte gerne nen eigenen Entrypoint für Craftonly machen.
D.h. er steht in Town und crafted.
Gibts ne möglichkeit das er sogar die City nach craftbaren Sachen durchsucht, d.h. wenn ich dort in der Town alle gems, jools, Runen usw. aufn Boden drop das er sich alles zusammensucht und vercraftet?
Der Entrypoint würde jetzt so aussehen:
Habs aus deinem MWRush genommen, da der ja wirklich nur die RushGame.ntj lädt.
Code:
/**
* This file was written by [Only registered and activated users can see links. Click Here To Register...]
* Check the programming section for updates and further scripts
* Last Update: 02/25/2011
*/
// D2NT Manager Command
const D2NT_MGR_LOADING = 1;
const D2NT_MGR_READY = 2;
const D2NT_MGR_LOGIN = 3;
const D2NT_MGR_CREATE_GAME = 4;
const D2NT_MGR_INGAME = 5;
const D2NT_MGR_RESTART = 6;
const D2NT_MGR_CHICKEN = 7;
const D2NT_MGR_PRINT_STATUS = 8;
const D2NT_MGR_PRINT_LOG = 9;
Include("libs/controlInfo.ntl");
Include("libs/common/NTCommon.ntl");
var ControlData = new controlInfo();
var LocationData = new Array("None", GetTickCount());
function NTMain()
{
var _ingame, _gameStartTicks, _locationName;
Delay(1000);
_ingame = false;
while(true)
{
if(me.ingame)
{
if(!_ingame)
{
RunGC();
if(Load("MWCraft/MWCraftGame.ntj"))
{
_ingame = true;
_gameStartTicks = GetTickCount();
if(me.playtype > 0)
NT_SendEventToOOG(D2NT_MGR_PRINT_LOG, "In Game [IP:" + me.gameserverip.split(".")[3] + "] (" + me.gamename + ((me.gamepassword) ? "//" + me.gamepassword : "") + ")", 0);
else
NT_SendEventToOOG(D2NT_MGR_PRINT_LOG, "In Game (" + me.gamename + ((me.gamepassword) ? "//" + me.gamepassword : "") + ")", 0);
}
}
NT_SendEventToOOG(D2NT_MGR_PRINT_STATUS, "In Game [IP:" + me.gameserverip.split(".")[3] + "] [" + MWC_ConvertTicksToTimeString(GetTickCount() - _gameStartTicks) + "]", 0);
Delay(500);
}
else
{
_locationName = ControlData.getLocation().name;
if(_locationName && LocationData[0] != _locationName)
{
LocationData[0] = _locationName;
LocationData[1] = GetTickCount();
}
if(_ingame)
_ingame = false;
NT_SendEventToOOG(D2NT_MGR_PRINT_STATUS, LocationData[0] + " [" + MWC_ConvertTicksToTimeString(GetTickCount() - LocationData[1]) + "]", 0);
Delay(500);
}
}
}
function NT_SendEventToOOG(locationId, statusString, pendingTime)
{
return SendCopyData("D2NT Manager", null, (locationId<<16)|pendingTime, statusString);
}
Und das Botscript sieht so aus:
Code:
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
MWC_Initialize();
if(!NTTM_CheckAct(me.act, true))
{
NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 18, me.act, true);
return;
}
NTTMGR_TownManager();
NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
Da er ja eig. nur den Townmanager ausführen muss reicht das ja.
Aber wie verändere ich den Townmove so das er am Stash nach Items scannt? :)
Achja und die MWCraftGame sieht so aus:
Code:
/**
* This file was modified by [Only registered and activated users can see links. Click Here To Register...]
* Check the programming section for updates and further scripts
* Last Update: 02/19/2011
*/
function NTMain()
{
SetStatusText("ÿc8Initializing...");
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);
NTT_GetCorpses();
if(Load("NTBot/bots/MWCraft.ntj"))
Print("ÿc8Running MWCraft.ntj");
ExitGame();
}
Kannst du mir vllt. irgendwelche Tips geben? :)
|
Zunächst mal brauchst du in deinem Bot Script eine Schleife. Der Rest ist definitiv etwas komplexer, weil das Aufheben halbwegs intelligent ablaufen sollte, um beispielsweise zu verhindern, dass der Char sein komplettes Inventar nur mit einer einzigen Art von Zutat füllt und damit folglich nicht Craften kann.
Und die Town Manager Funktion ist aus meiner Sicht zu allgemein, es bietet sich hier eher an mit elementareren Funktionen zu arbeiten, also gerade diese, die die Town Manager Funktion aufrufen würde, aber eben nur diese.
Ich schlage vor du erstellst dafür ein eigenes Thema, in dem wir die Sache im Detail diskutieren können, hier geht das unter. ;)
Ich melde mich dann dort, sowie ich Zeit finde, es gibt aber bestimmt auch noch andere Leute, die dir mit wertvollen Tipps behilflich sein können. :)
LG
Muddy