Susi Solobot

11/16/2011 18:35 Salamix#16
Danke, mit der anderen dll kann ich alles zurechtrücken, wie es mir gefällt.
Leider ist der Keyklauer hineingeschlüpft, als ich die dll suchte. :(
Ist aber mit Muddys D2NT auch kein Problem. Der erkennt das Problem gut und versucht es alle 5 Minuten neu, bis er reinkommt, ohne sich einen Ban einzufangen. :)

Das Nip-File-Format ist fein. Ich liebe das neue [MaxQuantity]! Und die Formeln auch.

Ich hoffe, es ist selbsterklärend, was ich mit den Einstellungen beabsichtige. Und ganz unfertig ist es noch, viel ist erstmal von irgendwo reinkopiert zum Weiterplanen.

Am geilsten ist der letzte Absatz. Per Hand Questitems aufheben? Das gehört endlich der Geschichte an. Ich freue mich schon auf Albtraum.
Code:
//Alles aufheben zum Verkauf
//[Quality] >= normal # [Sockets]==7


//Merc
//[Type] == bow # [mindamage]+[maxdamage]+[secondarymindamage]+[secondarymaxdamage]+[firemindam]+[firemaxdam]+[lightmindam]+[lightmaxdam]>30
[Type] == polearm && [Flag]==ethereal # [Sockets]==4 && [mindamage]+[maxdamage]+[secondarymindamage]+[secondarymaxdamage]+[firemindam]+[firemaxdam]+[lightmindam]+[lightmaxdam]>=20
[Type] == armor # [defense] > 300
[Type] == helm  # [defense] > 100


//Susi
[Type] == orb    && [Quality] >= magic #  500 < ( [skillwarmth]*100+[skillfireball]*100+[skillfrozenorb]*100+[skillfiremastery]*100+[skillcoldmastery]*100+[sorceressskills]*500+[itemallskills]*500 + [FireResist]+[LightResist]+[ColdResist]+[PoisonResist] + [MaxMana]*1+[energy]*2 + [defense]*0.1 )
[Type] == helm   && [Quality] >= magic #  150 < ( [skillwarmth]*100+[skillfireball]*100+[skillfrozenorb]*100+[skillfiremastery]*100+[skillcoldmastery]*100+[sorceressskills]*500+[itemallskills]*500 + [FireResist]+[LightResist]+[ColdResist]+[PoisonResist] + [MaxMana]*1+[energy]*2 + [defense]*0.1 )
[Type] == ring   && [Quality] >= magic #  100 < ( [skillwarmth]*100+[skillfireball]*100+[skillfrozenorb]*100+[skillfiremastery]*100+[skillcoldmastery]*100+[sorceressskills]*500+[itemallskills]*500 + [FireResist]+[LightResist]+[ColdResist]+[PoisonResist] + [MaxMana]*1+[energy]*2 + [defense]*0.1 )
[Type] == amulet && [Quality] >= magic #  100 < ( [skillwarmth]*100+[skillfireball]*100+[skillfrozenorb]*100+[skillfiremastery]*100+[skillcoldmastery]*100+[sorceressskills]*500+[itemallskills]*500 + [FireResist]+[LightResist]+[ColdResist]+[PoisonResist] + [MaxMana]*1+[energy]*2 + [defense]*0.1 )
[Type] == shield && [Quality] >= magic #  100 < ( [skillwarmth]*100+[skillfireball]*100+[skillfrozenorb]*100+[skillfiremastery]*100+[skillcoldmastery]*100+[sorceressskills]*500+[itemallskills]*500 + [FireResist]+[LightResist]+[ColdResist]+[PoisonResist] + [MaxMana]*1+[energy]*2 + [defense]*0.1 )
[Name] == platedbelt && [Quality] >= magic # 30 < ( [skillwarmth]*100+[skillfireball]*100+[skillfrozenorb]*100+[skillfiremastery]*100+[skillcoldmastery]*100+[sorceressskills]*500+[itemallskills]*500 + [FireResist]+[LightResist]+[ColdResist]+[PoisonResist] + [MaxMana]*1+[energy]*2 + [defense]*0.1 )
[Type] == armor  && [Quality] >= magic # [Sockets]==4 && 100 < ( [skillwarmth]*100+[skillfireball]*100+[skillfrozenorb]*100+[skillfiremastery]*100+[skillcoldmastery]*100+[sorceressskills]*500+[itemallskills]*500 + [FireResist]+[LightResist]+[ColdResist]+[PoisonResist] + [MaxMana]*1+[energy]*2 + [defense]*0.1 )
[Type] == gloves && [Quality] >= magic #   50 < ( [skillwarmth]*100+[skillfireball]*100+[skillfrozenorb]*100+[skillfiremastery]*100+[skillcoldmastery]*100+[sorceressskills]*500+[itemallskills]*500 + [FireResist]+[LightResist]+[ColdResist]+[PoisonResist] + [MaxMana]*1+[energy]*2 + [defense]*0.1 )
[Type] == boots  && [Quality] >= magic #   50 < ( [skillwarmth]*100+[skillfireball]*100+[skillfrozenorb]*100+[skillfiremastery]*100+[skillcoldmastery]*100+[sorceressskills]*500+[itemallskills]*500 + [FireResist]+[LightResist]+[ColdResist]+[PoisonResist] + [MaxMana]*1+[energy]*2 + [defense]*0.1 )


//Memory
//4 Socket Staves (Not Orbs)
//Required Level: 37
//Lum + Io + Sol + Eth
//+3 to Sorceress Skill Levels
//33% Faster Cast Rate
//Increase Maximum Mana 20%
//+3 Energy Shield (Sorceress Only)
//+2 Static Field (Sorceress Only)
//+10 To Energy
//+10 To Vitality
//+9 To Minimum Damage
//-25% Target Defense
//Magic Damage Reduced By 7
//+50% Enhanced Defense

//Insight
//4 Socket Polearms / Staves
//Required Level: 27
//Ral + Tir + Tal + Sol
//Level 12-17 Meditation Aura When Equipped (varies)
//+35% Faster Cast Rate
//+200-260% Enhanced Damage (varies)
//+9 To Minimum Damage
//180-250% Bonus to Attack Rating (varies)
//Adds 5-30 Fire Damage
//+75 Poison Damage Over 5 Seconds
//+1-6 To Critical Strike (varies)
//+5 To All Attributes
//+2 To Mana After Each Kill
//23% Better Chance of Getting Magic Items

//Chains of Honor
//4 Socket Body Armor
//Required Level: 63
//Dol + Um + Ber + Ist	+2 To All Skills
//+200% Damage To Demons
//+100% Damage To Undead
//8% Life Stolen Per Hit
//+70% Enhanced Defense
//+20 To Strength
//Replenish Life +7
//All Resistances +65
//Damage Reduced By 8%
//25% Better Chance of Getting Magic Items 

//Spirit
//4 Socket Shields
//Required Level: 54
//Tal + Thul + Ort + Amn
//+2 To All Skills
//+25-35% Faster Cast Rate (varies)
//+55% Faster Hit Recovery
//+250 Defense Vs. Missile
//+22 To Vitality
//+89-112 To Mana (varies)
//Cold Resist +35%
//Lightning Resist +35%
//Poison Resist +35%
//+3-8 Magic Absorb (varies)
//Attacker Takes Damage of 14 

//Unendlichkeit / Infinity
//'BerMalBerIst'
//50% Chance auf Level 20 Kettenblitz wenn Sie einen Gegner ausschalten
//Level 12 Überzeugung Aura wenn ausgerüstet
//+35% schneller rennen/gehen
//+255-325% erhöhter Schaden
//-45% bis -55% zu Blitzwiderstand des Gegners
//+0.5 zu Vitalität pro Level
//Level 21 Zyklonrüstung (30 Ladungen)
//20% Chance auf vernichtenden Schlag (Ber)
//Verhindert Monsterheilung (Mal)
//20% Chance auf vernichtenden Schlag (Ber)
//30% bessere Chance magischen Gegenstand zu erhalten (Ist)

//Enigma
//Jah • Ith • Ber
//Level Requirement: 65
//+2 To All Skills
//+45% Faster Run/Walk
//+1 To Teleport
//+750-775 Defense (varies)
//(+0.75 Per Character Level) +0-74 To Strength (Based On Character Level)
//Increase Maximum Life 5%
//Damage Reduced By 8%
//+14 Life After Each Kill
//15% Damage Taken Goes To Mana
//(+1 Per Character Level) +1-99% Better Chance of Getting Magic Items (Based On Character Level)

//Heart of the Oak
//4 Socket Staves / Maces
//Required Level: 55
//Ko + Vex + Pul + Thul	+3 To All Skills
//+40% Faster Cast Rate
//+75% Damage To Demons
//+100 To Attack Rating Against Demons
//Adds 3-14 Cold Damage, 3 sec. Duration (Normal)
//7% Mana Stolen Per Hit
//+10 To Dexterity
//Replenish Life +20
//Increase Maximum Mana 15%
//All Resistances +30-40 (varies)
//Level 4 Oak Sage (25 Charges)
//Level 14 Raven (60 Charges)
//+50% Damage To Undead 

// ##### Runes #########################
//[Name] == ElRune
//[Name] == EldRune
[MaxQuantity] == 1 && [Name] == TirRune
//[Name] == NefRune
//[Name] == EthRune
//[Name] == IthRune
[MaxQuantity] == 1 && [Name] == TalRune
[MaxQuantity] == 1 && [Name] == RalRune
//[Name] == OrtRune
//[Name] == ThulRune
//[Name] == AmnRune
[MaxQuantity] == 1 && [Name] == SolRune
//[Name] == ShaelRune
//[Name] == DolRune
//[Name] == HelRune
//[Name] == IoRune
//[Name] == LumRune
//[Name] == KoRune
//[Name] == FalRune
//[Name] == LemRune
//[Name] == PulRune
//[Name] == UmRune
//[Name] == MalRune
//[Name] == IstRune
//[Name] == GulRune
//[Name] == VexRune
//[Name] == OhmRune
//[Name] == LoRune
//[Name] == SurRune
[Name] == BerRune
//[Name] == JahRune
//[Name] == ChamRune
//[Name] == ZodRune

