Dav92
Active member
- Registriert
- 13 Oktober 2006
- Beiträge
- 852
- Punkte Reaktionen
- 0
The Phrozen Keep Forum Index -> Knowledge Base -> Tutorials -> Tutorials (1.10-1.11x) -> Item Mechanics
Description This will teach you how to change those potions to restore life based on a percentage, without instantly healing the character.
Author Nefarius
Date Fri Nov 18, 2005 2:43 pm
Type Tutorial
Category Item Mechanics
Tränke verändern, damit sie HP/MP/etc.. prozentual wiederherstellen
(by Ric Faith)
Ok, wenn keiner auser mir so entzückt über das ist, dann werde ich dieses Wissen verteilen! In 1.09 musste ich dies durch CodeEditing einfügen, aber jetzt ist es so einfach softcoded! Hahaha
Dateien: NUR misc.txt
Zu verändernde Spalten: NUR calc1 (col BF) und spelldesccalc (col BM)
Ok, man kann auch noch anderes Zeug, wie Länge des Trankes verändern, aber um Gottes Willen uns reichen diese zwei...
Normalerweisesind dies die Effekte der Tränke:
Heiltränke = 30/60/100/180/320
Manatränke = 20/40/80/150/250
Ok, dieses Tutorial wird einen prozentualen Wert einführen. In anderen Worten, der trank wird einen prozentualen Wert von der totalen Menge des Lebens und Manas wiederherstellen, und nicht nur ein kleines bischen.
Wir nehmen jetzt mal folgende Werte:
Heiltränke = 25%/50%/75%/100%/150%
Manatränke = 25%/50%/75%/100%/150%
Aber wir wollen die Wirkung der Tränke so wie im normalen D2 lassen, bis zu dem Punkt, andem das Leben/Mana nur noch so ein bischen regeneriert wurde, dass kleine Heiltränke wertlos wurden.
Hier ist ein Besipiel für den kleinen Heiltrank, das werde ich bentuzen um es zu erklären:
max(stat('maxhp'.accr)/256/4,30) - Trage diesen Wert in die Spalten calc1 und spelldesccalc ein.
Als erstes, Leben und Mana (und Stamina) haben 8 bits von der Genauigkeit, sodass der Wert, den man in der Lebenskugel/Manakugel/Staminabar sieht 256 mal weniger ist. Da wir 'maxhp' benutzen, müssen wir den Wert durch 256 teilen.
Als zweites, um einen minimalen Wert der Heilung zu erziehlen, werden wir die max()-Funktion benutzen. Das bedeutet, dass wenn ¼ von unserem Leben weniger als 30 ist, dass wir dann 30HP wollen.Wenn ¼ von unserem Leben mehr als 30 ist, dann wollen wir 25%HP zurück.
Zu guterletzt, hier sind die Werte, die ich zur Zeit benutze:
Lesser Healing Potion = max(stat('maxhp'.accr)/256/4,30)
Light Healing Potion = max(stat('maxhp'.accr)/256/2,60)
Healing Potion = max(stat('maxhp'.accr)/256*3/4,100)
Strong Healing Potion = max(stat('maxhp'.accr)/256,180)
Greater Healing Potion = max(stat('maxhp'.accr)/256*3/2,320)
Lesser Mana Potion = max(stat('maxmana'.accr)/256/4,20)
Light Mana Potion = max(stat('maxmana'.accr)/256/2,40)
Mana Potion = max(stat('maxmana'.accr)/256*3/4,80)
Strong Mana Potion = max(stat('maxmana'.accr)/256,150)
Greater Mana Potion = max(stat('maxmana'.accr)/256*3/2,250)
Anmerkung: Die Werte von calc1 und spelldesccalc sind die gleichen, damit der Trank immer anzeigt, wie viel er wirklich heilt.
Man kann immer mir eigenen Werten herumspielen, denn es ist kein Zwang die Werte dieses Tutorials so zu benutzen, wie hier beschrieben. Wenn man möchte, dann kann man einen Heiltrank erstellen, der einen auf Stärke und Vitalität basierenden Wert heilt! Oder ein Heiltotem, welches Leben basierend auf Energie regeniert. Diese Items benötigen nur einen Tipp, weil es immer gut sein wird, wenn der Charakter mehr geheilt wird, solange wie er seine Stats durch Items verbessert hat.
Welches, im Wesentlichen, der Punkt ist, andem man Tränke macht, die einen prozentual heilen.
Description This will teach you how to change those potions to restore life based on a percentage, without instantly healing the character.
Author Nefarius
Date Fri Nov 18, 2005 2:43 pm
Type Tutorial
Category Item Mechanics
Tränke verändern, damit sie HP/MP/etc.. prozentual wiederherstellen
(by Ric Faith)
Ok, wenn keiner auser mir so entzückt über das ist, dann werde ich dieses Wissen verteilen! In 1.09 musste ich dies durch CodeEditing einfügen, aber jetzt ist es so einfach softcoded! Hahaha
Dateien: NUR misc.txt
Zu verändernde Spalten: NUR calc1 (col BF) und spelldesccalc (col BM)
Ok, man kann auch noch anderes Zeug, wie Länge des Trankes verändern, aber um Gottes Willen uns reichen diese zwei...
Normalerweisesind dies die Effekte der Tränke:
Heiltränke = 30/60/100/180/320
Manatränke = 20/40/80/150/250
Ok, dieses Tutorial wird einen prozentualen Wert einführen. In anderen Worten, der trank wird einen prozentualen Wert von der totalen Menge des Lebens und Manas wiederherstellen, und nicht nur ein kleines bischen.
Wir nehmen jetzt mal folgende Werte:
Heiltränke = 25%/50%/75%/100%/150%
Manatränke = 25%/50%/75%/100%/150%
Aber wir wollen die Wirkung der Tränke so wie im normalen D2 lassen, bis zu dem Punkt, andem das Leben/Mana nur noch so ein bischen regeneriert wurde, dass kleine Heiltränke wertlos wurden.
Hier ist ein Besipiel für den kleinen Heiltrank, das werde ich bentuzen um es zu erklären:
max(stat('maxhp'.accr)/256/4,30) - Trage diesen Wert in die Spalten calc1 und spelldesccalc ein.
Als erstes, Leben und Mana (und Stamina) haben 8 bits von der Genauigkeit, sodass der Wert, den man in der Lebenskugel/Manakugel/Staminabar sieht 256 mal weniger ist. Da wir 'maxhp' benutzen, müssen wir den Wert durch 256 teilen.
Als zweites, um einen minimalen Wert der Heilung zu erziehlen, werden wir die max()-Funktion benutzen. Das bedeutet, dass wenn ¼ von unserem Leben weniger als 30 ist, dass wir dann 30HP wollen.Wenn ¼ von unserem Leben mehr als 30 ist, dann wollen wir 25%HP zurück.
Zu guterletzt, hier sind die Werte, die ich zur Zeit benutze:
Lesser Healing Potion = max(stat('maxhp'.accr)/256/4,30)
Light Healing Potion = max(stat('maxhp'.accr)/256/2,60)
Healing Potion = max(stat('maxhp'.accr)/256*3/4,100)
Strong Healing Potion = max(stat('maxhp'.accr)/256,180)
Greater Healing Potion = max(stat('maxhp'.accr)/256*3/2,320)
Lesser Mana Potion = max(stat('maxmana'.accr)/256/4,20)
Light Mana Potion = max(stat('maxmana'.accr)/256/2,40)
Mana Potion = max(stat('maxmana'.accr)/256*3/4,80)
Strong Mana Potion = max(stat('maxmana'.accr)/256,150)
Greater Mana Potion = max(stat('maxmana'.accr)/256*3/2,250)
Anmerkung: Die Werte von calc1 und spelldesccalc sind die gleichen, damit der Trank immer anzeigt, wie viel er wirklich heilt.
Man kann immer mir eigenen Werten herumspielen, denn es ist kein Zwang die Werte dieses Tutorials so zu benutzen, wie hier beschrieben. Wenn man möchte, dann kann man einen Heiltrank erstellen, der einen auf Stärke und Vitalität basierenden Wert heilt! Oder ein Heiltotem, welches Leben basierend auf Energie regeniert. Diese Items benötigen nur einen Tipp, weil es immer gut sein wird, wenn der Charakter mehr geheilt wird, solange wie er seine Stats durch Items verbessert hat.
Welches, im Wesentlichen, der Punkt ist, andem man Tränke macht, die einen prozentual heilen.