HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   .hpp parameter übergabe an .sqf mit case (Switch) funktion (https://hx3.de/editing-scripting-187/hpp-parameter-uebergabe-sqf-case-switch-funktion-25648/)

Sajiki 07.04.2017 20:49

.hpp parameter übergabe an .sqf mit case (Switch) funktion
 
Hallo,

hoffentlich kann mir einer hier weiter helfen.

Folgendes:
Ich habe mir ein Loadout Script zusammen gebastelt, darin greife ich bei den Buttons auf eine Script Datei zu -->
Code:

action = "_handle = [1] execVM ""scripts\loadouts\skins.sqf"";";
In der skins.sqf erkennt er den Paramter 1 und gibt ihn mir korrekt aus.

Jedoch klappt das case nicht so richtig wie es soll:

Code:

switch (_skin) do
        {
                case "0":
                        {
                                if (_debug) then {hintsilent "Skin deaktiviert"; sleep 1;};
                        };
                case "1":       
                        {
                                if (_debug) then {hintsilent "Skin 1"; sleep 1;};
                                removeUniform player;
                                removeVest player;
                                removeBackpack player;
                                removeHeadgear player;
                                player forceAddUniform "U_B_CombatUniform_mcam";
                                player addVest "V_PlateCarrier1_rgr";
                                player addHeadgear "H_HelmetB_light";
                        };
                if (_debug) then {hintsilent "Case ende"; sleep 1;};
        };

if (_debug) then {hintsilent "Script ende."; sleep 1;};

Er gibt mir als alle _debug aus bis auf die inerhalb des case. Kann mir eventuell einer weiterhelfen?

Mfg
Sajiki

Pfandgiraffe 07.04.2017 22:45

Du übergibst eine Zahl und suchst nach einem String.

1 vs "1"

Grüße

Sajiki 08.04.2017 08:50

Ach du heilige .....! so simple und doch nicht gesehen bzw gecheckt :happy:

Danke!

Mfg
Sajiki

Sajiki 08.04.2017 20:31

Ich muss noch einmal nerven ^^

Kann ich irgendwie überprüfen welche Variable der Charakter besitzt der den Button drückt?

Beispiel:
Soldat hat im Editor die Variable "Soldat_1" bekommen, nun möchte ich in meinem Script
Code:

if ((player == Soldat_1) || (player == Soldat_2)) then {MEIN CODE};
verwenden. Aber er erkennt Soldat_1 nicht über den Button. Führe ich das Script direkt aus ohne die .hpp klappt es.

Hoffe ich habs verständlich erklärt.

Drunken Officer 08.04.2017 20:48

Dann übergebe doch den Wert mit. Der Dialog läuft lokal, also kannst du mit player arbeiten

action=" einlustigeID = [player] execvm '...' ";

Sajiki 09.04.2017 11:29

Also um es richtig zu verstehen!

Wenn ich also:
Code:

action = "_handle = [Player,1,0] execVM ""scripts\loadouts\skins.sqf"";";
angebe, übernimmt er mir Variable vom Spieler im Player drin?
Dachte nämlich das er dann es als Player übernimmt aber schätze dafür müsste ich dann "Player" schreiben weil "" ja ein String setzt nicht?

Richtig soweit?

Mfg
Sajiki

Drunken Officer 10.04.2017 20:33

Nein, nimm Player

Der Client kennt den Player und damit auch die damit verbundene Variable.

Sajiki 14.04.2017 14:23

Ja hab ich so gemacht und das ganze nun verstanden wie es läuft danke für eure Hilfe ;)

Mfg
Sajiki


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:08 Uhr.

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