// ##### Gems ##########################
//[Name] == ChippedAmethyst
//[Name] == ChippedDiamond
//[Name] == ChippedEmerald
//[Name] == ChippedRuby
//[Name] == ChippedSapphire
//[Name] == ChippedSkull
//[Name] == ChippedTopaz
//[Name] == FlawedAmethyst
//[Name] == FlawedDiamond
//[Name] == FlawedEmerald
//[Name] == FlawedRuby
//[Name] == FlawedSapphire
//[Name] == FlawedSkull
//[Name] == FlawedTopaz
//[Name] == Amethyst
//[Name] == Diamond
//[Name] == Emerald
//[Name] == Ruby
//[Name] == Skull
//[Name] == Sapphire
//[Name] == Topaz
//[Name] == FlawlessAmethyst
//[Name] == FlawlessDiamond
//[Name] == FlawlessEmerald
//[Name] == FlawlessRuby
//[Name] == FlawlessSapphire
//[Name] == FlawlessSkull
//[Name] == FlawlessTopaz
[MaxQuantity] == 1 && [Name] == PerfectAmethyst
[MaxQuantity] == 1 && [Name] == PerfectDiamond
[MaxQuantity] == 1 && [Name] == PerfectEmerald
[MaxQuantity] == 1 && [Name] == PerfectRuby
[MaxQuantity] == 1 && [Name] == PerfectSapphire
[MaxQuantity] == 1 && [Name] == PerfectSkull
[MaxQuantity] == 1 && [Name] == PerfectTopaz

// ##### Potions #######################
[Name] == GreaterHealingPotion
[Name] == SuperHealingPotion
[Name] == MinorManaPotion
[Name] == LightManaPotion
[Name] == ManaPotion
[Name] == GreaterManaPotion
[Name] == SuperManaPotion
[Name] == RejuvenationPotion
[Name] == FullRejuvenationPotion

// ##### Keys ##########################
//[Name] == KeyOfTerror
//[Name] == KeyOfHate
//[Name] == KeyOfDestruction

// ##### Essences ##########################
//[Name] == TwistedEssenceOfSuffering
//[Name] == ChargedEssenceOfHatred
//[Name] == BurningEssenceOfTerror
//[Name] == FesteringEssenceOfDestruction

[Name] == TokenOfAbsolution

// ##### Gold ##########################
[Type] == gold # [Gold] >= 1000


[Name] == ajadefigurine
[Name] == lamesen'stome
[Name] == horadriccube
[Name] == horadricscroll
[Name] == bookofskill
[Name] == khalim'seye
[Name] == khalim'sheart
[Name] == khalim'sbrain
[Name] == horadricstaff
[Name] == shaftofthehoradricstaff
[Name] == topofthehoradricstaff
[Name] == khalim'sflail
12/11/2011 20:05 Salamix#17
16.11.11, 22:30
Doch mal weiter in Albtraum versuchen.
Die NTTravincal.ntj fängt ein
Code:
	for(;;)
		NT_Delay(1000);
am Ende.
Oha, NT_Delay gibt es nicht. Ein Fehler, der das Script anhält.
Auch ok, damit kann ich auch per Hand den Rest machen.

Wegpunkt machen mit NTMap.ntj als Entry Point in euinen anderen Profil.

16.11.11, 23:18
Irgendwas habe ich an der NTConfig_Sorceress_Susi.ntl (Name von der Redaktion geändert) verfummelt un kann es nicht
rausfinden, was es war. Sofortiger Spielausstieg.

Na, das gibt mir die gute Gelegenheit zu folgendem Experiment.
Ich kopieren die NTConfig_Sorceress.ntl nach NTConfig_Sorceress_Susi.ntl und schaue mal.
Ich stelle nur ein, daß Baalruns gemacht werden.
Jup! Geht auf Anhieb, völlig ohne eigene Anpassungen.

16.11.11, 16:30
lv69 erreicht.

18.11.11, 10:55
lv70 erreicht. Ab hier ist von Baal nichts mehr zu holen.
Durch die Pause-Taste ist es auch leicht, durch Mephistos Tor zu kommen.
Dann mal kurz
Code:
	MWConfig_Script.push(["MWWaypointCatcher.ntj", 0]); MWConfig_WaypointCatcherActs = [4]; MWConfig_TPWaypoints = 
true; MWConfig_SkipHallsOfPain = true; MWConfig_ClearWaypointPaths = false;
und Akt4 ist erforscht.

20.11.11, 23:45
Irgendwie haben die meisten Scripts einfach nicht funktioniert.
Die Boss-Scripts oben gingen. Die vielen unten nicht.
Hier lag der Hase im Pfeffer:
Code:
	/* NOTE:
und viel später passend
Code:
	*/
23.11.11, 00:12
Immernoch lv70. Aber genug gutes Gear gefunden, daß Susi das Chaos-Sanktuarium machen kann (ohne Diablo).

24.11.11, 01:34
Lv71. Und noch ein wenig Gear gefunden.
Susi hat damit +3 für Zauberskills, genug Mana und Defense und die Resistenzen 90/90/49/58.

Code:
----------------------------------------
----------------------------------------
Susi's Stashlog (Level 71 Sorceress)
File created: Thu 11/24/11 01:33:19
Items carried: 28
Gold carried: 1724226
Free room: 63 of 96
----------------------------------------
----------------------------------------
Location: Susi (Stash)
Type: Quest Item
Quality: Normal
Item Level: 13
Amount carried: 1

Horadric Cube
Right Click to Open
----------------------------------------
Location: Susi (Amulet)
Type: Amulet
Quality: Rare
Item Level: 49
Amount carried: 1

Shadow Emblem
Amulet
Required Level: 29
8% Chance to cast level 3 Chain Lightning on attack
+1 to Sorceress Skill Levels
+76 to Mana
Cold Resist +23%
23% Better Chance of Getting Magic Items
----------------------------------------
Location: Susi (Right Ring)
Type: Ring
Quality: Magic
Item Level: 46
Amount carried: 1

Bahamut's Ring of Thawing
Required Level: 37
+115 to Mana
Half Freeze Duration
----------------------------------------
Location: Susi (Head)
Type: Basinet
Quality: Set
Item Level: 57
Amount carried: 1

Sazabi's Mental Sheath
Basinet
Defense: 179
Durability: 30 of 30
Required Strength: 82
Required Level: 43
+1 to All Skills
+100 Defense
Lightning Resist +18%
Fire Resist +17%

Sazabi's Grand Tribute
Sazabi's Mental Sheath
Sazabi's Ghost Liberator
Sazabi's Cobalt Redeemer
----------------------------------------
Location: Susi (Left Ring)
Type: Ring
Quality: Rare
Item Level: 60
Amount carried: 1

Grim Spiral
Ring
Required Level: 48
+10% Faster Cast Rate
+4 to Dexterity
+4 to Mana
Cold Resist +10%
Lightning Resist +22%
Fire Resist +10%
Poison Resist +10%
----------------------------------------
Location: Susi (Feet)
Type: Sharkskin Boots
Quality: Rare
Item Level: 60
Amount carried: 1

Dire Nails
Sharkskin Boots
Defense: 52
Durability: 14 of 14
Required Strength: 47
Required Level: 25
+31% Enhanced Defense
+2 to Dexterity
Cold Resist +25%
Poison Resist +39%
6% Better Chance of Getting Magic Items
----------------------------------------
Location: Susi (Gloves)
Type: Heavy Gloves
Quality: Rare
Item Level: 49
Amount carried: 1

Plague Hand
Heavy Gloves
Defense: 12
Durability: 14 of 14
Required Level: 24
+74% Enhanced Defense
Cold Resist +5%
Fire Resist +28%
Level 2 Poison Dagger (25/25 Charges)
Repairs 1 durability in 33 seconds
----------------------------------------
Location: Susi (Stash)
Type: Rune
Quality: Normal
Item Level: 1
Amount carried: 1

Io Rune
Can be Inserted into Socketed Items

Weapons: +10 to Vitality
Armor: +10 to Vitality
Helms: +10 to Vitality
Shields: +10 to Vitality

Required Level: 35
----------------------------------------
Location: Susi (Stash)
Type: Rune
Quality: Normal
Item Level: 1
Amount carried: 1

Lem Rune
Can be Inserted into Socketed Items

Weapons: 75% Extra Gold from Monsters
Armor: 50% Extra Gold from Monsters
Helms: 50% Extra Gold from Monsters
Shields: 50% Extra Gold from Monsters

Required Level: 43
----------------------------------------
Location: Susi (Stash)
Type: Round Shield
Quality: Unique
Item Level: 59
Amount carried: 1

Moser's Blessed Circle
Round Shield
Defense: 161
Chance to Block: 57%
Durability: 56 of 64
Required Strength: 53
Required Level: 31
+30% Faster Block Rate
25% Increased Chance of Blocking
+189% Enhanced Defense
All Resistances +25
Socketed (2)
----------------------------------------
Location: Susi (Torso)
Type: Templar Coat
Quality: Unique
Item Level: 61
Amount carried: 1

Guardian Angel
Templar Coat
Defense: 822
Durability: 60 of 60
Required Strength: 118
Required Level: 45
+1 to Paladin Skill Levels
+30% Faster Block Rate
20% Increased Chance of Blocking
+177 to Attack Rating against Demons (Based on Character Level)
+199% Enhanced Defense
+15% to Maximum Poison Resist
+15% to Maximum Cold Resist
+15% to Maximum Lightning Resist
+15% to Maximum Fire Resist
+4 to Light Radius
----------------------------------------
Location: Susi (Belt)
Type: Plated Belt
Quality: Set
Item Level: 58
Amount carried: 1

