Genau.
xCam ist ja eigentlich für Mod Server gedacht.
xCam selber hat sehr viele eigene Objekte.
Du kannst aber problemlos xCam verwenden, aber nur 101 Editor Objekte verwenden.
Damit haste keine probleme
Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.
Genau.
xCam ist ja eigentlich für Mod Server gedacht.
xCam selber hat sehr viele eigene Objekte.
Du kannst aber problemlos xCam verwenden, aber nur 101 Editor Objekte verwenden.
Damit haste keine probleme
Zuerst eine Spielbarew Einheit setzen, damit man überhaupt die Spiellogik bekommt.
Dann wählt man die Spiellogik --> xCam aus.
Ja weil ick keine Rechte zum schließen von Beiträgen habe. @nox fix it!
Du bist ja auch Dayz Moderator, wir sind hier bei Altis Life :P:P:P
Spaß beiseite..
Ka, ob das so gewollt ist^^
Kann ich gerne später machen.
Wird aber mein kleinstes Tutorial aller Zeiten..^^
Da die installation von xCam sehr sehr einfach ist
Ist hallt lange her, als ich das letzte Tutorial gemacht habe.
Da dachte ich hallt, ich mach sowas.
Hilft bestimmt den einen oder anderen
Soweit ganz einfach.
Du lädst dir den gewünschten Mod runter, und ladest ihn in dein Arma 3 Verzeichnis.
Bei dir, sowie auch auf deinem Root Server.
Vergewissere dich, das der Addon Ordner in etwa so aufgebaut ist.
@modname --> addons --> Hier die pbos.
Sollte das Addon einen key Ordner haben, kannst du den Key in deinen Key Ordner vom Root machen.
So, hast du den @Ordner auf deinen Root gepackt, musst du nurnoch den gewünschten Parameter der arma3server.exe geben, damit er auch den Mod mitlädt.
Solltest du mehrere Addons haben, einfach ein ; ranhängen, und der nöächste @Ordner.
Wie die classnames sind, kannst du folgendermassen herausfinden.
Starte dein Spiel --> Editor --> NPC stellen (Spieler) --> Leer --> Autos --> Hier sollten nun die Mod Autos sein.
Falls nicht, einfach mal in der Liste danach suchen. Gibt auch Addons, die haben ihre eigene Liste.
Falls noch fragen oder probleme hast, kann ich dir gerne später gegen abend helfen die Mods zu installieren.
MfG
Noldy
Hallo NG Community
Ich sage es lieber nochmal, dieses Guide ist für die 3.1.4.8 gedacht
Heute erkläre ich euch mal ein paar Basics, damit ihr euch leichter hineinfindet.
Was ist eine Mission.sqm
Die Mission.sqm ist eure Map. Dort wird alles eingetragen, was ihr im Editor macht.
Setzt ihr ein NPC oder ein Objekt, wird einen Eintrag in der mission.sqm gemacht.
Auch Marker, oder Triger und und und wird alles in der mission.sqm eingetragen.
Was möchte ich in diesem Tutorial erklären
In diesem Tutorial möchte ich euch sozusagen ein all-in Packet machen, mit den wichtigsten sachen die ihr braucht. Dazu gehören:
1. Wo gehört die mission.sqm hin
2. NPC erstellen inkl Init.
3. Neue Items einfügen. Wie ihr das neue Item brauchbar macht.
4. Neue Shops erstellen. Z sowie I Inventar.
5. Neue Jobs einfügen. Mit und ohne Spitzhacke.
6. Kleidershop einfügen.
7. Configuration.sqf erklärung
So, dann fangen wir mal an.
1. Wo gehört die mission.sqm hin
Hinweis:
Ich Empfelle euch dafür, ein neues Profil anzulegen mit dem ihr eure Map bearbeiten könnt. Dies könnt ihr im Hauptmenü von Arma 3 machen.
Schritt 1:
Geht in euren Dokumente Ordner. Dort solltet ihr nun einen Ordner finden namens Arma 3 - Other Profiles.
Klickt in diesem Ordner euer erstelltes Profil an. Das ganze schaut nun so aus:
Damit können wir noch nicht viel anfangen.
Erstellt einen Ordner namens missions. In diesen missions wieder einen neuen Ordner erstellen, nehmen wir mal meinemap.altis.
Die mission.sqm gehört also in folgenden Ordner. --> meinemap.altis. Das ganze sollte so aussehen:
Nun habt ihr eure mission.sqm startbereit zum editieren.
2. NPC erstellen inkl Init.
Schritt 1:
Erstmal startet ihr den Arma 3 Editor, mit der Map Altis.
Eure Map ladet ihr wie folgt:
Schritt 2:
Nun erstellt ihr euch zuerst einen Vorschau NPC. Dies macht ihr wie folgt:
Schritt 3:
Nun erstellt ihr euren NPC. In diesem Tutorial nehmen wir mal der Markt.
this allowDamage false;
Der NPC hat Godmode.
this enableSimulation false;
Der NPC bewegt sich nicht.
this addAction["Markt",life_fnc_virt_menu,"markt"];
Die addAction, womit ihr das Marktmenü aufrufen könnt. Näheres dazu in einem anderem Schritt.
Schritt 4:
Nun könnt ihr euch das ganze im Vorschaumodus anschauen, ob auch der NPC richtig sitzt.
Passt. Soviel zum Thema NPC erstellen.
Wollt ihr einen Waffenshop oder Kleidershop erstellen, geht ihr genau gleich vor. Dazu muß nur einen anderen INIT Befehl hineingeschrieben werden, damit er auch das richtige Menü öffnet.
3. Neue Items einfügen. Wie ihr das neue Item brauchbar macht.
Nehmen wir hier mal als Beispiel das Getränk Cola.
Hinweis: Wenn ihr was anderes machen wollt, wie z.b. etwas zu Essen geht ihr genau gleich vor. Nur hallt entsprechend der itemname anpassen.
Schritt 1:
Öffnet eure core\config\fn_varHandle.sqf
In dieser Datei wird nun das Item definiert.
Unter case 0: fügt ihr folgendes ein:
Und unter case 1: folgendes:
Speichern und schliesen.
Schritt 2:
Öffnet eure core\config\fn_itemWeight.sqf
In dieser Datei könnt ihr einstellen, wiefiel eine Cola an Gewicht wiegen soll. In diesem Beispiel hier, wiegt eine Cola 1 Gewicht.
Wollt ihr das die Cola mehr wiegen?
So gebt einfach einen anderen Zahlenwert ein.
Schritt 3:
Öffnet eure core\config\fn_varToStr.sqf
In dieser Datei gebt ihr an, wie das Item schlussendlich auf eurem Server heissen soll.
Sucht nach folgendes Zeile //Virtual Inventory Items und fügt am schluss folgendes ein:
case "life_inv_cola": {"Coca Cola"};
Rot ist dabei, die Übersetzung.
Schritt 4:
Öffnet eure core\configuration.sqf und sucht nach folgendem Eintrag: life_inv_items =
Dort fügt ihr am schluss folgendes ein:
Hier ist es ganz wichtig das ihr die "," nicht vergisst zu machern.
Macht ihr dort also einen neuen Eintrag, muß da extrem darauf geachtet werden. Das letzte darf am schluss nie ein , haben.
So wäre das richtig:
Etwas weiter unten sucht ihr nach folgendem Eintrag: sell_array = und fügt folgendes hinzu: (Wenn ihr nicht wollt, das man die Cola wieder verkaufen dann springt zum nächsten Abschnitt weiter).
Heisst, man bekommt für das Verkaufen einer Cola 10$.
Hier bitte auch wieder auf das , achten.
Direkt darunter solltet ihr den Eintrag buy_array = sehen. Dort fügt ihr wieder am schluss folgendes ein:
Heisst, die Cola kostet beim Kauf 100$.
Speichern und schliesen.
Schritt 5:
Nun wollen wir die Cola auch benutzbar machen.
Öffnet eure core\pmenu\fn_useItem.sqf
Sucht nach diesem Eintrag:
case (_item == "water" or _item == "coffee"):
{
if(([false,_item,1] call life_fnc_handleInv)) then
{
[player,"drink"] call life_fnc_globalSound;
life_thirst = 100;
player setFatigue 0;
};
};
Direkt darunter fügt ihr folgendes ein:
case (_item == "cola"):
{
if(([false,_item,1] call life_fnc_handleInv)) then
{
life_thirst = 20;
player setFatigue 0;
};
};
Das ganze sollte so aussehen:
case (_item == "water" or _item == "coffee"):
{
if(([false,_item,1] call life_fnc_handleInv)) then
{
[player,"drink"] call life_fnc_globalSound;
life_thirst = 100;
player setFatigue 0;
};
};
case (_item == "cola"):
{
if(([false,_item,1] call life_fnc_handleInv)) then
{
life_thirst = 20;
player setFatigue 0;
};
};
So, nun könnt ihr Cola kaufen und auch benutzen.
Wenn ihr jetzt essen einfügen wollt,müsst ihr genau gleich vorgehen. Nur am schluß nicht in die fn_useItem.sqf sondern in die core\config\fn_eatFood.sqf
{
case "apple": {_val = 10};
case "rabbit":{ _val = 20};
case "salema": {_val = 30};
case "ornate": {_val = 25};
case "mackerel": {_val = 30};
case "tuna": {_val = 100};
case "mullet": {_val = 80};
case "catshark": {_val = 100};
case "turtle": {_val = 100};
case "turtlesoup": {_val = 100};
case "donuts": {_val = 30};
case "tbacon": {_val = 40};
case "peach": {_val = 10};
};
Sollte selbsterklärend sein. Der Zahlenwert gibt an, wiefiel ihr an essen bekommt.
4. Neue Shops erstellen. Z sowie I.
Fangen wir mit dem Z Shop an.
Als Beispiel nehmen wir mal ein Restaurante, indem wir unsere Cola nun reinmachen.
Schritt 1:
Öffnet eure core\config\fn_virt_shops.sqf
case "restaurante": {["Altis Restaurante",["cola"]]};
Rot:
Der casename, für die INIT.
Orange:
Wie der Shop Ingame heissen soll.
Grün:
Welches Item im Shop angeboten werden soll.
Die INIT für den NPC lautet:
Nun der I Shop.
Nehmen wir hier mal als Beispiel einen 2. Genstore. Ich nen diesen mal Bauhaus.
Öffnet eure core\config\fn_weaponShopCfg.sqf
case "bauhaus":
{
["Bauhaus",
[
["Binocular",nil,150],
["ItemGPS",nil,100],
["ItemRadio","Handy",100],
["ToolKit",nil,250],
["FirstAidKit",nil,150],
["NVGoggles",nil,2000]
]
];
};
Alles anzeigen
Sollte soweit auch verständlich sein. Der Zahlenwert bestimmt der Preis.
Die INIT sieht wie folgt aus:
5. Neue Jobs einfügen. Mit und ohne Spitzhacke.
Fangen wir mal mit der Spitzhacke an.
Da nehmen wir als Beispiel Gold.
goldu = unprocessed
goldp = processed
Schritt 1:
Startet euer Arma, und ladet eure mission im Editor.
Nun sucht euch ein geeignetes plätzchen aus, und erstellt einen Marker namens gold_1
Text leer lassen.
Hier wird in Zukunft euer Goldabbau sein.
Schritt 2:
Öffnet eure core\items\fn_pickaxeUse.sqf und fügt dort folgendes ein:
50 Meter um den Marker kann man Gold abbauen. Man bekommt 2 Golderze.
Schritt 3:
Öffnet eure core\configuration.sqf und sucht nach dem Eintrag life_inv_items =
dort fügt ihr folgendes ein:
Unter life_licenses = fügst du folgendes ein:
Etwas weiter unten sucht ihr sell_array = und fügt folgendes ein:
Wenn ihr wollt, das man Unverarbeitetes Gold verkaufen kann, so tragt bitte noch ["goldp",2000] ein.
Schritt 4:
Öffnet eure core\config\fn_varHandle.sqf und fügt folgendes ein:
Unter case 0:
Unter case 1:
Schritt 5:
Öffnet eure core\config\fn_itemWeight.sqf und fügt folgendes ein:
Schritt 6:
Öffnet eure core\config\fn_varToStr.sqf und fügt folgendes ein:
Etwas weiter unten unter Lizenz folgendes einfügen:
Schritt 7:
Öffnet eure core\config\fn_virt_shops.sqf und fügt folgendes hinzu:
Am schluß das goldp einfügen.
Somit könnt ihr beim Diamanten Händler Goldbarren verkaufen.
Schritt 8:
Öffnet eure core\config\fn_licenseType.sqf und fügt folgendes ein:
Unter case 0:
Unter case 1:
Schritt 9:
Öffnet eure core\config\fn_licensePrice.sqf und fügt folgendes ein:
Zahlenwert = Preis für die Lizenz.
Schritt 10:
Öffnet eure core\actions\fn_processAction.sqf und fügt folgendes ein:
Der Zahlenwert bestimmt die Kosten, ohne Lizenz zu verarbeiten.
Schritt 11:
Nun kommen noch 2 INIT Befehle, die ihr euren NPC geben solltet.
Wie ihr das macht, habe ich ganz am anfang erklärt.
Die INIT für den verarbeiter NPC lautet wie folgt:
this enableSimulation false; this allowDamage false; this addAction["Golderz verarbeiten",life_fnc_processAction,"gold",0,false,false,"",' life_inv_goldu > 0 && !life_is_processing'];
Die INIT für die Lizenz lautet wie folgt:
this enableSimulation false; this allowDamage false; this addAction["Gold Lizenz ($30000)",life_fnc_buyLicense,"gold",0,false,false,"",' !license_civ_gold && playerSide == civilian '];
Schritt 12:
Ohne Spitzhacke
Im endeffekt genau gleich, ausser Schritt 2. Da wir keine Spitzhacke dabei benötigen, brauchen wir auch keinen Eintrag in die fn_pickaxeUse.sqf machen sondern in die core\actions\fn_gather. Als Beispiel nehmen wir da mal orangeu und orangep. Orange --> Orangensaft
Fügt in diese Datei folgendes ein:[/color]
6. Kleidershop einfügen.
Nehmen wir hier als Beispiel der Söldner Kleidershop
Schritt 1:
Erstellt eine neue sqf namens fn_clothing_soe.sqf in folgenden Ordner: core\config mit folgendem Inhallt:
/*
File: fn_clothing_soe.sqf
Author: Bryan "Tonic" Boardwine
Description:
Master config for clothing shop.
*/
private["_filter"];
_filter = [_this,0,0,[0]] call BIS_fnc_param;
//Classname, Custom Display name (use nil for Cfg->DisplayName, price
switch (_filter) do
{
//Uniforms
case 0:
{
[
["U_C_Poloshirt_blue","Poloshirt Blue",250],
["U_C_Poloshirt_burgundy","Poloshirt Burgundy",275],
["U_C_Poloshirt_redwhite","Poloshirt Red/White",150],
["U_C_Poloshirt_salmon","Poloshirt Salmon",175],
["U_C_Poloshirt_stripped","Poloshirt stripped",125],
["U_C_Poloshirt_tricolour","Poloshirt Tricolor",350],
["U_C_Poor_2","Rag tagged clothes",250],
["U_IG_Guerilla2_2","Green stripped shirt & Pants",650],
["U_IG_Guerilla3_1","Brown Jacket & Pants",735],
["U_IG_Guerilla2_3","The Outback Rangler",1200],
["U_C_HunterBody_grn","The Hunters Look",1500],
["U_C_WorkerCoveralls","Mechanic Coveralls",2500],
["U_OrestesBody","Surfing On Land",1100]
];
};
//Hats
case 1:
{
[
["H_Bandanna_camo","Camo Bandanna",120],
["H_Bandanna_surfer","Surfer Bandanna",130],
["H_Bandanna_gry","Grey Bandanna",150],
["H_Bandanna_khk","Khaki Bandanna",145],
["H_Bandanna_sgg","Sage Bandanna",160],
["H_StrawHat","Straw Fedora",225],
["H_BandMask_blk","Hat & Bandanna",300]
];
};
//Glasses
case 2:
{
[
["G_Shades_Black",nil,0],
["G_Shades_Blue",nil,0],
["G_Sport_Blackred",nil,0],
["G_Sport_Checkered",nil,0],
["G_Sport_Blackyellow",nil,0],
["G_Sport_BlackWhite",nil,0],
["G_Squares",nil,0],
["G_Lowprofile",nil,0],
["G_Combat",nil,0]
];
};
//Vest
case 3:
{
[
["V_PlateCarrierIA1_dgtl",nil,2500],
["V_PlateCarrierIA2_dgtl",nil,1500]
];
};
//Backpacks
case 4:
{
[
["B_Kitbag_mcamo",nil,1250],
["B_FieldPack_ocamo",nil,3000],
["B_Bergen_sgg",nil,5000]
];
};
};
Alles anzeigen
Die liste sollte soweit auch selbsterklärend sein.
Hier eine nützliche Seite, mit Uniformen. https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Equipment
Uniforms case 0: sind eure Uniformen, die ihr da eintragen könnt.
Hats case 1: Sind eure Kopfbedekung, die ihr auch beliebig eintragen könnt.
Glasses case 2: Sind Eure Brillen.
Vest case 3: Eure Vesten
Backpacks case 4: Eure Rucksäcke.
U_C_Poloshirt_blue","Poloshirt Blue",250
clas name
Wie es Ingame heissen soll
Der Preis
Schritt 2:
Öffnet eure core\Shops\fn_clothingFilter.sqf und sucht nach
fügt danach folgendes ein:
Schritt 3:
Öffnet eure functions.h und fügt folgendes unter //Clothing Store Configs ein:
Schritt 4:
Init für den NPC sieht wie folgt aus:
this allowDamage false; this enableSimulation false; this addAction["Söldner Kleidershop",life_fnc_clothingMenu,"soe"];
7. Configuration.sqf erklärung
Das wichtigste aus der configuration.sqf.
//Persistent Saving
__CONST__(life_save_civ,TRUE); //Save weapons for civs?
__CONST__(life_save_yinv,TRUE); //Save Y-Inventory for players?
Aktiviert das Speichern von Z und I Menü. Um es zu deaktivieren, müsst ihr True in False ändern
//Revive constant variables.
__CONST__(life_revive_cops,TRUE); //Set to false if you don't want cops to be able to revive downed players.
__CONST__(life_revive_fee,5000); //Fee for players to pay when revived.
Dürfen Cops tote Spieler wiederbeleben? Wenn ja, muß der wert auf True stehen.
Wie teuer ist das Wiederbeleben.
//House Limit
__CONST__(life_houseLimit,2); //Maximum amount of houses a player can buy (TODO: Make Tiered licenses).
Wiefiel Häuser man besitzen darf.
//Gang related stuff?
__CONST__(life_gangPrice,75000); //Price for creating a gang (They're all persistent so keep it high to avoid 345345345 gangs).
__CONST__(life_gangUpgradeBase,15000); //MASDASDASD
__CONST__(life_gangUpgradeMultipler,2.5); //BLAH
Wiefiel das Gründen einer Gang kostet.
Wiefiel ein Upgrade kosten soll der Gang.
case west:
{
life_atmcash = 7000; //Starting Bank Money
life_paycheck = 3500; //Paycheck Amount
};
case civilian:
{
life_atmcash = 5000; //Starting Bank Money
life_paycheck = 350; //Paycheck Amount
};
case independent:
{
life_atmcash = 7000; //Starting Bank Money
life_paycheck = 3500; //Paycheck Amount
};
case east:
{
life_atmcash = 7000; //Starting Bank Money
life_paycheck = 3500; //Paycheck Amount
};
Alles anzeigen
life_atmcash = 7000; Bankgeld, jeder Fraktion.
life_paycheck = 3500; Paycheck jeder Fraktion.
life_illegal_ = [["heroinu",1500],["heroinp",3000],["cocaine",1500],["cocainep",3000],["marijuana",1500],["turtle",5000],["blastingcharge",15000],["boltcutter",3000]];
Eine liste mit Illegalen Items.
Macht ihr zum Beispiel eine neue Droge rein, sollte das hier eingetragen werden, damit das der Polizei als Illegal angezeigt wird.
So, nun sind wir am Ende angekommen.
Ich hoffe das euch dieses Tutorial gefallen hat, und ihr euch nun leichter hineinfindet.
In diesem Sinne, noch viel spaß beim arbeiten an eurem Server
Solltet ihr Fehler finden, so sagt es mir damit ich das Thread bearbeiten kann.
Wenn du xCam zum ersten mal startest, sollte ein Fenster kommen wo du entscheiden kannst, welche Objekte du aktivieren möchtest.
Falsch.
Du musst @xCam und @inidbi in dein Arma3 verzeichnis kopieren, und als Mod mitstarten.
(Für ein nicht Mod Server) empfelle ich noch den @101 Editor mitzuladen.
Die make_file.dll ebenfalls in dein Arma3 verzeichnis kopieren.
Dann sollte alles funktionieren
Hmm,
ich arbeite nur mit dem xCam Editor, und der arbeitet automatisch mit this setVectorUp.
Bisher kann ich noch keine probleme sprich Serverabstürze bestätigen.
Sobald aber irgentwie (was ich jetzt nicht denke) probleme auftretten sollten, werde ich dies hier bestätigen.
Moin,
hast du den xCam richtig installiert?
Da war der nox schneller
Ja, das kann man in der configuration.sfq einstellen.
Einfach der Wert auf true machen.
revive_cops = true;
Der Anhang fehlt jetzt gerade noch
Danke für die Info.
Ist nun hochgeladen.
Sollte alles sein
HeyHo, ich möchte mappen lernen und habe dazu noch kaum Erfahrung, deswegen frage ich am besten euch.
Ich hab schon im alten Forum ein paar Namen von Editoren gelesen, beispielsweise xCAM.
Jedoch hat mein Freund mir von diesem Editor abgeraten da er seine bearbeitete Map nicht auf einem Altis Life Server nutzen konnte.Darum, kennt ihr gute Alternativen mit denen man auch in 3D mappen kann und alle Items aus ArmA benutzen kann?
Bin auf eure antworten gespanntMit freundlichen Grüßen
Ayten
Man kann ohne probleme mit xcam arbeiten, und diese auf deiner Altis Life Map benutzen.
Bester Editor, gibt keinen besseren finde ich
Die kannst du einfach beliebig irgentwo hinpacken.
Wichtig ist nur, das es in der Stringtable aufgerufen wird.
Hallo,
Heute zeige ich euch, wie ihr mit einer Zone einen Paint Shop macht.
1. Ihr geht in euren core/civilian/fn_zoneCreator.sqf und fügt folgende sachen ein.
Definiert die Zone wie folgt:
Scrollt nach ganz unten der datei, und fügt noch diesen abschnitt hinzu:
//Create ColorBlue zones
{
_zone = createTrigger ["EmptyDetector",(getMarkerPos _x)];
_zone setTriggerArea[5,5,0,false];
_zone setTriggerActivation["CIV","PRESENT",true];
_zone setTriggerStatements["vehicle player in thislist","LIFE_Action_ColorBlue = player addAction[(localize ""STR_Set_ColorBlue""),life_fnc_colorBlue,'',0,false,false,'','!life_action_inUse'];","player removeAction LIFE_Action_ColorBlue;"];
} foreach _colorZones;
//Create ColorRed zones
{
_zone = createTrigger ["EmptyDetector",(getMarkerPos _x)];
_zone setTriggerArea[5,5,0,false];
_zone setTriggerActivation["CIV","PRESENT",true];
_zone setTriggerStatements["vehicle player in thislist","LIFE_Action_ColorRed = player addAction[(localize ""STR_Set_ColorRed""),life_fnc_colorRed,'',0,false,false,'','!life_action_inUse'];","player removeAction LIFE_Action_ColorRed;"];
} foreach _colorZones;
//Create ColorBlueDark zones
{
_zone = createTrigger ["EmptyDetector",(getMarkerPos _x)];
_zone setTriggerArea[5,5,0,false];
_zone setTriggerActivation["CIV","PRESENT",true];
_zone setTriggerStatements["vehicle player in thislist","LIFE_Action_ColorBlueDark = player addAction[(localize ""STR_Set_ColorBlueDark""),life_fnc_colorBlueDark,'',0,false,false,'','!life_action_inUse'];","player removeAction LIFE_Action_ColorBlueDark;"];
} foreach _colorZones;
//Create ColorBlueLight zones
{
_zone = createTrigger ["EmptyDetector",(getMarkerPos _x)];
_zone setTriggerArea[5,5,0,false];
_zone setTriggerActivation["CIV","PRESENT",true];
_zone setTriggerStatements["vehicle player in thislist","LIFE_Action_ColorBlueLight = player addAction[(localize ""STR_Set_ColorBlueLight""),life_fnc_colorBlueLight,'',0,false,false,'','!life_action_inUse'];","player removeAction LIFE_Action_ColorBlueLight;"];
} foreach _colorZones;
//Create ColorWhite zones
{
_zone = createTrigger ["EmptyDetector",(getMarkerPos _x)];
_zone setTriggerArea[5,5,0,false];
_zone setTriggerActivation["CIV","PRESENT",true];
_zone setTriggerStatements["vehicle player in thislist","LIFE_Action_ColorWhite = player addAction[(localize ""STR_Set_ColorWhite""),life_fnc_colorWhite,'',0,false,false,'','!life_action_inUse'];","player removeAction LIFE_Action_ColorWhite;"];
} foreach _colorZones;
//Create ColorGreen zones
{
_zone = createTrigger ["EmptyDetector",(getMarkerPos _x)];
_zone setTriggerArea[5,5,0,false];
_zone setTriggerActivation["CIV","PRESENT",true];
_zone setTriggerStatements["vehicle player in thislist","LIFE_Action_ColorGreen = player addAction[(localize ""STR_Set_ColorGreen""),life_fnc_colorGreen,'',0,false,false,'','!life_action_inUse'];","player removeAction LIFE_Action_ColorGreen;"];
} foreach _colorZones;
//Create ColorSand zones
{
_zone = createTrigger ["EmptyDetector",(getMarkerPos _x)];
_zone setTriggerArea[5,5,0,false];
_zone setTriggerActivation["CIV","PRESENT",true];
_zone setTriggerStatements["vehicle player in thislist","LIFE_Action_ColorSand = player addAction[(localize ""STR_Set_ColorSand""),life_fnc_colorSand,'',0,false,false,'','!life_action_inUse'];","player removeAction LIFE_Action_ColorSand;"];
} foreach _colorZones;
Alles anzeigen
2. Öffnet eure stringtables.xml und fügt folgendes ganz unten in eine neue Package ein:
<Package name="Lackirerei">
<Key ID="STR_Set_ColorBlue">
<Original>Blau lackieren $2000</Original>
</Key>
<Key ID="STR_Set_ColorRed">
<Original>Rot lackieren $3000</Original>
</Key>
<Key ID="STR_Set_ColorBlueDark">
<Original>Dukelblau lackieren $2000</Original>
</Key>
<Key ID="STR_Set_ColorBlueLight">
<Original>Hellblau lackieren $2000</Original>
</Key>
<Key ID="STR_Set_ColorWhite">
<Original>Weiss lackieren $2000</Original>
</Key>
<Key ID="STR_Set_ColorGreen">
<Original>Grün lackieren $2000</Original>
</Key>
<Key ID="STR_Set_ColorSand">
<Original>Sand lackieren $2000</Original>
</Key>
Alles anzeigen
3. Öffnet eure functions.h und fügt unter class Shops folgendes ein:
class colorSand {};
class colorGreen {};
class colorWhite {};
class colorBlue {};
class colorBlueLight {};
class colorRed {};
class colorBlueDark {};
4. Ladet die Datei aus dem Anhang, und fügt alle 7 sqf dateien unter core/shops ein.
5. Öffnet euer Arma3 Editor, und sucht euch ein schönes plätzchen aus wo ihr gerne der Paintshop haben möchtet.
Habt ihr ein Platz gefunden, erstellt einen marker mit dem namen:
Ihr könnt bis zu 4 Paint Shops erstellen. Der zweite Paintshop muß jedoch dann so heissen:
etc etc.
Ich hoffe euch hat das Tutorial gefallen.
Viel spaß.
MfG
Noldy
Hallo,
Heute erkläre ich euch, wie ihr ganz einfach eigenes Essen und Trinken einfügen könnt und dabei noch nutzbar machen könnt.
Wir nehmen mal als Beispiel zum Essen Schokolade und zum Trinken Cola
1. Geht in eure core/config/fn_varHandle.sqf und fügt folgendes unter case 0 ein:
und bei case 1 fügt ihr folgendes ein:
2. Öffnet eure core/config/fn_varToStr.sqf und fügt folgendes unter //Virtual Inventory Items ein:
3. Öffnet eure core/config/fn_itemWeight.sqf und fügt folgendes hinzu:
1 steht für 1 Gewicht. 2 für 2 Gewicht. Könnt ihr also nach euren wünschen anpassen.
4. Geht in eure core/config/fn_eatFood.sqf und fügt folgendes ein:
_val = 15 steht für, wiefiel ihr an + bekomme wenn ihr das esst.
5. Geht in eure core/pmenu/fn_useItem.sqf und fügt folgendes ein:
case (_item == "cola"):
{
if(([false,_item,1] call life_fnc_handleInv)) then
{
[player,"drink"] call life_fnc_globalSound;
life_thirst = 100;
player setFatigue 0;
};
};
life_thirst = 100; heisst, das Cola 100 auffühlt. Kann auch beliebig nach euren wünschen angepasst werden.
[player,"drink"] call life_fnc_globalSound; ist der Sound, der wiedergeben wird wenn ihr etwas trinkt. Wenn ihr keinen Sound haben möchtet, so löscht einfach die Linie.
Unter case (_item in fügt ihr jetzt noch eure Schokolade ein:
Das ganze müsste in etwa so bei euch aussehen:
case (_item in ["apple","rabbit","salema","ornate","mackerel","tuna","mullet","catshark","turtle","turtlesoup","donuts","tbacon","peach","schokolade"]):
{
[_item] call life_fnc_eatFood;
};
5. Öffnet eure core/config/fn_virt_shops.sqf und fügt folgendes unter case "market": ein:
Bitte achtet darauf, das die , mit den anderen übereinstimmen. Ein beispiel:
case "market": {["Altis Market",["water","rabbit","apple","redgull","tbacon","lockpick","pickaxe","fuelF","peach","schokolade","cola"]]};
6. Öffnet eure core/configuration.sqf und fügt folgendes unter life_inv_items = ein:
Bitte achtet darauf, das euer letztes Item kein , haben darf.
Unter sell_array = folgendes einfügen:
unter buy_array = folgendes einfügen:
Heisst, für eine Schokolade zahlt ihr 65$ und für eine Cola 125$. ihr könnt die Items auch wieder verkaufen. Schokolade für 50$ und Cola für 75$. Wenn ihr nicht wollt, das man die Schokolade und Cola verkaufen kann, so trägt bei sell_array = nix ein.
Das war es. Nun könnt ihr Schokolade und Cola auf eurem Server benutzen.
!!Wichtig!!
Der Sound funktioniert nur, wenn ihr dieses Tutorial befolgt habt. [Tutorial] Sounds einfügen Global/-und Player +- 3.1.4
Somit wird das Global abgespielt, und es können leute in der Umgebung hören.
Wollt ihr auch noch einen Sound, wenn ihr etwas esst? so befolgt dieses Tutorial. [Tutorial] Sound beim essen
Wollt ihr jedoch nicht, das es andere spieler hören, so gebt folgendes ein:
Ersetzte das
mit
Somit kann es nurnoch der Spieler hören. (Dafür braucht ihr nicht das Global Sound Script befolgen)
Im anhang noch die Sounddatei.
Vergisst nicht, diese in eure description.ext einzutragen.
Hoffe, das Tutorial hat euch gefallen.
MfG
Noldy
Hallo,
Heute erkläre ich euch, wie ihr Black Jack auf eurer Altis map spielen könnt.
ALs erstes gesagt. ich bin nicht der Scripter dieses Scripts, der Scripter ist Le Rébellion KRinK
Sein YT Kanal Le Rébellion KRinK - YouTube
Sein YT Tut Video ARMA 3 ALTIS LIFE | TUTORIAL ##9 | Blackjack Spielen by KRinK - YouTube
Dann legen wir mal los.
1. Geht in euer FTP und zieht euch die Datei Functions.h auf euer Desktop.
2. Öffnet die Datei Functions.h auf eurem Desktop.
3. Fügt unter class Actions folgendes hinzu:
class blackjack {};
4. Ladet die Datei im Anhang herunter, und fügt diese unter folgendem Ordner rein core/actions
5. Editiert eure Map im Editor, und fügt einen NPC hinzu mit folgendem INIT befehl:
this enableSimulation false; this allowDamage false; this addAction ["Black Jack spielen ($2500)", life_fnc_blackjack];
6. Speichert die MAP.
7. Ladet eure bearbeitete mission.sqm in euer FTP.
Das war es, nun könnt ihr auf eurer Map Black Jack spielen.
Ich erkläre euch noch anhand verschiedener Farben, wie ihr der Script eiin bisschen verändern könnt:
/*
File: fn_blackjack.sqf
Author: Le Rebellion KRinK
Description:
Create the Blackjack Guy
*/
_store = blackjack;
_denied1 = false;
_price = 2500;
if(life_cash < _price) exitWith {hint "Du hast nicht genug Geld dabei, eine Runde kostet $2500";};
life_cash = life_cash - _price;
removeAllActions blackjack;
hint "Du bist am Zug!";
_number = ceil(random 10);
_pplayer = _this select 0;
if (_number == 0) then {robberyreward = 10000; hint "19! Sauber, immerhin gewonnen!";};
if (_number == 1) then {robberyreward = 0; hint "18! Leider verloren!";};
if (_number == 2) then {robberyreward = 0; hint "8! Versager...";};
if (_number == 3) then {robberyreward = 0; hint "14! Das geht aber besser...";};
if (_number == 4) then {robberyreward = 0; hint "16! Fast! Los, noch eine Runde..!";};
if (_number == 5) then {robberyreward = 0; hint "12! Unfassbar, meine Oma spielt besser als du!";};
if (_number == 6) then {robberyreward = 0; hint "13! Wieder verloren.. Wirklich schlecht..!";};
if (_number == 7) then {robberyreward = 15000; hint "20! Fast perfekt! Du hast gewonnen!";};
if (_number == then {robberyreward = 0; hint "10! Damit gewinnst du... gar nichts!";};
if (_number == 9) then {robberyreward = 0; hint "11! L wie Loooooser!";};
if (_number == 10) then {robberyreward = 20000; hint "21!!! Jackpot!!";};
life_action_inUse = true;
sleep 2;
_robberycash = robberyreward;
_timer = time + (1 * 5);
_toFar = false;
_vault = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
while {true} do
{
//Timer display (TO BE REPLACED WITH A NICE GUI LAYER)
_countDown = if(round(_timer - time) > 60) then {format["%1 minute(s)",round(round(_timer - time) / 60)]} else {format["%1 second(s)",round(_timer - time)]};
hintSilent format["Du musst am Tisch bleiben und warten bis du dran bist!\n\nTime Remaining:\n %1\n\nDistance: %2m",_countDown,round(player distance _vault)];
if(player distance _vault > 5) exitWith {_toFar = true;};
if((round(_timer - time)) < 1) exitWith {};
if(!alive player) exitWith {};
if(life_istazed) exitWith {hint "Du wurdest getazed, Spiel fehlgeschlagen!";};
};
switch(true) do
{
case (_toFar):
{
hint "Du bist zu weit entfernt, bleib am Tisch";
_denied1 = false;
life_action_inUse = false;
};
case (!alive player):
{
hint "Das Spiel ist schiefgelaufen, weil du gestorben bist.";
_denied1 = false;
life_action_inUse = false;
};
case (life_istazed):
{
hint "Du wurdest getazed, Spiel fehlgeschlagen!";
_denied1 = false;
life_action_inUse = false;
};
case ((round(_timer - time)) < 1):
{
hint format["Du hast $%1 gewonnen.", _robberycash];
life_cash = life_cash + _robberycash;
_denied1 = false;
life_action_inUse = false;
};
};
sleep 10;
blackjack addAction["Black Jack spielen ($2500)",life_fnc_blackjack,"blackjack"];
life_action_inUse = false;
Rot = Der Preis, den man Gewinnt an $
Grün = Die Antwort, wo der NPC dir sagt.
Lila = Preis ändern pro Spiel. Wenn ihr den Preis ändert, wäre es schlau auch nochmals der INIT befehl des NPCs zu ändern. Beispiel ihr wollt das ein Spiel 10000$ kostet, dann ändert euer INIT befehl so:
this enableSimulation false; this allowDamage false; this addAction ["Black Jack spielen ($10000)", life_fnc_blackjack];
Ich hoffe, ihr habt spaß am Black Jack
MfG
Noldy