Register for your free account! | Forgot your password?

You last visited: Today at 16:41

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

Advertisement



[Release] Muddy's D2NT

Discussion on [Release] Muddy's D2NT within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old 08/30/2011, 22:03   #3121
 
elite*gold: 0
Join Date: May 2009
Posts: 132
Received Thanks: 4
ich bin sicher das wurde scho gepostet habe aber weder zeit noch lust 300 seiten danach abzusuchen...^^
hab d2 grade neu installiert will den bot starten hab diablo auf englisch gestellt der bot hat vor der neuinstallation noch einwandfrei funktioniert (muddys d2nt) aber jetzt kommt sobald ich den "run" button klicke die fehlermeldung:
Diablo II Error
Halt
Location : , line #95
Expression : Unrecoverable internal error 00337f7e
woran liegt das was muss ich tun???


edit: habs grade nochmal probiert udn jetzt kommt nichtmal mehr ne fehlermeldung sondern es tut sich einfach GAR NICHTS mehr wenn ich den bot anmachen will da steht im status nur loading und mehr passiert net-.-
HILFE :'(





edit2: jetzt geht diablo gar nicht mehr an und wenn ichs starten will kommt die o.g. fehlermeldung-.-
mein gott ich könnte kotzen wer kann mir helfen??
noch was dazu hatte bei der installation schon probleme und da stand play cd einlegen bei der lod installation obwohl die drin war...
3mal rausgenommen und gewischt immer die selbe meldung und irgendwann gings dann weiter....
diablo hab ich direkt nach der installation einmal erfolgreich gestartet konnte auch in meinen bnet account nach dem patch download bin aber in kein spiel reingegangen weil ich mir sicher war es funktioniert....
diese prozedur hab ich jetzt 3 mal hinter mir und diablo funzt net mehr ich bin verzweifelt woran kann das liegen?-.-
idschen is offline  
Old 08/30/2011, 22:45   #3122
 
elite*gold: 0
Join Date: Aug 2011
Posts: 16
Received Thanks: 0
Quote:
Originally Posted by Muddy_Waters View Post
Ich würde mal meinen, weil sie damit nichts verdienen, wenn sie Leute einstellen, die sich darum explizit kümmern. Sieh es mal aus wirtschaftlicher Sicht, sofern die davon nichts haben, warum investieren?
Die Logik scheitern in dem Sinne, dass die GMs aufm privaten Server noch weniger "verdienen".

Noch ne Frage. Ist es möglich dem Bot Wegpunkte bzw. Waypoints zu geben, die er folgt und alle auf dem Weg befindende Monster abschlachtet? Also so wie alle Boss runs, nur dass ich selbst Wegpunkte bzw. Gebiete festlege?
herda85 is offline  
Old 08/30/2011, 22:58   #3123
 
elite*gold: 0
Join Date: Jun 2009
Posts: 35
Received Thanks: 4
Was muss ich entfernen, damit der Bot sofort in Duriels Kammer geht und nicht noch vorher die Mobs killt?

Code:
/**
*	This file was modified by [email][/email]
*	Check the programming section for updates and further scripts
*	Last Update: 16:23 17.08.2011
*/

function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

	NT_LoadConfig();
	NTSI_LoadNIPFiles("NTBot/item_configs");

	MWC_Initialize();
	
	var _tombs, _unit;

	if(!NTTM_CheckAct(me.act, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 20, me.act, true);
		return;
	}

	NTTMGR_TownManager();

	if(!NTTM_TownMove("waypoint"))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 28, "waypoint");
		return;
	}

	if(!NTM_TakeWaypoint(46))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 34, 46);
		return;
	}

	NTP_DoPrecast(true);

	_tombs = GetRoom();

	if(!_tombs)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", GetRoom, 42);
		return;
	}

	if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_TILE, _tombs.correcttomb - 28, 0, 0, MWConfig_ClearPathSpectypes.Duriel > 0, MWConfig_ClearPathSpectypes.Duriel))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveToPresetUnit, 50, me.areaid, NTC_UNIT_TILE, _tombs.correcttomb - 28, 0, 0, MWConfig_ClearPathSpectypes.Duriel > 0, MWConfig_ClearPathSpectypes.Duriel);
		return;
	}

	_unit = NTC_FindUnit(NTC_UNIT_TILE, _tombs.correcttomb - 28, 5);

	if(!_unit)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTC_FindUnit()", NTC_FindUnit, 58, NTC_UNIT_TILE, _tombs.correcttomb - 28, 5);
		return;
	}

	if(!NTM_TakeStair(_unit.subareaid))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeStair, 64, _unit.subareaid);
		return;
	}

	if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 152, -2, 2, MWConfig_ClearPathSpectypes.Duriel > 0, MWConfig_ClearPathSpectypes.Duriel))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveToPresetUnit, 70, me.areaid, NTC_UNIT_OBJECT, 152, -2, 2, MWConfig_ClearPathSpectypes.Duriel > 0, MWConfig_ClearPathSpectypes.Duriel);
		return;
	}

	if(NTConfig_ClearPosition)
		NTA_ClearPosition(20, true);

	if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTMGR_CheckSafe, 79, NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
		return;
	}

	NTC_FindUnit(NTC_UNIT_OBJECT, 100, 10);

	if(!NTM_TakeUnit(NTC_UNIT_OBJECT, 100))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeUnit, 87, NTC_UNIT_OBJECT, 100);
		return;
	}

	if(!NTA_KillMonster(211))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTA_KillMonster, 93, 211);
		return;
	}

	NTSI_PickItems();
		
	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