Sigon's Wrap
Plated Belt
Defense: 8
Durability: 24 of 24
Required Strength: 60
Required Level: 6
+20 to Life
Fire Resist +20%

Sigon's Complete Steel
Sigon's Guard
Sigon's Wrap
Sigon's Sabot
Sigon's Shelter
Sigon's Visor
Sigon's Gage
----------------------------------------
Location: Susi (Stash)
Type: Grim Shield
Quality: Unique
Item Level: 59
Amount carried: 1

Lidless Wall
Grim Shield
Defense: 286
Chance to Block: 40%
Durability: 46 of 70
Required Strength: 58
Required Level: 41
+1 to All Skills
+20% Faster Cast Rate
+90% Enhanced Defense
+10 to Energy
Increase Maximum Mana 10%
+5 to Mana after each Kill
+1 to Light Radius
----------------------------------------
Location: Susi (Stash)
Type: Plated Belt
Quality: Set
Item Level: 49
Amount carried: 1

Sigon's Wrap
Plated Belt
Defense: 9
Durability: 13 of 24
Required Strength: 60
Required Level: 6
+20 to Life
Fire Resist +20%

Sigon's Complete Steel
Sigon's Guard
Sigon's Wrap
Sigon's Sabot
Sigon's Shelter
Sigon's Visor
Sigon's Gage
----------------------------------------
Location: Susi (Inventory)
Type: Key
Quality: Normal
Item Level: 76
Amount carried: 1

Key
Quantity: 7
----------------------------------------
Location: Susi (Stash)
Type: Rune
Quality: Normal
Item Level: 1
Amount carried: 1

Ral Rune
Can be Inserted into Socketed Items

Weapons: Adds 5-30 fire damage
Armor: Fire Resist +30%
Helms: Fire Resist +30%
Shields: Fire Resist +35%

Required Level: 19
----------------------------------------
Location: Susi (Right Hand I)
Type: Clasped Orb
Quality: Rare
Item Level: 60
Amount carried: 1

Soul Whorl
Clasped Orb
One-Hand Damage: 5 to 12
Durability: 40 of 40
(Sorceress Only)
Required Level: 37
Staff Class - Normal Attack Speed
10% Chance to cast level 3 Nova on striking
+1 to Sorceress Skill Levels
+7 to Energy
+35 to Mana
Cold Resist +39%
Fire Resist +11%
----------------------------------------
Location: Susi (Left hand I)
Type: Gothic Shield
Quality: Unique
Item Level: 55
Amount carried: 1

The Ward
Gothic Shield
Defense: 112
Chance to Block: 46%
Durability: 40 of 40
Required Strength: 60
Required Level: 26
10% Increased Chance of Blocking
+100% Enhanced Defense
+40 Defense
+10 to Strength
All Resistances +39
Magic Damage Reduced by 2
----------------------------------------
Location: Susi (Inventory)
Type: Quest Item
Quality: Normal
Item Level: 1
Amount carried: 1

Mephisto's Soulstone
----------------------------------------
Location: Susi (Inventory)
Type: Gauntlets
Quality: Magic
Item Level: 61
Amount carried: 1

Sturdy Gauntlets of Dexterity
Defense: 20
Durability: 12 of 24
Required Strength: 60
Required Level: 4
+26% Enhanced Defense
+2 to Dexterity
----------------------------------------
Location: Susi (Inventory)
Type: Hardleather Armor
Quality: Magic
Item Level: 58
Amount carried: 1

Lizard's Hard Leather Armor 
Defense: 22
Durability: 17 of 28
Required Strength: 20
Required Level: 2
+4 to Mana
----------------------------------------
Location: Susi (Inventory)
Type: Serpentskin Armor
Quality: Magic
Item Level: 61
Amount carried: 1

 Serpentskin Armor of Amelioration
Defense: 123
Durability: 16 of 24
Required Strength: 43
Required Level: 24
Poison Length Reduced by 50%
----------------------------------------
Susi beginnt, bei Diablo anzuklopfen.
Ja, er fiel im dritten Versuch.

Auf zu Akt 5.
Code:
	MWConfig_Script.push(["MWWaypointCatcher.ntj", 0]); MWConfig_WaypointCatcherActs = [5]; MWConfig_TPWaypoints = 
true; MWConfig_SkipHallsOfPain = false; MWConfig_ClearWaypointPaths = true;
25.11.11, 20:00
Anja muß befreit werden.
Code:
	MWConfig_Script.push(["NTFrozenRiver.ntj", 10]); MWConfig_ClearPathSpectypes.FrozenRiver = 0x01; 
MWConfig_ClearAreaSpectypes.FrozenRiver = 0x01;
und wieder den
Code:
for(;;) NT_Delay(1000);
im Frozen River.

Das hat mal Resistenzen gebracht! Stand: 90/90/61/90. Da sollte sich Baal mal warm anziehen!

Dann noch den unnützen Wegpunkt holen.
Code:
	MWConfig_Script.push(["MWWaypointCatcher.ntj", 0]); MWConfig_WaypointCatcherActs = [5]; MWConfig_TPWaypoints = 
true; MWConfig_SkipHallsOfPain = false; MWConfig_ClearWaypointPaths = false;
Und ab dann Nihlathak ein Weilchen.

26.11.11, 08:00
Skillung bisher:
Teleport und Frozen Armor auf 1.
Wärme, Feuerball, Frozen Orb auf max.
Rest in Kältebeherrschung(14).

Die Urahnen habe ich per Hand gemacht. Ich habe sie gefrostet und der Merc hat sie umgenietet.
Zu diesem behufe sammelt Susi
Code:
[MaxQuantity] == 1 && [Type] == polearm  # [Sockets]==4 && 
[mindamage]+[maxdamage]+[secondarymindamage]+[secondarymaxdamage]+[firemindam]+[firemaxdam]+[lightmindam]+[lightmaxdam]>=
18+45
[MaxQuantity] == 1 && [Name] == TirRune
[MaxQuantity] == 1 && [Name] == TalRune
[MaxQuantity] == 1 && [Name] == RalRune
[MaxQuantity] == 1 && [Name] == SolRune
Und gelegentlich, wenn ich mal in die Kiste schaue, würfle ich eine Einsicht-Stangenwaffe und wenn sie besser ist als die
alte, wird sie eingesetzt.
Derzeit hat der Merc
Code:
Location: Susi's Merc (Inventory)
Type: Partizan
Quality: Normal
Item Level: 58
Amount carried: 1

Insight
Partizan
'RalTirTalSol'
Two-Hand Damage: 124 to 254
Durability: 47 of 65
Required Dexterity: 67
Required Strength: 113
Required Level: 27
Polearm Class - Normal Attack Speed
Level 15 Meditation Aura When Equipped
+35% Faster Cast Rate
+239% Enhanced Damage
+9 to Minimum Damage
192% Bonus to Attack Rating
Adds 5-30 fire damage
+75 poison damage over 5 seconds
+6 to Critical Strike
+5 to all Attributes
+2 to Mana after each Kill
23% Better Chance of Getting Magic Items
Socketed (4)
Das und Tal Rashas Mütze mit 10% Life Leech:
Kein Wunder, daß die Urahnen da alt aussehen.

Weiter geht's mit Ballruns (ohne Baal).
Warum eigentlich? Susi hat drei Resistenzen auf 90.
Jup! Baal geht auf Anhieb.

Eigentlich ist es ja schon frech, wie wenig ich in Albtram gearbeitet habe. :)

26.11.11, 18:30
lv79 erreicht.

Es folgen Tristruns in der Hölle.
Es gibt dort 5% Erfahrung in 4 Minuten.

04.12.11, 20:00
lv83 und kein Fortschritt mehr, weil Susi doch gelegentlich stirbt.

Den Schild Moser's Blessed Circle mit zwei Um-Runen versehen.
Jetzt hat er all resistances +69.
Susi hat in Hölle jetzt 87/67/60/77.

11.12.11, 10:00
Umgeskillt auf Chain Lightning und Frozen Orb.
Nee, das ist ja gar nichts. Frozen Orb geht nur alle paar Sekunden und Chain lightning wirkt nur alle paar Sekunden. Das
war kein Heldenstück. Also gleich die zweite Umskillung verbraten.
Umgeskillt auf nur Fireball und seine Synergien.

Tristram und Andy kanns Susi jetzt fein erledigen.
In Akt2 hole ich Tal Rashas Stab. Das war leicht.
Den Zaubberer kann Susi wieder machen. Easy.
Mit for(;;)delay(1000); am Ende, damit ich durch das Tor gehen kann.

Naja, Susi haut einen Metorschauer mit 9700 runter und während der noch auf dem Weg ist, pumpt sie Feuerbälle zu je 5100
in den Feind. Der schaut erschreckt auf und stellt fest, daß er tot ist.

Für Duriel benutze ich zweimal for(;;)delay(1000);:
- Um den Stab reinzustecken,
- und um nach Duriel durch das Tor zu gehen.

Mist, jetzt habe ich kurz weggeschaut, und nicht gesehen, wie Susi den Duriel gekillt hat.
Das darf sie gleich nochmal machen. Aha, so locker war es gar nicht.

Also weiter mit dem Waypointcatcher für Akt3. Leicht.

Und dann mal alle Scripts von Akt3 bis Travincal anmachen. OK.

Da gibt es Spinnen, die sind immun gegen Feuer von mir und physischen Schaden vom Merc. Das ist ein wenig lästig. Aber
nicht schlimm, denn man kann sie weglocken und dann hinter ihrem Rücken die Kiste öffnen.

