Das Problem liegt vermutlich daran, dass du der Host und der Mitspieler ein Client ist. Sozusagen ein "Lokalitätsprobelm". Die üblichen globalen Variablen können auf den PCs unterschiedliche Werte haben, wenn sie nicht mit
publicVariable synchronisiert werden.
Wenn du als Host in einem Skript eine globale Variable änderst, dann hat den Wert ein Client nur, wenn du den Wert mit
publicVariable "Variablename"; sendest.
Die Waffenzuteilung solltest du so lösen:
Erstelle im Editor einen Mehrfachauslöser mit
Bedingung: alive player
Bei Akt: temp = [] execVM "refillblu1.sqf"
Im Skript ist für player die gewünschte Bewaffnung durchzuführen.
Der Name
player bezieht sich automatisch lokal auf den jeweiligen Spieler auf seinem PC.
Immer wenn ein Spieler eine neue Spielfigur erhält, ruft dieser Auslöser das Skript auf. Das gilt auch für den Spielstart.
Sollen die Spieler unterschiedliche Bewaffnungen haben, dann müsstest du im Skript noch Abfragen mit den Soldatennamen einbinden wie z.B.:
if (player == Soldat1) then {... Bewaffnung ...};
if (player == Soldat2) then {... Bewaffnung ...};
...
Willst du die Bewaffnung des toten Spielers übernehmen dann musst du die FigurenID vor dem Tod absichern. Dabei ist aber einiges zu beachten. Das kann man auch über ein einmalig aufzurufendes Skript lösen.
Siehe diesen Thread:
Problem: Respawn mit Vor-Tod-Bewaffnung