thx
zipfelq89 is offline  
Old 08/30/2011, 23:14   #3124
 
elite*gold: 0
Join Date: May 2010
Posts: 212
Received Thanks: 40
Quote:
Originally Posted by herda85 View Post
Die Logik scheitern in dem Sinne, dass die GMs aufm privaten Server noch weniger "verdienen".

Noch ne Frage. Ist es möglich dem Bot Wegpunkte bzw. Waypoints zu geben, die er folgt und alle auf dem Weg befindende Monster abschlachtet? Also so wie alle Boss runs, nur dass ich selbst Wegpunkte bzw. Gebiete festlege?
Ich sehe Idealisten, die zeigen dir, was sie können.

Und ja, natürlich kannst du beliebig Wegpunkte vorgeben und verändern.
In allen Areascripts sind sie ja vorgegeben. Sinnvoll sind die i. d. R. nur für Telechars. Es gibt hier allerdings ein Script für das Chaos Sanktuarium.
Gedacht für Classic CS runs mit Fußgängern als Leechfighter. Musst mal bissel suchen.
In Lod natürlich nicht brauchbar. Viel zu langsam.
fred9x9 is offline  
Thanks
1 User
Old 08/30/2011, 23:19   #3125
 
elite*gold: 0
Join Date: Aug 2011
Posts: 16
Received Thanks: 0
Quote:
Originally Posted by fred9x9 View Post
Ich sehe Idealisten, die zeigen dir, was sie können.

Und ja, natürlich kannst du beliebig Wegpunkte vorgeben und verändern.
In allen Areascripts sind sie ja vorgegeben. Sinnvoll sind die i. d. R. nur für Telechars. Es gibt hier allerdings ein Script für das Chaos Sanktuarium.
Gedacht für Classic CS runs mit Fußgängern als Leechfighter. Musst mal bissel suchen.
In Lod natürlich nicht brauchbar. Viel zu langsam.
1. Ich will, dass der Bot bestimmte Bereiche saübert. Von der Funktion her kann er das, macht aber in vorgefertigten Bereichen. Ich will z.B. dass er die ersten 3 Bereiche saübert. Wir haben AreaID von allen Bereichen, ich weiss aber nicht, wie man Scripts dafür schreibt. Ich kann C/C++ und verstehe den Code. Ich weiss aber nicht, was einzelne Funktionen machen bzw. wie die Aufbau des Ablaufs funktioniert. Wie gesagt, ich würde selbst den Skript für die Areas schreiben, brauche aber Hilfe mit der Aufbau.

2. Habs versucht den Bot mitm Druid zu laufen, leider weiss er nicht wie man Wölfe summont. Gibt es einen workaround dafür?

3. Mein Bot als Sorc läuft noch ohne Teleport. Das Problem ist - sie greift die Monster die sie sieht nicht gleich an, sondern wenn sie ihren Waypoint erreicht hat. Öfters wird sie einfach gekillt, weil sie wie blöd alle Monster ignoriert und wild zum Waypoint läuft. Wie zwinge ich sie dazu, Monster auf Sicht anzugreifen?
Der Algorithmus soll so ausschauen:
Checke ob Monster in der Nähe sind. Wenn ja -> angreifen.
Restliche Routine.
Ist es möglich? Falls ja - wie?

3.1 Semi Bug. Ich laufe, wie gesagt, ohne Teleport. Was öfters passiert, dass der Bot zum Waypoint läuft und für 30s stehen bleibt, wobei er auch Monster ignoriert, die ihn angreifen.

ps. Ironie folgt. Habs bis jetzt aufm privaten Server gespielt, 500 Leute am Tag. Nicht viel. Gestern habens mich fürs botten gebannt. Heute auf Ebay Keys eingekauft. Das Spielen ist unmöglich da in jedem Game Bots sind die mein screen vollspammen. Aufm privaten keine Bots, man findet gleich n game fürs joinen. Bei Blizzard lauter Bots die es fast unmöglich machen, jemanded zu joinen. Gibt mir meine 11€ zurück. WTF Blizzard???
herda85 is offline  
Old 08/31/2011, 13:25   #3126
 
