ok und was sagt der clientlog?
Beiträge von moeck
-
-
So laut log sehen beide Zeilen identisch aus
Code15:17:49 "onPlayerkilled: ["""","""","""",[],""U_C_Poloshirt_stripped"","""","""",[""ItemMap"",""ItemCompass"",""Itemwatch""],[],[],[],[],[],[],"""",""""]" 15:18:14 "revived: ["""","""","""",[],""U_C_Poloshirt_stripped"","""","""",[""ItemMap"",""ItemCompass"",""Itemwatch""],[],[],[],[],[],[],"""",""""]"
also erstmal kann ich hier keinen Fehler feststellen oder hatte der Spieler eine andere Ausrüstung an?
-
Serverlog ist erstmal uninteressant. Bitte den Clientlog posten (anhängen)
-
Sorry mit dem Link kann ich hier nix anfangen. Bitte direkt anhängen.
-
Lukas010 hänge mal bitte auch den Clientlog noch an.
-
Moin,
also hier ist auf jeden Fall ein Fehler und ich denke der verursacht auch das Problem
Codelife_adminlevel = compileFinal (if (parseNumber (_this select 4) isEqualType> 22:36:13 Error position: <parseNumber (_this select 4) isEqualType> 22:36:13 Error parsenumber: Type Number, expected Bool,String 22:36:13 File core\session\fn_requestReceived.sqf [SOCK_fnc_requestReceived], line 92
hast Du da was in der requestReceived angepasst oder im life_server? Beim laden der Spielerdaten?
Gruß,
moeck
-
Mh... hast du es mal ohne die ganzen Mods versucht. Die schmeissen nämlich Fehler ohne Ende.
-
Moin,
so hire mal die geänderte onplayerkilled
C
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_onPlayerKilled.sqf Author: Bryan "Tonic" Boardwine Description: When the player dies collect various information about that player and pull up the death dialog / camera functionality. */ params [ ["_unit",objNull,[objNull]], ["_killer",objNull,[objNull]] ]; disableSerialization; if !((vehicle _unit) isEqualTo _unit) then { UnAssignVehicle _unit; _unit action ["getOut", vehicle _unit]; _unit setPosATL [(getPosATL _unit select 0) + 3, (getPosATL _unit select 1) + 1, 0]; }; //Barrieren [] call lala_fnc_placeableRemoveAll; //Set some vars _unit setVariable ["Revive",true,true]; _unit setVariable ["name",profileName,true]; //Set my name so they can say my name. _unit setVariable ["restrained",false,true]; _unit setVariable ["Escorting",false,true]; _unit setVariable ["transporting",false,true]; _unit setVariable ["playerSurrender",false,true]; _unit setVariable ["steam64id",(getPlayerUID player),true]; //Set the UID. if (dialog) then { closeDialog 0; }; //Setup our camera view life_deathCamera = "CAMERA" camCreate (getPosATL _unit); showCinemaBorder true; life_deathCamera cameraEffect ["Internal","Back"]; createDialog "DeathScreen"; life_deathCamera camSetTarget _unit; life_deathCamera camSetRelPos [0,3.5,4.5]; life_deathCamera camSetFOV .5; life_deathCamera camSetFocus [50,0]; life_deathCamera camCommit 0; (findDisplay 7300) displaySetEventHandler ["KeyDown","if ((_this select 1) isEqualTo 1) then {true}"]; //Block the ESC menu //Create a thread for something? _unit spawn { private ["_maxTime","_RespawnBtn","_Timer"]; disableSerialization; _RespawnBtn = ((findDisplay 7300) displayCtrl 7302); _Timer = ((findDisplay 7300) displayCtrl 7301); if (LIFE_SETTINGS(getNumber,"respawn_timer") < 5) then { _maxTime = time + 5; } else { _maxTime = time + LIFE_SETTINGS(getNumber,"respawn_timer"); }; _RespawnBtn ctrlEnable false; waitUntil {_Timer ctrlSetText format [localize "STR_Medic_Respawn",[(_maxTime - time),"MM:SS"] call BIS_fnc_secondsToString]; round(_maxTime - time) <= 0 || isNull _this}; _RespawnBtn ctrlEnable true; _Timer ctrlSetText localize "STR_Medic_Respawn_2"; }; _unit spawn { private ["_requestBtn","_requestTime"]; disableSerialization; _requestBtn = ((findDisplay 7300) displayCtrl 7303); _requestBtn ctrlEnable false; _requestTime = time + 5; waitUntil {round(_requestTime - time) <= 0 || isNull _this}; _requestBtn ctrlEnable true; }; 0 spawn life_fnc_deathScreen; //Create a thread to follow with some what precision view of the corpse. [_unit] spawn { private ["_unit"]; _unit = _this select 0; waitUntil {if (speed _unit isEqualTo 0) exitWith {true}; life_deathCamera camSetTarget _unit; life_deathCamera camSetRelPos [0,3.5,4.5]; life_deathCamera camCommit 0;}; }; //Make the killer wanted /*if (!isNull _killer && {!(_killer isEqualTo _unit)} && {!(side _killer isEqualTo west)} && {alive _killer}) then { if (vehicle _killer isKindOf "LandVehicle") then { if (life_HC_isActive) then { [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187V"] remoteExecCall ["HC_fnc_wantedAdd",HC_Life]; } else { [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187V"] remoteExecCall ["life_fnc_wantedAdd",RSERV]; }; //Get rid of this if you don't want automatic vehicle license removal. if (!local _killer) then { [2] remoteExecCall ["life_fnc_removeLicenses",_killer]; }; } else { if (life_HC_isActive) then { [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187"] remoteExecCall ["HC_fnc_wantedAdd",HC_Life]; } else { [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187"] remoteExecCall ["life_fnc_wantedAdd",RSERV]; }; if (!local _killer) then { [3] remoteExecCall ["life_fnc_removeLicenses",_killer]; }; }; }; */ life_save_gear = [player] call life_fnc_fetchDeadGear; diag_log format ["onPlayerkilled: %1",str(life_save_gear)]; //speicher das eq in der DB! //[getPlayerUID player, life_save_gear] remoteExec ["life_fnc_setEquipmentDeath", 2, false]; if (LIFE_SETTINGS(getNumber,"drop_weapons_onDeath") isEqualTo 0) then { _unit removeWeapon (primaryWeapon _unit); _unit removeWeapon (handgunWeapon _unit); _unit removeWeapon (secondaryWeapon _unit); }; //Killed by cop stuff... if (side _killer isEqualTo west && !(playerSide isEqualTo west)) then { life_copRecieve = _killer; //Did I rob the federal reserve? if (!life_use_atm && {CASH > 0}) then { //[format [localize "STR_Cop_RobberDead",[CASH] call life_fnc_numberText]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; CASH = 0; }; }; life_fms_info = _unit getVariable["fms_status",[]]; if (!isNull _killer && {!(_killer isEqualTo _unit)}) then { life_removeWanted = true; }; [_unit] call life_fnc_dropItems; life_action_inUse = false; life_hunger = 100; life_thirst = 100; life_carryWeight = 0; CASH = 0; // life_is_alive = false; call life_fnc_hudUpdate; //Get our HUD updated. // [player,life_settings_enableSidechannel,playerSide] remoteExecCall ["TON_fnc_manageSC",RSERV]; [0] call SOCK_fnc_updatePartial; [3] call SOCK_fnc_updatePartial; [4] call SOCK_fnc_updatePartial;
und hier mal die geänderte revived
C
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_revived.sqf Author: Bryan "Tonic" Boardwine Description: THANK YOU JESUS I WAS SAVED! */ private ["_medic","_dir","_reviveCost"]; _medic = param [0,"Unknown Medic",[""]]; _reviveCost = LIFE_SETTINGS(getNumber,"revive_fee"); //Damage nach Wiederbelebung player setDamage 0.7; life_corpse setVariable ["realname",nil,true]; //Should correct the double name sinking into the ground. [life_corpse] remoteExecCall ["life_fnc_corpse",RANY]; _dir = getDir life_corpse; hint format [localize "STR_Medic_RevivePay",_medic,[_reviveCost] call life_fnc_numberText]; closeDialog 0; life_deathCamera cameraEffect ["TERMINATE","BACK"]; camDestroy life_deathCamera; //Take fee for services. if (BANK > _reviveCost) then { BANK = BANK - _reviveCost; } else { BANK = 0; }; //Bring me back to life. player setDir _dir; player setPosASL (visiblePositionASL life_corpse); life_corpse setVariable ["Revive",nil,true]; life_corpse setVariable ["name",nil,true]; [life_corpse] remoteExecCall ["life_fnc_corpse",RANY]; deleteVehicle life_corpse; _fnc_ACE3_setRevivedDamage = { [player, 0.5, "head", "stab"] call ace_medical_fnc_addDamageToUnit; uiSleep 0.1; [player, 0.75, "hand_r", "stab"] call ace_medical_fnc_addDamageToUnit; uiSleep 0.1; [player, 0.75, "hand_l", "stab"] call ace_medical_fnc_addDamageToUnit; uiSleep 0.1; [player, 0.65, "Body", "stab"] call ace_medical_fnc_addDamageToUnit; uiSleep 0.1; [player, 0.85, "leg_l", "stab"] call ace_medical_fnc_addDamageToUnit; uiSleep 0.1; [player, 0.85, "leg_r", "stab"] call ace_medical_fnc_addDamageToUnit; uiSleep 0.1; [player, 0.80, "Torso", "stab"] call ace_medical_fnc_addDamageToUnit; uiSleep 0.1; }; life_action_inUse = false; life_is_alive = true; diag_log format ["revived: %1", str(life_save_gear)]; [life_save_gear] spawn life_fnc_loadDeadGear; [] call life_fnc_playerSkins; [] call life_fnc_hudUpdate; //Request update of hud. [] call SOCK_fnc_updateRequest;
dann teste das mal und poste mal das client logfile danach.
-
Dein life_server ist eine PBO? Adhoc habe ich nämlich keinen Fehler im Log gesehen, ausser dass mir zwischen Start und Ende der Altis Initialisierung zu wenig Logausgaben angezeigt werden.
-
Hänge doch bitte mal die extDB Logs mit an.
-
Keine Frage, wie gesagt ist kein Vorwurf und ich verstehe auch deine Punkte. Ich finde es auch nicht so gut wenn man Sachen klaut. Bei den Arma Sachen von mir muss man nur nachfragen und in der Regel gebe ich die auch raus. Es gibt da nur ein oder zwei Sachen, die ich vielleicht nicht sofort verrate
. Ich denke ich muss mal wieder ein TuT schreiben, vielleicht zum Gewichtsabhängigen Farmen von Geräten oder Verarbeitende Fahrzeuge
-
Moin,
im ersten Schritt würde ich mir mal ausgeben lassen was in life_save_gear, wenn man gekillt wird und dann beim Revive.
Gruß,
moeck
-
Alles klar
, na das mit den Anpassungen könnte durchaus ein Problem werden. Spielt aber auch keine Rolle, da ein Fremdhosting eher nicht in Frage kommt.Das ist nicht böse gemeint nur habe ich gern die Hand auf den Daten habe. Die Lösung, die ich momentan nutze ist sicherlich nicht perfekt reicht aber aktuell aus
-
-
nein das geht nciht ;-). Also nochmal von vorne
geänderte Mission auf Server hochladen --> Server Restart --> Client wieder verbinden --> kick
geänderte Mission auf Server hochladen --> Server Restart --> Arma 3 auf Client neustarten --> Client wieder verbinden --> funzt
Tauschen der .pbo im MPMissionscache funzt auch erst nach Arma 3 Client Restart. Das Spiel gibt auch nach einem Disconnect vom Server die .pbo nicht wieder frei. Es handelt sich mal wieder um einen schönen und nervigen Bug von Bughemia
-
Moin,
wenn du einen Server betrittst wird die Mission gesperrt, ich denke das soll verhindern dass man im nachhinein noch Änderung vornehmen kann. Heisst wenn Du die Mission auf deinem Server tauscht musst Du auch zwingend dein Arma neustarten ;-). Bei Testen einer Mission Datei solltest Du diese aber eh direkt im MPMissionsCache ersetzen
. Warum sollte man die Mission auf den Server hochladen und anschliessend wieder runterladen. Das funktioniert allerdings nur wenn du eine PBO verwendest und nicht die Mission als Ordner im Verzeichnis liegen hast.
Gruß,
moeck
-
warum? Arma funzt auch mit extDB3
-
Moin,
hier mal mein Gegenvorschlag. Zum einen bemühst Du mal die Suchfunktion im Forum und zum anderen hängst Du mal die Logfiles hier an. Eventuell solltest Du Dir auch mal folgenden Beitrag durchlesen.
[Leitfaden] Wie frage Ich richtig um Hilfe?
Gruß,
moeck
-
Sorry aber wenn sie mit den CaseNummern im Keyhandler nix anfagen können, sollten sie sich vielleicht überlegen ob das, das richtige ist.
. Ist auf keinen Fall eine Kritik an deinem Thread
-