HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing (https://hx3.de/editing-139/)
-   -   Clientside Addon automatisch laden, und anderes (https://hx3.de/editing-139/clientside-addon-automatisch-laden-anderes-15100/)

Mr.g-c 04.08.2008 15:58

Clientside Addon automatisch laden, und anderes
 
Hi Leute ich habe vor ein klitzkleines Scrip-only Addon zu machen dazu habe ich 3 fragen.
Vorweg, das addon soll nur clientside-only sein.

1. Ist es möglich das die Scripts in diesem Addon automatisch Laden ohne das man sie in jeder mission "aufrufen" muss? Wenn ja, wie?

2. Ich habe folgendes problem.
Ich habe ein Array mit Fahrzeug classnames, á la:
_farzeugarray = [m1a1, t72, cobra, etc];
Nun möchte ich, dass wenn immer der clientspieler ein gunner eines der im array eingetragenen fahrzeuge ist, ein code/script ausgeführt wird.
Wie geht das am besten (in SQF)? Mann muss dort wohl "foreach" nutzen, richtig?
Und sobald er ausgestegen ist (oder einfach nicht mehr der gunner ist), soll der Code (actionmenu-eintrag) entfernt werden.

Danke und Gruss Christian

burns 04.08.2008 16:01

Bist du immernoch mit deinem Viewdistance Cheat dran? :bahnhof:
Hach, auf Deutsch kann man sich viel besser artikulieren ... mach doch mal in "Community" oder so nen Diskussionthread auf :zahn:

Mr.g-c 04.08.2008 16:05

Doh, ich wusst das du antwortest.....
Sollte wir dazu nicht warten bis ACE draussen ist? Ich werde (sollte das Team es nicht lösen) auf jeden fall ein Addon dazu machen. SO kann der Mission-designer wählen ob er es zulässt oder nicht.
Weil ich *mitdemfingerzeig* lass mir meine Cobra-Gunnery nisch kaputt machen, nisch wahr....

burns 04.08.2008 16:09

Zitat:

Zitat von Mr.g-c (Beitrag 187614)
Doh, ich wusst das du antwortest.....

Anytime, anywhere :cool:


Zitat:

Zitat von Mr.g-c (Beitrag 187614)
.. (sollte das Team es nicht lösen) auf jeden fall ein Addon dazu machen. SO kann der Mission-designer wählen ob er es zulässt oder nicht.

In dem Rahmen kann man auch nix einwenden. So hätte schliesslich jeder Serverbetreiber die Wahl ob er das Feautre einbauen will. Muss jeder für sich selbst wissen ob die Spieler genügend Reife mitbringen keinen Unfug damit zu treiben.


Fest integriert in einer Mod die vorraussichtlich sehr viel & oft genutzt werden wird,
wäre eine solche Funktion jedoch kompletter: :bs:

modEmMaik 04.08.2008 16:12

Sieh Dir mal die Scripts in den crCTI's an. Da solltest Du alles mögliche finden, z.B.
- das unlimitedAmmo-Skript beinhaltet den check auf Distanz zum MHQ
- Action werden Clientseitig z.B. für den Repair-Truck eingetragen
- Viewdistance wird zum Missi-Start festgelegt und auf die Clients übertragen
und vieles mehr ;)

:edit: Gunner-Cobra findest Du in der MapFact-Air: Funktion FLIRon / off

Mr.g-c 04.08.2008 16:12

Gut.... nun da wir das ja haben, eine weitere Frage:
3. Gibt es ein Scripting-Code der die aktuelle eingestellte Viewdistance ausgeben kann? So dass man nach dem aussteigen natürlich wieder die performanceschonende standart einstellung der mission haben kann?

Gruss Christian

modEmMaik 04.08.2008 16:17

Zitat:

Zitat von Mr.g-c (Beitrag 187619)
Gut.... nun da wir das ja haben, eine weitere Frage:
3. Gibt es ein Scripting-Code der die aktuelle eingestellte Viewdistance ausgeben kann? So dass man nach dem aussteigen natürlich wieder die performanceschonende standart einstellung der mission haben kann?

Gruss Christian

Anscheinend nicht, daher wurde in der crCTI die viewDistance-Auswahl in die Missi verpackt... Aber vielleicht weiss jemand anderes mehr... ;)

Mr.g-c 04.08.2008 16:19