Travincal ist zu schwierig. Also viele Versuche machen.
Pro Run davor schnell Andy machen, das bringt ungefähr so viel Gold ein, wie eine Wiederbelebung kostet.
Dann ein Lauf durch den Schinderdschungel, weil das viele schnelle Kills gibt und hoffentlich Runen.
Und zum Abschluß ein Travincal-Versuch.

Hahaha! Travincal war kein Gebiet für Susi.
Diese Schelme im Rat sind ja ganz gerne mal feuerresistent.
Per Hand war es ok. Der Merc schafft das, wenn man die Ratsmitglieder einzeln herauslockt.

Meppel hingegen war für Susi ein Spaziergang.

Izual hingegen geht gar nicht. Der schießt mit Blitzen und Susi fällt um.

Susi hat erst Level 85. Am Levelaufstieg muß ich mal was drehen.
12/11/2011 20:22 -Sun-#18
Hab das gerade das erste mal gelesen. Hut ab, macht richtig Spaß. Mach auf alle Fälle weiter damit. Nicht nur die kurzweilige Art zu schreiben, auch noch die technischen Erklärungen dazu, einfach wunderbar.
12/21/2011 22:39 Salamix#19
12.12.11, 02:44
Unglaublich, aber es hat den Anschein, daß im Schinderdschungel am meisten Erfahrung zu sammeln ist.
Code:
	MWConfig_Script.push(["MWFlayerJungle.ntj", 20]); MWConfig_ClearAreaSpectypes.FlayerJungle = 0x01;
14.12.11, 19:00
Level up. Das kommt halt davon, wenn man mal drei Tage seine gierigen Finger heraushält.

15.12.11, 04:30
Mara's Amulett gefunden. Das ist nicht schlecht.
+2 zu allen Skills und +26 zu allen Resistenzen.
Susi hat jetzt in Hölle die Resistenzen 90,85,90,84.

