|
-
Marvin
Hi Leute,
kurze fragen was mich beim Testen schon immer interessiert hat.
Kann man via marin ein Item in großer Anzahl via insert Befehl spanwen lassen?
Vermutlich nicht oder?
Also z.B. insert itmi_gold, XXXXXX oder so.
Edit: Mir ist bewusst, dass dies nicht der genau richtige Ort für den Thread ist aber vermutlich lesen hier am ehesten Menschen mit, die wissen ob das geht oder nicht.
-
Hi
Wenn's dir nur um Gold geht, da gibts auch den Code 'insert gold' oder den insert-Befehl für Diegos Geldbeutel.
Ich glaube, einen anderen Weg gibts nicht.
Ich hab zum Testen für Mods dann immer Beutelinstanzen kreiert, die alle Items in der Menge beinhaltet haben, die ich brauchte.
-
Mit der call Funktion aus dem workaround helper von mud-freak
https://forum.worldofplayers.de/foru...karound-Helper
kann man beliebige Funktionen aufrufen.
Das sollte es ermöglichen direkt Funktionen wie CreateInvItems aufzurufen.
CreateInvItems erwartet als Parameter den NPC in dessen inventar die items erstellt werden sollen, die item instanz und die Anzahl.
In normalem Skriptcode sieht das so aus:
Code:
CreateInvItems(PC_HERO, ItMw_1h_Bau_Mace, 42);
("erstelle 42 schwere Äste im Inventar der Spielfigur")
Wenn du die call Funktion verwendest werden keine klammern verwendet und die notation ist minimal anders.
-
Zitat von Tentarr
Hi Leute,
kurze fragen was mich beim Testen schon immer interessiert hat.
Kann man via marin ein Item in großer Anzahl via insert Befehl spanwen lassen?
Vermutlich nicht oder?
Also z.B. insert itmi_gold, XXXXXX oder so.
Die einfachste Methode wäre ( mit XXXXXX oder so, gehts nicht ) :
Beispiel an "insert itmi_gold"
Mit Enter fügst Du ja ein - dann einfach "Enfg" drücken. Das fügt den Code ohne ihn neu zu schreiben neu ein, und dann wieder Enter.
Also Enter / Enfg/ / Enter / Enfg usw.
Wenn Du das 20mal machst , hast Du den Gegenstand ebensoviel.
Schnell und effektiv.
Gruss
-
Zitat von gladi1994
Hi
Wenn's dir nur um Gold geht, da gibts auch den Code 'insert gold' oder den insert-Befehl für Diegos Geldbeutel.
Ich glaube, einen anderen Weg gibts nicht.
Ich hab zum Testen für Mods dann immer Beutelinstanzen kreiert, die alle Items in der Menge beinhaltet haben, die ich brauchte.
Zitat von Strontzine
Die einfachste Methode wäre ( mit XXXXXX oder so, gehts nicht ) :
Beispiel an "insert itmi_gold"
Mit Enter fügst Du ja ein - dann einfach "Enfg" drücken. Das fügt den Code ohne ihn neu zu schreiben neu ein, und dann wieder Enter.
Also Enter / Enfg/ / Enter / Enfg usw.
Wenn Du das 20mal machst , hast Du den Gegenstand ebensoviel.
Schnell und effektiv.
Gruss
Danke euch beiden aber es geht mir eher darum bestimmte Funktionen zu testen die Items erfordern z.B. in größeren Mengen. Die Varianten von euch kenne ich schon und zum cheaten sind die sicherlich hilfreich. Mir ging es eher darum in einer Mod nicht ständig Items wo hinterlegen zu müssen.
Zitat von Cryp18Struct
Mit der call Funktion aus dem workaround helper von mud-freak
https://forum.worldofplayers.de/foru...karound-Helper
kann man beliebige Funktionen aufrufen.
Das sollte es ermöglichen direkt Funktionen wie CreateInvItems aufzurufen.
CreateInvItems erwartet als Parameter den NPC in dessen inventar die items erstellt werden sollen, die item instanz und die Anzahl.
In normalem Skriptcode sieht das so aus:
Code:
CreateInvItems(PC_HERO, ItMw_1h_Bau_Mace, 42);
("erstelle 42 schwere Äste im Inventar der Spielfigur")
Wenn du die call Funktion verwendest werden keine klammern verwendet und die notation ist minimal anders.
Das klingt gut. Werde ich testen, danke dir.
-
Wenn du ein Item anvisierst (wenn es in der Welt rum liegt), kannst du vielleicht mit "edit focus" -> "amount = XXX" die Menge einstellen.
Insgesamt ist Crypt18Structs Lösung aber wohl besser, solange man die Skripte von mud-freak irgendwie in die Mod bekommt
-
Zitat von Lehona
Wenn du ein Item anvisierst (wenn es in der Welt rum liegt), kannst du vielleicht mit "edit focus" -> "amount = XXX" die Menge einstellen.
Insgesamt ist Crypt18Structs Lösung aber wohl besser, solange man die Skripte von mud-freak irgendwie in die Mod bekommt
Ninja installieren, Workaround Patch installieren? Sollte dann ganz unabhänging von der Mod möglich sein?
In eigene Mods kann man es natürlich auch einfach schon selbst einbauen. Wenn ich etwas testen will, schreibe ich mir meist schnell eine Funktion mit möglichst kurzem Namen, parse die Skripte, und dann im Marvin Mode call tt (wenn tt der Funktionsname ist) und schon sind die Werte passend gesetzt, Items ins Inventar eingefügt, Npc vorm Spieler gespawnt, etc. Klappt wunderbar, wenn man selbst Zugriff auf die Skripte hat
-
Zitat von Lehona
Wenn du ein Item anvisierst (wenn es in der Welt rum liegt), kannst du vielleicht mit "edit focus" -> "amount = XXX" die Menge einstellen.
Insgesamt ist Crypt18Structs Lösung aber wohl besser, solange man die Skripte von mud-freak irgendwie in die Mod bekommt
Geht leider nicht aber die andere Lösung reicht mir ja schon aus
-
Falls sich nochmal jemand damit beschäftigt über den Workaround ist es tatsächlich möglich. Leider ist wohl ein direkter Aufruf mit CreateInvItems nicht möglich. Danke Mud-Freaks Hilfe konnte es so gelöst werden:
call MEM_GetSymbolIndex "ItMw_1h_Bau_Mace"
call CreateInvItems hero XXXX 42
Es benötigt also zwei Einträge im Marvin, damit man es nutzen kann, da man zuerst das Symbol von dem jeweiligen Item sozusagen auslesen muss.
-
Zitat von Tentarr
Falls sich nochmal jemand damit beschäftigt über den Workaround ist es tatsächlich möglich. Leider ist wohl ein direkter Aufruf mit CreateInvItems nicht möglich. Danke Mud-Freaks Hilfe konnte es so gelöst werden:
call MEM_GetSymbolIndex "ItMw_1h_Bau_Mace"
call CreateInvItems hero XXXX 42
Es benötigt also zwei Einträge im Marvin, damit man es nutzen kann, da man zuerst das Symbol von dem jeweiligen Item sozusagen auslesen muss.
Sollte es dann nicht funktionieren können, einen weiteren Patch zu erstellen, der so eine Funktion enthält? Ist vielleicht tatsächlich ganz praktisch für Spieler, die ab und an mal Items ausprobieren wollen oder Gold brauchen
Code:
func void <PATCH-NAME>_GiveHero_str(var string str_item, var int amount)
{
var int symbol_index;
symbol_index = MEM_GetSymbolIndex(str_item);
// check that the item is found and player entered positive amount (?)
if (symbol_index > 0) && (amount > 0)
{
CreateInvItems(hero, symbol_index, amount);
};
};
Vielleicht lieber noch einen string Rückgabewert, der eine aussagekräftige Meldung gibt, insbesondere, wenn das Item nicht gefunden wird (und somit nichts passiert)
(Mit den Namenskonventionen und anderen Details der Patches kenne ich mich nicht aus, aber das sollte denke ich leicht machbar / korrigierbar sein, falls sich jemand das tatsächlich umsetzen möchte)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|