Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 07.03.2015, 01:21   #1 (permalink)
Newbie
 
Registriert seit: 17.06.2014
Beiträge: 10
Standard setVariable & getVariable

Ich hab mir mehrmals setVariable und getVariable angeschaut und frage mich immer noch:
Wann findet setVariable und getVariable genau Verwendung. Ich komm schon dahinter .... (lange Leitung im diesen Fall)


Man hinterlegt etwas an einem Objekt oder einer Gruppe oder ... , aber in der Praxis sieht das jetzt wie aus? Es gibt doch schon Variablen.

Warum zum Beispiel an einem Objekt das festmachen. Mir fehlt da, glaube ich, eine wichtige Info - beziehungsweise ist mir eine Problematik nicht ganz klar.

Ein einfaches Beispiel wäre super.
JoBro ist offline  
Alt 07.03.2015, 11:36   #2 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
Standard

Das hat einfach etwas mit dem Speicherort der Variable zu tun.

Wenn Du einer Variable einen Wert zuweist, dann wird dieser Wert einer Variable im missionNameSpace zugewiesen.

Beispiel 1:
Code:
myVar = 123;
ist das selbe wie
Code:
missionNamespace setVariable ["myVar", 123];
Beispiel 2:
Code:
myVar = "hoschi"; publicVariable "myVar";
ist das selbe wie
Code:
missionNamespace setVariable ["myVar", "hoschi", true];
Das bedeutet jede einfache Zuweisung (ohne setVariable sondern einfach nur x = y) speichert den Wert in einer Variable im missionNameSpace

Jetzt besteht aber noch die Moeglichkeit, Variablen auch an anderen Orten und Namensraeumen zu hinterlegen.

Auszug aus dem Wiki:

All available data type combinations:
  • Namespace setVariable Array
  • Control setVariable Array (static map editor control only)
  • Object setVariable Array
  • Group setVariable Array
  • Team_Member setVariable Array
  • Task setVariable Array
  • Location setVariable Array

Nehmen wir jetzt als Beispiel ein Objekt.

Ich platziere eine Auto mit dem Namen "car1" im editor und moechte in diesem Objekt einer Variable einen Wert zuweisen.
Code:
car1 setVariable ["varStoredInCar1", 123];
Wenn Du nun eine Abfrage auf die Variable varStoredInCar1 machst liefert dir die Engine nil zurueck, da eine einfache Abfrage immer den missionNameSpace abfragt
Code:
hint format ["%1",varStoredInCar1]; // liefert nil zurueck
fragst Du aber gezielt die Variable die im Objekt hinterlegt ist ab, liefert Dir die Engine auch den Wert den wir vorher zugewiesen haben zurueck.
Code:
hint format ["%1", car1 getVariable "varStoredInCar1" ]; // liefert 123 zurueck
SetVariable bietet Dir also die Moeglichkeit deine Variablen auch an anderen Orten zu hinterlegen als im missionNameSpace.

Ein gutes Beispiel hierfuer ist der ProfileNameSpace. Daten die im ProfileNameSpace gespeichert werden gehen nicht verloren, da diese in der \Eigene Dateien\Arma 3\name.vars gespeichert werden. Hier hast Du also die Moeglichkeit, Dir Werte an einem Ort zu hinterlegen, der beim beenden der Mission nicht verloren geht.

Hier wird jetzt also die Variable permanentVariable mit dem Wert 123 in dem profileNameSpace gespeichert:
Code:
profileNameSpace setVariable ["permanenteVariable", 123];
nach dem beenden der mission und einem neustart von arma sind diese daten nach wie vor noch vorhanden.

Du kannst als eine neue Mission starten und die Variable im profileNameSpace wieder abfragen
Code:
hint format ["%1", profileNameSpace getVariable "permanenteVariable" ]; // liefert 123 zurueck
Empfohlene Lektuere zum Thema:
https://community.bistudio.com/wiki/setVariable
https://community.bistudio.com/wiki/getVariable

gruß
hoschi
__________________



Geändert von Moerderhoschi (07.03.2015 um 11:39 Uhr).
Moerderhoschi ist offline  
Alt 07.03.2015, 13:14   #3 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard



