jo also Dauer, Xp, Realtive Xp und Gold funktionieren jetzt , basierend auf der originalen NTBotGame.ntj ..
lvl up Nachricht muss ich noch gucken, aber nich jetzt :P
aber Muddy funktioniert bei dir die Anzeige für verbrauchte Pots & gesammelte Items ? selbst mit deiner BotGame wird mir da nie was von angezeigt
edit: errors geht auch nich
edit2: edit1 hat sich erledigt
jo also Dauer, Xp, Realtive Xp und Gold funktionieren jetzt , basierend auf der originalen NTBotGame.ntj ..
lvl up Nachricht muss ich noch gucken, aber nich jetzt :P
aber Muddy funktioniert bei dir die Anzeige für verbrauchte Pots & gesammelte Items ? selbst mit deiner BotGame wird mir da nie was von angezeigt
edit: errors geht auch nich
edit2: edit1 hat sich erledigt
Klar, bei mir funktioniert alles.
Das mit den gesammelten Items und Tränken kann natürlich nur funktionieren, wenn die anderen Scripte, die für diese Sachen zuständig sind, jeweils Daten an die NTBotGame.ntj schicken, dazu habe ich das ScriptMessagehandle entsprechend erweitert und werte etwaige einkommende Setter Nachrichten dann in mit der Funktion NT_EvaluateInputData() aus. Setzt natürlich vorraus, dass die anderen Script auch an der richtigen Stelle Daten senden.
Darüber hinaus zeigt die Statistik nur Daten an die auch verfügbar sind.
So wird Errors beispielsweise nur angezeigt wenn auch tasächlich Fehler aufgetreten sind, gesammelte Items werden nur angezeigt wenn auch Items eingesammelt worden sind usw.
Damit wird ein rieser Tooltip-Block vermieden, der dann nur aus Nullen besteht, denn die sind schließlich nicht sonderlich interessant.
jo also Dauer, Xp, Realtive Xp und Gold funktionieren jetzt , basierend auf der originalen NTBotGame.ntj ..
lvl up Nachricht muss ich noch gucken, aber nich jetzt :P
aber Muddy funktioniert bei dir die Anzeige für verbrauchte Pots & gesammelte Items ? selbst mit deiner BotGame wird mir da nie was von angezeigt
edit: errors geht auch nich
edit2: edit1 hat sich erledigt
kannst du bitte deinen versuch mal hochladen? wäre mega nett
jo, weil der potcount und itemcount ja auf 0 stehen bleibt, dann wird wohl in der SnagIt.ntj ein PickedItemsCount++; und ToolThread.ntj iwo n HpUsed++;, MpUsed++; & RvUsed++; reinkommen, habs nun an den unterschiedlichsten stellen eigebaut, klappt aber nich
würdest du den relevanten teil von der SnagIt posten ? das wäre kewl von dir
Quote:
Originally Posted by lortl
kannst du bitte deinen versuch mal hochladen? wäre mega nett
ist und bleibt aber Muddy´s
( Dauer, Xp, Realtive Xp & Gold funktionieren, basierend auf der originalen NTBotGame.ntj.. lvl up Nachricht ungetestet )
jo, weil der potcount und itemcount ja auf 0 stehen bleibt, dann wird wohl in der SnagIt.ntj ein PickedItemsCount++; und ToolThread.ntj iwo n HpUsed++;, MpUsed++; & RvUsed++; reinkommen, habs nun an den unterschiedlichsten stellen eigebaut, klappt aber nich
würdest du den relevanten teil von der SnagIt posten ? das wäre kewl von dir
ist und bleibt aber Muddy´s
( Dauer, Xp, Realtive Xp & Gold funktionieren, basierend auf der originalen NTBotGame.ntj.. lvl up Nachricht ungetestet )
Nein, dort kommt PickedItemsCount++ etc. rein, denn diese Variablen sind dort überhaupt nicht definiert. Das ist ja der Witz dabei, deshalb läuft das ganze über ScriptMessageEvents.
Damit das funktioniert musst du aber auch die ankommenden "Setter"-Nachrichten auswerten können. Wie das geht sollte eigentlicgh ganz gut in meinen Funktionen ersichtlich sein.
Die Setter Nachrichten selbst sehen dann in etwa so aus:
Wichtig ist die klare Trennung, hier mit "_", damit man den String splitten kann.
Danach legt dann der zweite Teil fest auf was sich die "Setter"-Nachricht bezieht.
Das letzte ist der übergebene Wert als String. Im Normalfall würde jetzt ein Cast nach Integer durchgeführt, aber wenn die "Setter"-Nachrichten ohnehin immer nur einer Zähler Inkrementierung um 1 entsprechen, braucht man natürlich nicht casten. Aber wenn dort statt der 1 irgendeine Zahl steht, ist ein Cast natürlich unabdingbar.
Du kannst ja mal nach Script Messages in der NTSnagIt.ntl suchen und dir anschauen, wie ich das umgesetzt habe.
Dieser ganze Statistik Teil ist an sich denkbar simpel und somit leicht verständlich.
also nur die speicherung nicht das scrippt selbst^^
wenn ichs richtig verstanden habe muss ich ins drücken(einfg?) und dann wird das komplette inventar geloggt aber wo wird es geloggt?
Genau, wobei du in der Charconfig festlegen kannst/darfst/musst ob du lieber nach XML oder TXT loggen willst. XML ist optisch schicker, TXT eignet sich besser zum Rauskopieren. Ich meine Standard ist TXT...
Es wird nicht nur das Inventar geloggt, sondern sämtliche Items, die sich auf dem Char befinden, mit Ausnahme des Gürtelinhaltes.
Die Datei wird dann entsprechend im Ordner logs/stashlogs erstellt und trägt den Namen des entsprechenden Chars. Das alte Logfile wird bei jedem Drücken der dazugehörigen Taste überschrieben.
Wenn du Items in den Cube legst wird dir zudem das Itemlevel der Items die sich im Cube befinden angezeigt, somit ist das ganze auch als Itemlevelviewer nutzbar.
Übrigens ist das Script selber auch relativ einfach aufgebaut, das kann ich dir auch gerne erklären.
charconfig also gehts nur wenn ich botte... wollte eigentlich mullis damit scannen aber scheint nicht zu gehen oder?
Dann verbaue ich das die Tage mal in dem Maphack, dann geht das auch ohne Charconfig.
Weiss aber nicht wann das klappt, für heute ist erstmal feierabend und morgen bin ich relativ lange in der FH, ich kann nichts versprechen, mache es aber demnächst.
Quote:
Originally Posted by Diablofarmer
mit deinem leitfaden wars direkt viel leichter
dankeschön, pots funktionieren nun auch, items kommen dann wohl morgen
Gerne doch, ich glaube ich sollte umschulen auf Guide Autor, hatte ohnehin mit dem Gedanken gespielt, mal eine kleine Programmiereinführung zu schreiben, war aber bisher unsicher, ob überhaupt Interesse für sowas vorhanden ist.
Dann verbaue ich das die Tage mal in dem Maphack, dann geht das auch ohne Charconfig.
Weiss aber nicht wann das klappt, für heute ist erstmal feierabend und morgen bin ich relativ lange in der FH, ich kann nichts versprechen, mache es aber demnächst.
Gerne doch, ich glaube ich sollte umschulen auf Guide Autor, hatte ohnehin mit dem Gedanken gespielt, mal eine kleine Programmiereinführung zu schreiben, war aber bisher unsicher, ob überhaupt Interesse für sowas vorhanden ist.
Lg
Muddy
erstmal danke das du für mich diesen aufwand betreibst.
und interesse an einer programiereinführung haben hier mitsichherheit einige^^
Hi Muddy
Danke erstmal für deine Mühen!!! wollte mal fragen ob es theoretisch möglich ist, dass du ein Script wie dieses hier:
Code:
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
var _real;
var _waypoint;
var _deltax, _deltay;
var _deltax2, _deltay2;
var _attackpos = [5797, 1514, 5795, 1490, 5787, 1491, 5797, 1514, 5781, 1514];
var _attackposs = [me.areaid, +16, +4,]
var _attackposss = [me.areaid, +12, +4]
_real = GetPresetUnits(me.areaid, 324);
NTA_Initialize();
me.maxgametime = 0;
NTTM_CheckAct();
NTTMGR_TownManager();
NTTM_TownMove("waypoint");
NTM_TakeWaypoint(83);
NTP_DoPrecast(true);
_waypoint = NTC_GetUnit(NTC_UNIT_OBJECT, GetLocaleString(22526), 5);
_deltax = _waypoint.x - 5699;
_deltay = _waypoint.y - 1584;
_deltax2 = _attackposs;
_deltay2 = _attackposss;
for(var i = 0 ; i < _attackposs.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackposs[i-2], _attackposs[i-2]);
}
for(var i = 0 ; i < _attackposss.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackposss[i-2], _attackposss[i-3]);
}
NT_FindDurance();
NTM_MoveTo(me.areaid, 5775+_deltax, 1545+_deltay);
for(var i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i]+_deltax, _attackpos[i+1]+_deltay);
NTA_ClearPosition(25)
//NTC_PingDelay(200);
}
NTM_MakeTP();
NTM_UsePortal("BluePortal");
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
function NT_FindDurance()
{
var _unit;
_unit = GetPresetUnits(me.areaid, NTC_UNIT_TILE);
for(var i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 64)
{
_todurx = (_unit[i].roomx*5+_unit[i].x);
_todury = (_unit[i].roomy*5+_unit[i].y);
}
}
}
function NTM_MoveToObject(areaid, unittype, low, high, offsetx, offsety, clearpath)
{
var _unit;
if(arguments.length < 4)
high = low;
if(arguments.length < 5)
{
offsetx = 0;
offsety = 0;
}
if(arguments.length < 7)
clearpath = false;
_unit = GetPresetUnits(areaid, unittype);
if(!_unit)
return false;
for(var i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id >= low && _unit[i].id <= high)
return NTM_MoveTo(areaid, _unit[i].roomx*5+_unit[i].x+offsetx, _unit[i].roomy*5+_unit[i].y+offsety, 2, clearpath);
}
return false;
}
function NTC_GetUnit(unittype, classid)
{
var _unit;
for(var i = 0 ; i < 2 ; i++)
{
if(arguments.length < 2)
_unit = GetUnit(unittype);
else
_unit = GetUnit(unittype, classid);
if(_unit)
return _unit;
if(i < 1)
NTC_PingDelay(200);
}
return false;
}
copyright hat eon.
in deinen Bot einbaust, also für einen Barbaren ohne Tele Goldruns sollte ja auch so ca. 3 Min dauern oder er idled die andere Zeit oder versucht zu shoppen? Das wäre denke ich mal nützlich und würde das Goldprinzip verstärken.
-jammy
Edit1: Eine Unterstützung für Barbaren die mit WarCry den Gegner stunnen und den Merc alles killen lassen, wäre auch noch super. Dann hättest du das Nonplusultra-Gold Skript *MotivationAufbau*
Edit2: Wie sieht es mit einem antihostile feature aus? also sprich dass versucht wird, auf den Gegner zu telen und ich selbst zu erledigen.
Hi Muddy
Danke erstmal für deine Mühen!!! wollte mal fragen ob es theoretisch möglich ist, dass du ein Script wie dieses hier:
Code:
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
var _real;
var _waypoint;
var _deltax, _deltay;
var _deltax2, _deltay2;
var _attackpos = [5797, 1514, 5795, 1490, 5787, 1491, 5797, 1514, 5781, 1514];
var _attackposs = [me.areaid, +16, +4,]
var _attackposss = [me.areaid, +12, +4]
_real = GetPresetUnits(me.areaid, 324);
NTA_Initialize();
me.maxgametime = 0;
NTTM_CheckAct();
NTTMGR_TownManager();
NTTM_TownMove("waypoint");
NTM_TakeWaypoint(83);
NTP_DoPrecast(true);
_waypoint = NTC_GetUnit(NTC_UNIT_OBJECT, GetLocaleString(22526), 5);
_deltax = _waypoint.x - 5699;
_deltay = _waypoint.y - 1584;
_deltax2 = _attackposs;
_deltay2 = _attackposss;
for(var i = 0 ; i < _attackposs.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackposs[i-2], _attackposs[i-2]);
}
for(var i = 0 ; i < _attackposss.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackposss[i-2], _attackposss[i-3]);
}
NT_FindDurance();
NTM_MoveTo(me.areaid, 5775+_deltax, 1545+_deltay);
for(var i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i]+_deltax, _attackpos[i+1]+_deltay);
NTA_ClearPosition(25)
//NTC_PingDelay(200);
}
NTM_MakeTP();
NTM_UsePortal("BluePortal");
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
function NT_FindDurance()
{
var _unit;
_unit = GetPresetUnits(me.areaid, NTC_UNIT_TILE);
for(var i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 64)
{
_todurx = (_unit[i].roomx*5+_unit[i].x);
_todury = (_unit[i].roomy*5+_unit[i].y);
}
}
}
function NTM_MoveToObject(areaid, unittype, low, high, offsetx, offsety, clearpath)
{
var _unit;
if(arguments.length < 4)
high = low;
if(arguments.length < 5)
{
offsetx = 0;
offsety = 0;
}
if(arguments.length < 7)
clearpath = false;
_unit = GetPresetUnits(areaid, unittype);
if(!_unit)
return false;
for(var i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id >= low && _unit[i].id <= high)
return NTM_MoveTo(areaid, _unit[i].roomx*5+_unit[i].x+offsetx, _unit[i].roomy*5+_unit[i].y+offsety, 2, clearpath);
}
return false;
}
function NTC_GetUnit(unittype, classid)
{
var _unit;
for(var i = 0 ; i < 2 ; i++)
{
if(arguments.length < 2)
_unit = GetUnit(unittype);
else
_unit = GetUnit(unittype, classid);
if(_unit)
return _unit;
if(i < 1)
NTC_PingDelay(200);
}
return false;
}
copyright hat eon.
in deinen Bot einbaust, also für einen Barbaren ohne Tele Goldruns sollte ja auch so ca. 3 Min dauern oder er idled die andere Zeit oder versucht zu shoppen? Das wäre denke ich mal nützlich und würde das Goldprinzip verstärken.
-jammy
Edit1: Eine Unterstützung für Barbaren die mit WarCry den Gegner stunnen und den Merc alles killen lassen, wäre auch noch super. Dann hättest du das Nonplusultra-Gold Skript *MotivationAufbau*
Edit2: Wie sieht es mit einem antihostile feature aus? also sprich dass versucht wird, auf den Gegner zu telen und ich selbst zu erledigen.
Ich soll das Script dort reinkopieren? Oder ich soll selber ein schickes Script dafür schreiben?
Ersteres werde ich nicht machen, da mir die Form bzw. der Stil nicht gefällt.
Was zweiteres angeht müsste ich mal schauen, bin an sich derzeit mit meinem Follow/Stalker/Bodyguard-Script beschäftigt, was aber definitiv noch ne Weile dauern wird. Andererseits ist ein Travi Script nicht sonderlich anspruchsvoll, vielleicht schiebe ich das ein, obwohl mir das selber wenig nützt.
Das mit dem Warcry müsste ich mir mal anschauen, das schreit eigentlich nach einem halbwegs intelligenten Algorithmus, vielleicht mache ich auch dazu was.
Letzteres gibt es schon soweit ich weiss.
Ich muss nur gucken, wann ich dazu komme, denn bei mir startet demnächst die Klausurphase und das Studium hat natürlich Priorität vor allem anderen.
Vorschläge sind aber geistig notiert, danke erstmal.
Hehe reinkopieren nicht Das könnt ich ja auch machen, aber die Qualität deines Skriptes dürfte um ein vielfaches besser sein und ich steh auf qualitativ gute Skripts :P
Genauso wie es bisher irgendwie kein komplett zufriedenstellendes Diaskript gibt mMn Müsste mich da echt mal reinarbeiten, aber vllt warte ich da lieber deinen Guide ab
wenn du Details zum traviscript willst, pm mich am besten
-jammy
Edit1: Ingame hat der Char gerade ne Um gepicked, die Meldung erschien auch. Im Itemlog und auch im XML ist allerdings nichts diesbezüglich zu finden. Werden Runen dort nicht geloggt oder woran könnte das liegen?
Hehe reinkopieren nicht Das könnt ich ja auch machen, aber die Qualität deines Skriptes dürfte um ein vielfaches besser sein und ich steh auf qualitativ gute Skripts :P
Genauso wie es bisher irgendwie kein komplett zufriedenstellendes Diaskript gibt mMn Müsste mich da echt mal reinarbeiten, aber vllt warte ich da lieber deinen Guide ab
wenn du Details zum traviscript willst, pm mich am besten
-jammy
Edit1: Ingame hat der Char gerade ne Um gepicked, die Meldung erschien auch. Im Itemlog und auch im XML ist allerdings nichts diesbezüglich zu finden. Werden Runen dort nicht geloggt oder woran könnte das liegen?
Ich komme zwar frühestens am Wochenende dazu, aber schreib mir ruhig, vielleicht hast du ja irgendwelche Ideen, die ich noch nicht selbst im Hinterkopf habe.
Das mit der UM liegt daran, dass du UMs zu MALs cubst. Jedenfalls gibt deine Config das vor, Items mit einem Nip Check Wert von 2 (== Cubing) werden aktuell nicht geloggt. Mal schauen ob ich das noch umbaue, ist an sich eine Kleinigkeit, aber man müsste wenigstens irgendwie eine gewisse Eingrenzung machen, ich denke nämlich, dass nich jeder flawless Amethyst im Log stehen sollte.
[Release] D2NT 3.1 1.13c 07/17/2016 - Diablo 2 - 91 Replies hi,
hab eben den d2nt3.1 gefunden. ein neues baba script is dabei.
release thread eon
D2NT3.1
[Realease] Muddy's Waypoint Catcher 08/21/2013 - Diablo 2 Programming - 46 Replies Moin zusammen,
hier mal die erste Release Version eines kleinen Scripts genannt Waypoint Catcher. Das ganze ist jetzt nichtmal 24h alt, dementsprechend sind vermutlich noch einige Bugs vorhanden. Hinweise dazu nehme ich gerne entgegen. ;)
Features:
- Suchen sämtlicher Wegpunkte mit Ausnahme, wobei in Akt ein durch Probleme im Jail Bereich nach dem Wegpunkt Outer Cloister abgebrochen wird
- Wahlweise auch mit TP an jedem gefundenen Wp, sodass man damit auch anderen (nicht-Bots) die...
[D2NT] Long Dia Release 05/10/2011 - Diablo 2 Programming - 28 Replies Ein kleines Script für diablo, es startet beim eingang macht ein tp cleart den weg zum star macht am star noch ein tp dann läufts wie das normale nur cleart es schöner :)
hoffe euch gefällts ich habs noch nicht wirklich getestet (2-3 runs) bugs können gerne hier gepostet werden verbesserungs vorschläge auch :D
installation:
1.)Script in den Bot ordner kopieren
2.)Script im editor oder vergleichbaren öffnen
3.) Msg´s anpassen (ist nicht schwer)
4.) in der char config die zeile...
Muddy's D2NT Help 07/29/2010 - Diablo 2 - 3 Replies hi i just started to use the bot it work's great.
how do i set up the skill's i use on my Sorc and pick up itme's?
.....
if you reply to this post please use english