Guten tag,
Heute wollte ich ein Tutorial zum Thema Mulitprocess erstellen.
Ich setze voraus das ihr Wisst wie man ein Item, Lizenz erstellen könnt sowie etwas in die Stringtable.xml
einfügen könnt.
Vorraussetzungen:
Ich setze voraus das ihr Wisst wie man ein Item, Lizenz erstellen könnt sowie etwas in die Stringtable.xml
einfügen könnt und wie ihr einen Verarbeiter erstellt / NPC. Desweiteren auch wie ihr einen Händler zum
Verkaufen erstellt.
Welche Files werden Bearbeitet:
• Config_Process.hpp
• Config_vItems.hpp
• Config_Licences.hpp
• Stringtable.xml
• Auf der Karte einen Verarbeiter
Schritt 1:
Ihr geht in eure Config_vItems.hpp
Dort erstellt ihr euch ein Neues Item z.B. Schmuck
Spoiler anzeigen
class schmuck {
variable = "schmuck";
displayName = "STR_Item_Schmuck";
weight = 2;
buyPrice = -1;
sellPrice = 10500;
illegal = false;
edible = -1;
icon = "";
};
Schritt: 2:
Nun noch eine Lizenz erstellen in der Config_Licences.hpp
Spoiler anzeigen
class schmuck {
variable = "schmuck";
displayName = "STR_License_Schmuck";
price = 12500;
illegal = false;
side = "civ";
};
Schritt 3:
Nun geht ihr in eure Config_Process.hpp
Dort erstellt ihr eine Neue Class für Schmuck.
Spoiler anzeigen
class schmuck {
MaterialsReq[] = {{"diamond_cut",1},{"goldbarren",1}};
MaterialsGive[] = {{"schmuck",2}};
Text = "STR_Process_Schmuck";
//ScrollText = "Stelle Schmuck her";
NoLicenseCost = 1200;
};
MaterialsReq[] = {{"diamond_cut",1},{"goldbarren",1}};
In der MaterialsReq = könnt ihr angeben welche Items gebraucht werden um ein Item zubekommen in dem Falle nehmen wir diamond_cut und goldbarren.
Die 1 steht für die Benötigte menge an Items.
MaterialsGive[] = {{"schmuck",2}};
In der MaterialsGive = Gebt ihr an welches Item ihr bekommen wollt bei mir wäre es Schmuck.
Die 2 steht dafür wie viel ihr bekommt.
Schritt 4:
Nun geht ihr in euren Editor und erstellt einen neuen NPC auf nicht Spielbar und auch nicht als Spieler.
In der Init von dem NPC gebt ihr nun folgenden Code ein:
Spoiler anzeigen
this enableSimulation false; this allowDamage false; this addAction[localize"STR_Process_Schmuck",life_fnc_processAction,"schmuck",0,false,false,"",' life_inv_diamond_cut, life_inv_golderz > 0 && !life_is_processing && !life_action_inUse']; this addAction[format["%1 ($%2)",localize (getText(missionConfigFile >> "Licenses" >> "schmuck" >> "displayName")), [(getNumber(missionConfigFile >> "Licenses" >> "schmuck" >> "price"))] call life_fnc_numberText],life_fnc_buyLicense,"schmuck",0,false,false,"",' !license_civ_schmuck && playerSide isEqualTo civilian ']
Das in Grün markierte ist für das Multiprocessing sprich beim Verarbeiten zieht er euch diamond_cut und goldbarren ab.
Dort könnt ihr dann dementsprechend eure Items eintragen die fürs Verarbeiten entnommen werden sollen
Ein anderes Beispiel:
life_inv_eisenbarren, life_inv_kupferbarren > 0
Ihr müsst natürlich auch noch
STR_License_Schmuck
STR_Process_Schmuck
STR_Item_Schmuck
In eure Stringtable Datei einfügen.
So danach sollte es eigentlich funktionieren.
Mit Freundlichen Grüßen Nijanu!
Bei Fragen oder Problemen seit nicht zu scheu nachzufragen !