Hi !
Gibt es einen Grund warum das folgende nicht funktioniert wenn ein Client zum ersten mal einem Dedicated Server beitritt ?
Unit Init:
PHP-Code:
nul=[this] execVM "gear_leader.sqf";
gear_leader.sqf:
PHP-Code:
_unit = _this select 0;
removeAllWeapons _unit; removeAllAssignedItems _unit; removeAllContainers _unit; removeHeadgear _unit; removeGoggles _unit; _unit addUniform 'U_B_CombatUniform_mcam_vest'; _unit addVest 'V_Chestrig_rgr'; _unit addBackPack 'B_TacticalPack_rgr'; _unit addweapon 'Rangefinder'; _unit addmagazine '16Rnd_9x21_Mag'; _unit addweapon 'hgun_P07_snds_F'; _unit addmagazine '30Rnd_65x39_caseless_mag'; _unit addweapon 'arifle_MX_Black_F'; _unit addPrimaryWeaponItem 'acc_flashlight'; _unit addPrimaryWeaponItem 'optic_Arco'; _unit addHandgunItem 'muzzle_snds_L'; _unit addItemToUniform 'FirstAidKit'; _unit addItemToUniform '30Rnd_65x39_caseless_mag'; _unit addItemToUniform '30Rnd_65x39_caseless_mag'; _unit addItemToUniform 'MiniGrenade'; _unit addItemToUniform 'Chemlight_green'; _unit addItemToVest '30Rnd_65x39_caseless_mag'; _unit addItemToVest '30Rnd_65x39_caseless_mag'; _unit addItemToVest '30Rnd_65x39_caseless_mag'; _unit addItemToVest '30Rnd_65x39_caseless_mag'; _unit addItemToVest '30Rnd_65x39_caseless_mag'; _unit addItemToVest '30Rnd_65x39_caseless_mag_Tracer'; _unit addItemToVest '30Rnd_65x39_caseless_mag_Tracer'; _unit addItemToVest '16Rnd_9x21_Mag'; _unit addItemToVest '16Rnd_9x21_Mag'; _unit addItemToVest 'MiniGrenade'; _unit addItemToVest 'MiniGrenade'; _unit addItemToVest 'SmokeShell'; _unit addItemToVest 'SmokeShellGreen'; _unit addItemToVest 'SmokeShellOrange'; _unit addItemToVest 'Chemlight_green'; _unit addItemToBackpack '30Rnd_65x39_caseless_mag'; _unit addItemToBackpack '30Rnd_65x39_caseless_mag'; _unit addItemToBackpack '30Rnd_65x39_caseless_mag'; _unit addItemToBackpack '30Rnd_65x39_caseless_mag'; _unit addItemToBackpack '30Rnd_65x39_caseless_mag'; _unit addItemToBackpack '30Rnd_65x39_caseless_mag'; _unit addItemToBackpack '30Rnd_65x39_caseless_mag'; _unit addItemToBackpack '30Rnd_65x39_caseless_mag_Tracer'; _unit addItemToBackpack '30Rnd_65x39_caseless_mag_Tracer'; _unit addItemToBackpack 'SatchelCharge_Remote_Mag'; _unit addItemToBackpack 'SmokeShell'; _unit addItemToBackpack 'SmokeShell'; _unit addItemToBackpack 'MiniGrenade'; _unit addItemToBackpack 'MiniGrenade'; _unit linkItem 'ItemMap'; _unit linkItem 'ItemCompass'; _unit linkItem 'ItemWatch'; _unit linkItem 'ItemRadio'; _unit linkItem 'ItemGPS'; _unit linkItem 'NVGoggles'; _unit linkItem 'Rangefinder'; _unit linkItem 'G_Tactical_Clear'; _unit linkItem 'H_Watchcap_blk';
/*Select weapon which should be active*/
_unit selectWeapon "arifle_MX_Black_F";
I trete dem Spiel bei und habe nicht die in gear_leader festgelegte Ausrüstung, dann disconnecte ich (zurück zur Unit selection) und trete erneut bei, dann habe ich die korreckte Ausrüstung, aber warum ?
Und warum funktiobiert das... (deletes vehicles korrekt)
On Act in trigger mit condition true:
PHP-Code:
nul=[car1,car2,car3] execVM "scripts\random.sqf";
random.sqf:
PHP-Code:
if (!isServer) exitwith {};
_targets1 = _this select 0;
_targets2 = _this select 1;
_targets3 = _this select 2;
_targets = [_targets1,_targets2,_targets3];
_target = _targets call BIS_fnc_selectRandom;
/*hint format["%1", _target];*/
_targets = _targets - [_target];
_delete1 = _targets select 0;
_delete2 = _targets select 1;
deleteVehicle _delete1;
deleteVehicle _delete2;
...baber das hier nicht ? (spawns no vehicle)
On Act in trigger mit condition true:
PHP-Code:
nul=[thistrigger,250,1] execVm "scripts\spawnVeh.sqf";
spawnVeh.sqf:
PHP-Code:
if (!isServer) exitwith {};
private ["_pos","_dis","_nr","_locPos","_loc","_spawnPos","_patDis","_veh"];
_pos = _this select 0;
_dis = _this select 1;
_nr = _this select 2;
_locPos = [];
_name = ["O_MRAP_02_hmg_F","O_MRAP_02_gmg_F","O_UGV_01_rcws_F"] call BIS_fnc_selectRandom;
for "_i" from 1 to (_nr) do
{
_loc = [_pos,_dis,[0,360],0,[1,_dis],"O_MRAP_02_hmg_F"] call SHK_pos;
_locPos = _locPos + [_loc];
};
if (count _locPos > 0) then {
for "_i" from 1 to (count _locPos) do
{
_spawnPos = (_locPos select (floor random count _locPos));
_veh = [_spawnPos, random 360, _name, east] call bis_fnc_spawnvehicle;
//DEBUG
[_spawnPos,"ColorRed"] call fnc_createMarker;
}
};
Ich denke es gibt ein Problem bei Eineheiten spawnen mit
call bis_fnc_spawnvehicle in einem Script mit
if (!isServer) exitwith {}; !
wenn ich den isServer check entferne geht es, aber warum, es sollte die einheiten nur einmal auf dem server spawnen (dedi) und jeder client sollte sie sehen.
Und warum spawnt ein script mit
call bis_fnc_spawnvehicle nicht zwei einheiten (eine server/dedi eine client) ohne den isserver check ?
EDIT: Ich nutze einen lokalen Dedi (ram selben pc und joine via lan) zum testen, reporting ip = 127.0.0.1 ? Ist das der fehler ?