Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 31.03.2014, 21:13   #1 (permalink)
Newbie
 
Registriert seit: 31.03.2014
Beiträge: 5
Standard addaction - removeAllActions

Hallo zusammen,
ich bin gerade dabei eine Art Menü (addaction) zu schreiben. Nun bin ich dabei angelang, dass ich 4 Gruppen habe (addAction["weaponmenu", "weaponmenu.sqf"] usw), nun möchte ich, dass wenn ich auf eines dieser Gruppendrücke, alle von meinen bisherigen (die anderen Gruppen) gelöscht werden und nur noch der inhalt dieser Gruppe dort steht. Der Inhalt besteht aus weiteren addactions die dann das entgültige script aufrufen. Nun habe ich ein Problem ALLE addactions die ich vorher als gruppen hatte zu löschen. Habt ihr ne Idee wie ich das machen kann?

Bsp.:
Code:
player addAction ["<t color=""#E8BE6F"">" +"_WeaponMenu", "scripts\arma2weaponmenu.sqf"];
player addAction ["<t color=""#D99800"">" +"_PlayerMenu", "scripthis\arma2playermenu.sqf"];

=> Gruppe 1 und 2 wenn man auf sie drückt:
Code:
player addAction ["<t color=""#E8BE6F"">" +"_CivClass", "scripts\arma2civclass.sqf"];
player addAction ["<t color=""#E8BE6F"">" +"_AssaultClass", "scripts\arma2assaultclass.sqf"];
player addAction ["<t color=""#E8BE6F"">" +"_SniperClass", "scripts\arma2sniperclass.sqf"];
HIER SOLLEN DANN AUCH DIE ANDEREN GRUPPEN VERSCHINDEN.
PrimeIsTime ist offline   Mit Zitat antworten
Alt 31.03.2014, 23:49   #2 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

In diesem Beispiel wird so ein Menü-System verwendet: Unterstützungen durch Helikopter und Flugzeuge
Vienna ist offline   Mit Zitat antworten
Alt 01.04.2014, 15:34   #3 (permalink)
Newbie
 
Registriert seit: 31.03.2014
Beiträge: 5
Standard

Das script sieht an sich nach genau dem aus was ich such. Doch da ich leider noch nicht so bewandert bin in der arma 2 programmierung ist es schwer für mich solch ein script zu verstehen. Ich bräuchte halt so ne mustlösung wie in den wikis die Beispiele. Aber danke für deine Mühe!
PrimeIsTime ist offline   Mit Zitat antworten
Alt 01.04.2014, 19:42   #4 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Du müsstes für deine Zwecke die HQ-Aktionen.sqf anpassen. Etwas Hilfe bringt dabei die Datei Info.txt. Aber wie du bereits erkannt hast, ist die Anwendung ohne Kenntnis der Skript-Sprache schwierig. Das "Verschachteln" von Aktionen ist nicht einfach zu lösen.
Vienna ist offline   Mit Zitat antworten
Alt 01.04.2014, 23:41   #5 (permalink)
Newbie
 
Registriert seit: 31.03.2014
Beiträge: 5
Standard

Ich dachte zuerst das die Sprache so aufgebaut ist wie C/C# usw. Ich wollte halt einfach ne Variable _actionNumber übergeben und alle die in dieser Liste stehen werden gelöscht. Wie in c# halt: void loeschen(array _actionNumber){} usw. Arma 2 ist erstaunlich unterschiedlich zu allen Sprachen die ich bisher kenne.
PrimeIsTime ist offline   Mit Zitat antworten
Alt 02.04.2014, 11:08   #6 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Ist schon ähnlich C: https://community.bistudio.com/wiki/Control_Structures

Zuerst muss du dich mit dem Befehl https://community.bistudio.com/wiki/addAction vertraut machen. Der gibt für jede Aktion eine Identifikationsnummer zurück, um eine Aktion wieder gezielt löschen zu können
Vienna ist offline   Mit Zitat antworten
Alt 02.04.2014, 14:12   #7 (permalink)
Newbie
 
Registriert seit: 31.03.2014
Beiträge: 5
Standard

Naja C ähnlich ist schon was anderes als nur if/else und switch ;D
Das mit den Ids hatte ich auch schon vermutet, aber ich dachte, dass am nur die Id von der Action aufrufen kann, wenn man in dem script ist also:

Action.sqf
Code:
player addAction["script", "aufrufen.sqf"]
Und nur in der Aufrufen sqf kann ich die löschen dachte ich also:
Code:
_caller this select 0; _id this select 2; removeAction _caller id;
Kann ich auch in einem anderen Script die Actions löschen oder muss ich das in dem aufgerufenen script machen? und wie kriege ich die ids raus oder kann ich auch mit variablen arbeiten? thx schon mal
PrimeIsTime ist offline   Mit Zitat antworten
Alt 02.04.2014, 16:41   #8 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Du kannst die IDs in einer globalen Variablen speichern, die in allen Skripten sichtbar ist. Mehrere IDs in einem Array.

http://hx3.de/editing-scripting-167/sqf-handbuch-22579/

https://community.bistudio.com/wiki/Variables
https://community.bistudio.com/wiki/Array

https://community.bistudio.com/wiki/...Commands_ArmA2
Vienna ist offline   Mit Zitat antworten
Alt 03.04.2014, 13:46   #9 (permalink)
Newbie
 
Registriert seit: 31.03.2014
Beiträge: 5
Standard

Das heißt ich erstelle einfach eine private addAction variable (zB _id) und mache dann removeAction _id?
Kann ich dich liken? (Ich möchte mich bedanken und dir auch was "zurückgeben")
PrimeIsTime ist offline   Mit Zitat antworten
Alt 03.04.2014, 14:02   #10 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

"Private" Variable sind die lokalen Variablen in Skripten welche mit einem Unterstrich beginnen.

z.B.

_AktionID1 = player addAction [...];

player removeAction _AktionID1;

Die ID der Aktion wird auch dem Skript der Aktion als Parameter übergeben. Die Aktion kann somit auch im Skript entfernt werden.

Oder mit globaler Variabler (ohne beginnenden Unterstrich) in jedem Skript:

AktionID1 = Tank1 addAction [...];

Tank1 removeAction AktionID1;
Vienna ist offline   Mit Zitat antworten
Antwort

Stichworte
addaction


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
Animate im AddAction funzt bei Select 0 nicht Drunken Officer Editing & Scripting 1 01.12.2013 14:34
addaction und waypoints McLaine Editing & Scripting 2 01.11.2013 20:03
Addaction für alle die im Flugzeug sind! SniperIce Editing 7 25.08.2013 14:26
addaction für player (wenn mehrere beieinander stehen) Wolkenbeisser Editing & Scripting 34 30.01.2013 07:27
addAction und hint im Multiplayer spaccy Editing & Scripting 7 18.07.2012 21:10


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