elite*gold: 0
Join Date: May 2010
Posts: 212
Received Thanks: 40
Quote:
Originally Posted by herda85 View Post
1. Ich will, dass der Bot bestimmte Bereiche saübert. Von der Funktion her kann er das, macht aber in vorgefertigten Bereichen. Ich will z.B. dass er die ersten 3 Bereiche saübert. Wir haben AreaID von allen Bereichen, ich weiss aber nicht, wie man Scripts dafür schreibt. Ich kann C/C++ und verstehe den Code. Ich weiss aber nicht, was einzelne Funktionen machen bzw. wie die Aufbau des Ablaufs funktioniert. Wie gesagt, ich würde selbst den Skript für die Areas schreiben, brauche aber Hilfe mit der Aufbau.

2. Habs versucht den Bot mitm Druid zu laufen, leider weiss er nicht wie man Wölfe summont. Gibt es einen workaround dafür?

3. Mein Bot als Sorc läuft noch ohne Teleport. Das Problem ist - sie greift die Monster die sie sieht nicht gleich an, sondern wenn sie ihren Waypoint erreicht hat. Öfters wird sie einfach gekillt, weil sie wie blöd alle Monster ignoriert und wild zum Waypoint läuft. Wie zwinge ich sie dazu, Monster auf Sicht anzugreifen?
Der Algorithmus soll so ausschauen:
Checke ob Monster in der Nähe sind. Wenn ja -> angreifen.
Restliche Routine.
Ist es möglich? Falls ja - wie?

3.1 Semi Bug. Ich laufe, wie gesagt, ohne Teleport. Was öfters passiert, dass der Bot zum Waypoint läuft und für 30s stehen bleibt, wobei er auch Monster ignoriert, die ihn angreifen.

ps. Ironie folgt. Habs bis jetzt aufm privaten Server gespielt, 500 Leute am Tag. Nicht viel. Gestern habens mich fürs botten gebannt. Heute auf Ebay Keys eingekauft. Das Spielen ist unmöglich da in jedem Game Bots sind die mein screen vollspammen. Aufm privaten keine Bots, man findet gleich n game fürs joinen. Bei Blizzard lauter Bots die es fast unmöglich machen, jemanded zu joinen. Gibt mir meine 11€ zurück. WTF Blizzard???
Zu 3
Bot bewegt sich mit z. B. "NTM_MoveTo(me.areaid, xxxx, xxxx);"
Erweitere das auf "NTM_MoveTo(me.areaid, xxxx, xxxx, 0, true);"
Dann sollte er alles in Standardreichweite attackieren.
Ab und zu gibts halt ein Problem mit "collision flag". Aber es funzt recht gut.
fred9x9 is offline  
Thanks
1 User
Old 08/31/2011, 13:26   #3127
 
elite*gold: 0
Join Date: Oct 2010
Posts: 34
Received Thanks: 8
Okay habe mich gewundert wegen dem Automule, wenn ich ein Game erstelle erscheint jedoch jetzt : Reference Error: MWConfig_BeltTypeColQuantity is not defined. Die Char Config ist exakt die gleiche wie bei Version 1.2, habe auch schon probiert die Tränke einfach zu entfernen, jedoch keine Lösung gefunden. Ich benutze die Standardeinstellung bei den Tränken, habe also NIX verändert. Suchfunktion ergab auch keine Treffer. Gibts da eine Lösung ? Danke schonmal

Okay habs, hat sich erledigt, die 1.2 cfg funzt nicht weil es jetzt MWConfig_BeltColType heißt ^^
3rr0r_84 is offline  
Old 08/31/2011, 13:58   #3128
 
elite*gold: 0
Join Date: Sep 2010
Posts: 38
Received Thanks: 16
Baal Attack-Verhalten der Leech-Sorc

Hallo Muddy,

ich habe eine Frage zum Leech-Script der Sorc.

Bei Lanara (daher stammt ja dein Import-Script) steht die Sorc beim Leech-Fight oben auf dem Thron und feuert sofort Ihren Attak ab.

Bei dir telt die Soso immer in den Mob und dann wieder zurück und feuert erst dann.

Wie kann ich das einstellen?

Vielen Dank.

Anbei das File von Lanara:

