Armed-Assault.de Twitter


 
 
Themen-Optionen Ansicht
Alt 07.05.2015, 10:46   #1 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard Immer EIN Spieler hat Probleme mit dem Inventar

Hallo zusammen

Ich bin nicht sicher, ob ich diesen Fred hier aufmachen soll, oder unter der Rubrik "Multiplayer", da ich noch nicht sicher bin, ob der Fehler in meinen Missionen liegt, oder generell in Arma3.

Das Problem:
Seit dem DLC Marksman haben wir in unserm Mini-Clan ein Problem mit dem Inventar bei gehosteten Coops (Vanilla / ohne Mods / Version 1.44):

Immer EIN Client (es scheint zufällig einer 'ausgewählt' zu werden, und den Host trifft's nie!) kann bestimmte Gegenstände nicht aus einem Behältnis nehmen.

Das Probelm beschränkt sich nicht auf DLC-Gegenstände, sondern betrifft alle. Und es betrifft nicht nur die Missionen, die ich seit dem DLC Marksman gebaut habe, sondern auch meine alten Missionen.

Der Client hat das Problem nicht mit allen Gegenständen in der Kiste. So kann es z.B. vorkommen, dass er eine Waffe aus der Kiste nehmen kann, die dazugehörige Munition aber nicht (sehen kann er sie aber). Wenn er versucht die Mun. in sein Inventar zu ziehen, dann 'klebt' sie zwar am Mauscursor, aber ablegen in seinem Inventar klappt nicht. Die Mun. spickt wieder zurück in die Kiste...

Damit dieser Spieler zu seiner Munition kommt, muss ein anderer Client (oder der Host) die Mun. aus der Kiste nehmen und auf den Boden legen. Dann kann der fehlerbehaftete Client sie nehmen.

Die Kisten werden übrigens auf herkömmliche Weise via Init-Zeile gefüllt:

Code:
this allowDamage false; 
clearItemCargoGlobal this; 
clearWeaponCargoGlobal this; 
clearMagazineCargoGlobal this; 
clearBackpackCargoGlobal this; 
this addMagazineCargoGlobal ["7Rnd_408_Mag",20]; 
this addWeaponCargoGlobal ["srifle_LRR_F",2];
Hat von euch niemand dieses Problem? Auch im Internet finde ich nichts darüber. Der Bug ist sehr nervig und ich wäre wirklich froh, wenn ich das irgendwie lösen könnte. Ich habe bloss keine Ahnung wo ich den Fehler suchen soll.

Weiss jemand hier Rat? Im Anhang eine Beispielmission, wenn's hilft.

Vielen Dank.
Angehängte Dateien
Dateityp: zip Co08_Scharfschuetzentraining.Altis.zip (35,6 KB, 31x aufgerufen)

Geändert von Wolkenbeisser (07.05.2015 um 22:52 Uhr). Grund: Anhang hinzugefügt, Schreibfehler korrigiert
Wolkenbeisser ist offline  
Alt 07.05.2015, 11:07   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

Hmmm.. erste Vermutungen legen nahe, dass es vielleicht am "optimierten" Netcode liegen könnte? Wundern würd`s mich nicht...
__________________
Buliwyf ist offline  
Alt 07.05.2015, 11:43   #3 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Lester
 
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 57
Beiträge: 3.013
Standard

Das schafft BI seid längeren ... das ist ein weiteres Problem auf meiner Liste warum ich aufgehört habe.

Routinen funktionieren perfekt bis zum Patch x, dann gibt es unter bestimmten teilweise abstrousen Umständen Probleme mit dem einen und/oder anderen Teil.
Mal ist es der Welcher als letztes gejoint hat, mal ein Anderer ...

Ich vermute es hängt mit Prioritäten im Netzcode zusammen das da Dinge u.U. ein Mörderdelay haben, vielleicht in Verbindung mit der UID ???



Mein Endresultat nach Einfügen von Bestückungswartezeiten (was dann auch nur n Patches hielt) war eine komplette Überprüfung des zugeteilten Inventars!

In der Praxis sieht das dann ungefähr so aus:
1 Inventar leermachen
2 Waffen, Klamotten und Magazine geben
3 nach Wartezeit prüfen ob Waffen, Klamotten und Magazine korrekt vorhanden, ansonsten 2 wiederholen
4 Komponenten der Waffen etc. zuteilen
5 nach Wartezeit prüfen ob Komponenten der Waffen etc. korrekt vorhanden, ansonsten 4 wiederholen

Dann funktionierte es natürlich zuverlässig ... ich hab allerdings nie geprüft was für Maxzeiten es gedauert hat bis alles korrekt ausgeführt wurde.

So oder so ist es kein vertretbarer Zustand, wenn ich etwas hinzufüge, dann hat es da zu sein solange da nichts überfüllt wird !
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547
Lester ist offline  
Alt 07.05.2015, 11:52   #4 (permalink)
10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Xeno
 
Registriert seit: 03.01.2008
Alter: 84
Beiträge: 6.552
Standard

Mach mal zwischen
Code:
this allowDamage false;
und
Code:
clearItemCargoGlobal this;
ein
Code:
if (!isServer) exitWith{};
Ode anders ausgedrückt, lass das mal nur auf dem Server/Host laufen da ja xxxCargoGlobal nur auf einem Rechner ausgeführt werden muss (Vorzugsweise Server/Host)...
Was passiert dann?

Xeno
__________________
In arma everything is made of refined explodium, armored with wet paper towels.
Xeno ist offline  
Alt 07.05.2015, 14:25   #5 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Ich könnte das probieren, aber wenn ich damit Erfolg hätte... oje, dann müsste ich sämtliche Missionen anpassen.

Ob ich das wirklich will?

Denn eigentlich ist ja irgend ein Client der Letzte, der den Code im Auslöser ausführt (global!). Und dieser Letzte leert und füllt ja dann einfach die bereits befüllten Kisten. Das sollte m.E. auf dasselbe herauskommen (ok es ist weniger 'schlank'), als wenn es nur der Server macht. Im Gegenteil es fällt sogar eher unter die Kategorie "doppelt hält besser", frei nach dem Motto "lieber die Kiste 4 x füllen als keinmal".

Viiiiiiel schöner wäre ein BIS-Mechanismus, der 'Gleichstand' zwischen allen Teilnehmern sicherstellen würde.

Naja, beim nächsten Test kann ich es ja mal versuchen...

Geändert von Wolkenbeisser (07.05.2015 um 14:28 Uhr). Grund: Schreibfehler
Wolkenbeisser ist offline  
Alt 07.05.2015, 14:57   #6 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 41
Beiträge: 32.969
Standard

Zitat von Wolkenbeisser Beitrag anzeigen

Ich könnte das probieren, aber wenn ich damit Erfolg hätte... oje, dann müsste ich sämtliche Missionen anpassen.


Notepad++ kann auch in kompletten Ordnern Suchen&Ersetzen, wenn ich mich nicht irre
__________________

burns ist offline  
Alt 07.05.2015, 22:51   #7 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

So, habe nun eine Beispielmission im ersten Post angehängt. Bei dieser hatten wir das Problem schon mehrfach (mit unterschiedlichen Clients).
Wolkenbeisser ist offline  
Alt 07.05.2015, 23:04   #8 (permalink)
10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Xeno
 
Registriert seit: 03.01.2008
Alter: 84
Beiträge: 6.552
Standard

Nur ganz schnellen Tipp... Inits im Editor werden überall ausgeführt. Also auf allen Clients, auch auf JIP Clients und auf einem dedizierten Server.
Da sind also xxxGlobal Kommandos mehr als redundant.

Stell dir mal vor da JIPed ein neuer Spieler rein... der führt alle xxxGlobal Inventory Befehle der Init Zeilen wieder aus, als Beispiel. Da ist Durcheinander vorprogrammiert.

Also um die xxxGlobal Befehle ein
Code:
if (isServer) then {xxxGlobal};
Ich würde mich jetzt allerdings nicht wundern wenn es dann immer noch die Probleme gibt die Lester anspricht.

Ansonsten auch andere MP Fehler in der Mission.

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

Geändert von Xeno (07.05.2015 um 23:09 Uhr).
Xeno ist offline  
Alt 08.05.2015, 03:14   #9 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Wolkenbeisser, das mit der if (isServer)-Geschichte, hatte ich dir doch letzte Woche bereits erklärt
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
Alt 08.05.2015, 07:25   #10 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Wolkenbeisser
 
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
Standard

Zitat von Drunken Officer Beitrag anzeigen

Wolkenbeisser, das mit der if (isServer)-Geschichte, hatte ich dir doch letzte Woche bereits erklärt

Ich weiss. Hatte bis jetzt bloss keine Lust alle Missionen umzubauen. Das grosse Problem ist, dass man im Internet bei vielen Tutorials keinen Hinweis findet, ob sie MP-tauglich sind oder nicht.

Also habe ich vor Jahren (damals noch Arma1) einfach mal angefangen zu bauen und einfach gehofft, dass es klappt. Ich wollte ja nur für meine Kumpels im Editor ein paar Missionen bauen. NIE hätte ich gedacht, dass ich vorher eine IT-Ausbildung dafür machen muss.

Naja, das JIP-Problem haben wir in der Regel nicht. Unser Mini-Clan ist vollständig versammelt, bevor wir die Mission starten. Trotzdem hätte ich es natürlich gerne lieber von Anfang an richtig gemacht...

@Xeno: Meine Missionen funktionieren - abgesehen von dem Inventarbug - eigentlich sehr gut, wenn ich sie mit meinen Kumpels spiele. Was für Fehler meinst Du denn? Ich würde sie gerne in zukünftigen Missionen vermeiden.
Wolkenbeisser ist offline  
Alt 08.05.2015, 14:00   #11 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

KillzoneKid hat es in seinem Block gut erklärt. Ich bin auch kei IT'ler aber habe es mittlerweile "geschnackelt".

Ist zwas im Vergleich zu anderen eher Grobschnitt was ich baue, aber die Missionen laufen und man wird seine Munition los
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
Spieler per script fixieren. Haloman Editing & Scripting 2 09.03.2015 23:58
Nehmbares Objekt an Spieler heften und für andere Spieler nehmbar machen Grollig Editing & Scripting 13 26.09.2014 17:55
Der Server Arma 3 Altis Life Wolfs Squad sucht spieler suppendulli Rollenspiel & Zombie Ecke 0 13.05.2014 14:21
Verschiedene Probleme Togo Editing & Scripting 13 27.04.2013 10:53
Spieler (Zivilist) wird manchmal (!?) aus Auto gekickt Wolkenbeisser Editing & Scripting 8 06.09.2011 07:19


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 119