Ihr Nip-File-Abschnitt ist
Code:
//Susi
[Type] == orb    && [Quality] >= magic     # 10610 <  ( 
[skillwarmth]*1000+[skillfireball]*1000+[skillfrozenorb]*1000+[skillfiremastery]*1000+[skillcoldmastery]*1000+[sorceresss
kills]*5000+[itemallskills]*5000 + [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
[Type] == helm   && [Quality] >= magic     #  5512 <  ( 
[skillwarmth]*1000+[skillfireball]*1000+[skillfrozenorb]*1000+[skillfiremastery]*1000+[skillcoldmastery]*1000+[sorceresss
kills]*5000+[itemallskills]*5000 + [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
[Type] == ring   && [Quality] >= magic     #   572 <= ( 
[skillwarmth]*1000+[skillfireball]*1000+[skillfrozenorb]*1000+[skillfiremastery]*1000+[skillcoldmastery]*1000+[sorceresss
kills]*5000+[itemallskills]*5000 + [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
[Type] == amulet && [Quality] >= magic     # 11400 <=  ( 
[skillwarmth]*1000+[skillfireball]*1000+[skillfrozenorb]*1000+[skillfiremastery]*1000+[skillcoldmastery]*1000+[sorceresss
kills]*5000+[itemallskills]*5000 + [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
//[Type] == shield && [Quality] >= magic   #  1200 <  ( 
[skillwarmth]*1000+[skillfireball]*1000+[skillfrozenorb]*1000+[skillfiremastery]*1000+[skillcoldmastery]*1000+[sorceresss
kills]*5000+[itemallskills]*5000 + [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
[Name] == platedbelt && [Quality] >= magic #   581 <  ( 
[skillwarmth]*1000+[skillfireball]*1000+[skillfrozenorb]*1000+[skillfiremastery]*1000+[skillcoldmastery]*1000+[sorceresss
kills]*5000+[itemallskills]*5000 + [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
//[Type] == armor  && [Quality] >= magic   #   365 <  ( 
[skillwarmth]*1000+[skillfireball]*1000+[skillfrozenorb]*1000+[skillfiremastery]*1000+[skillcoldmastery]*1000+[sorceresss
kills]*5000+[itemallskills]*5000 + [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
[Type] == gloves && [Quality] >= magic     #   584 <  ( 
[skillwarmth]*1000+[skillfireball]*1000+[skillfrozenorb]*1000+[skillfiremastery]*1000+[skillcoldmastery]*1000+[sorceresss
kills]*5000+[itemallskills]*5000 + [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
[Type] == boots  && [Quality] >= magic     #   762 <  ( 
[skillwarmth]*1000+[skillfireball]*1000+[skillfrozenorb]*1000+[skillfiremastery]*1000+[skillcoldmastery]*1000+[sorceresss
kills]*5000+[itemallskills]*5000 + [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
Das sind schon beeindruckende Zahlen, wenn ich daran denke, wie klein die Zahlen in Albtraum noch waren.

Was ist das denn? Eine Orb mit +3 Sorceres Skills? Das gibt's doch gar nicht. Und +20 auf alle Resistenzen? Dazu endlos
Mana. Ich bin im falschen Film.
Code:
Location: Susi (Right Hand I)
Type: Swirling Crystal
Quality: Unique
Item Level: 75
Amount carried: 1

The Oculus
Swirling Crystal
One-Hand Damage: 18 to 42
Durability: 32 of 50
(Sorceress Only)
Required Level: 42
Staff Class - Normal Attack Speed
25% Chance to cast level 1 Teleport when struck
+3 to Sorceress Skill Levels
+30% Faster Cast Rate
+20% Enhanced Defense
+20 to Vitality
+20 to Energy
All Resistances +20
+5 to Mana after each Kill
50% Better Chance of Getting Magic Items
Ach, jetzt sehe ich das ganz anders.
Wie kann man sich nur ohne Oculus auf die Straße trauen?

Und noch einen Ring gefunden mit +1 zu allen Skills. Das war mir auch neu, daß es sowas gibt.
Wie ultrageil, daß die Formeln im nip-File automatisch solche guten Sachen aufbewahren, und mich
vor dem ganzen Schrott beschützen. (Schrott für Susi, die ja nicht handeln will. So viele Shakos
(die grünen Mützen mit +2 Skill), wie sie findet, wäre Handeln schon lukrativ.)

21.12.11, 21:00
Lv 87 erreicht. Ab jetzt gehen auch Izual, der Flammenfluß und der Schmied dort.
Keine Ahnung, wie Susi den Diablo schaffen soll. Der war ja schon auf Normal und Albtraum
die Hölle. In Hölle ist es sicher die...? Für diese Gemeinheit habe ich ja nichtmal ein Wort!
Das Unternehmen schätze ich erstmal als völlig unralistisch ein.
Mal schauen. Susi sammelt fleißig Runen und würfelt sie hoch. Eventuell muß ihr Buder,
ein Hammerdin, der von ihr ausgerüstet werden müßte, den Rest übernehmen.
01/12/2012 05:29 Salamix#20
25.12.11, 20:00
Keine Ahnung, wie lange Susi schon die erste Ber-Rune mitschleppt. Aber zu Weihnachten gab es die zweite.
Ich sehe bei ihr sonst keinen weiteren Forschritt mehr. Deswegen beginne ich mit einem Paladin.

[h1]Hans Solobot[/h1]
Er lernt nur Zeal und Holy Shock. Klingt nach einer saublöden Kombination. Aber klappt fein in tiefen
Levels. Um mehr geht es nicht. Muß Level 65 erreichen, dann wird eine Enigma angelegt und total umgeskillt.

Spielstil bis Level24:
Per Hand bis Tristram, und das ist viel einfacher als es mit Susi war.
Dann Tristruns eine Weile. Dann den Baumkopf dazunehmen.
Dabei killt der Merc die meisten Monster! Denn Hans ist damit beschäftigt, gegen Wände, Steine, ja sogar
gegen die Gegner selbst zu laufen. Oder er verläuft sich einfach. Aber Hans trägt die Aura Holy Fire oder
Holy Freeze (nur auf Stufe 1, sind ja eh Vorbedingungen für Holy Shock).
Ab Level 18 kann man auch mal Radamant und den Canyon dazunehmen.
Warum nur Baumkopf, Tristram, Radamant und den Canyon? Na, weil Hans nicht teleportieren kann und dashalb
nur sehr wenige Levels gut schafft, ohne gar zu viel Zeit in Sackgassen rumzugammeln. Insbesondere dürfen
keine geschlossenen Türen vorkommen, die schafft er gar nicht.

Ab Level 24 kann Holy Shock ausgebaut werden. Jetzt kracht es im Gebälk.
Travincal und Izual anstreben.

Travincal muß geheilt werden. Vom Wegpunkt aus zum Rat geht er gleich mal falsch. Jedes mal.
Code:
	NTM_MoveTo(me.areaid, 5712 + _deltax, 1583 + _deltay);//erstmal nach rechts, um als Fussgaenger 
		//durch die Tür zu kommen.
Weiter leveln mit Travincal, Izual, Diablo. Es macht gar nichts, daß Hans kein einziges mal alle sieben
Siegel schafft. Er verliert beim Sterben keine Erfahrung. Durch Travincal ist immer genug Geld in der Kasse
für Merc-Wiederbelebungen. Und er gewinnt dort viel Erfahrung.

Damit das überhaupt klappt, muß eine Anpassung in der NTMove vorgenommen werden.
Code:
		if(Math.abs(me.x-x) < 3 && Math.abs(me.y-y) < 3) //vorher 2, aber das ist zu eng für Siegel
			break;
Ansonsten tanzt Hans jahrelang um das Siegel im Kreis herum.

Hans trägt jetzt zwei Ringe mit je 4% Life Leech und eine Waffe mit 7%.
Der Merc ist ein Defensiv-Merc aus Akt2.

Das klingt alles vollkommen dumm. Hans macht von der Waffe her nur 56-103 Schaden. Mit angeschalteter Aura
schon 67-607 per Waffe. Von diesen 607 wird das Life Leech aber nie was sehen, weil nur physischer Schaden
geleecht wird.
Der Flächenschaden von 1-84 ist gar nicht zu verachten, wenn große Horden ankommen.
Der Eifer für so viele Treffer, daß das Life Leech doch schon eine spürbare Entlastung ist, Hans kann sich
damit an Endgegner festbeißen und (mit Tränken) gemütlich runterkopfen, obwohl noch Kleinvieh in der Nähe
ist und von Holy Shock mit der Zeit weggeblitzt wird. Und der Merc ist ja auch nicht so schlecht.

Das Nip-File bisher:
Code:
//Alles aufheben zum Verkauf
[Quality] > normal # [Sockets]==7


//Merc
//[Type] == bow # 
[mindamage]+[maxdamage]+[secondarymindamage]+[secondarymaxdamage]+[firemindam]+[firemaxdam]+[lightmindam]+[
lightmaxdam]>9+22+1+15
//[MaxQuantity] == 1 && [Type] == polearm  # [Sockets]==4 && 
[mindamage]+[maxdamage]+[secondarymindamage]+[secondarymaxdamage]+[firemindam]+[firemaxdam]+[lightmindam]+[
lightmaxdam]>=18+45
[Type] == polearm  # 
[mindamage]+[maxdamage]+[secondarymindamage]+[secondarymaxdamage]+[firemindam]+[firemaxdam]+[lightmindam]+[
lightmaxdam]>=20
[Type] == armor # [defense] > 342
[Type] == helm  # [defense] > 68


//Hans
[Type] == sword  && [Quality] >= magic     # 7000+11+26 <  ( 
[LifeLeech]*1000+[mindamage]+[maxdamage]+[secondarymindamage]+[secondarymaxdamage]+[firemindam]+[firemaxdam
]+[lightmindam]+[lightmaxdam] )
[Type] == scepter && [Quality] >= magic    # 7000+11+26 <  ( 
[LifeLeech]*1000+[mindamage]+[maxdamage]+[secondarymindamage]+[secondarymaxdamage]+[firemindam]+[firemaxdam
]+[lightmindam]+[lightmaxdam] )
[Type] == helm   && [Quality] >= magic     #  448 <  ( 
[LifeLeech]*1000+[FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + [MaxMana]*1+[energy]*2 + 
[defense] )
[Type] == ring   && [Quality] >= magic     # 4000+4 <  ( 
[LifeLeech]*1000+[FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + [MaxMana]*1+[energy]*2 + 
[defense] )
[Type] == amulet && [Quality] >= magic     #  100 <  ( 
[LifeLeech]*1000+[FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + [MaxMana]*1+[energy]*2 + 
[defense] )
[Type] == shield && [Quality] >= magic     # 5400+270+25 <  ( 
[LifeLeech]*1000+[ToBlock]*100+[FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + 
[MaxMana]*1+[energy]*2 + [defense] )
[Name] == platedbelt && [Quality] >= magic #  300 <  ( 
[LifeLeech]*1000+[FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + [MaxMana]*1+[energy]*2 + 
[defense] )
[Type] == armor  && [Quality] >= magic     #  401 <  ( 
[LifeLeech]*1000+[FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + [MaxMana]*1+[energy]*2 + 
[defense] )
[Type] == gloves && [Quality] >= magic     #  279 <  ( 
[LifeLeech]*1000+[FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + [MaxMana]*1+[energy]*2 + 
[defense] )
[Type] == boots  && [Quality] >= magic     #  360 <  ( 
[LifeLeech]*1000+[FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist] + [MaxMana]*1+[energy]*2 + 
[defense] )
Der Ausdruck wird immer mal angepaßt, wenn mir etwas Neues einfällt oder wenn im Spielgeschehen Bedarf zu
beobachten ist. Bald sieht er so ähnlich aus:
Code:
( [mindamage]*100+[maxdamage]*100 
+ [skillwarmth]*1000 + [skillblessedhammer]*1000+[skillholyshield]*1000+[skillholyshock]*1000
+ [palicombatskilltab]*2000+[offensiveaurasskilltab]*1000+[paladinskills]*3000+[itemallskills]*4000 
+ [ToBlock]*1000 
+ [FireResist]*10+[LightResist]*10+[ColdResist]*10+[PoisonResist]
+ [MaxMana]*1+[energy]*2 + [defense] )
Zur Befriedigung der Neugier habe ich nochmal eine Bogenschützin aus Akt 1 eingestellt und muß feststellen,
daß sie hier nichts mehr taugt.

Testhalber die Move-Toleranz auf 4 gesetzt. Alles läuft noch besser, bilde ich mir ein.

Baalruns gehen zu Fuß kaum, weil der Weg in der Wordstone Chamber so viele Sackgassen hat.
Das macht Hans traurig. Naja, dann bricht er eben die meisten ab, aber ein paar mal kommt trotzdem er bis
hin.

01.01.12, 18:55
Baal ist gefallen.
Hans hat Stärke 60 (für den Plattengürtel), nix auf Energie und die anderen beiden gleich.
Er kann Eifer und Heiligen Schock auf 20.
Mit Albtraum warte ich noch einen Levelaufstieg auf 45, bis Hans den Heiligen Schild hat.
Tristruns auf Albtraum geben 12% in 6 Minuten.

02.01.12, 22:00
Travincal geht gar nicht.
Also wird Level65 im Canyon gemacht.
Zwischendurch auf den Flammenfluß gewechselt.

03.01.12, 14:00
Level 65 erreicht.
Für die Einsicht-Stangenwaffe fehlt noch eine Sol-Rune.
Für Enigma fehlt noch eine Rüstung mit vier Sockeln.
Soll Susi die Rüstung suchen? Ja, eigentlich schon.
Aber erstmal klopft Hans im Chaos-Saktuarium an.
Oh, er kommt nicht so einfach rein. Da stehen sieben Monster und versperren die Tür. Und Hans versucht,
sich hindurchzuzwängen. Währenddessen haut der Merc dort ein wenig. Und das alles unter einem Heiligen
Schild und uns passiert gar nichts. Das ist ein gutes Omen. Nach einigen Minuten ist die Tür frei und Hans
geht hinein. Drinnen ist zunächst alles Kindergarten. Aber für Diablo reicht es dann doch nicht.

Auftriff für Susi.
Uups, die Jah-Rune ist ja noch seltener als die Ber-Rune. Da muß Susi wohl ein paar Wochen arbeiten. Das
motiviert mich gerade gar nicht.

Susi läuft weiter auf Runensuche.

Hans hat auf Heilgen Hammer gewechselt. Ja, das fühlt sich gut an. Mit dieser Kill-Geschwindigkeit wird es
Spaß machen. Teleport muß her. Also eine Rüstung mit Enigma.

Pala macht Spaß. Zwischendurch einen Hans2 hochgezogen, der nicht auf den Hammer wechselt, sondern beim
Blitzen bleibt. Stelle fest, die Blitz-Aura ist in hohen Levels dann doch zu schwach.

11.01.12, 05:45
Susi kam bis Level 87. Ab hier ist kein Weiterkommen. Ach, lv87 hat sie ja schon seit Wochen. Und ich
wechsle immer mal auf den Hans, weil Susi so demotivierend ist. Das wird jetzt mit Gewaltaktionen geändert.
Spielspaß oder Tod!

Einmal Umskillen war noch frei. Das wird jetzt verbraten. Das muß jetzt was werden, denn es ist das letzte
kostenlose Umsillen von Akara.
Jetzt benutzt Susi
Code:
	MWConfig_PrecastSkills = [MWS_SHIVER_ARMOR];
...
	NTConfig_AttackSkill[0] = -1;			// This skill is used once whenever attacking a new 
target. Set to -1 to deactivate.
	NTConfig_AttackSkill[1] = MWS_FIRE_BALL;		// Primary skill to bosses.
	NTConfig_AttackSkill[2] = -1;		// Primary untimed skill to boss. Set to -1 to deactivate.
	NTConfig_AttackSkill[3] = MWS_FIRE_BALL;		// Primary skill to others.
	NTConfig_AttackSkill[4] = -1;		// Primary untimed skill to others. Set to -1 to 
deactivate.
	NTConfig_AttackSkill[5] = MWS_CHAIN_LIGHTNING;		// Secondary skill in case monster is 
immune to primary skill. Set to -1 to deactivate.
	NTConfig_AttackSkill[6] = -1;		// Secondary untimed skill. Set to -1 to deactivate.
	NTConfig_AttackSkill[7] = -1;		// Alternative untimed skill which is used if the target is 
immune to your untimed skill - mostly useful for FB/FO/Meteor sorcs or other sorcs that are using the same 
untimed skills. Set to -1 to deactivate.
Und die ganzen Timed Skills werden nicht benutzt. Das fühlt sich schon besser an.
Wärme, Teleport, Shiver Armor auf 1.
Feuerball und Feuerbeherrschung auf max.
Kettenblitz und Blitzbeherrschung auf max.
Rest in Blitz, um später eine bessere Handhabe gegen feuerimmune Bosse zu haben.

Um für mehr Runen möglichst viele Kills zu schaffen, bastle ich ein Script, das die ersten paar Gebiete des
Akt1 durchgeht.
Code:
/**
*       Alles nur (vorwiegend von Muddy geklaut) und von Salamix zusammengefrickelt. 
*/

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

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

	MWC_Initialize();

	if(!NTTM_CheckAct(1, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct);
		return;
	}
//	NTTMGR_TownManager();

	clearAreas([4,3,2,1]);
	clearAreas([5,6]);

	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}

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

	NTTMGR_TownManager();

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

	if(!NTM_TakeWaypoint(areas[0]))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 34, 46);
		return false;
	}

	for(var i=0;i<areas.length;i++)
	{
		MW_EnterAdjacentArea(areas[i]);
		NTA_ClearLevel();
	}
	return true;
}

function MW_EnterAdjacentArea(areaid)
{
	var _rooms = GetRoom(areaid);
	var _count = 0;
		
	if(NTC_InTown())
		return false;
	
	if(GetUIState(0x14))
	{
		NTC_Delay(250);
					
		me.Cancel(1);
	}
	
	if(_rooms)
	{
		do
		{
			if(me.areaid == areaid)
				return true;
			if(_count%5 == 0)
				MW_MoveTo(_rooms.areaid, parseInt(_rooms.x*5+_rooms.xsize*5/2), 
parseInt(_rooms.y*5+_rooms.ysize*5/2), 5, MWConfig_ClearWaypointPaths);
		}
		while(_rooms.GetNext());
	}
	return false;
}	

function MW_MoveTo(areaid, x, y, retry, clearpath)
{
	var i, n;
	var _teleport;
	var _path;
	var _retry = 0;

	if(x == me.x && y == me.y)
		return true;

	if(arguments.length < 4)
		retry = 3;
	
	if(arguments.length < 5)
		clearpath = false;
		
	if(NTC_InTown() || NTC_GetSkillLevel(54) < 1)
	{
		_teleport = false;
	}
	else
		_teleport = true;

	_path = GetPath(areaid, me.x, me.y, x, y, _teleport);

	if(!_path)
		return false;

	for(i = 0 ; i < _path.length ; i++)
	{
		if(me.areaid == areaid)
			return true;
		
		for(n = 0 ; n < 2 ; n++)
		{
			if(_teleport)
			{
				if(NTM_TeleportTo(_path[i][0]+Random(-n, n), _path[i][1]+Random(-n, n)))
					break;
			}
			else
			{
				if(NTM_WalkTo(_path[i][0], _path[i][1]))
					break;
			}
		}
		
		if(n < 2 && clearpath)
		{
			if(!NTA_ClearPosition(20, true, 2))
				return false;

				NTP_DoPrecast(false);

				NTM_MoveTo(me.areaid, _path[i][0], _path[i][1], 1);
		}
		
		if(_retry < retry)
		{
			_path = GetPath(areaid, me.x, me.y, x, y, _teleport);

			if(!_path)
				return false;

			i = -1;
			_retry++;
		}
		else
			return false;
	}

	return true;
}
Aber das reicht noch nicht. Noch immer noch stirbt Susi zu oft. Sie ist halt eine kleine Sterberin.

Es muß eine ganz andere Kriegführung her. Susi ist eine Zauberin und kein Tank. Als Mensch würde ich nie
und nimmer so spielen wie die Skripts. Ich teleportiere doch nicht mit einer Zauberin mitten in den Mob
hinein und schieße dann alle ab, während die Gegner mir Schwerter in den Bauch bohren. Nein, nein, nein.
Ich halte einen gepflegten Abstand zu allen Gegnern und puste sie aus Entfernung um. Und das müßte mit
Teleport doch auch zu skripten sein. Sie muß viel hüpfiger werden.

Jetzt folgen ein paar Änderungen in der NTAttack.ntl

Zunächst müssen Funktionen her, damit Susi ihre Umgebung besser inspizieren kann.
Sie soll weghüpfen, wenn Gegner ihr zu nahe kommen.
Code:
function NTA_CountAttackableMonstersInRange(x,y,range)
{
    var _monsters = 0;
    var _checkMonster = NTC_FindUnit(NTC_UNIT_MONSTER);
    
    if(_checkMonster)
    {    
        do
        {
            if(_checkMonster.IsAttackable() && GetDistance(x, y, _checkMonster.x, _checkMonster.y) <= range 
&& NTA_IsValidMonster(_checkMonster))
            {    
                _monsters++;
            }
        } while(_checkMonster.GetNext());
    }
    return _monsters;
}
Und sie soll dann auf ein möglichst ungefährliches Feld hüpfen.
Aber was ist "Gefährlichkeit"?
Da muß man sich für irgend ein Maß entscheiden, das einerseits anständig programmiert werden kann, und
andererseits nicht völlig bekloppt ist.
Ich addiere mal einen Punkt pro Gegner in der Nähe.
Aber zusätzlich bewerte ich Gegner, die sehr nah sind, deulich höher als Gegner, die weiter weg sind.
Ob das was taugt, wird sich im Einsatz zeigen.
Code:
function NTA_CountDanger(x,y,range)
{
    var _danger = 0;
    var _checkMonster = NTC_FindUnit(NTC_UNIT_MONSTER);
    
    if(_checkMonster)
    {    
        do
        {
            if(_checkMonster.IsAttackable() && GetDistance(x, y, _checkMonster.x, _checkMonster.y) <= range 
&& NTA_IsValidMonster(_checkMonster))
            {
		var tmp=GetDistance(x, y, _checkMonster.x, _checkMonster.y)+1.0;
                _danger+=1/(tmp*tmp);
            }
        } while(_checkMonster.GetNext());
    }
    return _danger;
}
Wie soll Susi springen?
Sie soll rund um den Gegner springen, immer rund herum. Speziell für Diablo soll sie auch 90Grad oder mehr
pro Sprung machen, damit er mit seinem unglaublich starken Feuerstrahl ins Leere ballert. Der perfekte
Winkel ist natürlich der goldene.
Siehe Golden angle - Wikipedia, the free encyclopedia

Aber nur für Diablo.
Bei anderen Gegnern ist es dann doch besser, einfach ein zufälliges Feld aufzusuchen, falls es
ungefählicher ist als der aktuelle Standort.

Code:
var NTA_JumpAway_angle=0;
var NTA_JumpAway_nextTime=0;
function NTA_JumpAway(target){
	if(target.name=="Diablo"){
		if(GetTickCount()>NTA_JumpAway_nextTime){
			var nx=Math.round(target.x+Math.cos(NTA_JumpAway_angle)*16);
			var ny=Math.round(target.y+Math.sin(NTA_JumpAway_angle)*16);
			NTA_JumpAway_angle+=2.4;
			NTA_JumpAway_nextTime=GetTickCount()+1000;
			NTC_CastSkill(54, NTC_HAND_RIGHT, nx, ny);
		}
	}
	else{
//		var monsters=NTA_CountAttackableMonstersInRange(me.x,me.y,6);
//		if(monsters>0){
			var danger=NTA_CountDanger(me.x,me.y,24);
			var r=Random(16,24);
			var nx=Math.round(target.x+Math.cos(NTA_JumpAway_angle)*r);
			var ny=Math.round(target.y+Math.sin(NTA_JumpAway_angle)*r);
			NTA_JumpAway_angle+=2.4;
			if(NTA_CountDanger(nx,ny,24)<=danger){
				//Print("Move to " + nx + "|" + ny);
				//NTM_TeleportTo(nx,ny);
				NTC_CastSkill(54, NTC_HAND_RIGHT, nx, ny);
			}
//		}
	}
}
Hihi, nicht schlecht! Ich bin so frei, mir dafür mal auf die Schulter zu klopfen.

Das Angreifen wird komplett umgekrempelt.
Code:
var NTA_SorceressCastSkillInt_attackCount=0;
function NTA_SorceressCastSkillInt(index, target)
{
	//Wenn ich wegspringen kann, schaue ich mal, ob ich es tun sollte
	if(NTC_GetSkillLevel(MWS_TELEPORT)>0 && me.GetSkillStatus(MWS_TELEPORT)!=8)
		NTA_JumpAway(target);

	//Standardangriff ist 3*Feuerball, 1*Lightning abwechselnd
	NTA_SorceressCastSkillInt_attackCount=(NTA_SorceressCastSkillInt_attackCount+1)%4;
	var attack=NTA_SorceressCastSkillInt_attackCount==0?MWS_LIGHTNING:MWS_FIRE_BALL;

	//Außer, der Gegner ist immun gegen Lightning, dann Feuer
	if(!MWA_CheckMonsterResistance(target,NTA_DAMAGE_LIGHTNING))
		attack=MWS_FIRE_BALL;

	//Außer, der Gegner ist immun gegen Feuer, dann Lightning
	if(!MWA_CheckMonsterResistance(target,NTA_DAMAGE_FIRE))
		attack=MWS_LIGHTNING;
	

	//Bei größeren Gegneranzahlen aber Chain Lightning statt Lightning
	if(attack==MWS_LIGHTNING)
		if(NTA_CountAttackableMonstersInRange(target.x,target.y,16)>2)
			attack=MWS_CHAIN_LIGHTNING;

	if(me.GetSkillStatus(attack)!= 8){
		if(GetDistance(me, target) > 25 || !CheckCollision(me, target, 4)){
       			var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, 16, 4);
			if(_pos)
				NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
		}
		return NTC_CastSkill(attack, NTC_HAND_LEFT, target);
	}

	NTC_Delay(NTC_DELAY_FRAME);
	return false;
}
Ja, so ungefähr denke ich mir das.

Allein durch Schlaubi-Hüpfi ist Susi um drei Akte aufgestiegen. Während sie vormals noch mit der Gräfin
arge Probleme hatte, hat sie jetzt mit Izual und dem Flammenfluß arge Probleme.

Susi stirb noch zu oft. Das hat drei Hauptgründe:
a) Sie bekommt schneller Schaden, als sie saufen kann, was sich darin äußert, daß sie über Dutzende von
Sekunden immer mehr Leben verliert.
b) Oder ihr gehen einfach die Tränke aus, während sie an einem Gegner arbeitet.
c) Sie bekommt im Bruchteil einer Sekunde 1000 Schaden und ist insta-tot.

