jein, hier gibt es das mit random nachrichten
Beiträge von moeck
-
-
Moin,
dann würde ich erstmal infistar weglassen. Ansonsten musst Du mal auf deren Webseite schauen wie du das freigeschaltest bekommst. Des Weiteren solltest Du mal in die Spyclass.hpp schauen ob da alles richtig eingestellt ist. Kann es sein dass hier #include "derleon\Scripts_Master.hpp" ebenfalls nochmal was zu den channels hinterlegt ist?
Gruß,
moeck
-
Moin Moin,
da mir die Standard Killnachrichten von Arma nicht gefallen haben und ich etwas mehr Abwechslung haben wollte, habe ich mir das mal angeschaut und was dazu gebaut.
Script: fn_deathmessage
Version: Altis Life (alle Versionen / Achtung Hinweise beachten)
Schiwerigkeitsgrad: Fortgeschrittener (mittel) - ein gewisses Scriptverständnis wird zum Bearbeiten vorausgesetzt!
Funktionen:
~ ersetzt die Standard Arma Kill Nachrichten durch eigene.
Wie immer dürft ihr das Tutorial gern verwenden und weiter entwickeln, allerdings ohne mein Einverständnis nicht in anderen Foren veröffentlichen.
Das Script funktioniert mit sollte mit allen Versionen funktionieren. Bitte beachtet die Hinweise, was für ältere Versionen geändert werden muss. Ich habe das Script erfolgreich mit 3.1.4.8 und 5.0 getestet. Aber nun genug der Vorrede lasst uns anfangen.
1. Server.armaprofile
Hier müsste ihr die Standard Nachrichten ausschalten. Die Schwiriegkeit sollte in der Regel bereits auf Customstehen. Dort müsst ihr dann deathMessages = 1; // Killed by auf deathMessages = 0; // Killed by ändern.
2. Erweiterung des Stringtables
Ich müsst das Package dann in den Stringtable übernehmen. Sucht Euch eine passende Stelle. Zum Beispiel nach dem Package Notification oder am Ende des Stringtables. Natürlich könnt ihr die Meldung noch weiter anpassen und auch weitere hinzufügen.
XML
Alles anzeigen<Package name="Kill_Strings"> <Key ID="STR_NOTF_Murdered_Car_0"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 getötet.</German> </Key> <Key ID="STR_NOTF_Murdered_Car_1"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 plattgemacht.</German> </Key> <Key ID="STR_NOTF_Murdered_Air_0"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 getötet.</German> </Key> <Key ID="STR_NOTF_Murdered_Air_1"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 plattgemacht.</German> </Key> <Key ID="STR_NOTF_Murdered_Air_2"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 geschreddert.</German> </Key> <Key ID="STR_NOTF_Murdered_Ship_0"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 getötet.</German> </Key> <Key ID="STR_NOTF_Murdered_Ship_1"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 plattgemacht.</German> </Key> <Key ID="STR_NOTF_Murdered_0"> <Original>%1 was killed by %2.</Original> <German>%1 wurde von %2 plattgemacht.</German> </Key> <Key ID="STR_NOTF_Murdered_1"> <Original>%1 was burned by %2.</Original> <German>%1 wurde von %2 übern Haufen geballert.</German> </Key> <Key ID="STR_NOTF_Murdered_2"> <Original>%1 was slashed by %2.</Original> <German>%1 wurde von %2 um die Ecke gebracht.</German> </Key> <Key ID="STR_NOTF_Murdered_3"> <Original>%1 was murdered by %2.</Original> <German>%1 wurde von %2 gegrillt.</German> </Key> <Key ID="STR_NOTF_Copkill_Car_1"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 getötet.</German> </Key> <Key ID="STR_NOTF_Copkill_Car_0"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 plattgemacht.</German> </Key> <Key ID="STR_NOTF_Copkill_Air_1"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 getötet.</German> </Key> <Key ID="STR_NOTF_Copkill_Air_2"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 plattgemacht.</German> </Key> <Key ID="STR_NOTF_Copkill_Air_0"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 geschreddert.</German> </Key> <Key ID="STR_NOTF_Copkill_Ship_1"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 getötet.</German> </Key> <Key ID="STR_NOTF_Copkill_Ship_0"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2s %3 plattgemacht.</German> </Key> <Key ID="STR_NOTF_Copkill_1"> <Original>%1 was killed by %2.</Original> <German>%1 wurde von %2 plattgemacht.</German> </Key> <Key ID="STR_NOTF_Copkill_2"> <Original>%1 was killed by %2.</Original> <German>%1 wurde von %2 übern Haufen geballert.</German> </Key> <Key ID="STR_NOTF_Copkill_0"> <Original>%1 was killed by %2.</Original> <German>%1 wurde von %2 übern Jordan geschickt.</German> </Key> <Key ID="STR_NOTF_Suicide_Car_1"> <Original>%1 was killed by %2.</Original> <German>%1 wurde getötet, weil er seine(n) %2 nicht fahren kann.</German> </Key> <Key ID="STR_NOTF_Suicide_Car_0"> <Original>%1 tried to breath the wall. %1 was killed</Original> <German>%1 war zu doof zum Autofahren!.%1 wurde getötet!</German> </Key> <Key ID="STR_NOTF_Suicide_Car_2"> <Original>%1 was to stupid to drive his %2.</Original> <German>%1 wurde getötet, weil er mit seine(n) %2 einen Crash Test machen wollte.</German> </Key> <Key ID="STR_NOTF_Suicide_Air_0"> <Original>%1 needs some flight training. %1 was killed</Original> <German>%1 braucht dringend Flugstunden. %1 wurde getötet!</German> </Key> <Key ID="STR_NOTF_Suicide_Air_1"> <Original>%1 was killed by %2.</Original> <German>%1 muss das %2 fliegen noch üben! %1 wurde getötet!</German> </Key> <Key ID="STR_NOTF_Suicide_Air_2"> <Original>%1 wasn't able to fly his %2. %1 was killed!</Original> <German>%1 sollte das %2 fliegen lassen. %1 wurde getötet!</German> </Key> <Key ID="STR_NOTF_Suicide_Air_3"> <Original>%1 is now medium-well.. %1 was killed!</Original> <German>%1 sollte das %2 fliegen lassen. %1 wurde getötet!</German> </Key> <Key ID="STR_NOTF_Suicide_Ship_1"> <Original>%1 was killed by %2.</Original> <German>%1 wurde von %2 getötet.</German> </Key> <Key ID="STR_NOTF_Suicide_Ship_0"> <Original>%1 was killed by %2s %3.</Original> <German>%1 wurde von %2 plattgemacht.</German> </Key> <Key ID="STR_NOTF_Suicide_0"> <Original>%1 is now one with the earth thanks to physics.</Original> <German>%1 wollte nicht mehr weiterleben. %1 wurde getötet!</German> </Key> <Key ID="STR_NOTF_Suicide_1"> <Original>%1 mistook the ground for a pool.</Original> <German>%1 wurde von einen Buch erschlagen. %1 wurde getötet!</German> </Key> <Key ID="STR_NOTF_Suicide_2"> <Original>%1 got killed by death.</Original> <German>%1 ist über einen spitzen Stein gestolpert! %1 wurde getötet!</German> </Key> <Key ID="STR_NOTF_Suicide_3"> <Original>%1 got killed by death.</Original> <German>%1 hat wohl vergessen zu Essen und Trinken! %1 wurde getötet!</German> </Key> <Key ID="STR_NOTF_Suicide_4"> <Original>%1 got killed by death.</Original> <German>%1 konnte doch nicht fliegen! %1 wurde getötet!</German> </Key> </Package>
3. Erweiterung der fn_onPlayerKilled.sqf
Sucht Euch den folgenden Eintrag heraus. Achtung hier könnte der Eintrag auch etwas anders aussehen, vorallem wenn ihr die 3.1.4.8 verwendet.
C
Alles anzeigenparams [ ["_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]; };
Diesen Eintrag ersetzt ihr mit folgendem
C
Alles anzeigenparams [ ["_unit",ObjNull,[ObjNull]] ,["_killer",ObjNull,[ObjNull]] ]; disableSerialization; private _unitName = _unit getVariable ["realname",name _unit]; private _killerName = ""; private _vehicle = ObjNull; if (!isNull _killer && {!(_killer isEqualTo _unit)}) then { _killerName = _killer getVariable ["realname",name _killer]; if !(objectParent _killer isEqualTo _killer) then {_vehicle = objectParent _killer}; }; if !((vehicle _unit) isEqualTo _unit) then { if (isNull _vehicle) then {_vehicle = vehicle _unit}; UnAssignVehicle _unit; _unit action ["getOut", vehicle _unit]; _unit setPosATL [(getPosATL _unit select 0) + 3, (getPosATL _unit select 1) + 1, 0]; };
Anschliessend müsst ihr noch etwas weiter unten Euch das folgende raussuchen. Auch hier gibt es Unterschiede zwischen 3.1.4.8 und neueren Versionen!
Code
Alles anzeigenif (!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]; }; }; };
dort fügt ihr folgendes ein.
Code
Alles anzeigenif (!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]; }; }; ["killed",_unitName,_killerName,_vehicle] call life_fnc_deathmessage; } else { if(side _killer isEqualTo west && !(playerSide isEqualTo west)) then { ["copkill",_unitName,_killerName,_vehicle] call life_fnc_deathmessage; } else { ["suicide",_unitName,_killerName,_vehicle] call life_fnc_deathmessage; }; };
4. Erstellen der fn_deathmessage.sqfim Ordner core\functions
Achtung bitte prüft hier ob der richtige Aufruf aktiviert ist! Hier in der Vorlage sind die Aufrufe für 4.4 oder neuer aktiviert. Für ältere Versionen müsst ihr die Aufrufe anpassen. Diese sind enthalten und müssen einkommentiert werden.
Solltet ihr weitere Meldungen einfügen wollen müsst ihr die Werte in den randoms entsprechend ändern (round(random (1))!
C: fn_deathmessage.sqf
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_deathmessage.sqf Author: moeck (lostonparadise.de) Description: Random death messages */ params [ ["_mode","",[""]] ,["_unitName","",[""]] ,["_killerName","",[""]] ,["_vehicle",ObjNull,[ObjNull]] ]; private _deathmsg = ""; private _vehicleName = ""; call { if (_mode isEqualTo "killed") exitWith { if (!isNull _vehicle) exitWith { _vehicleName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _vehicle),"displayName"); if (_vehicle isKindOf "Car") exitWith { _deathmsg = format ["STR_NOTF_Murdered_Car_%1",(round(random (1)))]; }; if (_vehicle isKindOf "Air") exitWith { _deathmsg = format ["STR_NOTF_Murdered_Air_%1",(round(random (2)))]; }; if (_vehicle isKindOf "Ship") exitWith { _deathmsg = format ["STR_NOTF_Murdered_Ship_%1",(round(random (1)))]; }; }; if (isNull _vehicle) exitWith { _deathmsg = format ["STR_NOTF_Murdered_%1",(round(random (3)))]; }; }; if (_mode isEqualTo "copkill") exitWith { if (!isNull _vehicle) exitWith { _vehicleName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _vehicle),"displayName"); if (_vehicle isKindOf "Car") exitWith { _deathmsg = format ["STR_NOTF_Copkill_Car_%1",(round(random (1)))]; }; if (_vehicle isKindOf "Air") exitWith { _deathmsg = format ["STR_NOTF_Copkill_Air_%1",(round(random (2)))]; }; if (_vehicle isKindOf "Ship") exitWith { _deathmsg = format ["STR_NOTF_Copkill_Ship_%1",(round(random (1)))]; }; }; if (isNull _vehicle) exitWith { _deathmsg = format ["STR_NOTF_Copkill_%1",(round(random (2)))]; }; }; if (_mode isEqualTo "suicide") exitWith { if (!isNull _vehicle) exitWith { _vehicleName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _vehicle),"displayName"); if (_vehicle isKindOf "Car") exitWith { _deathmsg = format ["STR_NOTF_Suicide_Car_%1",(round(random (2)))]; }; if (_vehicle isKindOf "Air") exitWith { _deathmsg = format ["STR_NOTF_Suicide_Air_%1",(round(random (3)))]; }; if (_vehicle isKindOf "Ship") exitWith { _deathmsg = format ["STR_NOTF_Suicide_Ship_%1",(round(random (1)))]; }; }; if (isNull _vehicle) exitWith { _deathmsg = format ["STR_NOTF_Suicide_%1",(round(random (4)))]; }; }; }; if (_mode in ["killed","copkill"]) then { if (!isNull _vehicle) then { [0,_deathmsg,true,[_unitName,_killerName,_vehicleName]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; //für neuere Versionen //[[0,_deathmsg,true,[_unitName, _killerName,_vehicleName]],"life_fnc_broadcast",true,false] spawn life_fnc_MP; //für ältere Versionen } else { [0,_deathmsg,true,[_unitName,_killerName]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; //für neuere Versionen //[[0,_deathmsg,true,[_unitName, _killerName]],"life_fnc_broadcast",true,false] spawn life_fnc_MP; //für ältere Versionen }; } else { if (!isNull _vehicle) then { [0,_deathmsg,true,[_unitName,_vehicleName]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; //für neuere Versionen //[[0,_deathmsg,true,[_unitName,_vehicleName]],"life_fnc_broadcast",true,false] spawn life_fnc_MP; //für ältere Versionen } else { [0,_deathmsg,true,[_unitName]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; //für neuere Versionen //[[0,_deathmsg,true,[_unitName]],"life_fnc_broadcast",true,false] spawn life_fnc_MP; //für ältere Versionen }; };
5. Hinzufügen der neuen Funktion in der Functions.hpp bzw. Function.h
Ich müsst die Functions.hpp öffnen und am Ende von class Functions folgenden Eintrag hinzufügen
6. Anpassung CfgRemoteExec.hpp
Dieser Schritt ist für die Versionen 4.4 oder neuer notwendig!
Sucht Euch den Eintrag F(TON_fnc_player_query,CLIENT)raus und fügt darunter das folgende ein
Damit hätten wir es auch schon geschafft. Ich hoffe das Tutorial gefällt Euch.
Gruß,
moeck
-
So habe den Fehler im Script gefunden, wobi ich es nicht verstehe, weil die Bedingung eigentlich identisch ist und bei Autos es kein Problem gab.
kann geschlossen werden
-
ok werde ich prüfen
-
Nein, ich habe nur den Spieler und nicht das Fahrzeug. Ich werde heute noch mal schauen.
-
so da habt ihr noch fehler in der License und vItem Config
Code19:47:45 File mpmissions\__cur_mp.Altis\Config_Licenses.hpp, line 224: '/Licenses/swat.price': Missing ';' at the end of line 19:47:45 File mpmissions\__cur_mp.Altis\Config_Licenses.hpp, line 232: '/Licenses/fbi.price': Missing ';' at the end of line 19:47:45 File mpmissions\__cur_mp.Altis\Config_vItems.hpp, line 1037: '/VirtualItems/gluehwein.buyPrice': Missing ';' at the end of line 19:47:45 File mpmissions\__cur_mp.Altis\Config_vItems.hpp, line 1048: '/VirtualItems/weihnachtsmann.buyPrice': Missing ';' at the end of line 19:47:45 File mpmissions\__cur_mp.Altis\Config_vItems.hpp, line 1059: '/VirtualItems/heisseschokolade.buyPrice': Missing ';' at the end of line
dann ist inder welcome.sqf ein fehler
Code19:48:44 Error in expression <Keska", "Manfred Steinmeier]; _role9 = "Projektleiter"; _role9names = ["Lenny", > 19:48:44 Error position: <Projektleiter"; _role9names = ["Lenny", > 19:48:44 Error Missing ] 19:48:44 File mpmissions\__cur_mp.Altis\script\welcome.sqf, line 47
dann stimmt anscheinden was in der tfar Config nicht. Leider kann ich da nicht helfen
Code
Alles anzeigen19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4639, sum of weights is 157, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4640, sum of weights is 157, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4641, sum of weights is 157, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4642, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4642, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4643, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4643, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4644, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4644, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4645, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4645, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4666, sum of weights is 127, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4667, sum of weights is 127, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4668, sum of weights is 127, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4669, sum of weights is 127, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4674, sum of weights is 127, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4675, sum of weights is 127, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4676, sum of weights is 127, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4677, sum of weights is 127, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4678, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4678, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4679, sum of weights is 142, should be 100 19:51:41 Warning: task_force_radio_items\models\clf_nicecomm2_prc117g.p3d:1, vertex: 4679, sum of weights is 142, should be 100
dann hätte ich hier noch was in der lifer_server\init.sqf
Code20:01:04 ">>> AllianceApps Lottery: The lotterysystem is open again!." 20:01:04 "----------------------------------------------------------------------------------------------------" 20:01:04 Error in expression <ution Time %1 seconds ",(diag_tickTime) - _timeStamp]; diag_log "---------------> 20:01:04 Error position: <- _timeStamp]; diag_log "---------------> 20:01:04 Error Generic error in expression 20:01:04 File life_server\init.sqf, line 203
irgendwas klappt auch in der Kommuniktation nicht so richtig
so hier dann der nächste script fehler
Code
Alles anzeigen20:08:13 Error in expression <CamShake; 20 fadeSound 1; waituntil {playerNearGas}; if (headgear player !> 20:08:13 Error position: <playerNearGas}; if (headgear player !> 20:08:13 Error Undefined variable in expression: playerneargas 20:08:13 File mpmissions\__cur_mp.Altis\script\gas.sqf, line 42
und der nächste fehler
Code
Alles anzeigen20:09:54 Error in expression <ombat"]; ; ; { if (local _x) then { _x setSkill ["general", _general]; _x setSk> 20:09:54 Error position: <setSkill ["general", _general]; _x setSk> 20:09:54 Error Type Any, expected Number 20:09:54 File z\ace\addons\zeus\functions\fnc_moduleGlobalSetSkill.sqf, line 12
und das ist auch nicht normal. das zeug spammt komplett das logfile voll
Code
Alles anzeigen20:11:03 Attempt to override final function - slx_xeh_compile 20:11:03 Attempt to override final function - bis_fnc_exportcfgvehiclesassetdb 20:11:03 Attempt to override final function - life_fnc_jumpfnc_meta 20:11:03 Attempt to override final function - ace_common_fnc_assignobjectsinlist 20:11:03 Attempt to override final function - bis_fnc_paramreviverequireditems 20:11:03 Attempt to override final function - ace_weather_fnc_calculatedewpoint 20:11:03 Attempt to override final function - ace_atragmx_fnc_restore_atmo_default 20:11:03 Attempt to override final function - bis_fnc_execvm 20:11:03 Attempt to override final function - ace_explosives_fnc_interacteh 20:11:03 Attempt to override final function - jonzie_fnc_trailer_ligths 20:11:03 Attempt to override final function - life_fnc_clearvehicleammo_meta 20:11:03 Attempt to override final function - mav_gps_fnc_nearestlocation_meta 20:11:03 Attempt to override final function - ace_spectator_fnc_ui_togglemap 20:11:03 Attempt to override final function - ace_fastroping_fnc_checkvehiclethread 20:11:03 Attempt to override final function - ace_map_gestures_fnc_modulesettings 20:11:03 Attempt to override final function - ace_rangecard_fnc_updateclassnames 20:11:03 Attempt to override final function - ace_fastroping_fnc_fastropelocalpfh 20:11:03 Attempt to override final function - cba_settings_fnc_gui_settingdefault 20:11:03 Attempt to override final function - bis_fnc_getvirtualbackpackcargo 20:11:03 Attempt to override final function - mav_taxi_fnc_destinationreached 20:11:03 Attempt to override final function - bis_fnc_advhintcredits 20:11:03 Attempt to override final function - life_fnc_setupactions_meta 20:11:03 Attempt to override final function - ace_vector_fnc_getdistance 20:11:03 Attempt to override final function - life_fnc_ticketgive 20:11:03 Attempt to override final function - life_fnc_dooranimate 20:11:03 Attempt to override final function - life_fnc_buyhouse_meta 20:11:03 Attempt to override final function - cba_fnc_defaultparam 20:11:03 Attempt to override final function - ace_dragging_fnc_setdraggable 20:11:03 Attempt to override final function - ace_atragmx_fnc_toggle_muzzle_velocity_data 20:11:03 Attempt to override final function - ace_captives_fnc_canunloadcaptive 20:11:03 Attempt to override final function - life_fnc_vehicleshopmenu_meta 20:11:03 Attempt to override final function - ace_medical_menu_fnc_updatequickviewlog 20:11:03 Attempt to override final function - bis_fnc_aan 20:11:03 Attempt to override final function - bis_fnc_deletevehiclecrew 20:11:03 Attempt to override final function - mav_taxi_fnc_hintclickspam 20:11:03 Attempt to override final function - mav_gps_fnc_fetchsettings_meta 20:11:03 Attempt to override final function - ace_common_fnc_getpylonturret 20:11:03 Attempt to override final function - mav_gui_fnc_opengui_meta 20:11:03 Attempt to override final function - cba_fnc_getgroup 20:11:03 Attempt to override final function - life_fnc_copsiren3 20:11:03 Attempt to override final function - ace_medical_fnc_serverremovebody 20:11:03 Attempt to override final function - life_fnc_initciv_meta 20:11:03 Attempt to override final function - bis_fnc_typetext 20:11:03 Attempt to override final function - bis_fnc_camera_init 20:11:03 Attempt to override final function - life_fnc_revealobjects_meta 20:11:03 Attempt to override final function - ace_zeus_fnc_ui_attributeradius 20:11:03 Attempt to override final function - ace_backpacks_fnc_onopeninventory 20:11:03 Attempt to override final function - mav_taxi_fnc_settask_meta 20:11:03 Attempt to override final function - ace_interaction_fnc_getvehiclepos 20:11:03 Attempt to override final function - life_fnc_buylicense_meta 20:11:03 Attempt to override final function - bis_fnc_dbsymbolvalue 20:11:03 Attempt to override final function - cba_fnc_righttrim 20:11:03 Attempt to override final function - bis_fnc_initslidervalue 20:11:03 Attempt to override final function - ace_captives_fnc_handleanimchangedsurrendered 20:11:03 Attempt to override final function - ace_nightvision_fnc_setupdisplayeffects 20:11:03 Attempt to override final function - cba_fnc_addwaypoint 20:11:03 Attempt to override final function - bis_fnc_carrier01catapultactionremove 20:11:03 Attempt to override final function - bis_fnc_healing 20:11:03 Attempt to override final function - ace_vector_fnc_showdistance 20:11:03 Attempt to override final function - cba_xeh_fnc_getinman
und hier wäre noch ein tfar Fehler
Code20:11:59 Error in expression <}; if (!_set) then { _sw_frequencies = [TF_MAX_CHANNELS,TF_MAX_SW_FREQ,TF_MIN_SW> 20:11:59 Error position: <TF_MAX_CHANNELS,TF_MAX_SW_FREQ,TF_MIN_SW> 20:11:59 Error Undefined variable in expression: tf_max_channels 20:11:59 File task_force_radio\functions\fn_generateSwSettings.sqf [TFAR_fnc_generateSwSettings], line 38
-
Moin,
ich versuche gerade zu ermitteln in welchem Fahrzeug der Spieler sitzt. Ich habe es bereits mit vehicle player und objectParent player versucht. Das Ergebnis war, dass es bei Autos und Booten ohne Probleme funktioniert. Bei Helis und einigen Flugzeugen funktioniert es leider nicht und ich habe auch keine Idee mehr was ich probieren kann.
Die Logs zeigen folgende Auffälligkeiten bei den Fahrzeugen, die nicht funktionieren.
Code
Alles anzeigen23:10:48 Duplicate HitPoint name 'HitTurret' in 'I_Heli_Transport_02_F' 23:10:48 Duplicate HitPoint name 'HitGun' in 'I_Heli_Transport_02_F' 23:10:48 Duplicate HitPoint name 'HitTurret' in 'I_Heli_Transport_02_F' 23:10:48 Duplicate HitPoint name 'HitGun' in 'I_Heli_Transport_02_F' 23:11:43 "Player Vehicle: " 23:11:48 Duplicate weapon Throw detected for C_man_1 23:11:48 Duplicate weapon Put detected for C_man_1 23:14:30 Duplicate HitPoint name 'HitTurret' in 'B_Heli_Light_01_F' 23:14:30 Duplicate HitPoint name 'HitGun' in 'B_Heli_Light_01_F' 23:14:30 Duplicate HitPoint name 'HitTurret' in 'B_Heli_Light_01_F' 23:14:30 Duplicate HitPoint name 'HitGun' in 'B_Heli_Light_01_F' 23:14:30 Duplicate HitPoint name 'HitTurret' in 'B_Heli_Light_01_F' 23:14:30 Duplicate HitPoint name 'HitGun' in 'B_Heli_Light_01_F' 23:14:30 Duplicate HitPoint name 'HitTurret' in 'B_Heli_Light_01_F' 23:14:30 Duplicate HitPoint name 'HitGun' in 'B_Heli_Light_01_F' 23:14:30 Ref to nonnetwork object 1a8ef0fe040# 1818187: heli_light_01_f.p3d 23:14:30 Ref to nonnetwork object 1a8ef0fe040# 1818187: heli_light_01_f.p3d 23:14:30 Ref to nonnetwork object 1a8ef0fe040# 1818187: heli_light_01_f.p3d 23:14:30 Ref to nonnetwork object 1a8ef0fe040# 1818187: heli_light_01_f.p3d 23:14:30 Ref to nonnetwork object 1a8ef0fe040# 1818187: heli_light_01_f.p3d 23:14:30 Ref to nonnetwork object 1a8ef0fe040# 1818187: heli_light_01_f.p3d 23:14:30 Ref to nonnetwork object 1a8ef0fe040# 1818187: heli_light_01_f.p3d 23:14:30 Ref to nonnetwork object 1a8ef0fe040# 1818187: heli_light_01_f.p3d 23:15:03 Ref to nonnetwork object 1a76053e040# 1818195: heli_light_01_f.p3d 23:15:03 Ref to nonnetwork object 1a76053e040# 1818195: heli_light_01_f.p3d 23:15:03 Ref to nonnetwork object 1a76053e040# 1818195: heli_light_01_f.p3d 23:15:03 Ref to nonnetwork object 1a76053e040# 1818195: heli_light_01_f.p3d 23:15:03 Ref to nonnetwork object 1a76053e040# 1818195: heli_light_01_f.p3d 23:15:03 Ref to nonnetwork object 1a76053e040# 1818195: heli_light_01_f.p3d 23:15:03 Ref to nonnetwork object 1a76053e040# 1818195: heli_light_01_f.p3d 23:15:03 Ref to nonnetwork object 1a76053e040# 1818195: heli_light_01_f.p3d 23:15:13 Ref to nonnetwork object 1a866a14080# 1818201: heli_light_01_f.p3d 23:15:13 Ref to nonnetwork object 1a866a14080# 1818201: heli_light_01_f.p3d 23:15:13 Ref to nonnetwork object 1a866a14080# 1818201: heli_light_01_f.p3d 23:15:13 Ref to nonnetwork object 1a866a14080# 1818201: heli_light_01_f.p3d 23:15:13 Ref to nonnetwork object 1a866a14080# 1818201: heli_light_01_f.p3d 23:15:13 Ref to nonnetwork object 1a866a14080# 1818201: heli_light_01_f.p3d 23:15:13 Ref to nonnetwork object 1a866a14080# 1818201: heli_light_01_f.p3d 23:15:13 Ref to nonnetwork object 1a866a14080# 1818201: heli_light_01_f.p3d 23:16:25 "Player Vehicle: "
Also falls wer eine Idee hat kann diese gern mitteilen
.
Gruß,
moeck
-
so ich habe jetzt mal nur den civ teil aus der playerSkin genommen im unteren Bereich findest Du dann was du suchst
Code
Alles anzeigencase civilian: { if (LIFE_SETTINGS(getNumber,"civ_skins") isEqualTo 1) then { if (uniform player isEqualTo "U_C_Poloshirt_blue") then { player setObjectTextureGlobal [0, "textures\civilian_uniform_1.jpg"]; }; if (uniform player isEqualTo "U_C_Poloshirt_burgundy") then { player setObjectTextureGlobal [0, "textures\civilian_uniform_2.jpg"]; }; if (uniform player isEqualTo "U_C_Poloshirt_stripped") then { player setObjectTextureGlobal [0, "textures\civilian_uniform_3.jpg"]; }; if (uniform player isEqualTo "U_C_Poloshirt_tricolour") then { player setObjectTextureGlobal [0, "textures\civilian_uniform_4.jpg"]; }; if (uniform player isEqualTo "U_C_Poloshirt_salmon") then { player setObjectTextureGlobal [0, "textures\civilian_uniform_5.jpg"]; }; if (uniform player isEqualTo "U_C_Poloshirt_redwhite") then { player setObjectTextureGlobal [0, "textures\civilian_uniform_6.jpg"]; }; if (uniform player isEqualTo "U_C_Commoner1_1") then { player setObjectTextureGlobal [0, "textures\civilian_uniform_7.jpg"]; }; }; if (license_civ_clan1 && (uniform player isEqualTo "Classname_der Vorlage")) then { player setObjectTextureGlobal [0, "textures\clan1.jpg"]; } };
-
Moin,
also am einfachsten geht das mit einer Clan-Lizenz. Du legst in der Konfiguration einfach eine neue Ziv Lizenz an z.B. license_civ_clan1 anschliessend musst Du das noch Kleinigkeiten in der fn_playerSkin.sqf ändern, damit der Skin auch geladen wird. Natürlich musst Du die Skindatei in deiner Mission ablegen.
Gruß,
moeck
-
alles klar bei fragen weißt du ja wie du mich erreichst
-
-
Wichtiger wären hier die Clientlogs, da die Funktion auf dem Client ausgeführt wird. Achja und hänge bei Gelegenheit mal die fn_copInteractionMenu.sqf hier an. Dort ist das nämlich mit dem Eskortieren drin
-
Fehler sind keine mehr drin. Aber es spawnt an der Seite halt kein text mehr.
Also am eigentlichen Script habe ich nix geändert, ausser die Fehler ausgebaut
. Aber eigentlich ist das auch der falsche Thread dafür
. mache mal bitte einen neuen auf mit dem Script und den Logs
-
ok, cursorTarget funktioniert nicht mit allen Objekten und du darfst auch nur 3,5m von dem Objeckt wegstehen. Eventuell funzt das.
-
das ist aber komisch weil fehler sollten keine mehr drin sein
-
Moin,
also Skins bekommst Du nur per .paa (Arma format) oder jpg rein. PNGs funktionieren nicht. Die Skindateien musst Du dann aber entweder in den Mod mit reinpacken oder in deine Mission, das ist Dir überlassen. Die Fahrzeuge selbst musst Du dann natürlich auch noch konfigurieren und die Pfade zu den Sknidateien mit angeben.
Gruß,
moeck
-
Sorry, habe da was übersehen
, jetzt aber
C
Alles anzeigen/* File: fn_introtext.sqf Description: Willkommenstext by John Reese */ private _onScreenTime = 5; sleep 10; //Wartezeit nach joinen, bis Text eingeblendet wird private _role1 = "Willkommen bei TBG Dawn in Paradise"; private _role1names = ["Web: www.dawninparadise.de"]; // die Variable hat gefehlt. private _role2 = "Modifiziert durch"; private _role2names = ["TBG-DIP"]; private _role3 = "Besuche unsere Website"; private _role3names = ["www.terrorbrother.de"]; private _role4 = "Viel Spaß auf unserem Server,"; private _role4names = [profileName]; { sleep 2; _memberFunction = _x select 0; _memberNames = _x select 1; _finalText = format ["<t size='0.55' color='#FF0000' align='right'>%1<br /></t>", _memberFunction]; _finalText = _finalText + "<t size='0.70' color='#ffffff' align='right'>"; {_finalText = _finalText + format ["%1<br />", _x]} forEach _memberNames; _finalText = _finalText + "</t>"; _onScreenTime + (((count _memberNames) - 1) * 0.9); [ _finalText, [safezoneX + safezoneW - 0.8,0.50], //DEFAULT: 0.5,0.35 [safezoneY + safezoneH - 0.8,0.7], //DEFAULT: 0.8,0.7 _onScreenTime, 0.5 ] spawn BIS_fnc_dynamicText; sleep (_onScreenTime); } forEach [ //Die Liste kann man weiterführen mit den Rollennamen [_role1, _role1names], [_role2, _role2names], [_role3, _role3names], [_role4, _role4names] ];
-
Mal eine Frage, darf man das auch umschreiben? Falls nicht hier mal die korrigierte Version
C: fn_introtext.sqf
Alles anzeigen/* File: fn_introtext.sqf Description: Willkommenstext by John Reese */ private _onScreenTime = 5; sleep 10; //Wartezeit nach joinen, bis Text eingeblendet wird private _role1 = "Willkommen bei TBG Dawn in Paradise"; private _role1names = "was soll hier stehen?"; // die Variable hat gefehlt. private _role2 = "Modifiziert durch"; private _role2names = ["TBG-DIP"]; private _role3 = "Besuche unsere Website"; private _role3names = ["www.terrorbrother.de"]; private _role4 = "Viel Spaß auf unserem Server,"; private _role4names = [profileName]; { sleep 2; _memberFunction = _x select 0; _memberNames = _x select 1; _finalText = format ["<t size='0.55' color='#FF0000' align='right'>%1<br /></t>", _memberFunction]; _finalText = _finalText + "<t size='0.70' color='#ffffff' align='right'>"; {_finalText = _finalText + format ["%1<br />", _x]} forEach _memberNames; _finalText = _finalText + "</t>"; _onScreenTime + (((count _memberNames) - 1) * 0.9); [ _finalText, [safezoneX + safezoneW - 0.8,0.50], //DEFAULT: 0.5,0.35 [safezoneY + safezoneH - 0.8,0.7], //DEFAULT: 0.8,0.7 _onScreenTime, 0.5 ] spawn BIS_fnc_dynamicText; sleep (_onScreenTime); } forEach [ //Die Liste kann man weiterführen mit den Rollennamen [_role1, _role1names], [_role2, _role2names], [_role3, _role3names], [_role4, _role4names] ];
-
Ich habe jetzt nochmal genauer rein geschaut und bei den Häusern bekommst Du ebenfalls ein Problem. Daher hier nochmal der komplette Code
C: fn_requestReceived.sqf
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_requestReceived.sqf Author: Bryan "Tonic" Boardwine Description: Called by the server saying that we have a response so let's sort through the information, validate it and if all valid set the client up. */ private _count = count _this; life_session_tries = life_session_tries + 1; if (life_session_completed) exitWith {}; //Why did this get executed when the client already initialized? Fcking arma... if (life_session_tries > 3) exitWith {cutText[localize "STR_Session_Error","BLACK FADED"]; 0 cutFadeOut 999999999;}; 0 cutText [localize "STR_Session_Received","BLACK FADED"]; 0 cutFadeOut 9999999; //Error handling and junk.. if (isNil "_this") exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if (_this isEqualType "") exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if (count _this isEqualTo 0) exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if ((_this select 0) isEqualTo "Error") exitWith {[] call SOCK_fnc_insertPlayerInfo;}; if (!(getPlayerUID player isEqualTo (_this select 0))) exitWith {[] call SOCK_fnc_dataQuery;}; //Parse basic player information. CASH = parseNumber (_this select 2); BANK = parseNumber (_this select 3); life_bankingpin = parseNumber (_this select 16); CONST(life_adminlevel,(_this select 4)); if (LIFE_SETTINGS(getNumber,"donor_level") isEqualTo 1) then { CONST(life_donorlevel,(_this select 5)); } else { CONST(life_donorlevel,0); }; //Loop through licenses if (count (_this select 6) > 0) then { {missionNamespace setVariable [(_x select 0),(_x select 1)];} forEach (_this select 6); }; life_gear = _this select 8; [true] call life_fnc_loadGear; //Parse side specific information. switch (playerSide) do { case west: { CONST(life_coplevel,(_this select 7)); CONST(life_medicLevel,0); life_blacklisted = _this select 9; if (LIFE_SETTINGS(getNumber,"save_playerStats") isEqualTo 1) then { life_hunger = ((_this select 10) select 0); life_thirst = ((_this select 10) select 1); player setDamage ((_this select 10) select 2); }; }; case civilian: { life_is_arrested = _this select 7; CONST(life_coplevel, 0); CONST(life_medicLevel, 0); life_houses = _this select (_count - 4); if (LIFE_SETTINGS(getNumber,"save_playerStats") isEqualTo 1) then { life_hunger = ((_this select 9) select 0); life_thirst = ((_this select 9) select 1); player setDamage ((_this select 9) select 2); }; //Position if (LIFE_SETTINGS(getNumber,"save_civilian_position") isEqualTo 1) then { life_is_alive = _this select 10; life_civ_position = _this select 11; if (life_is_alive) then { if !(count life_civ_position isEqualTo 3) then {diag_log format ["[requestReceived] Bad position received. Data: %1",life_civ_position];life_is_alive =false;}; if (life_civ_position distance (getMarkerPos "respawn_civilian") < 300) then {life_is_alive = false;}; }; }; { _house = nearestObject [(call compile format ["%1",(_x select 0)]), "House"]; life_vehicles pushBack _house; } forEach life_houses; life_gangData = _this select (_count - 3); if (!(count life_gangData isEqualTo 0)) then { [] spawn life_fnc_initGang; }; [] spawn life_fnc_initHouses; }; case independent: { CONST(life_medicLevel,(_this select 7)); CONST(life_coplevel,0); if (LIFE_SETTINGS(getNumber,"save_playerStats") isEqualTo 1) then { life_hunger = ((_this select 9) select 0); life_thirst = ((_this select 9) select 1); player setDamage ((_this select 9) select 2); }; }; /*case east: { CONST(life_justizLevel,(_this select 7)); CONST(life_coplevel,0); if (LIFE_SETTINGS(getNumber,"save_playerStats") isEqualTo 1) then { life_hunger = ((_this select 9) select 0); life_thirst = ((_this select 9) select 1); player setDamage ((_this select 9) select 2); }; }; */ }; if (count (_this select (_count - 1)) > 0) then { {life_vehicles pushBack _x;} forEach (_this select (_count - 1)); }; life_session_completed = true;