Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 01.08.2014, 13:14   #1 (permalink)
50 Beiträge
 
Benutzerbild von [GNC]JamesRyan
 
Registriert seit: 04.11.2009
Ort: Ober-Ramstadt
Beiträge: 79
[GNC]JamesRyan eine Nachricht über ICQ schicken [GNC]JamesRyan eine Nachricht über MSN schicken [GNC]JamesRyan eine Nachricht über Skype™ schicken
Standard SQF-Handbuch (reloaded)

Hallöchen liebe Community,

mit Erscheinen von ArmA3 möchte ich auch mein Handbuch mal in diesem Bereich anbieten, da ich nicht weiß, wie sehr der ArmA2-Editing-Bereich noch genutzt/besucht wird:

Zitat von [GNC]JamesRyan Beitrag anzeigen

Aktuelle Version: v06
SQF-Scriptguide v06

Direkter Download




Abend liebe Community,

mein Name ist [3.JgKp]James und ich bin Mitglied der 3. Jägerkompanie . Ich arbeite seit einigen Wochen aufgrund eines claninternen Lehrgangs an einem SQF-Handbuch zusammen mit Bunkerfaust und würde dieses gerne nach Fertigstellung veröffentlichen, da der Hauptgedanke dieses Werkes die Einführung völlig unerfahrener Leser in SQF ist, damit auch diese möglichst bald Scripte schreiben oider wenigstens nachvollziehen können.

Das ganze wird drei große Teile haben:
Teil I : SQF-Grundlagen: Beschreibung aller wesentlichen Sprachelemente, also Syntax, Datentypen, Kontrollstrukturen
Teil II: Lokalität (SQF im Multiplayer)
Teil III: Beispielscripte und nützliche Tipps

Im Moment bin ich halbwegs gut mit Teil I beschäftigt, die anderen werden dann folgen.

Warum schreibe ich bereits zu einem so frühen Stadium des Projektes? Weil dieses "Buch" für euch ist und ich daher ähnlich wie Mr. Murray euer Feedback bzw, eure Wünsche mit einbauen möchte.

Das heißt konkret: Was wünscht ihr euch in diesem Handbuch? Was möchtet ihr persönlich zu ArmA und SQF wissen, was über Scripte erklärt bekommen? In diesem Sinne möchte ich diesen Thread gerne verstanden wissen. Eventuell kann ich auch von Zeit zu Zeit Probekapitel herausgeben, aber ich scheue mich etwas wegen des Copyrights. Aber ich denke, mit einer geschützten PDF sollte das Lesen alleine kein Problem bereiten.

Ich hoffe, dass dieses Projekt auf Interesse stößt. Wenn jemand glaubt, dass sei völlig überflüssig und der Zug sei abgefahren, kann er dies gerne mitteilen. Außerdem fokussiere ich mich derzeit vollständig auf ArmA2, da ich für ArmA3 noch keine Zeit hatte. Sollten sich wesentliche Dinge aus ArmA2 in ArmA3 bzgl SQF geändert haben, werde ich dies natürlich nachtragen (müssen).

Ich möchte zum Abschluss betonen, dass ich keine Einführung in den Missionsbau schreibe. Wie man diverse Dinge wie Einheiten in Türmen, Animationen oder dergleichen hinbekommt, sollte nicht so sehr Sinn und Zweck dieses Handbuches sein. Es soll wirklich SQF an sich erklären und mit SQF vertraut machen, so dass man mit den vielen Hilfen wie Comref und BIS Wiki in der Lage ist, jedes Programm in SQF selbst umsetzen zu können bzw. ein Problem mithilfe eines Scriptes lösen zu können. Für gezielte Lösungen ist Mr. Murray bzw. das Internet die bessere Lösung. Auch die Beispielscripte aus Teil III sollen Grundkonzepte widerspiegeln, nicht alle Eventualitäten abdecken.

Vielen Dank und einen schönen Abend

PS: Bitte nicht über den veralteten Nickname hier wundern, obwohl ich noch Mitglied der GNC bin schreibe ich hier wie gesagt als Mitglied der 3.
Link zum alten Thread:
http://hx3.de/newreply.php?do=newreply&p=450107

Bisher hatte ich keine Zeit, Teil II anzufangen bzw. mich mit den Neuerungen in ArmA3 zu beschäftigen, aber das soll die Monate nachgeholt werden.