Super geil erklärt!
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
Alt 09.03.2015, 10:20   #4 (permalink)
Newbie
 
Registriert seit: 17.06.2014
Beiträge: 10
Standard

Cool, Danke. Und die Lektüre: macht jetzt alles einen Sinn. Ich denke manchmal zu kompliziert und ich sollte genauer lesen.

Übrigens von den ganzen Foren, Themen unabhängig vom Handwerker bis zur IT, finde ich dieses am Besten, weil viele leider zu oft schreiben:
Ich habe so viele Fragen beantwortet und so viele Jahren geschrieben und du hast erst 5 Fragen beantwortet, also habe ich Recht und du nicht. Blöderweise kommentieren dann alle "Erfahrenen Leute" das positiv. Kein Widerspruch. "Ich rede und sabbel so viel, deswegen bin ich so schlau", sagt ja so auch keiner in der Realität. So entsteht zu viel Müll, meine ich.

Hier dagegen sucht man das Argument, ist keins, vergeblich. Zum Glück. Hut ab vor den Leuten, die trotz entsprechenden Wissen und Erfahrungen auf den Teppich bleiben. Danke!!!
JoBro ist offline  
Alt 13.03.2015, 22:42   #5 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Mal ne Frage, das hinterlegen funktioniert das nur bei der selben Mission oder kann man die auch in einer anderen Mission verwenden?

z.B. baue ich bei A3 gerade mehrere Teile. Könnte ich da rein theoretisch, Ausrüstung übergeben?
__________________
Bewegende Momente bei ArmA 3

Geändert von Drunken Officer (13.03.2015 um 22:44 Uhr).
Drunken Officer ist offline  
Alt 13.03.2015, 22:53   #6 (permalink)
Armed-Assault.de Team10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Moerderhoschi
 
Registriert seit: 02.07.2006
Ort: Kabul
Alter: 38
Beiträge: 2.666
Standard

alles was Du im profileNameSpace hinterlegst ist in jeder Mission verfuegbar, solange die \Eigene Dateien\Arma 3\name.vars nicht geloescht wird.
__________________


Moerderhoschi ist offline  
Alt 26.05.2015, 17:29   #7 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Auch wenn der Thread schon 2 Monate alt ist, mal was zum Verständis
Zitat von JoBro Beitrag anzeigen


Man hinterlegt etwas an einem Objekt oder einer Gruppe oder ... , aber in der Praxis sieht das jetzt wie aus? Es gibt doch schon Variablen.

Das hatte ich mich auch gefragt, bis ich selber darüber gestolpert bin. Warum eine Variable in einem Objekt speichern?

Ich hatte das Problem, dass aus irgendwelchen Gründen beim Verbinden nicht immer der mit dem höchsten Rang auch gruppenführer ist. (Die Figuren traten erst nach dem Start einer Gruppe bei).

Was brauchte man, eine Variable. Und da, sieht an, diese darf nicht im missionnamespace gespeichert werden, da die sonst jedesmal überschrieben wird. Also die selbe Variable mit unterschiedlichen Werten ans Objekt geheftet.
A1 setVariable ["DOF_RANK", 3, true];
A2 setVariable ["DOF_RANK", 1, true];
A3 setVariable ["DOF_RANK", 7, true];
A4 setVariable ["DOF_RANK", 9, true];
A5 setVariable ["DOF_RANK", 2, true];

Jetzt gibt es die selbe Variable mit unterschiedlichen Werten. Und diese Werte können dann als Vergleichswerte herangezogen werden. z.B. Wer als erstes durch einen Sniper erschossen werden soll. Oder wer Führer einer Gruppe wird etc pp...
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
 

Stichworte
getvariable, setvariable, verwendung


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[How To]Ampel Nokman Rollenspiel & Zombie Ecke 1 04.10.2014 09:31
Markerreihenfolge ändern?? Drunken Judge Editing & Scripting 2 31.07.2014 22:26
Objekte unzerstörba machen MBMC Editing & Scripting 8 25.04.2013 19:28
WarefareBE 2.069 (Probleme) Jackrkc Usermade Missions 6 22.07.2011 14:01
Weapon Save Config Arni83 Editing & Scripting 8 18.02.2011 19:35


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119