- Logdateien zur Fehleranalyse
- Nein, ich habe keine Logdateien hochgeladen
Hallo zusammen,
ich verzweifel leider langsam an einer Sache.
Erstmal das was ich überhaupt umsetzen möchte:
Ich möchte, dass man der Luftrettung beitreten und wieder austreten kann (wegen Uniform Wechsel). Dies habe ich mit einer Lizenz gelöst.
Die Lizenz kaufen etc. funktioniert auch wunderbar, das mit der Kleidung auch.
Jedoch möchte das man die Lizenz wieder "weggeben" kann.
Ich habe dafür extra zwei "neue" Skripte geschrieben (einfach nochmal das fn_buyLicense Skript angepasst).
Spoiler anzeigen
#include "..\..\script_macros.hpp"
/*
File: fn_buyLicense.sqf
Author: Bryan "Tonic" Boardwine
Description:
Called when purchasing a license. May need to be revised.
*/
private ["_type","_varName","_displayName","_sideFlag","_price"];
_type = _this select 3;
if (!isClass (missionConfigFile >> "Licenses" >> _type)) exitWith {}; //Bad entry?
_displayName = M_CONFIG(getText,"Licenses",_type,"displayName");
_price = M_CONFIG(getNumber,"Licenses",_type,"price");
_sideFlag = M_CONFIG(getText,"Licenses",_type,"side");
_varName = LICENSE_VARNAME(_type,_sideFlag);
[0] call SOCK_fnc_updatePartial;
titleText[format [localize "STR_NOTF_B_1", localize _displayName,[_price] call life_fnc_numberText],"PLAIN"];
missionNamespace setVariable [_varName,false]; // bei dem anderen ist hier entsprechend ein true
// Versuch, ob damit der Button da bleibt. Spoiler: Erfolglos
switch(_type) do {
case "luftrettung_active": {license_med_luftrettung_active = true};
default{};
};
[2] call SOCK_fnc_updatePartial;
Alles anzeigen
Hier noch die Einbindung in die Mission.sqm
Spoiler anzeigen
init="this enableSimulation false; this allowDamage false; this addAction[format [""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""luftrettung_active"" >> ""revokeName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""luftrettung_active"" >> ""price""))] call life_fnc_numberText],life_fnc_revokeLuftrettung,""luftrettung_active"",0,false,true,"""",' !license_med_luftrettung_active && playerSide isEqualTo independent ',5]; this addAction[format [""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""luftrettung_active"" >> ""buyName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""luftrettung_active"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""luftrettung_active"",0,false,true,"""",' !license_med_luftrettung_active && playerSide isEqualTo independent ',5]; this addAction[format [""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""mAir"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""mAir"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""mAir"",0,false,false,"""",' !license_med_mAir && playerSide isEqualTo independent ',5]; this addAction[localize""STR_MAR_EMS_Item_Shop"",life_fnc_weaponShopMenu,""med_basic"",1.5,true,true,"""",""true"",5]; this addAction[localize""STR_MAR_EMS_Clothing_Shop"",life_fnc_clothingMenu,""med_clothing"",1.5,true,true,"""",""true"",5]; this addAction[localize""STR_MAR_W_E_Vehicle Shop"",life_fnc_vehicleShopMenu,[""med_shop"",independent,""med_car_1"",""med"",""Kavala Hospital""],1.5,true,true,"""",""true"",5]; this addAction[localize""STR_MAR_Helicopter_Shop"", life_fnc_vehicleShopMenu,[""med_air_hs"",independent,""medic_spawn_1"",""med"",""Kavala Hospital""],1.5,true,true,"""",""true"",5]; this addAction[localize""STR_MAR_W_Car_Garage"", { if (life_HC_isActive) then { [getPlayerUID player,playerSide,""Car"",player] remoteExecCall [""HC_fnc_getVehicles"",HC_Life]; } else { [getPlayerUID player,playerSide,""Car"",player] remoteExecCall [""TON_fnc_getVehicles"",2];}; createDialog ""Life_impound_menu""; disableSerialization; ctrlSetText[2802,""Fetching Vehicles....""]; life_garage_sp = ""med_car_1""; life_garage_type = ""Car""; },"""",0,false,false,"""",'playerSide isEqualTo independent',5]; this addAction[localize""STR_MAR_Helicopter_Garage"", { if (life_HC_isActive) then { [getPlayerUID player,playerSide,""Air"",player] remoteExecCall [""HC_fnc_getVehicles"",HC_Life]; } else { [getPlayerUID player,playerSide,""Air"",player] remoteExecCall [""TON_fnc_getVehicles"",2];}; createDialog ""Life_impound_menu""; disableSerialization; ctrlSetText[2802,""Fetching Vehicles....""]; life_garage_sp = ""medic_spawn_1""; life_garage_type = ""Air""; },"""",0,false,false,"""",'playerSide isEqualTo independent ',5]; this addAction[localize""STR_MAR_Store_vehicle_in_Garage"",life_fnc_storeVehicle,"""",0,false,false,"""",'!life_garage_store',5]; this addAction[localize""STR_Shops_Market"",life_fnc_virt_menu,""med_market"",1.5,false,false,"""",' isNull objectParent player && player distance _target < 5 && playerSide isEqualTo independent ',5]; this setObjectTextureGlobal [0,""textures\medic_uniform.jpg""];";
Nun zu meiner eigentlichen Frage:
Irgendwo wird abgefragt, ob eine Lizenz vorhanden ist und dann der entsprechende BuyButton ausgeblendet. Kann mir jemand diese Datei nennen, wo dies erfolgt?
Oder hat jemand einen ganz anderen Ansatz um das oben genannte Problem zu lösen (eventuell keine Lizenz sondern eine andere in der DB gespeicherte Variable)?
Ich bin gerne offen für Vorschläge und Lösungen.
Liebe Grüße
Gismo
PS: ich bin nicht der beste im SQF, ich fange gerade erst damit an