Wie kann man neue Items anlegen in Altis Life 4.0 ?
Im folgenden Beispiel verwende ich das bekannte Item Zyankali. Ihr könnt diesen Guide für alle Items verwenden die Ihr neu erstellen wollt. Ersetzt das Wort Zyankali mit eurem Itemnamen und nehmt die Änderungen an den folgenden Dateien vor.
Config_Master.hpp (Itemname, "Displayname(aus Stringtable.xml)", "Variablenname", 5 = Lagerplatz | 2000 = Kaufpreis | 1000 = Verkaufspreis | false = nicht illegal | -1 = Übergiebt kein Wert | "" = kein Iconpfad)
//Virtual Items
class VirtualItems {
//Misc
VITEMMACRO(zyankali, "STR_Item_Zyankali", "zyankali", 5, 2000, 1000, false, -1, "")
Weiter unten sucht Ihr nach der class Virtualshops und fügt das Item in den entsprechenden Markt ein. Im folgenden Beispiel ist es der Market. Erweitert die Zeile items[] = mit , "zyankali"
class VirtualShops {
class market {
name = "STR_Shops_Market";
items[] = { "waterBottle", "rabbit_grilled", "apple", "redgull", "tbacon", "lockpick", "pickaxe", "fuelFull", "peach", "boltcutter", "storagesmall", "storagebig", "zyankali" };
};
Stringtable.xml sucht nach Package name="Life_Items" und fügt folgendes darunter ein
<Key ID="STR_Item_Zyankali">
<Original>Zyankali</Original>
<German>Zyankali</German>
<French>Zyankali</French>
<Italian>Zyankali</Italian>
<Portuguese>Zyankali</Portuguese>
</Key>
sollte dann so aussehen
<Package name="Life_Items">
<Key ID="STR_Item_Zyankali">
<Original>Zyankali</Original>
<German>Zyankali</German>
<French>Zyankali</French>
<Italian>Zyankali</Italian>
<Portuguese>Zyankali</Portuguese>
</Key>
Function.h in die class Items
core/pmenu/fn_useItem.sqf sucht nach switch (true) do { und fügt folgendes darunter ein
case (EQUAL(_item,"zyankali")): {
if(([false,_item,1] call life_fnc_handleInv)) then {
[] spawn life_fnc_zyankali;
closeDialog 0;
};
};
core/config/fn_varHandle.sqf fügt folgendes bei Case 0 und Case 1 ein
Case 0
Case 1
core/config/fn_varToStr.sqf fügt folgendes hinzu unter switch (_var) do { //Virtual Inventory Items
sollte dann so aussehen
switch (_var) do
{
//Virtual Inventory Items
case "life_inv_zyankali": {(localize "STR_Item_Zyankali")};
case "life_inv_oilu": {(localize "STR_Item_OilU")};
core/items/fn_zyankali.sqf Erstellt eine Datei mit dem Namen fn_zyankali.sqf im Ordner core/items/ und fügt folgendes ein:
//////////////////
//Author: Toto/////
//abetterworld.de//
//////////////////
[[0,format["%1 der Feigling wird nun elendlich an Zyankali verenden!",player getVariable["realname",name player]]],"life_fnc_broadcast",true,false] spawn life_fnc_MP;// globale nachricht an alle spieler
enableCamShake true;// kamera gewackle
addCamShake [10, 45, 10];
player setFatigue 1;// erschöpfung bei 100% ... sprich der rennt erstma nirgends hin
player setDamage (0.1 + (damage player));//+10 schaden
life_hunger = life_hunger - 2;
sleep 3;
player setDamage (0.1 + (damage player));
life_hunger = life_hunger - 2;
sleep 3;
player setDamage (0.1 + (damage player));
life_hunger = life_hunger - 2;
sleep 3;
player setDamage (0.1 + (damage player));
sleep 3;
player setDamage (0.1 + (damage player));
sleep 3;
player setDamage (0.1 + (damage player));
sleep 3;
player setDamage (0.1 + (damage player));
sleep 3;
player setDamage (0.1 + (damage player));
sleep 3;
player setDamage (0.1 + (damage player));
sleep 3;
player setDamage (0.1 + (damage player));// das 10. mal +10 schaden ... 100% also Exitus
sleep 3;
resetCamShake;// weil tod muss hier auch nichts mehr wackeln
player setFatigue 0;// damit er nicht ohne ausdauer spawned
Alles anzeigen
das wars auch schon