Daher kann ich hier nur wie im alten Thread um eure Unterstützung bitten. Welche Themen hättet ihr gerne erklärt, gerade in ArmA3 was ist neu bzw. veraltet und so nicht mehr geläufig etc.pp

Ich stehe jeder Zeit für Fragen, Anregungen und Kritik zur Verfügung.

Würde mich freuen, wenn ein Admin den Post anpinnen könnte.
__________________
~[3.JgKp]James~
Kompaniechef | Autor SQF-Handbuch | 3.Jägerkompanie

Geändert von [GNC]JamesRyan (02.08.2014 um 10:28 Uhr).
[GNC]JamesRyan ist offline   Mit Zitat antworten
Alt 01.08.2014, 14:47   #2 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.108
Standard

Und zack bei den Favoriten gespeichert!
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline   Mit Zitat antworten
Alt 02.08.2014, 02:35   #3 (permalink)
Newbie
 
Registriert seit: 02.05.2014
Beiträge: 28
Standard

Hey,

erstmal: Klasse Arbeit!

Aber könntest du das Ding vllt. auch irgendwo hochladen, wo man sich nicht extra anmelden muss um es zu downloaden?

mfG. Keksi43
Keksi43 ist offline   Mit Zitat antworten
Alt 02.08.2014, 03:17   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.108
Standard

jo die PDF, wenn sie nicht zu groß ist, als DROPBOX Download Link einstellen.

Kein fiese Werbefallen und 100% kostenlos
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline   Mit Zitat antworten
Alt 02.08.2014, 10:24   #5 (permalink)
50 Beiträge
 
Benutzerbild von [GNC]JamesRyan
 
Registriert seit: 04.11.2009
Ort: Ober-Ramstadt
Beiträge: 79
[GNC]JamesRyan eine Nachricht über ICQ schicken [GNC]JamesRyan eine Nachricht über MSN schicken [GNC]JamesRyan eine Nachricht über Skype™ schicken
Standard

Hm hat mir bisher nie jemand gesagt, schon lustig. Scheint tatsächlich so zu sein, obwohl wohl jeder seinen FB-Account benutzt. Dann gibts jetzt eben einen Link für alle! Ersten Post editiert
__________________
~[3.JgKp]James~
Kompaniechef | Autor SQF-Handbuch | 3.Jägerkompanie
[GNC]JamesRyan ist offline   Mit Zitat antworten
Alt 02.08.2014, 11:57   #6 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 16.07.2010
Beiträge: 305
Standard

Ich habe mir gerade nur schnell das Thema "Performance" angeschaut und bemerkt, dass du für die Messung der Zeit die Befehle nur einmal ausführst. Das ist aber zu wenig. Um die Leistungsunterschiede zu erkennen, müsstest du jeden Befehl schon mindestens 1000 Mal in einer "For" Schleife ausführen, um die wirklichen Performanceunterschiede zwischen den Befehlen erkennen zu können. Außerdem hast du beim Vergleich der Schleifen "ForEach" vergessen.
__________________
Rockhount ist offline   Mit Zitat antworten
Alt 02.08.2014, 12:11   #7 (permalink)
50 Beiträge
 
Benutzerbild von [GNC]JamesRyan
 
Registriert seit: 04.11.2009
Ort: Ober-Ramstadt
Beiträge: 79
[GNC]JamesRyan eine Nachricht über ICQ schicken [GNC]JamesRyan eine Nachricht über MSN schicken [GNC]JamesRyan eine Nachricht über Skype™ schicken
Standard

Nein muss ich nicht, da ich diese Tests so wie es dort steht ausgeführt habe und die Unterschiede entsprechend aufgetreten sind. Dass sie größer werden, wenn man von 100 auf 1000 wiederholungen geht ,versteht sich von selbst....es geht aber um realistische Größen und da zeigt sich bereits bei 100 Durchgängen die besagten Unterschiede, was Sinn und Zweck des Abschnittes ist .
Nein habe ich nicht vergessen, taucht nur nicht in der Tabelle selbst auf:
"Übrigens ist die FOREACH-Schleife ähnlich performant wie die FOR-Schleife und gehört zu den besten Strukturen in ganz ArmA. So braucht eine FOREACH-Schleife mit 150 Einträgen nur ca. 0.001 ms." Aber danke fürs kritische Lesen!

