Loadouts - Sie funktionieren nicht (mehr) wie gedacht (SQF-Loadouts)

  • Multiplayer

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Loadouts - Sie funktionieren nicht (mehr) wie gedacht (SQF-Loadouts)

    Moinsen!

    Da ich es sehr gewohnt war das die Sachen einfach funktionieren weil sie es eben taten kümmere ich mich natürlich immer um aktualisierte Karten. Also unsere Sandkasten-Karten. Jetzt bin ich allerdings auf ein Problem gestoßen das mich ziemlich nervt und meine Suche (Ich bin seit knapp 4 Tagen auf Lösungssuche) bisher unfruchtbar war - sei es weil ich die falschen Worte in Google benutze oder die Kombination aus Problemen so eben noch nicht da war - Wer weiß.

    So sieht mein Script-Aufruf aus (Respawn)

    Quellcode: onPlayerRespawn.sqf

    1. _future = time + 1;
    2. waitUntil {time >= _future};
    3. // Prefab (Empty)
    4. // if (player isKindOf "") then {
    5. // [player] execVM "\scripts\loadouts\.sqf";
    6. // };
    7. if (player isKindOf "BWA3_Autorifleman_Fleck") then {
    8. [player] execVM "scripts\loadouts\autorifleman.sqf";
    9. };
    Alles anzeigen


    So sieht das Loadout aus (Beispiel hier: combatlifesaver.sqf

    Quellcode: combatlifesaver.sqf

    1. comment "Exported from Arsenal by Narsiph Spearheart";
    2. comment "Remove existing items";
    3. removeAllWeapons player;
    4. removeAllItems player;
    5. removeAllAssignedItems player;
    6. removeUniform player;
    7. removeVest player;
    8. removeBackpack player;
    9. removeHeadgear player;
    10. removeGoggles player;
    11. comment "Add containers";
    12. player forceAddUniform "BWA3_Uniform_idz_Fleck";
    13. player addItemToUniform "ACRE_PRC343";
    14. for "_i" from 1 to 5 do {player addItemToUniform "ACE_fieldDressing";};
    15. for "_i" from 1 to 5 do {player addItemToUniform "ACE_elasticBandage";};
    16. for "_i" from 1 to 5 do {player addItemToUniform "ACE_quikclot";};
    17. player addItemToUniform "ACE_EarPlugs";
    18. player addItemToUniform "ACE_epinephrine";
    19. player addItemToUniform "ACE_IR_Strobe_Item";
    20. player addItemToUniform "ACE_morphine";
    21. player addItemToUniform "ACE_salineIV_500";
    22. player addItemToUniform "ACE_tourniquet";
    23. player addVest "BWA3_Vest_Medic_Fleck";
    24. for "_i" from 1 to 2 do {player addItemToVest "BWA3_DM51A1";};
    25. for "_i" from 1 to 3 do {player addItemToVest "BWA3_DM25";};
    26. for "_i" from 1 to 2 do {player addItemToVest "BWA3_15Rnd_9x19_P8";};
    27. for "_i" from 1 to 5 do {player addItemToVest "BWA3_30Rnd_556x45_G36";};
    28. player addBackpack "BWA3_Kitbag_Fleck_Medic_Filled";
    29. for "_i" from 1 to 10 do {player addItemToBackpack "ACE_epinephrine";};
    30. for "_i" from 1 to 10 do {player addItemToBackpack "ACE_morphine";};
    31. for "_i" from 1 to 20 do {player addItemToBackpack "ACE_fieldDressing";};
    32. for "_i" from 1 to 20 do {player addItemToBackpack "ACE_elasticBandage";};
    33. for "_i" from 1 to 20 do {player addItemToBackpack "ACE_quikclot";};
    34. for "_i" from 1 to 10 do {player addItemToBackpack "ACE_bodyBag";};
    35. for "_i" from 1 to 3 do {player addItemToBackpack "ACE_plasmaIV_500";};
    36. for "_i" from 1 to 3 do {player addItemToBackpack "ACE_salineIV_500";};
    37. player addItemToBackpack "ACE_surgicalKit";
    38. for "_i" from 1 to 5 do {player addItemToBackpack "ACE_personalAidKit";};
    39. for "_i" from 1 to 5 do {player addItemToBackpack "ACE_tourniquet";};
    40. player addHeadgear "BWA3_OpsCore_Fleck";
    41. comment "Add weapons";
    42. player addWeapon "BWA3_G36";
    43. player addPrimaryWeaponItem "BWA3_acc_LLM01_irlaser";
    44. player addPrimaryWeaponItem "BWA3_optic_ZO4x30";
    45. player addWeapon "BWA3_P8";
    46. player addHandgunItem "BWA3_acc_LLM01_irlaser";
    47. player addWeapon "Binocular";
    48. comment "Add items";
    49. player linkItem "ItemMap";
    50. player linkItem "ItemCompass";
    51. player linkItem "ItemWatch";
    52. player linkItem "ItemRadio";
    53. player linkItem "ItemGPS";
    54. player linkItem "NVGoggles_OPFOR";
    Alles anzeigen


    Soweit, so normal Hat ja vorher, mit anderen Addons aber gleicher Karte, auch immer ganz brav funktioniert aber jetzt nicht mehr. Vermute das irgend ein Addon eventuell interveniert.

    Das Problem:
    Wenn man respawnt, so scheint man zunächst das Equipment das in der SQF-Datei zwar definiert worden ist zu bekommen, allerdings scheint irgend etwas danach, währenddessen oder davor zu intervenieren und sein eigenes Loadout darüber zu legen. Da sind dann (Ja, ich habe das so eingestellt das dem nicht der fall sein sollte) zweimal das 343er vorhanden, manchmal fehlt das Surgigal Kit, die Verbände sind in falscher Menge vorhanden yadda yadda. Also richtig seltsam.

    Wenn ich das default-loadout über ACE-Arsenal dann lade ist alles exakt so wie es sein soll (Ich mein... ist ja dann dort auch als Test so gespeichert wie es in der SQF steht...) Dieses Problem hatte ich vorher schlichtweg nicht.



    Die genutzten Mods (Und falls vorhanden immer die jeweilige ACE Compability):
    ACEBWMod + Compat
    NiArms All in One + Compat
    ACEX
    Achilles
    ACRE2
    Papers Please
    ShackTac User Interface
    Spyder Addons
    ALiVE
    FennekLGS
    3den Enhanced


    Für die Mühe die Investiert wird mir zu helfen, danke ich herzlichst im voraus :)


    Bleibt knusprig.
  • Du hast doch das Problem schon erkannt: allerdings scheint irgend etwas danach, währenddessen oder davor zu intervenieren und sein eigenes Loadout darüber zu legen
    Einfach die Mods per Eliminierungsverfahren einen nach dem anderen ausschließen. Sobald du weißt, welcher Mod das ist, sucht man sich den Code raus und macht sich Gedanken, wie man das umgeht.
  • Moin.

    Es gibt halt immer jemanden, eventuell, der ein solches Problem schon hatte und z.B. ganz genau sagen kann woran es lag :) Es durchzutesten war so oder so mein Weg aber wenn ich bei meiner testerei schon jemanden hätte der mir die Antwort hätte geben können - Spart man sich Arbeit :)

    Problem ist gelöst:

    Es gibt zweimal den Rucksack "Kitbag (Medic)" von der BWMod, Zwei Bezeichnungen: BWA3_Kitbag_Medic_Filled & BWA3_Kitbag_Medic der "Filled" überschreibt ganz gleich welches Loadout zusätzlich und haut 10 Medipaks rein die sich in ACE3 natürlich zu ACE3-Medic-Stuff umwandeln. Damit hat man keinen Platz mehr und somit... Naja, kommt man zu dem Problem das ich hatte.


    Danke schön, bleibt knusprig & krah krah =)

    Narsiph.
  • dedmen schrieb:

    In einer perfekten Welt könnte man den Filled gar nicht im Arsenal bekommen das es eh dort keinen Sinn macht wenn man ihn selbst füllt... @commy2 :eyes:
    Moinsen.

    Ja, irgendwie seltsam das es einen "_filled" überhaupt gibt. Es dürfte doch echt niemand mehr existieren der die Standard-Loadouts, so angenehm sie teilweise auch sind, verwendet. Abgesehen von der Reinstform des Vanilla-Spielers & Kartenbauers. Gemäß dem Motto "Ich setz uns die Spielbaren Einheiten. Fertig"

    Immerhin konnte ich das Problem ja finden ^^ Es war einfach nur ein winziges Detail.
  • >In einer perfekten Welt könnte man den Filled gar nicht im Arsenal bekommen das es eh dort keinen Sinn macht wenn man ihn selbst füllt
    Das musst du mir doch nicht sagen. Ich hab das Arsenal nicht gemacht, und das in Soldatenkonfigs die Rucksäcke nur über speziell gefüllte Rucksack-Childclasses befüllt werden können, dafür kann ich auch nichts.

    >Ja, irgendwie seltsam das es einen "_filled" überhaupt gibt. Es dürfte doch echt niemand mehr existieren der die Standard-Loadouts, so angenehm sie teilweise auch sind, verwendet.
    Es gibt in BWA3 die bereits ausgerüsteten Soldatenklassen genau so wie es sie auch in Vanilla gibt.

    In Vanilla sieht ein gefüllter Rucksack so aus:

    C-Quellcode

    1. class B_Carryall_mcamo_AAA: B_Carryall_mcamo {
    2. author = "Bohemia Interactive";
    3. _generalMacro = "B_Carryall_mcamo_AAA";
    4. scope = 1;
    5. class TransportMagazines {
    6. class _xx_Titan_AA {
    7. magazine = "Titan_AA";
    8. count = 3;
    9. };
    10. };
    11. };
    Alles anzeigen
    Genau diese Klasse wird dann an den Titan AA-Schützen ausgegeben.
  • Moin.

    Die Vanilla-Rucksäcke haben sich bisher noch nicht einmal negativ auf die selbst geschriebenen Loadouts ausgewirkt. Oder es ist bisher noch niemanden aufgefallen. Lediglich der '_filled' Rucksack von der BWMod. Das es fast 2 Wochen gedauert hat bis wir das Problem gefunden haben ist halt dem geschuldet das die Zeit schlichtweg fehlt mehr in die Suche des Fehlers zu investieren :)

    Wenn jemand mehr Zeit hat/hätte, hätte dieser das Problem wohl schneller gefunden.


    Bleibt knusprig.

    Narsiph.
  • commy2 schrieb:

    An _filled ist nix anders als an den Vanilla-Gefüllten soweit ich das sehe. Da musst du mir genauer erklären, was da anders laufen soll, sonst kann ich das auch nicht beheben. Am Beheben wäre ich sehr interessiert, sollte es da einen vermeidbaren Fehler geben.
    Alles klar. Ich beschreibe genau den Hergang (Bilder auf imgur):

    1.) Ich suche mir aus der Bundeswehr - Men Kategorie den "Combat Life Saver" heraus.
    2.) Ich platziere ihn auf der Karte und öffne das ACE Arsenal
    3.) Im ACE Arsenal gehe ich auf den 'Rucksack Slot' - Dort sieht man dann zweimal das "Kitbag (Flecktarn, Medic)"
    In beiden Fällen ist der Name gleich, nicht aber die Sytem-Bezeichnung. Der eine Rucksack heißt "BWA3_Kitbag_Fleck_Medic" und der andere heißt "BWA3_Kitbag_Fleck_Medic_filled"
    4.) Der "BWA3_Kitbag_Fleck_Medic_filled" hat 10x "FirstAidKit" und auch wenn man mit dem Mülleimer rechts unten das Inventar leert und seine eigenen sachen platziert, so werden diese 10 First Aid Kit's beim Map-Start bzw, auswählen der jeweiligen Soldatenklasse mit diesem speziellen Rucksack immer hinzugefügt.


    Die passiert niemals und unter keinen umständen mit dem "BWA3_Kitbag_Fleck_Medic" Kitbag-Rucksack. Der "_filled" ist auch nicht standardmäßig auswählbar oder vorhanden. Er ist nur dann zu sehen bzw auszuwählen wenn man den Combat Life Saver von "Bundeswehr - Men" platziert hat und ausschließlich dann.



    Bleib knusprig

    Narsiph
  • Den siehst du deshalb, weil es der Rucksack ist, denn die Klasse standardmäßig dabei hat wenn du Ihn platzierst. Das ist kein Bug das ist normales Verhalten und ist i.d.r. auch so beim Vanilla Arsenal. @commy2 möge mich bei einem Irrtum meinerseits korrigieren.

    Generell zeigt ein Arsenal neben den Verfügbaren Gegenständen auch die an, die der Charakter angelegt hat, auch wenn diese normalerweise im Arsenal nicht verfügbar sind.
  • commy2 schrieb:

    @Narsiph Gut, das habe ich verstanden.

    Und jetzt platzierst du einen B_soldier_AAA_F (der heißt "Asst. Missile Specialist (AA)" in der englischen Übersetzung) und probierst das gleiche.
    Der Rucksack ist B_Carryall_mcamo_AAA und es ist ein Duplikat von B_Carryall_mcamo, aber gefüllt mit 3 Titan AA Lenkraketen.
    DAS ist 'mal richtig Interessant! Das ist mir bisher nie aufgefallen. Das könnte aber tatsächlich daran liegen das ich von Grundauf jedes Loadout komplett selbst mache, ich also immer das komplette Inventar eines Soldaten leere. Nur mit der BW-Mod war ich tatsächlich das erste mal zu faul das zu machen.

    Nach so vielen Jahren ArmA 3 lerne ich immer wieder noch neues XD Danke ^^ Ich dachte wirklich das wäre eine Art Bug/Fehler/Ungewolltes Verhalten ^^

    Hab' damit gelernt das ich auch weiterhin lieber alles von Grundauf selbst mache, so vermeide ich solche kleinen Spielfeinheiten die für mich persönlich eher zum negativen gehören als zum positiven (Allerdings auf meiner aktuellen Erfahrung basierend). Möcht' ja nich' das meine Loadouts plötzlich falsch sind weil etwas anderes interveniert hehe.

    Danke danke! Das war jetzt echt mal wieder lehrreich :)


    Bleibt's knusprig.

    Narsiph.
  • @commy2 Die Schnecke sagt:

    Schnegge schrieb:

    it should show the non pre-filled backpack class if there's one
    otherwise it shows both because the parent hasn't been defined properly.

    I can't remember at all, so i'm going to assume:
    isBackpack = 1;
    and any of the transport class being filled.

    Die Schnecke hat sich gerade berichtigt und es sollte sich selbst fixen da das arsenal script den rucksack leert bevor es die Items reinpackt.

    @Narsiph Welches Arsenal? BI oder ACE?


    Laut deinem Loadout script das BI Arsenal. Benutz das ACE Arsenal und das problem löst sich von selbst.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von dedmen ()

  • dedmen schrieb:



    @Narsiph Welches Arsenal? BI oder ACE?


    Laut deinem Loadout script das BI Arsenal. Benutz das ACE Arsenal und das problem löst sich von selbst.
    ist okay. Nutze ich. Habe mir sämtliche informationen stückchenhaft zusammengesucht und habe sämtliche vorhandenen Probleme lösen können. Man dankt für den/die Hinweis/e und die klare Hilfe.

    Bleibt knusprig.

    Narsiph.