Gegen a) und b) würde ein Town-Chicken helfen. Gegen c) hilft wohl nur besseres Gear, evtl ein Umstieg zu
MaxBlock (oh, das Token gips erst, wenn Baal fällt) und höheres Level.

Also ein kleines
Code:
function TownChicken(){
	if(me.hp <= me.hpmax*0.75 || NTT_CheckBelt() || NTT_CheckMerc()){
		NTTMGR_VisitTown();
	}
}
und das nach jedem Fluchthüpf (damit auch Platz für das Stadtportal ist) aufrufen.

Und im Nicht-Diablo-Fall noch eine kleine Weichbrotkillbeschleunigung
Code:
		if(!NTT_CheckHeal())
			return;
rein, damit Susi nicht ganz so hüpfig ist, wenn sie kerngesund und satt dasteht.



Fragen:
Wie kann ich im nip-File Rüstungen und Sachen ablehnen, weil sie zum Beispiel mehr als 85 Stärke von Susi
verlangen? Ich habe kein Attribut gefunden, das dazu paßt.

Wie kann ich machen, daß Susi nur Gürtel aufhebt, die vier Zeilen haben?

edit:
Das
Code:
			var nx=Math.round(target.x+Math.cos(NTA_JumpAway_angle)*r);
			var ny=Math.round(target.y+Math.sin(NTA_JumpAway_angle)*r);
