versuch meinen mod mit dem parameter clear from front auf 1 im jeweiligen char config
den mod findest du in diesem thread
den mod findest du in diesem thread
Danke für die Blumen. :)Quote:
hi!
Bin vor 2 Tagen auf deinen Mod gestoßen und finde ihn echt sehr gelungen!! Bin sofort umgestiegen. vielen dank
Bin seit einiger zeit auf der suche nach einem "slow"-diablo script. Hab schon versucht selber was zu machen aber bei meinen Programmierkenntnissen wird das nix.
Hatte mir was vorgestellt wo der Bot zuerst die 3 "Arme" im CS cleart und dann das jeweilige Siegel öffnet.
Könnte es vielleicht selber machen indem ich bei "var _attackpos" vor dem Siegelöffnen noch die jeweiligen Positionen hinzufüge. Bin aber verwirrt wie das geht, da sich der Aufbau der Map ja immer etwas ändert.
wäre froh über ein wenig hilfe ;)
Lg jan
Du könntest mal ein eigenes topic aufmachen. Hätte den Vorteil, dass dein Teil hier nicht so untergeht und ich nicht zu Rückfragen bezüglich deines Mods verwirrt werde. ;)Quote:
versuch meinen mod mit dem parameter clear from front auf 1 im jeweiligen char config
den mod findest du in diesem thread
function NTMain()
{
Include("libs/common/NTCommon.ntl");
NTC_IncludeLibs();
NTC_IncludeConfig("NTBot/char_configs");
NT_LoadConfig();
NTSI_LoadNIPFiles("NTBot/item_configs");
NTA_Initialize();
if(!NTTM_CheckAct())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()");
return;
}
NTTMGR_TownManager();
if(!NTTM_TownMove("waypoint"))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()");
return;
}
if(!NTM_TakeWaypoint(107))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
NTP_DoPrecast(true);
if(!NTM_MoveTo(108, 7797, 5560))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
if(NTConfig_PublicMode)
{
var _attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345,
7770, 5320, 7780, 5308];
if(!NTM_MoveTo(me.areaid, 7790, 5544))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
NTA_ClearPosition(20, false, 2);
NTM_MoveTo(me.areaid, 7790, 5544);
NTC_PingDelay(1000);
NTA_ClearPosition(20, true, 2);
NTM_MoveTo(me.areaid, 7790, 5544);
NTM_MakeTP();
Say("TP is safe!");
for(var i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);
NTA_ClearPosition(25, true, 2);
}
NTP_DoPrecast(true);
}
if(!NT_OpenSealsInt())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NT_OpenSealsInt()");
return;
}
if(NTConfig_PublicMode)
Say("Killing Diablo");
NTP_DoPrecast(true);
//if(!NTM_MoveTo(me.areaid, 7792, 5292)) mitte stern
NTC_Delay(200);
// NTM_WalkTo( 7814, 5302)bringt fehlermeldung,sollte von der mitte runter zu dem punkt gehn und merc dadurch stehn lassen in d. mitte
if(!NTM_MoveTo(me.areaid, 7814, 5302))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()");
return;
}
if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()");
return;
}
NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100);
if(!NTA_KillMonster(243))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
return;
}
NTSI_PickItems();
if(NTConfig_PublicMode)
Say("Next game");
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
// Internal function
function NT_OpenSealsInt()
{
var i, _unit;
var _result;
_unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);
if(!_unit)
return false;
_result = false;
for(i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 396)
{
if(_unit[i].roomy*5 + _unit[i].y == 5275)
_result = NT_OpenVizierSealInt(1);
else
_result = NT_OpenVizierSealInt(2);
break;
}
}
if(!_result)
return false;
NTP_DoPrecast(false);
_result = false;
for(i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 394)
{
if(_unit[i].roomx*5 + _unit[i].x == 7773)
_result = NT_OpenDeSeisSealInt(1);
else
_result = NT_OpenDeSeisSealInt(2);
break;
}
}
if(!_result)
return false;
NTP_DoPrecast(false);
_result = false;
for(i = 0 ; i < _unit.length ; i++)
{
if(_unit[i].id == 392)
{
if(_unit[i].roomx*5 + _unit[i].x == 7893)
_result = NT_OpenVenomSealInt(1);
else
_result = NT_OpenVenomSealInt(2);
break;
}
}
return _result;
}
function NT_OpenVizierSealInt(type)
{
var i, n;
var _attackpos = [7740, 5300, 7740, 5280, 7720, 5280, 7720, 5300];
var _monstername = GetLocaleString(2851);
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1][COLOR="Red"], true[/COLOR]);
NTA_ClearPosition(25, true, 2);
}
for(i = 0 ; i < 3 ; i++)
{
if(type == 1)
{
NT_OpenSealInt(395, 7654, 5310);
NT_OpenSealInt(396, 7659, 5277);
NTM_MoveTo(me.areaid, 7665, 5277);
}
else
{
NT_OpenSealInt(395, 7650, 5276);
NT_OpenSealInt(396, 7651, 5310);
}
for(n = 0 ; n < 10 ; n++)
{
NTC_Delay(200);
if(NTA_KillMonster(_monstername))
{
NTA_ClearPosition();
NTSI_PickItems();
return NTM_MoveTo(me.areaid, 7750, 5280);
}
}
}
return false;
}
function NT_OpenDeSeisSealInt(type)
{
var i, n;
var _attackpos = [COLOR="red"][7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235, 7800, 5189, 7771, 5196][/COLOR];
var _monstername = GetLocaleString(2852);
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1][COLOR="red"], true[/COLOR]);
NTA_ClearPosition(30, true, 2);
}
for(i = 0 ; i < 3 ; i++)
{
if(type == 1)
{
NT_OpenSealInt(394, 7769, 5158);
NTC_Delay(100);
NT_OpenSealInt(394, 7778, 5157);
NTC_Delay(100);
NT_OpenSealInt(394, 7779, 5159);
NTC_Delay(100);
NTM_MoveTo(me.areaid, 7771, 5196);
NTC_Delay(100);
NTM_MoveTo(me.areaid, 7796, 5226);
}
else
{
NT_OpenSealInt(394, 7810, 5156);
NTC_Delay(200);
NT_OpenSealInt(394, 7810, 5156);
NTC_Delay(200);
NTM_MoveTo(me.areaid, 7770, 5169);
NTC_Delay(100);
NTM_MoveTo(me.areaid, 7800, 5189);
}
for(n = 0 ; n < 10 ; n++)
{
NTC_Delay(200);
//NTA_ClearPosition(35);
if(NTA_KillMonster(_monstername))
{
NTA_ClearPosition(35);
NTSI_PickItems();
return NTM_MoveTo(me.areaid, 7800, 5255);
}
}
}
return false;
}
function NT_OpenVenomSealInt(type)
{
var i, n;
var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
var _monstername = GetLocaleString(2853);
for(i = 0 ; i < _attackpos.length ; i += 2)
{
NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1][COLOR="red"], true[/COLOR]);
NTA_ClearPosition(25, true, 2);
}
for(i = 0 ; i < 3 ; i++)
{
if(type == 1)
{
NT_OpenSealInt(393, 7915, 5280);
NT_OpenSealInt(392, 7895, 5318);
NTM_MoveTo(me.areaid, 7892, 5298);
}
else
{
NT_OpenSealInt(393, 7905, 5277);
NT_OpenSealInt(392, 7916, 5310);
NTM_MoveTo(me.areaid, 7937, 5305);
}
for(n = 0 ; n < 10 ; n++)
{
NTC_Delay(200);
if(NTA_KillMonster(_monstername))
{
NTSI_PickItems();
if(NTC_PutSkill(124, NTC_HAND_RIGHT))
NTC_PingDelay(1000);
return true;
}
}
}
return false;
}
function NT_OpenSealInt(classid, x, y)
{
var _seal;
NTM_MoveTo(me.areaid, x, y);
NTA_ClearPosition(25, true, 2);
_seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5);
if(!_seal)
return false;
if(_seal.mode > 0)
return true;
for(var i = 0 ; i < 4 ; i++)
{
if((i % 2) == 0)
{
if(GetDistance(me, _seal) > 2)
NTM_MoveTo(_seal.areaid, _seal.x+1, _seal.y);
NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal);
}
NTC_Delay(500);
if(_seal.mode > 0)
return true;
}
return false;
}
Na das sieht doch schonmal ganz schick aus, bis auf ein paar kleine Einrückungsfehler vielleicht.Quote:
So: Diablo Skript verändert
Habe mal bissl rumprobiert und hier und da ein paar Sachen reinkopiert. (wem da jetzt alles die Credits sind weis ich nicht)
- auf dem weg zu den Siegeln werden mehr Monster angegriffen
- geänderte Coordinaten bei de Seis Angriff
- bevor der Bot zu de Seis Siegel geht killt er noch ein paar Monster auf dem Flügel
so läuft es bei meiner Sorc ganz gut. Dauert eben entsprechend länger. Dafür cleart er mehr vom CS.
rotes sind änderungen an die ich mich noch erinnere
Code:function NTMain() { Include("libs/common/NTCommon.ntl"); NTC_IncludeLibs(); NTC_IncludeConfig("NTBot/char_configs"); NT_LoadConfig(); NTSI_LoadNIPFiles("NTBot/item_configs"); NTA_Initialize(); if(!NTTM_CheckAct()) { NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_CheckAct()"); return; } NTTMGR_TownManager(); if(!NTTM_TownMove("waypoint")) { NTC_SendMsgToScript("NTBotGame.ntj", "NTTM_TownMove()"); return; } if(!NTM_TakeWaypoint(107)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()"); return; } NTP_DoPrecast(true); if(!NTM_MoveTo(108, 7797, 5560)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()"); return; } if(NTConfig_PublicMode) { var _attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345, 7770, 5320, 7780, 5308]; if(!NTM_MoveTo(me.areaid, 7790, 5544)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()"); return; } NTA_ClearPosition(20, false, 2); NTM_MoveTo(me.areaid, 7790, 5544); NTC_PingDelay(1000); NTA_ClearPosition(20, true, 2); NTM_MoveTo(me.areaid, 7790, 5544); NTM_MakeTP(); Say("TP is safe!"); for(var i = 0 ; i < _attackpos.length ; i += 2) { NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]); NTA_ClearPosition(25, true, 2); } NTP_DoPrecast(true); } if(!NT_OpenSealsInt()) { NTC_SendMsgToScript("NTBotGame.ntj", "NT_OpenSealsInt()"); return; } if(NTConfig_PublicMode) Say("Killing Diablo"); NTP_DoPrecast(true); //if(!NTM_MoveTo(me.areaid, 7792, 5292)) mitte stern NTC_Delay(200); // NTM_WalkTo( 7814, 5302)bringt fehlermeldung,sollte von der mitte runter zu dem punkt gehn und merc dadurch stehn lassen in d. mitte if(!NTM_MoveTo(me.areaid, 7814, 5302)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveTo()"); return; } if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe|0x01, NTConfig_CheckMercSafe)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTTMGR_CheckSafe()"); return; } NTC_FindUnit(NTC_UNIT_MONSTER, 243, 100); if(!NTA_KillMonster(243)) { NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()"); return; } NTSI_PickItems(); if(NTConfig_PublicMode) Say("Next game"); NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END"); } // Internal function function NT_OpenSealsInt() { var i, _unit; var _result; _unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT); if(!_unit) return false; _result = false; for(i = 0 ; i < _unit.length ; i++) { if(_unit[i].id == 396) { if(_unit[i].roomy*5 + _unit[i].y == 5275) _result = NT_OpenVizierSealInt(1); else _result = NT_OpenVizierSealInt(2); break; } } if(!_result) return false; NTP_DoPrecast(false); _result = false; for(i = 0 ; i < _unit.length ; i++) { if(_unit[i].id == 394) { if(_unit[i].roomx*5 + _unit[i].x == 7773) _result = NT_OpenDeSeisSealInt(1); else _result = NT_OpenDeSeisSealInt(2); break; } } if(!_result) return false; NTP_DoPrecast(false); _result = false; for(i = 0 ; i < _unit.length ; i++) { if(_unit[i].id == 392) { if(_unit[i].roomx*5 + _unit[i].x == 7893) _result = NT_OpenVenomSealInt(1); else _result = NT_OpenVenomSealInt(2); break; } } return _result; } function NT_OpenVizierSealInt(type) { var i, n; var _attackpos = [7740, 5300, 7740, 5280, 7720, 5280, 7720, 5300]; var _monstername = GetLocaleString(2851); for(i = 0 ; i < _attackpos.length ; i += 2) { NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1][COLOR=Red], true[/COLOR]); NTA_ClearPosition(25, true, 2); } for(i = 0 ; i < 3 ; i++) { if(type == 1) { NT_OpenSealInt(395, 7654, 5310); NT_OpenSealInt(396, 7659, 5277); NTM_MoveTo(me.areaid, 7665, 5277); } else { NT_OpenSealInt(395, 7650, 5276); NT_OpenSealInt(396, 7651, 5310); } for(n = 0 ; n < 10 ; n++) { NTC_Delay(200); if(NTA_KillMonster(_monstername)) { NTA_ClearPosition(); NTSI_PickItems(); return NTM_MoveTo(me.areaid, 7750, 5280); } } } return false; } function NT_OpenDeSeisSealInt(type) { var i, n; var _attackpos = [COLOR=red][7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235, 7800, 5189, 7771, 5196][/COLOR]; var _monstername = GetLocaleString(2852); for(i = 0 ; i < _attackpos.length ; i += 2) { NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1][COLOR=red], true[/COLOR]); NTA_ClearPosition(30, true, 2); } for(i = 0 ; i < 3 ; i++) { if(type == 1) { NT_OpenSealInt(394, 7769, 5158); NTC_Delay(100); NT_OpenSealInt(394, 7778, 5157); NTC_Delay(100); NT_OpenSealInt(394, 7779, 5159); NTC_Delay(100); NTM_MoveTo(me.areaid, 7771, 5196); NTC_Delay(100); NTM_MoveTo(me.areaid, 7796, 5226); } else { NT_OpenSealInt(394, 7810, 5156); NTC_Delay(200); NT_OpenSealInt(394, 7810, 5156); NTC_Delay(200); NTM_MoveTo(me.areaid, 7770, 5169); NTC_Delay(100); NTM_MoveTo(me.areaid, 7800, 5189); } for(n = 0 ; n < 10 ; n++) { NTC_Delay(200); //NTA_ClearPosition(35); if(NTA_KillMonster(_monstername)) { NTA_ClearPosition(35); NTSI_PickItems(); return NTM_MoveTo(me.areaid, 7800, 5255); } } } return false; } function NT_OpenVenomSealInt(type) { var i, n; var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280]; var _monstername = GetLocaleString(2853); for(i = 0 ; i < _attackpos.length ; i += 2) { NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1][COLOR=red], true[/COLOR]); NTA_ClearPosition(25, true, 2); } for(i = 0 ; i < 3 ; i++) { if(type == 1) { NT_OpenSealInt(393, 7915, 5280); NT_OpenSealInt(392, 7895, 5318); NTM_MoveTo(me.areaid, 7892, 5298); } else { NT_OpenSealInt(393, 7905, 5277); NT_OpenSealInt(392, 7916, 5310); NTM_MoveTo(me.areaid, 7937, 5305); } for(n = 0 ; n < 10 ; n++) { NTC_Delay(200); if(NTA_KillMonster(_monstername)) { NTSI_PickItems(); if(NTC_PutSkill(124, NTC_HAND_RIGHT)) NTC_PingDelay(1000); return true; } } } return false; } function NT_OpenSealInt(classid, x, y) { var _seal; NTM_MoveTo(me.areaid, x, y); NTA_ClearPosition(25, true, 2); _seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5); if(!_seal) return false; if(_seal.mode > 0) return true; for(var i = 0 ; i < 4 ; i++) { if((i % 2) == 0) { if(GetDistance(me, _seal) > 2) NTM_MoveTo(_seal.areaid, _seal.x+1, _seal.y); NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal); } NTC_Delay(500); if(_seal.mode > 0) return true; } return false; }
Leider nicht. :(Quote:
Hi,
du hattest mal geschrieben, dass du eine Funktion für Itemid+Itemdrop integrierst.
Ist die mittlerweile enthalten?
First of all: There is a button called Edit, I suggest you give it a try. :rolleyes:Quote:
ok.
how do i set up the bot to where it kill's only baal?
You better get down to work then and tweak your config file accordingly.Quote:
i'm useing a ice/lightning sorc
and the edit button only make's a profile.
i need a sorc config file for Baal killing only.