Übrigens sehe ich gerade, du hast mir schon damals dein Feedback gegeben das hatte ich ja soweit eingebaut Ziel ist immer nur, den Leser an die Materie heranzuführen. Ob 0.001 vs 0.0001 Sekunde praxisrelevant ist, ist nicht entscheidend, sondern das Grundverständnis, dass es überhaupt Unterschiede gibt und dass diese in der Größenordnung von einer Zehnerpotenz liegen. Jeder kann dann selbst entscheiden, WANN das überhaupt relevant wird. Ich behaupte, das 99 % aller Skripte, die jemand schreibt, der mein Handbuch liest, performancetechnisch überhaupt nicht kritisch sind und auch diesbezüglich nicht überarbeitet werden müssen. Wer wirklich so viele while-Schleifen benutzt, dass er die Performance spürbar beeinflusst, wird sich dann auch mit der Thematik befassen
__________________
~[3.JgKp]James~
Kompaniechef | Autor SQF-Handbuch | 3.Jägerkompanie

Geändert von [GNC]JamesRyan (02.08.2014 um 12:19 Uhr).
[GNC]JamesRyan ist offline   Mit Zitat antworten
Alt 06.08.2014, 09:37   #8 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 32
Beiträge: 1.731
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Ja kann sein. Aber bitte bedenke nochmal dein Fazit was du aus dem Ergebnis ableitest.

Du schreibst dort, dass die FOR-Schleife schnell und effizient ist. Schnell mag sein aber effizient ist relativ und abhängig davon was man benötigt bzw. für was eine Schleife eingesetzt wird. Denn in den seltensten Fällen wird wirklich der komplette Durchlauf der Schleife innerhalb eines Frames benötigt. Entscheidend ist nicht die Effizienz der Schleife sondern inwiefern die Schleife effizient für die Mission ist bzw. das Script welches auf die Auswertung wartet.

In den meisten gewöhnlichen Anwendungsfällen in denen deine Zielgruppe einen Loop ausführt, sehe ich die waitUntil-Schleife in Sachen Effizienz weit vorn. Warum - damit kann der Anwender nicht so viel falsch machen. Mit den While und For Loops werden die meisten Scripte zerschossen weil die Anwender i.d.r. nicht genau wissen was sie da überhaupt anrichten. (bzw. welche Auswirkung der ausgeführte Code im Loop hat)

Du gehst zwar anschließend kurz auf den Sleep-Befehl ein, jedoch kommt der Hinweis darauf, dass ein Loop erstmal grundsätzlich eingedämmt werden muss zu kurz. (Oder ein Hinweis darauf dafür zu sorgen das ein Loop auch eine Endbedingung haben muss)


Was ich mir auch noch grundsätzlich wünschen würde zu dem Thema Performance: Ein Apell erst garkeine Loops zu verwenden sondern wenn immer möglich eventbasiert zu arbeiten!



Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 06.08.2014, 10:40   #9 (permalink)
50 Beiträge
 
Benutzerbild von [GNC]JamesRyan
 
Registriert seit: 04.11.2009
Ort: Ober-Ramstadt
Beiträge: 79
[GNC]JamesRyan eine Nachricht über ICQ schicken [GNC]JamesRyan eine Nachricht über MSN schicken [GNC]JamesRyan eine Nachricht über Skype™ schicken
Standard

acknowledged

Dann schreibe ich das Kapitel mit euren Anmerkungen halt noch ein wenig um...ich wollte doch eigentlich neuen Content aufnehmen
__________________
~[3.JgKp]James~
Kompaniechef | Autor SQF-Handbuch | 3.Jägerkompanie
[GNC]JamesRyan ist offline   Mit Zitat antworten
Alt 06.08.2014, 13:17   #10 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Registriert seit: 16.07.2010
Beiträge: 305
Standard

Ich würde für den Performance-Vergleich erst gar nicht die winzigen Zeitangaben benutzen, da diese mit der Verstopfung der Script-Engine und der Stärke der CPU extrem variieren können, sondern die langsamste Schleife nehmen und darauf aufbauend die reduzierte Zeit der anderen Schleifen als Prozentsatz angeben. Für aussagekräftige Tests würde ich aber mindestens 10000-1000000 Durchläufe empfehlen.
__________________
Rockhount ist offline   Mit Zitat antworten
Antwort

Stichworte
handbuch, scripting, sqf


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
APB Reloaded Fogu Action & Shooter 0 27.06.2011 12:06
Operation White Wolf Reloaded Big Fan Usermade Missions 0 26.02.2011 14:32


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