entspringt noch der Idee, um die Gegner herumzutanzen wie ein Waldorfschüler. Das ist aber nicht so gut,
wie einfach den ungefährlichsten Platz zu suchen. Also besser:
Code:
			var nx=Math.round(me.x+Math.cos(NTA_JumpAway_angle)*r);
			var ny=Math.round(me.y+Math.sin(NTA_JumpAway_angle)*r);
Das ist jetzt traditionelles Jump&Run und nutzt den gesamten Platz im Chaos-Sanktuarium aus. Das sieht
jetzt wirklich aus, als würde ich selber spielen, nur zehnmal schneller, weil ich so ein Maus-Legastheniker
bin.
Alternativ möge man
Code:
			var nx=Math.round((target.x+me.x)/2+Math.cos(NTA_JumpAway_angle)*r);
			var ny=Math.round((target.y+me.y)/2+Math.sin(NTA_JumpAway_angle)*r);
ausprobieren und schauen, ob das Mehr an Druckspiel Gefallen findet.
01/12/2012 08:02 erbse274#21
Einfach zu geil zum lesen!! Danke dafür.
01/12/2012 08:48 mirkoregge#22
Sehr schick erzählt, da macht das Lernen von JavaScripten viel mehr Spaß. Sehr anschaulich! *TOP*
01/12/2012 12:12 KoNeX#23
Sehr amüsant ... bitte mehr davon !

:handsdown:
01/17/2012 08:42 Salamix#24
(Habe wieder die ganze Nacht Harald-Lesch-Videos geschaut.)

17.01.11, 19:30
Es gibt doch einen Grund, um den Gegner zu kreisen:
Andere Teile der Skrips überprüfen, ob Susi zu weit vom Gegner weg ist und springen gegebenenfalls wieder
zurück.
Zum Beispiel mit
Code:
		if(GetDistance(me, target) > _NTA_SkillRange[0] || !CheckCollision(me, target, 4))
		{
			var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, 
_NTA_SkillRange[0], 4);

			if(_pos)
				NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
		}
Es ist nicht so schlau, andauernd weg- und wieder heranzuhüpfen, weil beim Heranhüpfen keine Überlegungen
bezüglich der Gefahrenlage getan werden.

Die _NTA_SkillRange scheint für Fernangrigffe meistens 20 zu sein. Also will ich mal dafür sorgen, daß Susi
mit Maximalabstand 20 um die Gegner kreist.
Das führt zu
Code:
	var r=Random(15,20);
	var nx=Math.round(target.x+Math.cos(NTA_JumpAway_angle)*r);
	var ny=Math.round(target.y+Math.sin(NTA_JumpAway_angle)*r);
Die NTA_CountDanger bekommt ein kleines Geschwindigkeitsupdate.
Das
Code:
if(_checkMonster.IsAttackable() && NTA_IsValidMonster(_checkMonster))
ist gar nicht nötig. Wenn sich ein Mädchen mehr auf der Welt gelegentlich vor Monstern fürchtet, die in
Wirklichkeit harmos sind, was soll's? Die Vorteile des einfacheren Programms überwiegen.

Auch war die Formel nicht zufriedenstellend. Ok, war sie eigentlich doch, denn sie funktionierte
anscheinend. Aber sie war unelegant. Ich muß zugeben, daß das Quadrieren nur war, weil einfache Kehrwerte
im Abstand zu schwach abnahmen. Wobei die Kehrwertquadrate in der Nähe zu stark abnehmen. Ein sehr nahes
Monster links wiegt so schwer, daß Susi mit Freude rechts in einen Pulk von 4 Monstern spring, die in drei
Feldern Entfernung stehen. Und daß die +1 eine willkürliche Konstante war, die Divisionen durch 0 vermeiden
sollte, aber dabei die Bewertung drastisch verändert. Man könnte an ihr noch drehen, um Susi die Pulks
auszutreiben. Aber das zerstört die Abnahme in der Entfernung. Das ist nicht zu retten. Noch mehr
if-Abfragen machen ein schlechtes Modell meistens nicht besser.

Es war unbefriedigend, daß die Formel in der Entfernung nicht stark genug abschwächt, weshalb immer
übergeben wird, welche Range überhaupt betrachtet wird. Die Formel drückt die Welt einfach nicht aus. Man könnte man die NTA_CountDanger noch weiter verbessern, indem auch noch
Code:
if (GetDistance(x, y, _checkMonster.x, _checkMonster.y) <= range)
wegfällt. Dazu wird eine Formel benötigt, die in der Nähe nicht zu stark abnimmt und in der Entfernung aber auch nicht schwächer.

Die neue Behauptung ist: Ein Monster, das vier Felder weiter weg ist als ein Vergleichsmonster, ist halb so
gefährlich.

Das führt zu einer Exponentialfunktion. Und diese verschrumpft in der Entfernung stark genug, daß ich mich
gar nicht mehr um die irgend eine Maximalentfernung kümmern muß, sondern alle Monster aufsummieren kann.
Zum Beispiel ist ein Monster in 30 Feldern mehr Entfernung damit 200-mal schwächer. Aber eins, das nur zwei Felder mehr entfernt ist, hat noch 71%.

Code:
function NTA_CountDanger(x,y){
    var danger=0;
    var monster=NTC_FindUnit(NTC_UNIT_MONSTER)
    if(monster){    
        do{
            var dist=GetDistance(x,y,monster.x,monster.y);
            danger+=Math.pow(0.84,dist);
        }while(monster.GetNext());
    }
    return danger;
}
Anmerkung: 0.84^4≈0.5

Endlich habe ich eine gescheite API-Dukumentation gefunden!
[Only registered and activated users can see links. Click Here To Register...]

Die Entscheidung, wann weggesprungen wird, wird nicht mehr aufgrund eine absoluten Gefahrenlage gefällt,
sondern es wird gesprungen, sobald die neue Gefährlichkeit halb so groß wäre wie die aktuelle
Gefährlichkeit. Ab jetzt ist alles relativ.

Code:
	if(NTA_CountDanger(nx,ny,32)<=danger*0.50){
//		Print(danger);
		NTC_CastSkill(54, NTC_HAND_RIGHT, nx, ny);
	}
Das entspricht einem Herannahen aller Gegner über eine Distanz von vier Feldern. Oder dem Herannahmen eines
Gegners über nur ein wenig mehr, während die anderen zurückbleiben, was wir als lokale Verzerrungen des
Raums interpretieren wollen. Zu beachten ist, daß die Sprungregel ab jetzt invariant bezüglich des
tatsächlichen Gruppenabstandes ist. Wobei man nicht mehr an ein Herannahen denken sollte, denn
gleichermaßen wird bei stehenden Gegnern Susi in Raumbereiche geringerer Dichte springen.
Darum sprechen wir Quantenfüßler nicht davon, daß sich entferne Objekte nähern, sondern wir sagen, der Raum
zieht sich zusammen. Neuesten Forschungen zufolge ist dafür die Anwesenheit von Böser Energie
verantwortlich.

Die Raumkontraktionsgeschwindigkeit in verschiedenen Raumgebieten scheint gleich und Susi springt
unabhängig vom Abstand ca 1.2 mal pro Sekunde, wenn sie bei Verdopplung der Gefährlichkeit springt, wobei sie 4Felder weniger als Gefährlichkeitsverdopplung ansieht, daraus berechnet sich eine Hoppelkonstante von 4Felder/1.2Sekunden = 3.3Felder/Sekunde. Das war aber nur im Akt11
so. In Akt3 wird durchaus eine höhere Hoppelkostante gemessen. Susi kommt damit zurecht.

Außerdem sollen Townchickens nur durchgeführt werden, wenn ein Sprung gelang. Dazu merkt sie sich sie alte Position und wenn sie sich geändert hat, ist es eine günstige Gelegenheit.

