![]() |
#1 (permalink) |
![]() ![]() Registriert seit: 15.05.2011
Beiträge: 1.110
|
![]()
Bei mir als HOST wird alles völlig sauber ausgeführt. Mein Mitspieler sieht mich in der richtigen Klamotte und den Waffen.
Wenn ich sterbe, verschwindet meine Leiche und desweiteren spawne ich wieder mit der vorher gespeicherten Ausrüstung und ich bekomme wieder die richtigen Klamotten. Bei meinem Mitspieler ist zu Beginn die Uniform und die Weste richtig, der Rest stimmt nicht. Falsche Waffe, leere Weste und kein Rucksack. Des Weiteren verschwindet die Leiche meines Mitspielers nicht und die Ausrüstung wird nicht gelöscht. Nach dem Spawn ist die Uniform falsch und er hat sie Standartausrüstung. Ich komme einfach nicht weiter!! Folgende Sachen laufen ab: Ich habe die Spieler SP_1 - 8 in der Inti.sqf wird das aufgerufen: Code:
execVM "scripte\gear\gear.sqf"; Code:
if (!isServer) exitWith {}; if (!isNull sp_1) then {execVM "scripte\gear\gear_s1.sqf"}; if (!isNull sp_2) then {execVM "scripte\gear\gear_s2.sqf"}; if (!isNull sp_3) then {execVM "scripte\gear\gear_s3.sqf"}; if (!isNull sp_4) then {execVM "scripte\gear\gear_s4.sqf"}; if (!isNull sp_5) then {execVM "scripte\gear\gear_s5.sqf"}; if (!isNull sp_6) then {execVM "scripte\gear\gear_s6.sqf"}; if (!isNull sp_7) then {execVM "scripte\gear\gear_s7.sqf"}; if (!isNull sp_8) then {execVM "scripte\gear\gear_s8.sqf"}; sleep 3; execVM "scripte\gear\waffenrespawn.sqf"; Code:
if (!isServer) exitWith {}; private ["_i"]; removeAllWeapons sp_2; sp_2 setObjectTextureGlobal [0,"texturen\swatofficer.paa"]; sp_2 addVest "V_TacVest_blk_POLICE"; sp_2 addBackpack "B_AssaultPack_ocamo"; for "_i" from 1 to 7 do {sp_2 addMagazine "30Rnd_65x39_caseless_mag"}; for "_i" from 1 to 10 do {sp_2 addMagazine "1Rnd_HE_Grenade_shell"}; for "_i" from 1 to 7 do {sp_2 addMagazine"1Rnd_SmokeRed_Grenade_shell"}; sp_2 addWeapon "arifle_MX_GL_F"; for "_i" from 1 to 4 do {sp_2 addMAgazine "HandGrenade"}; for "_i" from 1 to 3 do {sp_2 addMAgazine "SmokeShell"}; for "_i" from 1 to 4 do {sp_2 addMagazine "16Rnd_9x21_Mag"}; sp_2 addWeapon "hgun_P07_F"; sp_2 addItem "FirstAidKit"; Code:
if (!local player) exitWith {}; private ["_rucksack","_rucksackinhalt","_weste","_westeinhalt","_uniforminhalt","_alterSpieler","_weapons","_magazines","_primW","_muzzles",""]; _unit = _this select 0; waitUntil {!isNull player}; waitUntil {player == player}; while {true} do { _alterSpieler = player; //Sichert die ID der momentanen Spielerfigur waitUntil {!alive player}; //wartet bis Spielerfigur tot _weapons = weapons _alterSpieler; //speichert die Waffen der toten Spielfigur _magazines = magazines _alterSpieler; //speichert die Magazine der toten Spielfigur _rucksack = unitBackpack _alterSpieler; _klasse = typeOf _rucksack; _rucksackinhalt = backpackItems _alterSpieler; _weste = vest _alterSpieler; _westeinhalt = vestItems _alterSpieler; _uniforminhalt = uniformItems _alterSpieler; removeallWeapons player; _body = _alterSpieler; sleep 5; deletevehicle _body; waitUntil {alive player}; //wartet bis Spieler neue Figur hat //removeAllItems player; // entfernt Karte, Kompass usw. des Spielers (deaktiviert) removeAllWeapons player; // entfernt Waffen und Magazine des Spielers removeVest player; removeBackpack player; player setObjectTextureGlobal [0,"texturen\swatofficer.paa"]; {player addMagazine _x} forEach _magazines; //lädt die gespeicherten Magazine {player addWeapon _x} forEach _weapons; //lädt die gespeicherten Waffen player addVest _weste; {player addItemToVest _x} forEach _westeinhalt; player addbackpack _klasse; {player addItemToBackpack _x} forEach _rucksackinhalt; {player addItemToUniform _x} forEach _uniforminhalt; //primäre Waffe aktivieren _primW = primaryWeapon player; if (_primW != "") then { player selectWeapon _primW; // Falls Waffe einen Granatwerfer hat _muzzles = getArray(configFile>>"cfgWeapons" >> _primW >> "muzzles"); player selectWeapon (_muzzles select 0); }; |
![]() |
![]() |
#2 (permalink) |
![]() ![]() ![]() Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
|
![]()
Das geht ja schon in der gear.sqf los... du fragst zwar ab, wenn sp_1 nicht Null ist, dann gear_s1.sqf ausführen usw.
Du fragst ja überhaupt nicht ab, welches Script für welchen Spieler gedacht ist. Mit !isNull legst Du nur fest, wenn der Platz belegt ist, dann soll da Script ausgeführt werden. Das gilt aber für alle und nicht nur für zB sp_1. Besser: Code:
if (!isNull sp_1 and player == sp_1) then {execVM "scripte\gear\gear_s1.sqf"}; Geändert von Buliwyf (22.12.2013 um 00:20 Uhr). |
![]() |
![]() |
#4 (permalink) |
![]() ![]() |
![]()
Für dein gear.sqf nicht auf dem Server sondern auf dem Client aus und alles ist gut.
gear.sqf Code:
switch (str(player)) do { case "sp_1" : {execVM "scripte\gear\gear_s1.sqf"}; case "sp_2" : {execVM "scripte\gear\gear_s2.sqf"}; ... };
__________________
Niemand hat die Absicht eine Tüte zu bauen! ![]() ___<<<A3 Wounding System>>>___ |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
MP Hilfe Lokalität ?? | Kingderek | Editing & Scripting | 5 | 19.10.2013 15:48 |
nach Respawn Ausrüstung behalten | whatever828 | Editing & Scripting | 18 | 04.03.2013 11:38 |
Installations Problem Arma X | Verus | Technische Fragen & Probleme | 20 | 29.07.2012 22:47 |
Fenstermodus und Taskleisten Problem | MaSch0815 | Technische Fragen & Probleme | 9 | 28.12.2010 10:44 |
ArmA2 OA Problem | Thunderbird | Technische Fragen & Probleme | 17 | 10.07.2010 19:15 |