|
You last visited: Today at 23:56
Advertisement
Kill Uniqes
Discussion on Kill Uniqes within the Diablo 2 Programming forum part of the Diablo 2 category.
05/28/2010, 00:53
|
#1
|
elite*gold: 0
Join Date: Feb 2009
Posts: 254
Received Thanks: 84
|
Kill Uniques
Hi, also in meinem modifizierten D2NT kann ich in den jeweiligen Scripts einstellen, ob er das komplette Level clearen soll (NTConfig_ClearLevel), oder nur Uniques/Champions (NTConfig_ClearActLevel).
Jetzt wollte ich in die entsprechenden Skripte ne If-Else-Schleife einbauen, dass man dann in der Char-config das entsprechend einstellen kann.
Die Schleife sieht dann so aus:
Code:
if(NTConfig_KillUniques)
{
if(!NTA_ClearActLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
}
else
{
if(!NTA_ClearLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
}
In der Char-config sieht das dann z.B. so aus:
Code:
NTConfig_Script.push("Akt1-Mausoleum.ntj"); NTConfig_KillBloodRaven = false; NTConfig_KillBishibosh = true; NTConfig_KillUniques = false;
Das Problem ist, dass es bei manchen Skripten funktioniert (Flammenfluss) und bei anderen wiederum nicht (Mausoleum). Woran kann das liegen?
Ich muss noch dazu sagen, das ich überhaupt nicht programmieren kann, deshalb kann es auch sein, dass ich da totalen mist gemacht hab.
Hoffe, ihr könnt mir helfen.
mfg
Edit: Ich poste auch mal die Skripte.
Flammenfluss:
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(NTConfig_KillUniques)
{
if(!NTA_ClearActLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
}
else
{
if(!NTA_ClearLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
}
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
Mausoleum:
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(3))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeWaypoint()");
return;
}
NTP_DoPrecast(true);
if(NTConfig_KillBishibosh)
{
if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_MONSTER, 734))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToPresetUnit()");
return;
}
var _monster = GetLocaleString(2869);
if(!NTA_KillMonster(_monster))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_KillMonster()");
return;
}
NTA_ClearPosition(10);
NTC_PingDelay(500);
NTSI_PickItems();
}
if(NTConfig_KillBloodRaven)
{
if(!NTM_MoveToStair(17, 19, 0, 20))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToStair()");
return;
}
NTA_KillMonster(GetLocaleString(3111));
if(NTConfig_ClearPosition)
NTA_ClearPosition();
NTSI_PickItems();
}
if(!NTM_MoveToStair(17, 19))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_MoveToStair()");
return;
}
if(!NTM_TakeStair(19))
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTM_TakeStair()");
return;
}
if(NTConfig_KillUniques)
{
if(!NTA_ClearActLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
}
else
{
if(!NTA_ClearLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
}
NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
}
|
|
|
05/28/2010, 12:15
|
#2
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
|
Erstmal Kleinkram:
if-Bedingungen sind keine Schleifen, Schleifen haben die Eigenschaft mehrmals durchzulaufen bzw. durchlaufen zu können.
Dann ist die Ausgabe im Fehlerfall bei dir identisch, obwohl es sich um zwei verschiedene Funktionen handelt die dort aufgerufen werden. Ist eine absolute Kleinigkeit, kann aber zu Verwirrung im Fehlerfall führen, weil du an der falschen Stelle suchst.
So müsste es aussehen:
Code:
if(NTConfig_KillUniques)
{
if(!NTA_ClearActLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", [COLOR=Red]"NTA_ClearActLevel()"[/COLOR]);
return;
}
}
else
{
if(!NTA_ClearLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
}
Ansonsten kann man an dieser Stelle sehr wenig sagen, ohne die tatsächlichen Scripte zu sehen. Ich persönlich würde noch hinterfragen, warum man zwei verschiedene Funktionen nimmt, die eigentlich fast gleich ablaufen, anstatt einfach eine zu nehmen und bei der dann einen entsprechenden Parameter einzuführen.
Lg
Muddy
|
|
|
05/28/2010, 12:55
|
#3
|
elite*gold: 0
Join Date: Feb 2009
Posts: 254
Received Thanks: 84
|
Quote:
Originally Posted by Muddy_Waters
Erstmal Kleinkram:
if-Bedingungen sind keine Schleifen, Schleifen haben die Eigenschaft mehrmals durchzulaufen bzw. durchlaufen zu können.
Dann ist die Ausgabe im Fehlerfall bei dir identisch, obwohl es sich um zwei verschiedene Funktionen handelt die dort aufgerufen werden. Ist eine absolute Kleinigkeit, kann aber zu Verwirrung im Fehlerfall führen, weil du an der falschen Stelle suchst.
So müsste es aussehen:
Code:
if(NTConfig_KillUniques)
{
if(!NTA_ClearActLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", [COLOR=Red]"NTA_ClearActLevel()"[/COLOR]);
");
return;
}
}
else
{
if(!NTA_ClearLevel())
{
NTC_SendMsgToScript("NTBotGame.ntj", "NTA_ClearLevel()");
return;
}
}
Ansonsten kann man an dieser Stelle sehr wenig sagen, ohne die tatsächlichen Scripte zu sehen. Ich persönlich würde noch hinterfragen, warum man zwei verschiedene Funktionen nimmt, die eigentlich fast gleich ablaufen, anstatt einfach eine zu nehmen und bei der dann einen entsprechenden Parameter einzuführen.
Lg
Muddy
|
Hey,
ok, daran lags. Danke dir! Ich versteh bloß nicht, warum dann immer die Uniques gekillt wurden (ClearActLevel), und das Skript nicht normal gecleart wurde (ClearLevel). Den Letzten Satz verstehe ich nicht^^
|
|
|
05/28/2010, 14:17
|
#4
|
Administrator
elite*gold: 41364
Join Date: Jan 2010
Posts: 22,729
Received Thanks: 12,625
|
Quote:
Originally Posted by wessi86
Hey,
ok, daran lags. Danke dir! Ich versteh bloß nicht, warum dann immer die Uniques gekillt wurden (ClearActLevel), und das Skript nicht normal gecleart wurde (ClearLevel). Den Letzten Satz verstehe ich nicht^^
|
Daran lags?
Ohne das nicht gut zu heissen, daran kann es gar nicht liegen, weil das nur eine Ausgabe betrifft. Und die auch nur im Fehlerfall.
Das lag garantiert an etwas anderem...
Ich habe übrigen ein
zuviel gepostet, ich hoffe das hast du bemerkt und nicht so übernommen, denn das wäre tatsächlich falsch.
Lg
Muddy
|
|
|
05/28/2010, 14:46
|
#5
|
elite*gold: 0
Join Date: Feb 2009
Posts: 254
Received Thanks: 84
|
Quote:
Originally Posted by Muddy_Waters
Daran lags?
Ohne das nicht gut zu heissen, daran kann es gar nicht liegen, weil das nur eine Ausgabe betrifft. Und die auch nur im Fehlerfall.
Das lag garantiert an etwas anderem...
Ich habe übrigen ein
zuviel gepostet, ich hoffe das hast du bemerkt und nicht so übernommen, denn das wäre tatsächlich falsch.
Lg
Muddy
|
hm, komisch. ich hab auf jeden fall nur das geändert. das hab ich bemerkt
|
|
|
|
Similar Threads
|
[Archon] WTS uniqes
06/10/2010 - Archlord Trading - 0 Replies
Hello. I have some uniqes for sell or trade:
Karkaen neck -> sorc chaotic kilt with extra resist in
Blode ring -> Barom ring + add
and
Spiral ring x4
Offer me here :D Thanks.
|
WTT Bersi Lv 64 with Uniqes for Mage with Uniqes Server Zian (Deribelle)
05/24/2010 - Archlord Trading - 2 Replies
Hi
I WTT my Bersi Server Deribelle Too ^^
1x Blode Ashtal
1x Karkaen Wing
1x Guadrdimesh 0/1
1x Pendant 3/4 Wing and 2x Stamina lv 3
2x Crit Ring 2%
Greaves of Kildemor 2x Resist
Gountles of Kildemor
Some WC
|
WTB Uniqes [Brum]
10/23/2009 - Archlord Trading - 3 Replies
i want to buy Kark,Biglos and Fortune empty or with Stamina lvl 3
pay with Paypal or Banktransfer
pm me here =)
|
WTS uniqes [Cyripus]
10/18/2009 - Archlord Trading - 12 Replies
Unbounded Items for only a short time
ALLE von mir angebotenen items sind NICHT GEDUPED und ALLE SELBSTGEDROPPT
all the items are NOT DUPED and I ALL FARM it(selfdrop)
Cyripus:
Blode Ring -----------65€ price update (-5€)
Red Sign Ring -------15€
Red Sign Ring ----------15€
|
WTS Uniqes Giahion
07/30/2009 - Archlord Trading - 4 Replies
List:
BaromX1(str stone)
BlodeX1(sta stone)
ShutaX2(sta stone)
ZuckerX1(no stone)
BiglosX1(lvl5 wings)
KarkX1(lvl5 wings)
HaulX1(sta stone)
OhkerosX2(sta stone)
PodonX1(sta stone)
|
All times are GMT +2. The time now is 23:56.
|
|