Code:
var NTA_JumpAway_x=0;
var NTA_JumpAway_y=0;
function NTA_JumpAway(target){
	if(me.x!=NTA_JumpAway_x || me.y!=NTA_JumpAway_y){
		TownChicken();
		NTA_JumpAway_x=me.x;
		NTA_JumpAway_y=me.y;
	}
	...
Das alles zusammengebastelt:
02/04/2012 00:10 Salamix#25
Und noch eine kleine Änderung: Den Splash-Damage des Feuerballs eingeplant.
Code:
function NTA_SorceressCastSkillInt(index, target)
{
	//Wenn ich wegspringen kann, schaue ich mal, ob ich es tun sollte
	NTA_JumpAway(target);

	//Gegen Einzelgegner Feuerball
	var attack=MWS_FIRE_BALL;

	//Falls mehr als drei in der Gegend, dann lieber mehrfachwirkenden Kettenblitz
	if(NTA_CountAttackableMonstersInRange(target.x,target.y,15)>=2)
		attack=MWS_LIGHTNING;

	//Sind sie aber dicht genug beisammen für Splashdamage des Feuerballs, dann Feuerball
	if(NTA_CountAttackableMonstersInRange(target.x,target.y,5)>=2)
		attack=MWS_FIRE_BALL;

	//Außer, der Gegner ist immun gegen Lightning, dann Feuer
	if(!MWA_CheckMonsterResistance(target,NTA_DAMAGE_LIGHTNING))
		attack=MWS_FIRE_BALL;

	//Außer, der Gegner ist immun gegen Feuer, dann Lightning
	if(!MWA_CheckMonsterResistance(target,NTA_DAMAGE_FIRE))
		attack=MWS_LIGHTNING;

	//Bei größeren Gegneranzahlen aber Chain Lightning statt Lightning
	if(attack==MWS_LIGHTNING)
		if(NTA_CountAttackableMonstersInRange(target.x,target.y,15)>=2)
			attack=MWS_CHAIN_LIGHTNING;

	if(GetDistance(me, target) > 20 || !CheckCollision(me, target, 4)){
		var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, 16, 4);
		if(_pos)
			return NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
	}
	return NTC_CastSkill(attack, NTC_HAND_LEFT, target);
}
Das reicht jetzt, um mit FeldDerSteine, Tristram, Flammenfluß (jedesmal sterb) aufzusteigen.

20.01.12, 16:30
Noch nicht aufgestiegen, aber noch eine Ber-Rune gefunden. Susi könnte in Urlaub gehen. Das tut sie
aber nicht. Der Aufstieg muß noch sein.

21.01.12, 11:38
lv88 erreicht. Sinkt jetzt die Sterberate merklich? Das schaue ich mir noch an.

21.01.12, 17:00
Nein, nicht wirklich.
Jah und Ber an Hans übergeben. Susi besorgt noch eine Rüstung mit drei Sockeln, indem sie das
Kuhlevel auf Albtraum macht.
Code:
[Type] == armor # [sockets] == 3
Hier ist die Mannstoppwirkung Mannstoppwirkung des Feuerballs nicht
nötig; die letzte Änderung am Kampfverhalten wird wieder auskommentiert.

Das Besorgen der ersten Drei-Sockel-Rüstung ging quasi instant. Sie sammelt noch eine auf, um einen
Vergleichswert zu haben. Nicht die teuren Runen in zu schlechten Müll einbauen will.

Merke: Rohlinge findet man im Kuhlevel am schnellsten.

Ja, um 17:04 die erste mit Defense 66. Um 17:21 eine mit Defens 92. Das Warten hat sich gelohnt.

21.01.12, 19:14
Ach, so schlimm wird es schon nicht sein. Ich gebe dem Hans die Rüstung.

21.01.12, 20:36
Haha, Diablo ist ein Weichbrot. Der kann dem Hans gar nichts tun.

Wo man
Code:
	TownChicken();
für den Hans reinschreibt, ist wohl klar.


Hans macht in der Hölle Tristruns. Auf Level 72 sind das 20% in 5 Minuten.

29.01.12, 21:41
Eine Woche Pause gehabt. Ich hatte so viel gelesen, daß Arch-Linux toll sei, habe die SSD
plattgemacht dafür und siehe da, die CD bricht ganz am Ende ab und kann mir keinen Boot-Sektor
schreiben. Mehrere Versuche. Andere CD, dann lief es mal, aber meine Wunsch-DPI kann ich nicht
einstellen, auch nach zwei Tagen Foren-Lesen und Probieren nicht. Zurück nach Gentoo. Andere Sachen werde ich dann auch nicht finden. Gentoo ist zwar insofern umständlicher, daß man jeden Scheiß selber einstellen muß, aber man kann auch jeden Scheiß selber einstellen und wenn im Gentoo-Forum eine Lösung steht, dann klappt sie auch zu 80%. Nebenher von Grub2 nach ExtLinux gewechselt. Und extensions von VirtualBox ausgemacht. Für D2 brauche ich kein USB2 und was da noch war.

02.02.12, 19:50
Alles easy. Bis zum Chaos-Sanktuarium. Die Resistenzen sind zu niedrig. Es geht zu den Kühen, um
einen Flegel mit vier Sockeln zu besorgen für ein HOTO.

Code:
//Heart of the Oak
//4 Socket Staves / Maces
//Required Level: 55
//Ko + Vex + Pul + Thul	+3 To All Skills
//+40% Faster Cast Rate
//+75% Damage To Demons
//+100 To Attack Rating Against Demons
//Adds 3-14 Cold Damage, 3 sec. Duration (Normal)
//7% Mana Stolen Per Hit
//+10 To Dexterity
//Replenish Life +20
//Increase Maximum Mana 15%
//All Resistances +30-40 (varies)
//Level 4 Oak Sage (25 Charges)
//Level 14 Raven (60 Charges)
//+50% Damage To Undead
Das ist nämlich genau, was ich brauche. Nur 3 zu allen Skills. Ok, das kann ich akzeptieren.
Derzeit hat Hans eine Stecken mit
+2 Paladin Skills
+3 Concentration
Er hebt ja recht skillbetont auf.
Aber er hat als Resistenzen: 72 31 -27 -19.
Also die +30 each von HOTO würden schon sehr wertvoll sein.

03.02.12, 10:26
Naja, ich mache in die NTItemAlias.ntl auf und lese
Code:
_NTIPAliasClassID["fla"]=21;   _NTIPAliasClassID["flail"]=21;
Code:
[Class] == Flail # [Sockets]==4
hat nichts eingebracht.

Hingegen funktioniert
Code:
[Name] == Flail # [Sockets]==4
*verwirrtbin*

Die NTItemParser gibt Klarheit.
Code:
			case 'n':
				_result[0] += "item.classid";
				break;
Ok, Name ist also ClassID. Aha, ein Eris-Jünger ist im Team. Diskordische Programmierung erklärt
wirklich vieles, auf das ich gestoßen bin, da hätte ich auch gleich drauf kommen können.

03.02.12, 23:19
Das Finden eines Rohlings für HOTO war natürlich kein Problem.
Nun macht Hans wieder Punkte und sammelt die passenden Runen.

Aber was ist das denn? Er geht zu fuß!
Bin ich denn besoffen? Ja, das muß ich zugeben. Aber das tut nichts zur Sache. Hans ist auch
besoffen. Und das darf er nicht. Wir erinnern uns:

Ich bin der Mensch und er ist der Bot.

Das D2-Fenster schieße ich mit Alt+F4 ab.

So eine ***********! Er geht wieder zu fuß. Bin ich denn besoffen? Ja, muß ich zugeben. Aber das tut
nichts zur Sache. Hans ist auch besoffen. Und das darf er nicht. Wir erinnern uns:

Ich bin der Mensch und er ist der Bot.

Das D2-Fenster schieße ich mit Alt+F4 ab.

Ahh, jetzt hat er er gerafft. Er ist wieder nüchtern und teleportiert.

Ich bin es nicht. Ich melde mich wieder, wenn ich etwas neues verstanden habe (was ich nicht
erwarte) oder wenn Hans sein HOTO voll hat und maßgeblichen Fortschritt schreiben kann.
02/05/2012 13:32 Checkdasnicht#26
Ich kann nich mehr , das ist einfach nur geil

Als ich in den thread kam , scrollte ich erstmal um zu schaun wie lang der thread ist als ich sah wie lang er ist , dachte ich mir omg da hat sich einer mühe gemacht, dann fing ich an und konnte nich mehr vor lachen .. So macht Guides lesen einfach nur Spaß

Bitte mehr von dir

mfg
02/20/2012 20:35 psyduke#27
Sehr sehr nette Idee die ich bei Gelegenheit mal anschauen werde.
interessant wäre einfach mal wenn man sowas fertig hat dem bot auch sagen zu können er solle sein eigenes Level erkennen und dadurch die verschiedenen scripts automatisch aktivieren. so like von lv 1-6 use script 1 etc.
wenn man das hat muss man wirklich nur noch da sitzen und zuschauen.
ich find nämlich die lvl 13 - ca 33 ziehen sich ewig und die würde ich teilweise gerne mit bots "skippen" aber das stellt sich sehr schwierig da ( bisher).
ich brauch einfach mal mehr zeit für sowas aber urlaub dauert noch :D
02/20/2012 23:01 kal_el#28
Quote:
ich find nämlich die lvl 13 - ca 33 ziehen sich ewig
ja aber normalerweise läßt man sich nach hell rushen und dann is easy.
wozu 13 -33 in normal boten ...und das mühsam, wenn ich es in hell einfacher haben kann.


Quote:
so like von lv 1-6 use script 1 etc.
dann müsste er auch automatisch sein equitment wechseln.....
02/21/2012 19:18 psyduke#29
Quote:
Originally Posted by kal_el View Post
ja aber normalerweise läßt man sich nach hell rushen und dann is easy.
wozu 13 -33 in normal boten ...und das mühsam, wenn ich es in hell einfacher haben kann.



dann müsste er auch automatisch sein equitment wechseln.....
aber was wenn wirklich grad ladder reset war?
da ist dann iwie nix mit hell rushen lassen.
und die scripts laufen ja immer ne weile und wenns ne stop funktion gibt kann man in der zeit schnell das equip wechseln und dann weiterlaufen lassen.
da wäre dann wünschenswert dass er halt ne art sound wiedergibt wenn er das gewünschte lvl hat.
02/21/2012 21:21 kal_el#30
auch wieder wahr :)