Hmm dann könnte man es aber jedenfalls so machen, dass man die Viewdistance aus der Mission abfragt und dan auf diese zurücksetzt, oder?
Problem ist aber für missionen ohne festgelegte Viewdistance......

Binn mal gespannt wie das zu lösen ist.....

modEmMaik 04.08.2008 16:33

Nun gut, anscheinend wird als Obergrenze die Clientside-Einstellung von ArmA benutzt. In unseren crCTI-Sessions wir der Default auf 1800 gesetzt, wobei auf meiner alten Kiste maximal 1200 läuft, alles darüber würde bei mir in einer Endlos-Ruckelei enden.

Somit könnte man mal checken, was passiert, wenn die Missi die viewDistance auf 20000 setzt. Meiner Vemutung nach wird die nur so hoch gesetzt, wie der Benutzer unter den ArmA-Video Optionen gesetzt hat. Damit währe das Prob gelöst... denke ich mal.... :zahn:

Mr.g-c 04.08.2008 16:40

Soweit ich es in erinnerung habe, überschreibt eine in der mission festgelegte Viewdistance die von Arma im Grafik-menu.
Ich konnte zb. in EVO immer auf utopische Viewdistances gehen obwohl bei mir im Grafikmenu 1000m stand.

Gruss Christian

Vienna 04.08.2008 18:56

In Mehrspielermissionen sollte man die Sichtweite vorgeben, damit kein Spieler durch die bessere Sichtweite einen Vorteil hat.

Wird der Befehl setViewDistance in der Mission verwendet, dann ist die Einstellung aus dem Grafikmenü ausgeschalten. Dadurch ist auch keine Abfrage notwendig, weil der Mission ja die Sichtweite bekannt ist.

Es sind aber auf jedem PC unterschiedliche Sichtweiten möglich, somit auch z.B. eine geringere wenn der Spieler in einem Fahrzeug sitzt.

Als gute Sichtweiteneinstellung finde ich 2000m. Bei wem damit das Bild ruckelt, der sollte die Grafikeinstellungen zurückstellen. Ein hohe Bildauflösung ist wichtiger als die sonstigen Einstellungen. So erhält man ein scharfes Bild, welches auch noch hervorragend ist, wenn sonst alles auf Minimum gesetzt ist.

Mr.g-c 05.08.2008 01:29

Irgend eine Antwort auf meine Fragen von Punkt 1 und 2?

.kju 05.08.2008 07:15

1) initEH via XEH

Es gibt doch das Addon um clientseitig die Viewdistance setzen. Wieso das nicht als Basis
nehmen / Quelle zur Inspiration.

Vienna 05.08.2008 09:42

1.

Keine Ahnung ob Skirpte im Addon automatisch gestartet werden können. Aber das Addon muß ja der Mission bekannt sein. Warum dann das Addon-Skript nicht in der Mission aufrufen?


2.

Einen Auslöser mit Bereich über das ganze Spielfeld erstellen welcher auf Alle oder nur eine Seite gestellt ist.

TypenBezeichnungen = die Bezeichnungen welche für createVehicle verwendet werden. Es muß korrekt die richtige Schreibweise beachtet werden. Groß- und Kleinschreibung beachten!

Code:

_unitsTypen = ["TypenBezeichnung","TypenBezeichnung",....];
_units = [];
{ if(typeOF _x IN _unitsTypen) then {_units = _units + [_x]} } forEach list Auslösername;
{ if (player == gunner _x) then { <gewünschte Aktion> } } forEach _units;

Wenn du für einzelne Typen unterschiedliche Aktionen haben willst, dann mußt du den Code für jede Typengruppe separat ausführen oder du machst im Bereich <gewünschte Aktion> nochmals Abfragen für jede Type. Für Letzteres wäre SQF-Skript wegen der übersichtlicheren Schreibweise notwendig.

Vienna 05.08.2008 23:47

Ich habe gerade gesehen, dass es in ArmA seit V1.09 schon Umwandlung auf Groß- oder Kleinbuchstaben gibt.

Schreibe alle Typenbezeichnungen in Großbuchstaben und die ändere die Zeile wie unten, dann brauchst du dir um die Groß- und Kleinschreibung keine Sorgen mehr zu machen

Code:

{ if(toUpper(typeOF _x) IN _unitsTypen) then {_units = _units + [_x]} } forEach list Auslösername;


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