runeword rolling?

01/22/2012 21:00 Northern Light#1
hey hey ^^

wollte mal fragen ob es für muddy's ein script dafür gibt,

oder ob man das vom etal i.wie "übernehmen" kann? ;)
01/24/2012 18:23 Northern Light#2
warum kann man das vom etal nicht einfach kopieren?
sind doch beides nt versionen... :(
01/24/2012 18:36 mirkoregge#3
Den Gedanken hatte ich schon vor langer Zeit ins Spiel gebracht.
Im Ordner libs/common exitiert eine NTRunewords.ntl. Diese wirst wohl benötigen ;)

Zu dem muss man sicher die NTCommon anpassen:
Code:
function NTC_IncludeLibs()
{
	Include("libs/common/NTAttack.ntl");
	Include("libs/common/NTCubing.ntl");
	Include("libs/common/NTItemParser.ntl");
	Include("libs/common/NTMove.ntl");
	Include("libs/common/NTPrecast.ntl");
	Include("libs/common/NTSnagIt.ntl");
	Include("libs/common/NTTown.ntl");
	Include("libs/common/NTTownManager.ntl");
	Include("libs/common/NTTownMove.ntl");
	Include("libs/common/MyCatchShrine.ntl");
	Include("libs/common/NTUtilities.ntl");
	Include("libs/common/NTTools.ntl");
	Include("libs/common/NTRunewords.ntl");
	Include("libs/common/LazyManCoding.ntl");
	//Include("libs/common/NTVoyage.ntl");
	Include("libs/common/NTItemlogger.ntl");
	Include("libs/common/NTColorConverter.ntl");
	
	
	switch (me.classid) {
		case NTC_CHAR_CLASS_AMAZON:
			Include("libs/common/NTAttackAmazon.ntl");
			break;
		case NTC_CHAR_CLASS_ASSASSIN:
			Include("libs/common/NTAttackAssassin.ntl");
			break;
		case NTC_CHAR_CLASS_BARBARIAN:
			Include("libs/common/NTAttackBarbarian.ntl");
			break;
		case NTC_CHAR_CLASS_DRUID:
			Include("libs/common/NTAttackDruid.ntl");
			break;
		case NTC_CHAR_CLASS_NECROMANCER:
			Include("libs/common/NTAttackNecromancer.ntl");
			break;
		case NTC_CHAR_CLASS_PALADIN:
			Include("libs/common/NTAttackPaladin.ntl");
			break;
		case NTC_CHAR_CLASS_SORCERESS:
			Include("libs/common/NTAttackSorceress.ntl");
			break;
	}
}
Ob das alleine reicht kann ich dir nicht genau sagen, dafür reiche meine Programmierkenntnisse nicht aus :/

Muddy hatte es von vorn herein nicht für notwendig gehalten solch eine Funktion zu adden.
01/24/2012 19:40 Northern Light#4
Quote:
Originally Posted by mirkoregge View Post
Den Gedanken hatte ich schon vor langer Zeit ins Spiel gebracht.
Im Ordner libs/common exitiert eine NTRunewords.ntl. Diese wirst wohl benötigen ;)

Zu dem muss man sicher die NTCommon anpassen:
Code:
function NTC_IncludeLibs()
{
	Include("libs/common/NTAttack.ntl");
	Include("libs/common/NTCubing.ntl");
	Include("libs/common/NTItemParser.ntl");
	Include("libs/common/NTMove.ntl");
	Include("libs/common/NTPrecast.ntl");
	Include("libs/common/NTSnagIt.ntl");
	Include("libs/common/NTTown.ntl");
	Include("libs/common/NTTownManager.ntl");
	Include("libs/common/NTTownMove.ntl");
	Include("libs/common/MyCatchShrine.ntl");
	Include("libs/common/NTUtilities.ntl");
	Include("libs/common/NTTools.ntl");
	Include("libs/common/NTRunewords.ntl");
	Include("libs/common/LazyManCoding.ntl");
	//Include("libs/common/NTVoyage.ntl");
	Include("libs/common/NTItemlogger.ntl");
	Include("libs/common/NTColorConverter.ntl");
	
	
	switch (me.classid) {
		case NTC_CHAR_CLASS_AMAZON:
			Include("libs/common/NTAttackAmazon.ntl");
			break;
		case NTC_CHAR_CLASS_ASSASSIN:
			Include("libs/common/NTAttackAssassin.ntl");
			break;
		case NTC_CHAR_CLASS_BARBARIAN:
			Include("libs/common/NTAttackBarbarian.ntl");
			break;
		case NTC_CHAR_CLASS_DRUID:
			Include("libs/common/NTAttackDruid.ntl");
			break;
		case NTC_CHAR_CLASS_NECROMANCER:
			Include("libs/common/NTAttackNecromancer.ntl");
			break;
		case NTC_CHAR_CLASS_PALADIN:
			Include("libs/common/NTAttackPaladin.ntl");
			break;
		case NTC_CHAR_CLASS_SORCERESS:
			Include("libs/common/NTAttackSorceress.ntl");
			break;
	}
}
Ob das alleine reicht kann ich dir nicht genau sagen, dafür reiche meine Programmierkenntnisse nicht aus :/

