Huhu ich hab mal ne Frage ich nutz ein Script was der KI random Kleidung etc anzieht aber schaldämpfer oder aber auch scops werden nicht drauf gemacht, deshalb meine Frage ist das der richtige Pfad
getArray (configFile >> "CfgWeapons" >> _soldierPrimaryWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems");
getArray (configFile >> "CfgWeapons" >> _soldierPrimaryWeapon >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems");
getArray (configFile >> "CfgWeapons" >> _soldierPrimaryWeapon >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems");
Hab schon sachen versucht, aber ändern tut sich nix nicht mal ein Error wird geschmissen

Ist das der Richtig Pfad
-
- Wasteland
-
Claas_Fan_92 -
22. März 2024 um 11:45 -
Erledigt
-
-
In so einem Fall würde ich eigentlich fest mit einem Fehler rechnen.
Das Problem liegt darin, dass in dem Config Pfad kein Array mit den kompatiblen Klassen ist, sondern jede Klasse als eigener Konfigeintrag mit dem Wert 1 vorhanden ist.
Das Bedeutet, dass das du die Einträge anders abfragen und hinzufügen musst. Hier ein Beispiel (Zeile 449-454):
Code_soldierPrimaryMuzzles = []; _soldierPrimaryMuzzles = configProperties [configFile >> "CfgWeapons" >> _soldierPrimaryWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems"]; if ((count _soldierPrimaryMuzzles) >= 1) then { _soldierPrimaryMuzzle = selectRandom _soldierPrimaryMuzzles; _soldier addPrimaryWeaponItem configName _soldierPrimaryMuzzle; };
Mit configProperties werden die Einträge als Array ausgelesen.
Mit configName, wird der Name (der mit der Klasse identisch ist) des ausgewählten Eintrags ausgelesen.
-
Also musste getArray austauschen zu configProperties und hier _soldier addPrimaryWeaponItem configName _soldierPrimaryMuzzle; nur configName hinzufügen plus die, also sprich den Code den du schriebst ändern, funkt jetzt also ich musste jetzt keine schaldämpfer oder so manuell hinzufügen wie z.b muzzle_snds_H_MG_blk_F
Danke
Aber muss ja mal geklappt haben der alte code oder? ich meine das script wurde vor 8Jahren geschrieben xDAber trotzdem vielen Dank
Achso finds komisch das die() und die [] unterschiede machen, klammer ist doch gleich klammer oder nicht
[configFile >> "CfgWeapons" >> _soldierPrimaryWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems"]
(configFile >> "CfgWeapons" >> _soldierPrimaryWeapon >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems") -
Jetzt packt er sich auch mod Schallis, Scopes und auch pointer drauf, das ist aber normal oder?
-
Den Abschnitt den ich geschrieben habe, kannst du direkt einfügen/ersetzen. Du musst natürlich noch den Abschnitt für die anderen Items ändern.
In der Programmierung machen die Klammern (), [], {} gewaltige Unterschiede.
() umschließen Code, der zu erst ausgeführt wird
[] stellen Arrays (Listen) dar
{} markieren Programmabschnitte, die von if-Abfragen oder Schleifen ausgeführt werden
Wenn die anderen Items sich ebenfalls in der entsprechenden Config befinden, dann ja. Ansonsten sollten sie nicht hinzugefügt werden.
-
Hab ich getan, ich bedanke mich nochmal jetzt sind sie komplett xD
Ticket kann zu
MFG