01.10.2010, 19:15 | #21 (permalink) |
Registriert seit: 06.04.2008
Beiträge: 78
|
Ich habe dieses Script in einem ähnlichen Threat hier oder im BI Forum gefunden. Es stammt ursprünglich von Xeno und funzt bei mir super unter ACE, auf Host und Dedi.
weaponrespawn.sqf Code:
while {true} do { waitUntil {!alive player}; _weapons = weapons player; _magazines = magazines player; waitUntil {alive player}; _p = player; removeAllItems _p; removeAllWeapons _p; {_p addMagazine _x} forEach _magazines; {_p addWeapon _x} forEach _weapons; _primw = primaryWeapon _p; if (_primw != "") then { _p selectWeapon _primw; // Fix for weapons with grenade launcher _muzzles = getArray(configFile>>"cfgWeapons" >> _primw >> "muzzles"); _p selectWeapon (_muzzles select 0); }; }; Code:
_handle = [] execVM "scripts\weaponrespawn.sqf";
__________________
ArmA Editing Guide Deluxe Edition - English Version Download ArmA Editing Guide Deluxe Edition - German Version Download www.Mapfact.net; www.mr-murray.de My System Google Earth Topomap (heightmaps downloaden) www.virtual-falcons.com Virtual Airshow |
02.10.2010, 01:36 | #22 (permalink) |
ja fantastisch! jetzt sind wir beim ursprungscript wieder angekommen. lol
es liegt nicht am script und auch nicht in der ausführung. die var player kann nicht gelesen werden. das ist das problem, nur die lösung fehlt warum das denn so ist. mfg
__________________
Niemand hat die Absicht eine Tüte zu bauen! ___<<<A3 Wounding System>>>___ |
|
02.10.2010, 11:59 | #24 (permalink) |
Registriert seit: 10.01.2010
Alter: 74
Beiträge: 175
|
WeaponRespawn
Hallo Xeno!
Jetzt verstehe ich gar nichts mehr mit den scripts. Das ist mir zu steil wäre das zuviel verlangt wenn du ne Beispielmission für OA machen würdest bitte. Edit: Habe es doch selber geschafft mit dem script von Memphis Belle keine Fehlermeldung in der rpt und diese lästigen Duplicate Meldungen sind auch weg. Den einzigen Eintrag den ich nach einem Respawn habe Xeno ist der: WARNING: Function 'name' - Mike is dead. Aber diesen Trigger habe ich nicht gesetzt Xeno funktioniert auch so oder brauche ich den trotzdem? Mfg.Mike Geändert von CptMike (02.10.2010 um 14:12 Uhr). |
02.10.2010, 21:07 | #26 (permalink) |
Registriert seit: 06.04.2008
Beiträge: 78
|
Bitte nicht verwechseln. Ich verstehe, was Du meinst, aber das script stammt von Xeno. Das dürfte allerdings klar sein, ich wollte es nur noc mal erwähnen. @Xeno ich habe die Syntax in die Initzeile der Soldaten gepackt anstatt eines Auslösers...was wohl wesentlich einfacher gewesen währe...nun gut. meine Frage, ist es generell sicherer sowas über einen Auslöser zu machen? Gerade bezogen auf dedicated Server usw? Danke Gruß Memphis
__________________
ArmA Editing Guide Deluxe Edition - English Version Download ArmA Editing Guide Deluxe Edition - German Version Download www.Mapfact.net; www.mr-murray.de My System Google Earth Topomap (heightmaps downloaden) www.virtual-falcons.com Virtual Airshow |
02.10.2010, 23:01 | #27 (permalink) |
Naja,
wenn du diesen Skript von der Init Zeile deines Soldaten ausrufen lässt, wird der/das Skript, wenn die Mission im Multiplayer läuft, von jedem Computer ausgeführt; Nicht nur auf dem Computer, der den Spieler "steuert". Dazu müsstest du auch noch beachten, die Syntax nicht mehrmals ausrufen zu lassen (z.B.: Initzeilen), ist ja klar. Aber ehrlichgesagt würde ich da jetzt Event Handler benutzen... Typ "Respawn" gibt sogar die Leiche des Spielers zurück. Allein schon der Performance Hunger von while?! |
|
03.10.2010, 09:46 | #29 (permalink) |
woher weist du sowas alles xeno? ich will sowas auch wissen...
__________________
Niemand hat die Absicht eine Tüte zu bauen! ___<<<A3 Wounding System>>>___ |
|
03.10.2010, 12:37 | #31 (permalink) |
Registriert seit: 06.04.2008
Beiträge: 78
|
Wollte ich gerade sagen, um auf ein solches Level an Scriptverständnis zu kommen, braucht es eine lange Erfahrung entweder im Community Scriptbereich oder eben als beruflichen Hintergrund. Aber faszinierend ist das schon zu sehen, wie jemand mit einer Engine "spricht"
__________________
ArmA Editing Guide Deluxe Edition - English Version Download ArmA Editing Guide Deluxe Edition - German Version Download www.Mapfact.net; www.mr-murray.de My System Google Earth Topomap (heightmaps downloaden) www.virtual-falcons.com Virtual Airshow |
03.10.2010, 13:05 | #32 (permalink) |
schon, trotzdem muss man sich das ja mal irgendwo erlesen können. das ist ja keine intuition oder eingebung.
__________________
Niemand hat die Absicht eine Tüte zu bauen! ___<<<A3 Wounding System>>>___ |
|
03.10.2010, 13:30 | #33 (permalink) |
Genau das wäre bei mir ein Argument für Eventhandler, oder anderen non-sheduleden Skript-Arten. Gerade bei Missionen mit viel KI Auslastung, bin ich nicht wirklich der Fan vom Öffnen von weiteren Threads, dauert bei grosser Auslastung wirklich ewig. Ob die dann an die FPS gekoppelt sind, muss ich jetzt passen; Bemerke halt immer oft, dass, obwhol ich eig. noch gut spielen kann, Skript-Aufrufe extrem langsam zurande gehen. WaitUntil gerade in sheduled, weiss ja nicht inwiefern sich das verzögern kann... Naja gehen die Meinungen auseinander. Woaho, echt wahr? Auch For "_index" from ... ? Aso @Psycho : Schicke Seite. Geändert von Xeno (03.01.2014 um 10:16 Uhr). Grund: For-Schleife |
|
03.10.2010, 16:23 | #34 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Skripte kann man auch in Variable laden. Das beschleunigt den Ablauf. War zum Beispiel bei der Geschosskamera erforderlich.
Edit: Noch schneller geht es vielleicht, wenn man in einem Eventhandler mit spawn die Befehlsfolge ablaufen lässt. Geändert von Vienna (03.10.2010 um 16:32 Uhr). Grund: spawn |
13.10.2010, 18:48 | #35 (permalink) |
Registriert seit: 19.09.2010
Beiträge: 35
|
Update/Zusammenfassung:
Falls sich noch ein Profi mal auf die Suche begeben möchte, versende ich gerne den DL-Link. Öffentlich werde ich den link nicht setzen, da doch viele Dinge zusammengebastelt wurden, für die ich noch keinen Credit eingebaut oder Alternativen gebastelt habe . Grüße. |
13.10.2010, 23:57 | #38 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Ich kann dir hier leider nicht weiterhelfen. Ich verwende keine Addons. So kann ich die Mission nicht im Editor öffen.
Beim Respawnskript ist mir aufgefellen (fette Zeilen): if (!(local player)) exitWith {}; waitUntil {!isNull player}; waitUntil {player == player}; while {true} do { waitUntil {!alive player}; _weapons = weapons player; _magazines = magazines player; waitUntil {alive player}; _p = player; _p setVehicleVarName "P1"; removeAllItems _p; removeAllWeapons _p; {_p addMagazine _x} forEach _magazines; {_p addWeapon _x} forEach _weapons; _primw = primaryWeapon _p; if (_primw != "") then { _p selectWeapon _primw; // Fix for weapons with grenade launcher _muzzles = getArray(configFile>>"cfgWeapons" >> _primw >> "muzzles"); _p selectWeapon (_muzzles select 0); }; }; Wozu sollen diese (meiner Meinung nach überflüssige) Zeilen in diesem Skript gut sein? Du setzt z.B. den Namen auf "P1". Es gibt aber Spieler mit anderen Namen auch noch. Warum rufst du das Skript in einem EventHandler und nicht in der Init.sqs auf? Das Skript muss nur einmal aufgerufen werden. Im EventHandler wird es nach jedem Tod aufgerufen. Wenn du 10mal stirbst, hast du 10 gleiche Skripte laufen. In der Initzeile des Spielers "P1" steht: {_x moveincargo UH1} foreach units group this; Hop1 = group this;_xhandle = this addEventHandler ["killed", "_this execvm 'weaponRespawn2.sqf'"] Das wird vermutlich nach jedem Tod auch immer abgearbeitet. _xhandle ist durch den Unterstrich eine lokale Variable. Die Initzeile ist aber ein globaler Bereich. Wenn du noch andere Skripte abgeändert hast, dann solltest du es einmal mit den originalen Skripten versuchen. |
14.10.2010, 07:57 | #39 (permalink) |
Registriert seit: 19.09.2010
Beiträge: 35
|
Die waituntil-Geschichten hatte ich testweise aus diesem Thema hier genommen, um das Problem eventuell zu beheben.
Die Zeile mit setvarname ist noch ein artefakt aus der zeit, wo ich für jeden Spieler eine eigene weaponrespawn.sqs hatte - ist aber schon geändert. Würde die Init des Spielers immer neu abgearbeitet werden, so würde der spieler immerwieder im UH1 spawnen - tut er aber nicht. Der eventhandler in der init und das weaponrespawnscript funktioniert so in jeder anderen Mission - auch im MP. Es ist also ein Problem mit ....ich wiederhole mich.... |
14.10.2010, 12:13 | #40 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Mache von allen Spielerfiguren die Initzeile Leer und verwende die Skripts im Anhang.
Im Anhang ist eine neue Init.sqf, dort ist auch die Reihung der Befehle wichtig. Bei bedenklichen Routinen habe ich folgende Kommentare hinzugefügt: (Ist insbesondere zu beachten, wenn ein Spieler erst ins laufende Spiel einsteigt.) // Haeuser zerstoeren // !!! In Multiplay fraglich: // random (jeder Spieler hat andere Werte); // setDammage ist global wirksam. // MARKER SETUP - Alle spaeter auftauchenden Marker unsichtbar machen. // setMarkerAlpha wirkt auf allen PCs !! // setMarkerAlphaLocal nur beim aufrufenden PC !! |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Bewaffnung einer ganzen Gruppe ändern | Nischi | Editing & Scripting | 1 | 23.08.2010 00:39 |
Weapon Respawn Script | Anemia | Editing & Scripting | 5 | 12.07.2010 11:36 |
ArmA2 OA Problem | Thunderbird | Technische Fragen & Probleme | 17 | 10.07.2010 19:15 |
description.ext (sound) problem | miromanu | Editing & Scripting | 7 | 07.07.2010 16:40 |
Problem beim entpacken von Pbo's | GER_CJ-187 | Technische Fragen & Probleme | 1 | 17.05.2010 22:03 |