Armed-Assault.de Twitter


Antwort
 
Themen-Optionen Ansicht
Alt 07.08.2013, 18:44   #21 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 35
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Darf ich den Sinn des Scriptes im Allgemeinen anprangern oder steht das nicht zur Debatte?
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 08.08.2013, 05:15   #22 (permalink)
500 Beiträge
 
Registriert seit: 07.01.2008
Beiträge: 653
[GNC]Lord-MDB eine Nachricht über ICQ schicken
Standard

Darf du und ich werden Dich auch nicht unwissend sterben lassen
Damit du erleuchtet wirst
__________________


--> -> Rechtschreibfehler sind Gratis <- <--
--> Wer welche findet kann sie behalten <--



German Nato Corps
[GNC]Lord-MDB ist offline   Mit Zitat antworten
Alt 08.08.2013, 08:36   #23 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 35
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Oh, du willst mich erleuchten? Jetzt bin ich gespannt - man kann nie genug strahlen. Raus mit der Sprache.
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 08.08.2013, 16:25   #24 (permalink)
500 Beiträge
 
Registriert seit: 07.01.2008
Beiträge: 653
[GNC]Lord-MDB eine Nachricht über ICQ schicken
Standard

Das ist ein teil eines Controllscript vom Server der die Clienten kontrolliert ob bei deinen das Intro fertig durch gelaufen ist.
Vielleicht wird nun etwas sinnhafter für dich
__________________


--> -> Rechtschreibfehler sind Gratis <- <--
--> Wer welche findet kann sie behalten <--



German Nato Corps
[GNC]Lord-MDB ist offline   Mit Zitat antworten
Alt 08.08.2013, 16:43   #25 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 35
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

@Lord: Das meinte ich nicht. Was der Code macht ist mir schon klar. Ich finde nur den Sinn dahinter fragwürdig. Und wenn dann prüft der Code eher ob der player auf der Map steht, also die init geladen hat - nicht ob sein Intro durchgelaufen ist. Das setzen der Variable im missionNameSpace macht in deinem Code auch wenig Sinn. Die Variable ist eben immer gesetzt. Was nutzt es da noch diese auf Vorhandensein zu prüfen.


Code:
C1READY = false;

waitUntil {
    private "_counter";
    sleep 1;
    _counter = 0;
    {
        if (!isNil "_x" && {!isNull _x} && {isPlayer _x}) then {
            _counter = _counter + 1;
        };
    } forEach playableUnits;
    ((_counter == (playersNumber west + playersNumber east + playersNumber civilian)) || {time > 80})

};

Frage an Xeno:
1. Warum wird der Code hier eigentlich nicht in einem While-Loop ausgeführt? Ich hab mal gehört, dass ein waitUntil-Loop "extrem" Performant sein soll. (hat mir ein VBS Mitarbeiter erzählt)

2. Hat es einen Vorteil eine Variable direkt im missionNameSpase zu setzen statt diese direkt an das player Obj zu heften? (was ja letztendlich auch wieder missionNameSpace ist) Also z.B.

Code:
{_x setVariable ["affenscheisse",true]} forEach playableUnits;
vs.

Code:
{missionNamespace setVariable [format ["W%1_affenscheisse",_forEachIndex], true]} forEach playableUnits;


Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___

Geändert von Pfandgiraffe (08.08.2013 um 16:52 Uhr).
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 08.08.2013, 17:18   #26 (permalink)
500 Beiträge
 
Registriert seit: 07.01.2008
Beiträge: 653
[GNC]Lord-MDB eine Nachricht über ICQ schicken
Standard

@Psychobastard

Würde dir zustimmen wenn das so wäre.
Der Block läuft nur ein einizges mal ab beim Mapstart sonst nie mehr.
Durch die Ablaufsteuerung die in der AL Engine 5.0 die in den AL map enthalten ist lauft der Block nur in den Zeit des Intros.
Der Block läuft auch viel weiter hinten,da ist die init schon langst eingearbeitet und hat andere Zweige angesteuert.

Zitat:

1. Warum wird der Code hier eigentlich nicht in einem While-Loop ausgeführt? Ich hab mal gehört, dass ein waitUntil-Loop "extrem" Performant sein soll. (hat mir ein VBS Mitarbeiter erzählt)

Das ist ne waitUntil mit 1 Sek Abfrage,die sollte eigentlich recht schonen sein.
__________________


--> -> Rechtschreibfehler sind Gratis <- <--
--> Wer welche findet kann sie behalten <--



German Nato Corps

