HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   RPT wird mit "Error Undefined variable in expression" überflutet (https://hx3.de/editing-scripting-187/rpt-error-undefined-variable-expression-ueberflutet-22759/)

[GNC]Lord-MDB 31.07.2013 16:04

RPT wird mit "Error Undefined variable in expression" überflutet
 
Hi Leute seit dem Update auf 0.74 werden meine Map mit "Error Undefined variable in expression" überflutet.
Vorher habe ich nicht eine einzige dieser Meldungen gehabt nun ca 40-60 Meldungen.

Das ist irgendwas seit dem Update geändert worden bei der Var Vergabe,nur ich weiß nicht was. Es werden Gobale Vars an gemeckert und auch Lokale Vars.

Ich bekomme Meldungen von Spieler die nicht auf dem Server sind und anderen Triggern. Man muss nun sicher Vars einen Startwert wohl geben aber wie geht das bei einem Spieler ???

bz. C1 ist ne spielbare person
PHP-Code:

if (Alive C1then {Hint format ["Civi1 %1",name c>
  
Error position: <C1then {Hint format ["Civi1 %1",name c>
  
Error Undefined variable in expressionc1
File mpmissions
\__cur_mp.Stratis\client\onrespawn.sqfline 15 

selbe gilt für diese Meldung

PHP-Code:

Error in expression <if ((isplayer W40) && W40READYthen {READY READY + >
  
Error position: <W40) && W40READYthen {READY READY + >
  
Error Undefined variable in expressionw40 


Xeno 31.07.2013 16:25

*del*

Xeno

[GNC]Lord-MDB 31.07.2013 16:31

mmh klar,dann durchforstet ich mal die Map und ergänze das nun an allen ecken :schlagen:

MrCharles 31.07.2013 16:35

Zitat:

Zitat von Xeno (Beitrag 455078)
*del*

War ja vorher zu einfach ;)

flickflack 31.07.2013 16:41

Und für lazy eval braucht man geschweifte Klammern? Ich dachte das Verhalten wäre Usus. Hauptsache alle können wieder ihre Maps ändern ^^

Xeno 31.07.2013 16:44

*del*

Xeno

[GNC]Lord-MDB 31.07.2013 17:28

so nun war ich einfach mal so frei und habe das mal in ein anderes Script übernommen mit {} und nun meker das wieder rum :ugly:

W1 eins bin ich :zahn:

PHP-Code:

Error in expression <if (!isNil W1 && {(isplayer W1) && W1READY}) >
  
Error position: <isNil W1 && {(isplayer W1) && W1READY}) >
  
Error isnilType Objectexpected String,code 

auszug

PHP-Code:

    waituntil
    
{
        
Sleep 1;
        
READY 0;

        for 
"_i" from 1 to 20 do
        {
            [] 
call compile format ["if (!isNil W%1 && {(isplayer W%1) && W%1READY}) then {READY = READY + 1;};",_i];
            [] 
call compile format ["if (!isNil E%1 && {(isplayer E%1) && E%1READY}) then {READY = READY + 1;};",_i];
        };
        [
format["%1 / %2",READY,(playersNumber west playersNumber east)]] execVM "debug.sqf";
        ((
READY == (playersNumber west playersNumber east)) or (_zeit+80 time)) 
    }; 


[GNC]Lord-MDB 31.07.2013 18:43

und was mir auch nebei auffällt gibt es wohl nun 2 classen von meldungen
Warnmeldungen und Erromeldungen

Denn normalerweise werden ja Scripte bei Fehlermeldungen gestoppt und nicht mehr weiter ausgeführt ,doch die neuen meldungen wiederhole sich alle auch immer

Xeno 01.08.2013 01:45

*del*

Xeno

[GNC]Lord-MDB 01.08.2013 12:00

ich habe auch die vermutung das diese "meldung" schon immer gab und die nun nur Aktiv geschaltet wurden.

Ich habe gestern mal ne Map gespielt die völlig fehlerfrei läuft aber dauern pop da ne blackbox auf :ugly:
Und da man das nicht ausblenden kann ,darf ich nun das Rad neu erfinden

Pfandgiraffe 07.08.2013 09:50

Code:

if (!isNil W1 && {(isplayer W1) && W1READY})
Erstmal musst du deine Klammern und Sonderzeichen ordnen, dann klappts auch mit den Fehlermeldungen.

Code:

if (!isNil "W1" && {isPlayer W1} && {W1READY}) then {hint "jetz getah!"};

Xeno 07.08.2013 11:16

*del*

Xeno

Pfandgiraffe 07.08.2013 11:51

W1 ist kein String sondern in dem Fall das player Obj.

Zitat:

Error in expression <if (!isNil W1 && {(isplayer W1) && W1READY}) >
Error position: <isNil W1 && {(isplayer W1) && W1READY}) >
Error isnil: Type Object, expected String,code

Aber stimmt schon, die Klammern würden grad noch so gehen.

Xeno 07.08.2013 11:55

*del*

Xeno

[GNC]Lord-MDB 07.08.2013 15:51

Also den Block von oben musstet ich so umbauen um die Blackbox zu verhindern ,alles andere hat nicht geklappt.

PHP-Code:

    for "_i" from 1 to 20 do
        {
            [] 
call compile format ["W%1READY = false;",_i];
            [] 
call compile format ["E%1READY = false;",_i];
        };
    
    
C1READY false;
    
C1READY false;
    
    
waituntil
    
{
        
Sleep 1;
        
READY 0;
        
        {
        if(
isPlayer _xthen 
            
{
            [] 
call compile format ["if ((isplayer %1) && %1READY) then {READY = READY + 1;};",_x];
            };
        }forEach 
playableUnits
        
//Player sidechat format ["R:%1 P:%2 B:%3",READY,(playersNumber west + playersNumber east + playersNumber civilian),(READY == (playersNumber west + playersNumber east + playersNumber civilian)];        
        
[format["%1 / %2",READY,(playersNumber west playersNumber east playersNumber civilian)]] execVM "debug.sqf";
        ((
READY == (playersNumber west playersNumber east playersNumber civilian)) or (_zeit+80 time)) 
    }; 


Xeno 07.08.2013 16:02

*del*

Xeno

[GNC]Lord-MDB 07.08.2013 16:16

jo,die frage ist nur,das ist ne Servercontroll scripte,die Gobale Var %1READY wird erster in einen Client Script erstellt,ob das dann da geht mit missionNamespace??

Xeno 07.08.2013 16:29

*del*

Xeno

[GNC]Lord-MDB 07.08.2013 16:46

ah schön das ist ja ne interessante info.
Der Befehl missionNamespace ist doch wenn ich das richtig verstehe MP Gobal
also was ich auf den Client mache weiß der Server und andersherum.

Xeno 07.08.2013 17:03

*del*

Xeno


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 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