HTML Code:
function NTMain()
{
   
   Include("libs/common/NTCommon.ntl");
   NTC_IncludeLibs();
   NTC_IncludeConfig("NTBot/char_configs");

   NT_LoadConfig();
   NTSI_LoadNIPFiles("NTBot/item_configs");

   NTA_Initialize(); // 10

   if(!NTTM_CheckAct())
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
      return;
   }

   if(me.areaid != 109)
   {
   if(!NTTM_TownMove("waypoint"))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
      return;
   }

   if(!NTM_TakeWaypoint(109))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
      return;
   }
   }
       
   NTTMGR_TownManager();
   
   NTTM_TownMove("portalspot");

   for(i = 0; i <= 100; i++)
   {
      if(NTC_InMyParty(NTConfig_Leader))
         break;

      Delay(200);
   }   

   while(me.areaid == 109 && NTC_InMyParty(NTConfig_Leader))
   {
      NTM_UsePortal("BluePortal", 131, NTConfig_Leader); // 50
      Delay(1000);
       
   }
   
   NTP_DoPrecast(true);

   while(NTC_InMyParty(NTConfig_Leader))
   {


   NT_ClearThroneInt();

   while(1)
   {
      if(me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN)
         NTM_MoveTo(me.areaid, 15092, 5028);
      else
         NTM_MoveTo(me.areaid, 15092, 5040);

      if(me.GetState(2))
         NTC_PutSkill(109, NTC_HAND_RIGHT);

      for(i = 0 ; i < 6 ; i++)
      {
         _wave = NT_ThroneCheckInt();
         if(_wave > 0)
            break;

         NTC_Delay(500);
      }

      _starttick = GetTickCount();

      while(_wave == 0)
      {
         if(!NT_ThronePreAttackInt())
            NTC_Delay(200);

         if(GetTickCount()-_starttick > 25000)
         {
            NT_ClearThroneInt();

            _starttick = GetTickCount();
         }

         _wave = NT_ThroneCheckInt();
      }

      switch(_wave)
      {
      case 1:
         NTA_ClearPosition(40, true, 1);
         NTP_DoPrecast(true);
         break;
      case 3:
         NTA_ClearPosition(40, true, 2);
         break;
      case 4:
         NTA_ClearPosition(40, true, 2);
         break;
      case 5:
         NTA_ClearPosition(40, true);
         break;
      default:
         NTA_ClearPosition(40, true, 1);
         break;
      }

      if(_wave == 5)
         break;
   }

   if(NTConfig_KillBaal)
   {
      var _portal;

      if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()");
         return;
      }

      NTM_MoveTo(me.areaid, 15092, 5010);

      NTP_DoPrecast(true);

      while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
         NTC_Delay(500);

      _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);

      if(!_portal)
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTC_FindUnit()");
         return;
      }

      if(!NTM_UsePortal("Portal", 132, null, _portal))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTM_UsePortal()");
         return;
      }

      NTM_MoveTo(me.areaid, 15138, 5916);

      if(!NTA_KillMonster(544))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
         return;
      }

      NTSI_PickItems();
   }


   }


   NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");

}


// Internal function
function NT_ClearThroneInt()
{
   var _attackpos = [15112, 5068, 15075, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];

   for(var i = 0 ; i < _attackpos.length ; i += 2)
   {
      NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

      NTA_ClearPosition(25, true, 2);
   }
}

function NT_ThroneCheckInt()
{
   var _monster;

   if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
      return 5;

   _monster = NTC_FindUnit(NTC_UNIT_MONSTER);

   if(_monster)
   {
      do
      {
         if(NTA_IsValidMonster(_monster))
         {
            if(_monster.classid == 23 || _monster.classid == 62)
               return 1;

            if(_monster.classid == 105 || _monster.classid == 381)
               return 2;

            if(_monster.classid == 557)
               return 3;

            if(_monster.classid == 558)
               return 4;

            if(_monster.classid == 571)
               return 5;
         }
      } while(_monster.GetNext());
   }

   return 0;
}

function NT_ThronePreAttackInt()
{
   if(me.classid == NTC_CHAR_CLASS_SORCERESS)
   {
      if(NTConfig_AttackSkill[3] == 56 || NTConfig_AttackSkill[3] == 59)
         return NTC_CastSkill(NTConfig_AttackSkill[3], 0, 15092, 5028);
   }
   else if(me.classid == NTC_CHAR_CLASS_PALADIN)
   {
      if(NTConfig_AttackSkill[3] == 112)
      {
         if(NTConfig_AttackSkill[4] > 0)
            NTC_PutSkill(NTConfig_AttackSkill[4], NTC_HAND_RIGHT);

         return NTC_CastSkill(NTConfig_AttackSkill[3], 2);
      }
   }

   return false;
}
Bastian74 is offline  
Old 08/31/2011, 14:41   #3129
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,652
Quote:
Originally Posted by idschen View Post
ich bin sicher das wurde scho gepostet habe aber weder zeit noch lust 300 seiten danach abzusuchen...^^
hab d2 grade neu installiert will den bot starten hab diablo auf englisch gestellt der bot hat vor der neuinstallation noch einwandfrei funktioniert (muddys d2nt) aber jetzt kommt sobald ich den "run" button klicke die fehlermeldung:
Diablo II Error
Halt
Location : , line #95
Expression : Unrecoverable internal error 00337f7e
woran liegt das was muss ich tun???