Muddy hatte es von vorn herein nicht für notwendig gehalten solch eine Funktion zu adden.

das ist aber schade :(
gerade für ladderstart is das das beste...
will nicht wieder etal usen^^
aber wenn das bei muddy seinem nicht geht, dann muss ich es wohl :'(

ich hab leider auch nicht so die großen kenntnisse :/
02/01/2012 18:18 Northern Light#5
iso help :(

will nicht etal usen :) muddys > etal :D
07/01/2012 23:50 Traycas#6
Hallo zusammen,

ich habe mich an der Problematik mal versucht. Da ich selber programmieren nicht gelernt habe, habe ich das meiste zusammen kopiert und ein wenig ausprobiert (vielleicht auch ein wenig mehr probiert ^^).

Die nachfolgenden Änderungen habe ich bei mir eingearbeitet und bis dato läuft es mit Insights und Spirits sehr gut.


Die Datei "NTRunewords.ntl" muss im Verzeichnis "D2NT\scripts\libs\Common\" eingefügt werden:



In die Datei "NTItemAlias.ntl" im Verzeichnis "D2NT\scripts\libs\Common\" folgende Zeile einfügen (bei mir Zeile 1137):

Code:
_NTIPAliasStat["meditationaura"]=[151,120];

In die CharConfig (bei mir nach Cubing) folgendes einfügen:

Code:
	//------------------------------------------------------------------------------
	// Runeword Cubing Configuration
	//------------------------------------------------------------------------------
	
	NTConfig_MakeRunewords = true;
	
	//NTConfig_Runeword.push([498, 616, 619, 618, 620]); 					// Sacred Targe, Tal, Thul, Ort, Amn SPIRIT
		NTConfig_KeepRuneword.push("[name] == sacredtarge # [fcr] >= 35");
	
	//NTConfig_Runeword.push([447, 616, 619, 618, 620]); 					// Monarch, Tal, Thul, Ort, Amn SPIRIT
		NTConfig_KeepRuneword.push("[name] == monarch # [fcr] >= 35");
	
	//NTConfig_Runeword.push([29, 616, 619, 618, 620]); 					// Crystal Sword, Tal, Thul, Ort, Amn SPIRIT
		NTConfig_KeepRuneword.push("[name] == crystalsword # [fcr] >= 35");

	//NTConfig_Runeword.push([254, 617, 612, 616, 621]); 					// Colossus Voulge, Ral, Tir, Tal, Sol
		NTConfig_KeepRuneword.push("[name] == ColossusVoulge # [meditationaura] >= 17");
	
	//NTConfig_Runeword.push([255, 617, 612, 616, 621]); 					// Thresher, Ral, Tir, Tal, Sol
		NTConfig_KeepRuneword.push("[name] == thresher # [meditationaura] >= 17");
	
	//NTConfig_Runeword.push([256, 617, 612, 616, 621]); 					// Cryptic Axe, Ral, Tir, Tal, Sol
		NTConfig_KeepRuneword.push("[name] == crypticaxe # [meditationaura] >= 17");

	//NTConfig_Runeword.push([21, 627, 635, 630, 619]); 					// Flail, Ko, Vex, Pul, Thul
		NTConfig_KeepRuneword.push("[name] == flail # [fcr] >= 40");

	//NTConfig_Runeword.push([21, 620, 617, 632, 633, 636]); 				// Flail, Amn, Ral, Mal, Ist, Ohm
		NTConfig_KeepRuneword.push("[name] == flail # [IAS] >= 40"); 

	//NTConfig_Runeword.push([29, 620, 617, 632, 633, 636]); 				// Crystal Sword, Amn, Ral, Mal, Ist, Ohm
		NTConfig_KeepRuneword.push("[name] == crystalsword # [IAS] >= 40");
und folgende Nip aktivieren:
Code:
	NTConfig_NIPFilePath.push("private/Runeword.nip");

Die Datei "Runeword.nip" im Verzeichnis "D2NT\scripts\NTBot\item_configs\private\" angelegt:

Code:
[Name] == HoradricCube

[Type] == Weapon && [Flag] == Runeword
[Type] == Armor && [Flag] == Runeword
[Type] == Shield && [Flag] == Runeword

In der Datei "NTTownManager.ntl" im Verzeichnis "D2NT\scripts\libs\Common\" folgende Änderungen vornehmen:


Zeile 40 überschreiben:
Code:
	_cubing = (!simple && (NTCU_CheckCubing() || NTRW_CheckRunewords()));
Zeile 137 überschreiben:
Code:
		_cubing = (!simple && (NTCU_CheckCubing() || NTRW_CheckRunewords()));
Zeile 226 einfügen:
Code:
			if(NTConfig_MakeRunewords)
				NTRW_MakeRuneword();

In der Datei "NTCommon.ntl" im Verzeichnis "D2NT\scripts\libs\Common\" folgendes unter den "Common libraries" einfügen (Zeile 324):

Code:
	Include("libs/common/NTRunewords.ntl");

In der Datei "NTConfig.ntl" im Verzeichnis "D2NT\scripts\NTBot\char_configs\" folgendes einfügen (bei mir Zeilen 91-93):

Code:
var NTConfig_MakeRunewords;
var NTConfig_Runeword = [];
var NTConfig_KeepRuneword = [];

Um ein Runenwort zu cuben, löscht man in der CharConfig die "//" vor der jeweiligen Zeile des Runenwortes:
Code:
//NTConfig_Runeword.push

Die Gegenstände, die er cuben soll müüsen in den Nips vorhanden sein. Die Runen werden automatisch gesammelt, bis auf die Hel-Rune. Gecubt wird erst, wenn alle Runen inkl. Hel-Rune vorliegen, daher empfehle ich hiervon ein paar über mit der Funktion "[MaxQuantity] == 2 &&" automatisch sammeln zu lassen.



Credits

Mein Dank geht an den/die Autor/en des etal bots, aus dem der Bärenanteil der obigen Änderungen stammt!

Danke natürlich auch an Muddy, der den herrlichen Bot zur Verfügung gestellt hat und jeden ermutigt selbst zu programmieren (auch wenn meine Änderungen weit von eigenständigem Programmieren entfernt sind...)!






Ich hoffe alles funktioniert und ich habe keine Änderung vergessen. Ich empfehle die Dateien vor Änderung zu sichern. ^^


LG und viel Spaß
Traycas
07/12/2012 19:51 matzekatze1#7
Aloa, kurze frage... ich kenn mich mit sonem kram absolut nich aus, wollte aber gerne, dass mein bot runenwörtert erstellt ^^
hab eig. alles so gemacht wie vondir beschrieben, bekomme aber folgende Fehlermeldung :
...NTTownManager.ntl (40) : ReferenceError: NTRW_CheckRunewords is not defined


kann mir da evtl. jemand helfen ?
07/16/2012 13:17 Traycas#8
Sorry, leider erst heute Deine Nachricht gesehen.

Der Fehler deutet auf zwei Sachen hin. Prüfe doch mal bitte, ob

1. die Datei "NTRunewords.ntl" im Verzeichnis "D2NT\scripts\libs\Common\" angelegt ist
2. in der Datei "NTCommon.ntl" im Verzeichnis "D2NT\scripts\libs\Common\" unter den "Common libraries" in Zeile 324:
Code:
Include("libs/common/NTRunewords.ntl");
eingefügt ist.

LG, Traycas
07/17/2012 01:28 matzekatze1#9
es war letzteres, vielen dank :)