hallo br1zey,
ich kann zwar die config auslesen, habe aber noch keine Möglichkeit gefunden die config zu bearbeiten. Die Config habe ich im Eden Editor ausgelesen, nur wo bearbeite ich die config, der Mod ist cryptet, komm also an die config nicht ohne weiteres ran.
Gruß
Beiträge von tesafilm95
-
-
-
Hallo,
ich habe ein ähnliches Problem. Ich möchte das "Land_Commonwealthbank" - Gebäude ebenfalls nutzen. Wie schaffe ich es, dass die "Vault_Door" als einzigste Tür geschlossen ist. Ich verzweifle gerade ein bisschen, da mir tendentiell der Ansatz fehlt.Paar Infos vorab: Nutze Tanoa mit der 4.4R4, 32-Bit extdb2 auf Windows. Sowohl Client-, als auch RPT-Logs sind absolut sauber.
Aus der Config des Gebäudes lese ichSpoiler anzeigen
beide "Varianten" Leihenhaft eingebaut, doch momentan sind alle Türen verschlossen: Codeschnipsel aus der Life_Server/init.sqf:
Spoiler anzeigen
C: init.sqf
Alles anzeigen/* Setup the federal reserve building(s) */ private _vaultHouse = [[["Altis", "Land_Research_house_V1_F"], ["Tanoa", "Land_CommonwealthBank"]]] call TON_fnc_terrainSort; private _altisArray = [16019.5,16952.9,0]; private _tanoaArray = [5390.33,3958.77,6.39275]; private _pos = [[["Altis", _altisArray], ["Tanoa", _tanoaArray]]] call TON_fnc_terrainSort; _dome = nearestObject [_pos,"Land_Dome_Big_F"]; _rsb = nearestObject [_pos,_vaultHouse]; for "_i" from 1 to 3 do {_dome setVariable [format ["bis_disabled_Door_%1",_i],1,true]; _dome animate [format ["Door_%1_rot",_i],0];}; _dome setVariable ["locked",true,true]; //_rsb setVariable ["locked",true,true]; Nur auskommentiert um auszuschließen, dass dadurch nicht alle Türen verschlossen sind. _rsb animate [""Vault_Door"",0]; _dome allowDamage false; _rsb allowDamage false;
Der Dome wird nicht genutzt, werde ich bei Gelegenheit auskommentieren.
Gruß
tesafilm95
-
Hallo zusammen,
ich würde unseren Medics/ADAC'lern gern die Möglichkeit geben Fahrzeuge zu löschen. Hatte auf nem früheren Server schon die Möglichkeit und fand die sehr sinnvoll.
Ich habe als Grundlage (1. Versuch) die impoundAction.sqf als Grundlage hergenommen und abgeändert.fn_vehicleRemove.sqf
C
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_vehicleRemove.sqf Author: Bryan "Tonic" Boardwine Description: Impounds the vehicle */ private ["_vehicle","_type","_time","_value","_vehicleData","_upp","_ui","_progress","_pgText","_cP","_filters","_impoundValue","_price","_impoundMultiplier"]; _vehicle = param [0,objNull,[objNull]]; _filters = ["Car","Air","Ship"]; if (!((KINDOF_ARRAY(_vehicle,_filters)))) exitWith {}; if (player distance cursorObject > 10) exitWith {}; //if (_vehicle getVariable "NPC") exitWith {hint localize "STR_NPC_Protected"}; _vehicleData = _vehicle getVariable ["vehicle_info_owners",[]]; if (_vehicleData isEqualTo 0) exitWith {deleteVehicle _vehicle}; //Bad vehicle. _vehicleName = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _vehicle),"displayName"); _price = M_CONFIG(getNumber,"LifeCfgVehicles",(typeOf _vehicle),"price"); [0,"STR_NOTF_BeingImpounded",true,[((_vehicleData select 0) select 1),_vehicleName]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; life_action_inUse = true; _upp = localize "STR_NOTF_Impounding"; //Setup our progress bar. disableSerialization; "progressBar" cutRsc ["life_progress","PLAIN"]; _ui = uiNamespace getVariable "life_progress"; _progress = _ui displayCtrl 38201; _pgText = _ui displayCtrl 38202; _pgText ctrlSetText format ["%2 (1%1)...","%",_upp]; _progress progressSetPosition 0.01; _cP = 0.01; for "_i" from 0 to 1 step 0 do { sleep 0.09; _cP = _cP + 0.01; _progress progressSetPosition _cP; _pgText ctrlSetText format ["%3 (%1%2)...",round(_cP * 100),"%",_upp]; if (_cP >= 1) exitWith {}; if (player distance _vehicle > 10) exitWith {}; if (!alive player) exitWith {}; }; "progressBar" cutText ["","PLAIN"]; if (player distance _vehicle > 10) exitWith {hint localize "STR_NOTF_ImpoundingCancelled"; life_action_inUse = false;}; if (!alive player) exitWith {life_action_inUse = false;}; if (count crew _vehicle isEqualTo 0) then { if (!(KINDOF_ARRAY(_vehicle,_filters))) exitWith {life_action_inUse = false;}; _type = FETCH_CONFIG2(getText,"CfgVehicles",(typeOf _vehicle),"displayName"); life_impound_inuse = true; [_vehicle,player] remoteExec ["TON_fnc_vehicleDelete",RSERV]; waitUntil {!life_impound_inuse}; } else { hint localize "STR_NOTF_DeletingCancelled"; }; /* if (life_HC_isActive) then { [_vehicle,true,player] remoteExec ["HC_fnc_vehicleDelete",HC_Life]; } else { [_vehicle,true,player] remoteExec ["TON_fnc_vehicleDelete",RSERV]; }; waitUntil {!life_impound_inuse}; if (playerSide isEqualTo west) then { _impoundMultiplier = LIFE_SETTINGS(getNumber,"vehicle_cop_impound_multiplier"); _value = _price * _impoundMultiplier; [0,"STR_NOTF_HasImpounded",true,[profileName,((_vehicleData select 0) select 1),_vehicleName]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; if (_vehicle in life_vehicles) then { hint format [localize "STR_NOTF_OwnImpounded",[_value] call life_fnc_numberText,_type]; BANK = BANK - _value; } else { hint format [localize "STR_NOTF_Impounded",_type,[_value] call life_fnc_numberText]; BANK = BANK + _value; }; if (BANK < 0) then {BANK = 0;}; [1] call SOCK_fnc_updatePartial; }; } else { hint localize "STR_NOTF_ImpoundingCancelled"; }; */ life_action_inUse = false;
Ich habe die Strings in der Stringtable noch nicht angepasst bzw. Auch der "Entlohnungspart" ist aktuell irrelevant.
Meine Grundlage für das Skript ist meine alte 4.0er Version leider jedoch auf extDB 1.fn_removeVehicle.sqf
C
Alles anzeigen#include <macro.h> /* File: fn_removeAction.sqf Author: Bryan "Tonic" Boardwine Edited. Description: Removes the vehicle */ private["_vehicle","_type","_price","_vehicleData","_upp","_ui","_progress","_pgText","_cP","_filters", "_aliveunits"]; _vehicle = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param; _filters = ["Car","Air","Ship"]; if(!((KINDOF_ARRAY(_vehicle,_filters)))) exitWith {}; if(player distance cursorTarget > 10) exitWith {}; _vehicleData = _vehicle GVAR ["vehicle_info_owners",[]]; if(count _vehicleData == 0) exitWith {deleteVehicle _vehicle}; //Bad vehicle. _vehicleName = FETCH_CONFIG2(getText,CONFIG_VEHICLES,(typeOf _vehicle),"displayName"); [[0,"STR_NOTF_BeingDeleted",true,[SEL(SEL(_vehicleData,0),1),_vehicleName]],"life_fnc_broadcast",true,false] call life_fnc_MP; life_action_inUse = true; _upp = localize "STR_NOTF_Deleting"; //Setup our progress bar. disableSerialization; 5 cutRsc ["life_progress","PLAIN"]; _ui = GVAR_UINS "life_progress"; _progress = _ui displayCtrl 38201; _pgText = _ui displayCtrl 38202; _pgText ctrlSetText format["%2 (1%1)...","%",_upp]; _progress progressSetPosition 0.01; _cP = 0.01; while{true} do { sleep 0.09; _cP = _cP + 0.01; _progress progressSetPosition _cP; _pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_upp]; if(_cP >= 1) exitWith {}; if(player distance _vehicle > 10) exitWith {}; if(!alive player) exitWith {}; }; 5 cutText ["","PLAIN"]; if(player distance _vehicle > 10) exitWith {hint localize "STR_NOTF_DeletingCancelled"; life_action_inUse = false;}; if(!alive player) exitWith {life_action_inUse = false;}; _aliveunits = {(alive _x)} count (crew _vehicle); if(_aliveunits == 0) then { if(!(KINDOF_ARRAY(_vehicle,_filters))) exitWith {life_action_inUse = false;}; _type = FETCH_CONFIG2(getText,CONFIG_VEHICLES,(typeOf _vehicle),"displayName"); switch (true) do { case (_vehicle isKindOf "Car"): {_price = LIFE_SETTINGS(getNumber,"impound_car");}; case (_vehicle isKindOf "Ship"): {_price = LIFE_SETTINGS(getNumber,"impound_boat");}; case (_vehicle isKindOf "Air"): {_price = LIFE_SETTINGS(getNumber,"impound_air");}; }; life_impound_inuse = true; [[_vehicle,player],"TON_fnc_vehicleRemove",false,false] call life_fnc_MP; waitUntil {!life_impound_inuse}; hint format[localize "STR_NOTF_Deleted",_type,_price]; [[0,"STR_NOTF_HasDeleted",true,[profileName,SEL(SEL(_vehicleData,0),1),_vehicleName]],"life_fnc_broadcast",true,false] call life_fnc_MP; ADD(BANK,_price); } else { hint localize "STR_NOTF_DeletingCancelled"; }; life_action_inUse = false;
Fahrzeuglöschen wird im Vehicle Interaktionsmenü dargestellt und ist ausgegraut bis das Fahrzeug Schaden hat (anderes Problem). Sobald das Fahrzeug beschädigt ist, kann ich das Fahrzeug "löschen". Der
Fortschrittsbalken wird Ordnungsgemäß angezeigt (abgesehn, davon dass impounden drinsteht). Nur wird das Fahrzeug weder von der Map gelöscht noch in der Datenbank.
Alle Logs sind komplett fehlerfrei! Sowohl extDB 2, als auch Client- bzw RPT-Log.
Gruß
tesafilm95 -
Hallo zusammen,
habe endlich die Zeit gefunden um mich damit zu beschäftigen.Nun habe ich die Datenbank um die drei Spalten "copID", "copName" und "copUpdate" erweitert. Sobald eine Straftat der Liste hinzugefügt wird, lasse ich vorübergehend bei der "copID" ein paar Zahlen und beim "copName" "System" eintragen. "copUpdate" wird automatisch mit der letzten Änderung aktualisiert.
Soweit so gut, noch kein Problem.
Nun möchte ich als Cop jemand von der Fahndungsliste streichen. Schaue ich in die Datenbank und es leert mir die "copID" und bei "copName" steht "Error: No vehicle"
Code: wandtedremove.sqf
Alles anzeigen/* File: fn_wantedRemove.sqf Author: Bryan "Tonic" Boardwine" Database Persistence By: ColinM Assistance by: Paronity Stress Tests by: Midgetgrimm Description: Removes a person from the wanted list. */ private _uid = param [0,"",[""]]; private _target = param [1,objNull,[objNull]]; private ["_pid", "_fromName"]; _pid = getPlayerUID _target; _fromName = name _target; if (_uid isEqualTo "") exitWith {}; //Bad data private _query = format ["UPDATE wanted SET active = '0', wantedCrimes = '[]', wantedBounty = 0, copID = '%1', copName = '%2' WHERE wantedID='%3'",_pid,_fromName,_uid]; [_query,2] call DB_fnc_asyncCall;
Aus Erfahrung weiß ich, dass es eine Kleinigkeit sein muss, aber ich sehe es nicht. Kann mir jemand helfen?
[lexicon]ExtDB[/lexicon] 2 Log absolut kein Eintrag für einen Fehler. RPT-File und Clientlog unauffällig.
Gruß
tesafilm95 -
Jo danke für eure Hilfe und eure Tipps,
werd mich die nächsten Tage mal ransetzen, wenns klappt werde ich das hiet posten.
Gruß
tesafilm95 -
Hallo,
ja die WantedListe ist bei uns permanent. Erst nach Strafzettel, Gefängnis, Tod durch Cop oder eben "WantedRemove" werden die Tatbestände entfernt. Deshalb ist es für uns ja so interessant.
@0xBADC0DED wollte nur wissen, ob es gleich von vornherein als "Geht nicht" abgestempelt wird.
Gruß
tesafilm95 -
Hallo Leute,
Ich hoffe das Thema ist nicht schon eröffnet worden.
Momentan wird in der Wanted-Liste die "wantedID", "wantedName", "wantedCrimes", "wantedBounty", "active", "insert_time" gespeichert. Nun würde ich gerne die Datenbank um eine Spalte "wantedRemove" erweitern, in der die ID des Cops gespeichert wird, der den Spieler von der Liste genommen hat.Sinn und Zweck: Es soll beobachtet werden können ob ein Spieler übermäßig viele Leute von der Wanted-Liste nimmt.
Ist dies eurer Meinung nach Möglich oder eher unpraktiabel.
Gruß tesafilm95