edit: habs grade nochmal probiert udn jetzt kommt nichtmal mehr ne fehlermeldung sondern es tut sich einfach GAR NICHTS mehr wenn ich den bot anmachen will da steht im status nur loading und mehr passiert net-.-
HILFE :'(





edit2: jetzt geht diablo gar nicht mehr an und wenn ichs starten will kommt die o.g. fehlermeldung-.-
mein gott ich könnte kotzen wer kann mir helfen??
noch was dazu hatte bei der installation schon probleme und da stand play cd einlegen bei der lod installation obwohl die drin war...
3mal rausgenommen und gewischt immer die selbe meldung und irgendwann gings dann weiter....
diablo hab ich direkt nach der installation einmal erfolgreich gestartet konnte auch in meinen bnet account nach dem patch download bin aber in kein spiel reingegangen weil ich mir sicher war es funktioniert....
diese prozedur hab ich jetzt 3 mal hinter mir und diablo funzt net mehr ich bin verzweifelt woran kann das liegen?-.-
Dein D2 ist aber schon englisch, oder? Denn die Fehlermeldung deutet start darauf hin, dass das nicht der Fall ist...

Quote:
Originally Posted by zipfelq89 View Post
Was muss ich entfernen, damit der Bot sofort in Duriels Kammer geht und nicht noch vorher die Mobs killt?

Code:
/**
*	This file was modified by [email][/email]
*	Check the programming section for updates and further scripts
*	Last Update: 16:23 17.08.2011
*/

function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

	NT_LoadConfig();
	NTSI_LoadNIPFiles("NTBot/item_configs");

	MWC_Initialize();
	
	var _tombs, _unit;

	if(!NTTM_CheckAct(me.act, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 20, me.act, true);
		return;
	}

	NTTMGR_TownManager();

	if(!NTTM_TownMove("waypoint"))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 28, "waypoint");
		return;
	}

	if(!NTM_TakeWaypoint(46))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 34, 46);
		return;
	}

	NTP_DoPrecast(true);

	_tombs = GetRoom();

	if(!_tombs)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", GetRoom, 42);
		return;
	}

	if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_TILE, _tombs.correcttomb - 28, 0, 0, MWConfig_ClearPathSpectypes.Duriel > 0, MWConfig_ClearPathSpectypes.Duriel))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveToPresetUnit, 50, me.areaid, NTC_UNIT_TILE, _tombs.correcttomb - 28, 0, 0, MWConfig_ClearPathSpectypes.Duriel > 0, MWConfig_ClearPathSpectypes.Duriel);
		return;
	}

	_unit = NTC_FindUnit(NTC_UNIT_TILE, _tombs.correcttomb - 28, 5);

	if(!_unit)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", "NTC_FindUnit()", NTC_FindUnit, 58, NTC_UNIT_TILE, _tombs.correcttomb - 28, 5);
		return;
	}

	if(!NTM_TakeStair(_unit.subareaid))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeStair, 64, _unit.subareaid);
		return;
	}

	if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 152, -2, 2, MWConfig_ClearPathSpectypes.Duriel > 0, MWConfig_ClearPathSpectypes.Duriel))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveToPresetUnit, 70, me.areaid, NTC_UNIT_OBJECT, 152, -2, 2, MWConfig_ClearPathSpectypes.Duriel > 0, MWConfig_ClearPathSpectypes.Duriel);
		return;
	}

	[COLOR="Red"]if(NTConfig_ClearPosition)
		NTA_ClearPosition(20, true);[/COLOR]

	if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTMGR_CheckSafe, 79, NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
		return;
	}

	NTC_FindUnit(NTC_UNIT_OBJECT, 100, 10);

	if(!NTM_TakeUnit(NTC_UNIT_OBJECT, 100))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeUnit, 87, NTC_UNIT_OBJECT, 100);
		return;
	}

	if(!NTA_KillMonster(211))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTA_KillMonster, 93, 211);
		return;
	}

	NTSI_PickItems();
		
	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
thx
Die markierten Zeilen Löschen/Auskommentieren oder alternativ NTConfig_ClearPosition mit false initialisieren.

Quote:
Originally Posted by herda85 View Post
1. Ich will, dass der Bot bestimmte Bereiche saübert. Von der Funktion her kann er das, macht aber in vorgefertigten Bereichen. Ich will z.B. dass er die ersten 3 Bereiche saübert. Wir haben AreaID von allen Bereichen, ich weiss aber nicht, wie man Scripts dafür schreibt. Ich kann C/C++ und verstehe den Code. Ich weiss aber nicht, was einzelne Funktionen machen bzw. wie die Aufbau des Ablaufs funktioniert. Wie gesagt, ich würde selbst den Skript für die Areas schreiben, brauche aber Hilfe mit der Aufbau.

