Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 01.10.2010, 19:15   #21 (permalink)
50 Beiträge
 
Registriert seit: 06.04.2008
Beiträge: 78
Standard

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);
    };
};
Das hier kommt dann in die Initzeile:

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




MemphisBelle ist offline   Mit Zitat antworten
Alt 02.10.2010, 01:36   #22 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 34
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

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>>>___
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 02.10.2010, 11:50   #23 (permalink)
10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Xeno
 
Registriert seit: 03.01.2008
Alter: 79
Beiträge: 6.551
Standard

*deleted*

Xeno
__________________
In arma everything is made of refined explodium, armored with wet paper towels.

Geändert von Xeno (03.01.2014 um 10:15 Uhr).
Xeno ist offline   Mit Zitat antworten
Alt 02.10.2010, 11:59   #24 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von CptMike
 
Registriert seit: 10.01.2010
Alter: 70
Beiträge: 175
Standard 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).
CptMike ist offline   Mit Zitat antworten
Alt 02.10.2010, 14:19   #25 (permalink)
10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Xeno
 
Registriert seit: 03.01.2008
Alter: 79
Beiträge: 6.551
Standard

Zitat von CptMike Beitrag anzeigen

WARNING: Function 'name' - Mike is dead.

*deleted*

Xeno
__________________
In arma everything is made of refined explodium, armored with wet paper towels.

Geändert von Xeno (03.01.2014 um 10:15 Uhr).
Xeno ist offline   Mit Zitat antworten
Alt 02.10.2010, 21:07   #26 (permalink)
50 Beiträge
 
Registriert seit: 06.04.2008
Beiträge: 78
Standard

Zitat von CptMike Beitrag anzeigen

Edit: Habe es doch selber geschafft mit dem script von Memphis Belle

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




MemphisBelle ist offline   Mit Zitat antworten
Alt 02.10.2010, 23:01   #27 (permalink)
50 Beiträge
 
Registriert seit: 27.04.2008
Ort: Deutschland
Beiträge: 88
Roehrenradio eine Nachricht über ICQ schicken Roehrenradio eine Nachricht über MSN schicken Roehrenradio eine Nachricht über Skype™ schicken
Standard

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?!
__________________
crCTI URR 1.0
Roehrenradio ist offline   Mit Zitat antworten
Alt 03.10.2010, 00:44   #28 (permalink)
10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Xeno
 
Registriert seit: 03.01.2008
Alter: 79
Beiträge: 6.551
Standard

Zitat von Roehrenradio Beitrag anzeigen

Allein schon der Performance Hunger von while?!

*deleted*

Xeno
__________________
In arma everything is made of refined explodium, armored with wet paper towels.

Geändert von Xeno (03.01.2014 um 10:16 Uhr).
Xeno ist offline   Mit Zitat antworten
Alt 03.10.2010, 09:46   #29 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 34
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

woher weist du sowas alles xeno? ich will sowas auch wissen...
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 03.10.2010, 12:05   #30 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Wenn man eben selber Programmierer ist und sich für das Thema interessiert, dann weiß man das eben alles.
Cyborg11 ist offline   Mit Zitat antworten
Alt 03.10.2010, 12:37   #31 (permalink)
50 Beiträge
 
Registriert seit: 06.04.2008
Beiträge: 78
Standard

Zitat von Cyborg11 Beitrag anzeigen

Wenn man eben selber Programmierer ist und sich für das Thema interessiert, dann weiß man das eben alles.

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




MemphisBelle ist offline   Mit Zitat antworten
Alt 03.10.2010, 13:05   #32 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 34
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

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>>>___
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 03.10.2010, 13:30   #33 (permalink)
50 Beiträge
 
Registriert seit: 27.04.2008
Ort: Deutschland
Beiträge: 88
Roehrenradio eine Nachricht über ICQ schicken Roehrenradio eine Nachricht über MSN schicken Roehrenradio eine Nachricht über Skype™ schicken
Standard

Zitat von Xeno Beitrag anzeigen

*deleted*

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.

Zitat:

While in der Scheduled E. ist in der Tat etwas langsamer als in der non Scheduled E (das neue for ist flotter z.B. in Scheduled aber nicht in non Scheduled, da hat While wieder die Oberhand)

Woaho, echt wahr? Auch For "_index" from ... ?

Aso @Psycho : Schicke Seite.
__________________
crCTI URR 1.0

Geändert von Xeno (03.01.2014 um 10:16 Uhr). Grund: For-Schleife
Roehrenradio ist offline   Mit Zitat antworten
Alt 03.10.2010, 16:23   #34 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

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
Vienna ist offline   Mit Zitat antworten
Alt 13.10.2010, 18:48   #35 (permalink)
Newbie
 
Registriert seit: 19.09.2010
Beiträge: 35
Standard

Update/Zusammenfassung:
  • Ein Fehler lässt sich nicht finden.
  • Das RPT spuckt Fehler aus, die nicht aufzufinden sind.
  • Variable "player" lässt sich im Waffenrespawn nicht lesen
  • UPSMON ist eventuell daran beteiligt
  • BIS-ScreenEffekte sind eventuell daran beteiligt
  • BIS-Atombombe ist eventuell daran beteiligt
Danke hier schonmal an Psychobastard, der sich mit meinem Problem beschäftigt hat aber auch keine Lösung gefunden hat!


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.
Egosa-U ist offline   Mit Zitat antworten
Alt 13.10.2010, 21:01   #36 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Wenn du wissen willst ob es am Respawn-Skript liegt, dann stell hier den Code rein. So ein Skript kann eigentlich nicht Ursache für derart massive Fehler sein.
Vienna ist offline   Mit Zitat antworten
Alt 13.10.2010, 21:49   #37 (permalink)
Newbie
 
Registriert seit: 19.09.2010
Beiträge: 35
Standard

Das Skript für den respawn funzt (code siehe erste seite).

Irgendwas anderes in der map verursacht probleme mit der player-variable.

Du hast PN...
Egosa-U ist offline   Mit Zitat antworten
Alt 13.10.2010, 23:57   #38 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

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.
Vienna ist offline   Mit Zitat antworten
Alt 14.10.2010, 07:57   #39 (permalink)
Newbie
 
Registriert seit: 19.09.2010
Beiträge: 35
Standard

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....
Egosa-U ist offline   Mit Zitat antworten
Alt 14.10.2010, 12:13   #40 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

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 !!
Angehängte Dateien
Dateityp: zip Abandoned_Hope_V091_Skripts.zip (2,2 KB, 35x aufgerufen)
Vienna 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
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


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