Geändert von [GNC]Lord-MDB (08.08.2013 um 17:22 Uhr).
[GNC]Lord-MDB ist offline   Mit Zitat antworten
Alt 08.08.2013, 17:25   #27 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 35
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Nein, das ist eben keine "waitUntil 1Sekunden-Abfrage". Diese Abfrage wiederholt sich solange bis die Condition der letzten Zeile true wird oder die Mission seit 81 Sekunden Serverseitig läuft.

Und wenn ein player Obj plötzlich Null wird (z.B. connection Lost) bevor dieser Code startet, wartet der Server bis dieses Objekt gelöscht wurde oder ddie 80 Sekunden vergangen sind bevor er weiter dieses Script abarbeitet. (was danach auch immer kommt)

Wenn du eine Sekunde auf etwas warten möchtest empfehle ich dir sleep 1; :-P


Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 08.08.2013, 17:48   #28 (permalink)
500 Beiträge
 
Registriert seit: 07.01.2008
Beiträge: 653
[GNC]Lord-MDB eine Nachricht über ICQ schicken
Standard

http://community.bistudio.com/wiki/waitUntil

lies mal was kju geschrieben hat und eigende Erfahrungen bestiegen das in ARMA2
__________________


--> -> Rechtschreibfehler sind Gratis <- <--
--> Wer welche findet kann sie behalten <--



German Nato Corps
[GNC]Lord-MDB ist offline   Mit Zitat antworten
Alt 08.08.2013, 21:18   #29 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 35
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Ja und? Eben das selbe wie bei einer while-Schleife. Eben eine Verzögerung einsetzen. Das ändert aber nichts an dem vorher geschriebenen.
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 24.08.2013, 00:22   #30 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 16.07.2010
Beiträge: 305
Standard

Achtung!:
Code:
[] call compile format ["W%1READY = false;", _i];
Die Zuweisung per call compile ist zwar 3-4 Mal langsamer als setVariable:
Code:
missionNamespace setVariable [format ["W%1READY", _i], false];
aber dafür ist die direkte Zuweisung:
Code:
W1READY = false;
3-4 Mal schneller als:
Code:
missionNamespace setVariable ["W1READY", false];
Der direkte Aufruf:
Code:
_Test1 = W1READY;
ist im Gegensatz hierzu:
Code:
_Test1 = missionNamespace getVariable "W1READY";
ca. 25% schneller.
Ich frage mich nur was schneller bzw. sparsamer ist: publicVariable oder setVariable?
__________________

Geändert von Rockhount (24.08.2013 um 00:36 Uhr).
Rockhount ist offline   Mit Zitat antworten
Alt 24.08.2013, 04:47   #31 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 35
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Ich würde immer noch gerne erstmal darüber sprechen ob es in dem Fall überhaupt Sinn macht den missionNameSpace zu bedienen statt direkt das pObj zu nutzen.
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 24.08.2013, 10:57   #32 (permalink)
500 Beiträge
 
Registriert seit: 07.01.2008
Beiträge: 653
[GNC]Lord-MDB eine Nachricht über ICQ schicken
Standard

ich sehe da bis jetzt noch keinen Vorteil drin.
Sinn für mich nur zwei verscheidende arten.
__________________


--> -> Rechtschreibfehler sind Gratis <- <--
--> Wer welche findet kann sie behalten <--



German Nato Corps
[GNC]Lord-MDB ist offline   Mit Zitat antworten
Alt 24.08.2013, 15:43   #33 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 16.07.2010
Beiträge: 305
Standard

Code:
TestFunction1 = compile
"
    _uid = Test;
    _varName = _uid;
    _varValue = _varName;
    _saveArray = ['ChernaLife', _uid, _varName, _varValue];
    _saveArray = 6768768 * 56757657 / 8756858;
";
TestFunction2 =
{
    _uid = Test;
    _varName = _uid;
    _varValue = _varName;
    _saveArray = ["ChernaLife", _uid, _varName, _varValue];
    _saveArray = 6768768 * 56757657 / 8756858;
};
Die Ausführung einer kompilierten Funktion:
Code:
call TestFunction1;
ist übrigens im Gegensatz zu die einer Normalen:
Code:
call TestFunction2;
3-4 Mal schneller.
__________________

Geändert von Rockhount (25.08.2013 um 00:20 Uhr).
Rockhount ist offline   Mit Zitat antworten
Antwort


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
Variable auf dem Server ändern sich nicht ! N939 Editing & Scripting 3 26.07.2010 14:36


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