2. Habs versucht den Bot mitm Druid zu laufen, leider weiss er nicht wie man Wölfe summont. Gibt es einen workaround dafür?

3. Mein Bot als Sorc läuft noch ohne Teleport. Das Problem ist - sie greift die Monster die sie sieht nicht gleich an, sondern wenn sie ihren Waypoint erreicht hat. Öfters wird sie einfach gekillt, weil sie wie blöd alle Monster ignoriert und wild zum Waypoint läuft. Wie zwinge ich sie dazu, Monster auf Sicht anzugreifen?
Der Algorithmus soll so ausschauen:
Checke ob Monster in der Nähe sind. Wenn ja -> angreifen.
Restliche Routine.
Ist es möglich? Falls ja - wie?

3.1 Semi Bug. Ich laufe, wie gesagt, ohne Teleport. Was öfters passiert, dass der Bot zum Waypoint läuft und für 30s stehen bleibt, wobei er auch Monster ignoriert, die ihn angreifen.

ps. Ironie folgt. Habs bis jetzt aufm privaten Server gespielt, 500 Leute am Tag. Nicht viel. Gestern habens mich fürs botten gebannt. Heute auf Ebay Keys eingekauft. Das Spielen ist unmöglich da in jedem Game Bots sind die mein screen vollspammen. Aufm privaten keine Bots, man findet gleich n game fürs joinen. Bei Blizzard lauter Bots die es fast unmöglich machen, jemanded zu joinen. Gibt mir meine 11€ zurück. WTF Blizzard???
1. Bitte erstelle dazu ein eigenes Thema, wenn du Scripte entwickeln willst, das geht hier unter. Des Weiteren sei noch gesagt, dass die meisten Funktionen als JavaScript Code in den common libraries einsehbar sind und du diese somit relativ problemlos nachvollziehen kannst.
Schau einfach immer auf das Präfix im Bezeichner der Funktionen, dieses weist immer auf die library hin, in der die Funktion implementiert ist.

2. Einfach den gewünschten Skill als Precast Skill eintragen, der Rest sollte dann automatisch laufen.

3. Das liegt daran, dass alles was außerhalb der Stadt läuft eigentlich davon ausgeht, dass du Teleport verwendest. Selbst wenn du dir die Mühe machen würdest, sämtliche betroffenen Funktionen umzuschreiben, könntest du das gar nicht, weil du dazu auf Daten zugreifen müsstest, an die du außerhalb der Core gar nicht dran kommst.

Quote:
Originally Posted by Bastian74 View Post
Hallo Muddy,

ich habe eine Frage zum Leech-Script der Sorc.

Bei Lanara (daher stammt ja dein Import-Script) steht die Sorc beim Leech-Fight oben auf dem Thron und feuert sofort Ihren Attak ab.

Bei dir telt die Soso immer in den Mob und dann wieder zurück und feuert erst dann.

Wie kann ich das einstellen?

Vielen Dank.

Anbei das File von Lanara:

HTML Code:
function NTMain()
{
   
   Include("libs/common/NTCommon.ntl");
   NTC_IncludeLibs();
   NTC_IncludeConfig("NTBot/char_configs");

   NT_LoadConfig();
   NTSI_LoadNIPFiles("NTBot/item_configs");

   NTA_Initialize(); // 10

   if(!NTTM_CheckAct())
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
      return;
   }

   if(me.areaid != 109)
   {
   if(!NTTM_TownMove("waypoint"))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
      return;
   }

   if(!NTM_TakeWaypoint(109))
   {
      NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
      return;
   }
   }
       
   NTTMGR_TownManager();
   
   NTTM_TownMove("portalspot");

   for(i = 0; i <= 100; i++)
   {
      if(NTC_InMyParty(NTConfig_Leader))
         break;

      Delay(200);
   }   

   while(me.areaid == 109 && NTC_InMyParty(NTConfig_Leader))
   {
      NTM_UsePortal("BluePortal", 131, NTConfig_Leader); // 50
      Delay(1000);
       
   }
   
   NTP_DoPrecast(true);

   while(NTC_InMyParty(NTConfig_Leader))
   {


   NT_ClearThroneInt();

   while(1)
   {
      if(me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN)
         NTM_MoveTo(me.areaid, 15092, 5028);
      else
         NTM_MoveTo(me.areaid, 15092, 5040);

      if(me.GetState(2))
         NTC_PutSkill(109, NTC_HAND_RIGHT);

      for(i = 0 ; i < 6 ; i++)
      {
         _wave = NT_ThroneCheckInt();
         if(_wave > 0)
            break;

         NTC_Delay(500);
      }

      _starttick = GetTickCount();

      while(_wave == 0)
      {
         if(!NT_ThronePreAttackInt())
            NTC_Delay(200);

         if(GetTickCount()-_starttick > 25000)
         {
            NT_ClearThroneInt();

            _starttick = GetTickCount();
         }

         _wave = NT_ThroneCheckInt();
      }

      switch(_wave)
      {
      case 1:
         NTA_ClearPosition(40, true, 1);
         NTP_DoPrecast(true);
         break;
      case 3:
         NTA_ClearPosition(40, true, 2);
         break;
      case 4:
         NTA_ClearPosition(40, true, 2);
         break;
      case 5:
         NTA_ClearPosition(40, true);
         break;
      default:
         NTA_ClearPosition(40, true, 1);
         break;
      }

      if(_wave == 5)
         break;
   }

   if(NTConfig_KillBaal)
   {
      var _portal;

      if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()");
         return;
      }

      NTM_MoveTo(me.areaid, 15092, 5010);

      NTP_DoPrecast(true);

      while(NTC_FindUnit(NTC_UNIT_MONSTER, 543))
         NTC_Delay(500);

      _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);

      if(!_portal)
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTC_FindUnit()");
         return;
      }

      if(!NTM_UsePortal("Portal", 132, null, _portal))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTM_UsePortal()");
         return;
      }

      NTM_MoveTo(me.areaid, 15138, 5916);

      if(!NTA_KillMonster(544))
      {
         NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
         return;
      }

      NTSI_PickItems();
   }


   }


   NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");

}


// Internal function
function NT_ClearThroneInt()
{
   var _attackpos = [15112, 5068, 15075, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];

   for(var i = 0 ; i < _attackpos.length ; i += 2)
   {
      NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

      NTA_ClearPosition(25, true, 2);
   }
}

function NT_ThroneCheckInt()
{
   var _monster;

   if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
      return 5;

   _monster = NTC_FindUnit(NTC_UNIT_MONSTER);

   if(_monster)
   {
      do
      {
         if(NTA_IsValidMonster(_monster))
         {
            if(_monster.classid == 23 || _monster.classid == 62)
               return 1;

            if(_monster.classid == 105 || _monster.classid == 381)
               return 2;

            if(_monster.classid == 557)
               return 3;

            if(_monster.classid == 558)
               return 4;

            if(_monster.classid == 571)
               return 5;
         }
      } while(_monster.GetNext());
   }

   return 0;
}

function NT_ThronePreAttackInt()
{
   if(me.classid == NTC_CHAR_CLASS_SORCERESS)
   {
      if(NTConfig_AttackSkill[3] == 56 || NTConfig_AttackSkill[3] == 59)
         return NTC_CastSkill(NTConfig_AttackSkill[3], 0, 15092, 5028);
   }
   else if(me.classid == NTC_CHAR_CLASS_PALADIN)
   {
      if(NTConfig_AttackSkill[3] == 112)
      {
         if(NTConfig_AttackSkill[4] > 0)
            NTC_PutSkill(NTConfig_AttackSkill[4], NTC_HAND_RIGHT);

         return NTC_CastSkill(NTConfig_AttackSkill[3], 2);
      }
   }

   return false;
}
Klingt für mich ehrlich gesagt so, als ob du NTConfig_AttackSkill[0] oder einen anderen Angriffsskill, den du nicht nutzt, fälschlicherweise mit 0 und nicht mit -1 initialisiert hast. Kontrollier das bitte mal, dann kann ich mir die Änderungen bzw, die Fehlersuche um Script eventuell sparen.

LG
Muddy
Muddy Waters is offline  
Thanks
2 Users
Old 08/31/2011, 14:49   #3130
 
Delettrix's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 39
Received Thanks: 0
Hey,

also ich hätte gern das de Bot auch über die Gamenummer 99 hinaus Games macht bei Nummer 100 macht er dann wieder 01 das passt mir überhauptnicht habe aber noch keine Lösung gefunden oder einfach überlesen, bei 300 Seiten kann das sicher mal passieren.

Am allerbesten wäre es sogar wenn er ansagen würde wie das nächste Game heißt, das habe ich schon oft gesehen aber welcher Bot das dann war wieß ich allerdings nicht.

Ich bedanke mich schonmal.

MfG Dele
Delettrix is offline  
Old 08/31/2011, 15:33   #3131
 
elite*gold: 0
Join Date: May 2010
Posts: 212
Received Thanks: 40
Quote:
Originally Posted by Delettrix View Post
Hey,

also ich hätte gern das de Bot auch über die Gamenummer 99 hinaus Games macht bei Nummer 100 macht er dann wieder 01 das passt mir überhauptnicht habe aber noch keine Lösung gefunden oder einfach überlesen, bei 300 Seiten kann das sicher mal passieren.

Am allerbesten wäre es sogar wenn er ansagen würde wie das nächste Game heißt, das habe ich schon oft gesehen aber welcher Bot das dann war wieß ich allerdings nicht.

Ich bedanke mich schonmal.

MfG Dele
Gelesen hab ich hier, dass die Nummerierung im Manager geschieht.
Und den hat, glaube ich, noch keiner geknackt.

Eine Ansage kannst du in der NTBot.ntj in folgender Zeile einstellen.
Code:
var GameAnnouncement			= "Creating %game%counter//%password in about %time seconds";
In Muddys Version ofc.
fred9x9 is offline  
Thanks
2 Users
Old 08/31/2011, 15:53   #3132
 
elite*gold: 18
Join Date: Aug 2008
Posts: 599
Received Thanks: 54
Hallo, ich hätte da ein Problem. Alles lief perfekt ich hatte Paladin und Sorc Bot an (HCL) Alles lief wunderbar dann hatte ich einen dritten Bot Sorc nicht HCL sonder SCL ich glaub seitdem passiert meiner anderen Sorc Bot in HCL wenn ich mit ihm einen Run starten will kommt immer ein Fehler:

Ich habe kein Plan was ich tun kann... Wenn ich items vom Kleinen Iventar weg nehme also die die nicht dahin gehören dann macht er paar runs und dann gibt er wieder so einen Fehler an...
HacK. is offline  
Old 08/31/2011, 16:10   #3133
 
Traycas's Avatar
 
elite*gold: 0
Join Date: Jun 2011
Posts: 285
Received Thanks: 185
Hi Hack,

hast Du vielleicht beim Einrichten versehentlich den Haken für direct -txt, also Englisch rausgenommen. Hatte den Fehler glaube ich mal in dem Zusammenhang; da hat der bot das Inventar ein bisschen "zugemüllt" und sich dann verabschiedet...

Kannst ja nochmal gucken

LG, Traycas
Traycas is offline  
Thanks
1 User
Old 08/31/2011, 16:49   #3134
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,727
Received Thanks: 12,652
Quote:
Originally Posted by fred9x9 View Post
Gelesen hab ich hier, dass die Nummerierung im Manager geschieht.
Und den hat, glaube ich, noch keiner geknackt.

Eine Ansage kannst du in der NTBot.ntj in folgender Zeile einstellen.
Code:
var GameAnnouncement			= "Creating %game%counter//%password in about %time seconds";
In Muddys Version ofc.
Es ist irgendwo hier in der Programming Sektion ein Thema von mir, wo steht, wie man das Format des Spielnamens nachträglich per Hex Editor verändern kann - die Tatsache, dass es nach 99 bei 00 weiter geht, kann man allerdings nicht beinflussen und es gibt meiner Ansicht auch sonst keine Möglichkeit daran ohne Source was zu ändern.

Zu den Announcements gibt es übrigens einen .

Quote:
Originally Posted by HacK. View Post
Hallo, ich hätte da ein Problem. Alles lief perfekt ich hatte Paladin und Sorc Bot an (HCL) Alles lief wunderbar dann hatte ich einen dritten Bot Sorc nicht HCL sonder SCL ich glaub seitdem passiert meiner anderen Sorc Bot in HCL wenn ich mit ihm einen Run starten will kommt immer ein Fehler:

Ich habe kein Plan was ich tun kann... Wenn ich items vom Kleinen Iventar weg nehme also die die nicht dahin gehören dann macht er paar runs und dann gibt er wieder so einen Fehler an...
Man sieht durch die transparente Leiste der Meldung relativ deutlich, dass dein D2 nicht Englisch ist; das solltest du beheben, danach sollte sich das Problem dann erledigt haben.

LG
Muddy
Muddy Waters is offline  
Thanks
2 Users
Old 08/31/2011, 20:17   #3135
 
elite*gold: 0
Join Date: Jul 2011
Posts: 27
Received Thanks: 0
Quote:
Originally Posted by HacK. View Post
Hallo, ich hätte da ein Problem. Alles lief perfekt ich hatte Paladin und Sorc Bot an (HCL) Alles lief wunderbar dann hatte ich einen dritten Bot Sorc nicht HCL sonder SCL ich glaub seitdem passiert meiner anderen Sorc Bot in HCL wenn ich mit ihm einen Run starten will kommt immer ein Fehler:

Ich habe kein Plan was ich tun kann... Wenn ich items vom Kleinen Iventar weg nehme also die die nicht dahin gehören dann macht er paar runs und dann gibt er wieder so einen Fehler an...
Could i please get a translation on this and the answer tyvm
cobkillacalli is offline  
Reply


Similar Threads Similar Threads
[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...
D2NT 3.0 Pickit release
10/22/2010 - Diablo 2 - 77 Replies
edit
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



All times are GMT +1. The time now is 16:43.


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.