Ah nice, vielen dank
Man lernt jeden Tag was neues
Beiträge von Azoni
-
-
Moin,
ich habe mich nun doch an die 4.X Version rangetraut und bin auch schon dabei einen Vehicle Shop + Skin anzeige zu scripten jedoch habe ich ein Problem, undzwar habe ich hier meine if Abfrage:
Wie drücke ich das in der 4.4 aus?
MfG Azoni -
Version?
Am besten wir klären das im privaten Chat, hier stört es glaube ich nur -
Wäre mir nicht bekannt
-
Bei mir läuft gerade hart xD
Habe das mit den Skins gerade hinbekommen, bin nur noch ein bisschen am testen was damit alles noch so geht deswegen wird das Tut wahrscheinlich erst die nächsten Tage kommen :)) -
Ja, habe ich zwar nicht getestet aber sollte eigentlich
-
So, da isses auch schon, das einzige was ihr beachten müsst ist, dass die functions.h nun functions.hpp heißt.
Hier die beiden Datein die ihr ersetzen müsst:
fn_vehicleShopMenu.sqfC: fn_vehicleShopMenu.sqf
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_vehicleShopMenu.sqf Author: Bryan "Tonic" Boardwine Description: Blah */ private["_shop","_sideCheck","_spawnPoints","_shopFlag","_shopTitle","_disableBuy"]; (SEL(_this,3)) params [ ["_shop","",[""]], ["_sideCheck",sideUnknown,[civilian]], ["_spawnPoints","",["",[]]], ["_shopFlag","",[""]], ["_shopTitle","",[""]], ["_disableBuy",false,[true]] ]; disableSerialization; //Long boring series of checks if(dialog) exitWith {}; if(_shop == "") exitWith {}; if(_sideCheck != sideUnknown && {playerSide != _sideCheck}) exitWith {hint localize "STR_Shop_Veh_NotAllowed"}; if(!createDialog "Life_Vehicle_Shop_v2") exitWith {}; life_veh_shop = [_shop,_spawnpoints,_shopFlag,_disableBuy]; //Store it so so other parts of the system can access it. ctrlSetText [2301,_shopTitle]; if(_disableBuy) then { //Disable the buy button. ctrlEnable [2309,false]; }; //Fetch the shop config. _vehicleList = M_CONFIG(getArray,"CarShops",_shop,"vehicles"); _control = CONTROL(2300,2302); lbClear _control; //Flush the list. ctrlShow [2330,false]; ctrlShow [2304,false]; // ::: NEW SHOP CAM ::: \\ _pos = [24262,18053,0]; _oldDir = getDir player; _oldPos = visiblePositionASL player; _light = "#lightpoint" createVehicleLocal [24262,18053,0]; _light setLightBrightness 1; _light setLightAmbient [1.0, 1.0, 1.0]; player setPosASL _pos; player setDir 90; {if(_x != player) then {_x hideObject true;};} foreach playableUnits; player switchMove ""; life_CarPreview = "Sign_Arrow_Yellow_F" createVehicleLocal (getPosATL player); life_CarPreview setPos (player modelToWorld [3,9,0]); life_CarPreview setDir ([life_CarPreview,player] call BIS_fnc_dirTo); life_CarPreview enableSimulation false; life_CarCAMPreview = "CAMERA" camCreate getPos player; showCinemaBorder false; life_CarCAMPreview cameraEffect ["Internal","Back"]; life_CarCAMPreview camSetTarget (life_CarPreview modelToWorld [3,0,0]); life_CarCAMPreview camSetPos (player modelToWorld [1,0,5]); life_CarCAMPreview camSetFovRange [0.1,0.7]; life_CarCAMPreview camSetFocus [50,0]; life_CarCAMPreview camCommit 0; //Loop through { _className = SEL(_x,0); _basePrice = SEL(_x,1); _levelAssert = SEL(_x,3); _levelName = SEL(_levelAssert,0); _levelType = SEL(_levelAssert,1); _levelValue = SEL(_levelAssert,2); _showall = true; if(!(EQUAL(_levelValue,-1))) then { _level = GVAR_MNS _levelName; if(typeName _level == typeName {}) then {_level = FETCH_CONST(_level);}; _showall = switch(_levelType) do { case "SCALAR": {_level >= _levelValue}; case "BOOL": {_level}; case "EQUAL": {EQUAL(_level,_levelValue)}; default {false}; }; }; if(_showall) then { _vehicleInfo = [_className] call life_fnc_fetchVehInfo; _control lbAdd (_vehicleInfo select 3); _control lbSetPicture [(lbSize _control)-1,(_vehicleInfo select 2)]; _control lbSetData [(lbSize _control)-1,_className]; _control lbSetValue [(lbSize _control)-1,_ForEachIndex]; }; } foreach _vehicleList; waitUntil {isNull (findDisplay 2300)}; {if(_x != player) then {_x hideObject false;};} foreach playableUnits; player setPosASL _oldPos; player setDir _oldDir; {deleteVehicle _x;} foreach [_light]; life_CarCAMPreview cameraEffect ["TERMINATE","BACK"]; camDestroy life_CarCAMPreview; if((!isNil "life_CarPreview") AND (!isNull life_CarPreview)) then{ deleteVehicle life_CarPreview; };
und in die fn_vehicleShopLBCange.sqf:
C: fn_vehicleShopLBChange.sqf
Alles anzeigen#include "..\..\script_macros.hpp" /* File: fn_vehicleShopLBChange.sqf Author: Bryan "Tonic" Boardwine Description: Called when a new selection is made in the list box and displays various bits of information about the vehicle. */ disableSerialization; private["_control","_index","_className","_classNameLife","_basePrice","_vehicleInfo","_colorArray","_ctrl"]; _control = _this select 0; _index = _this select 1; //Fetch some information. _className = _control lbData _index; _classNameLife = _className; _vIndex = _control lbValue _index; _vehicleList = M_CONFIG(getArray,"CarShops",SEL(life_veh_shop,0),"vehicles"); _basePrice = SEL(SEL(_vehicleList,_vIndex),1); _vehicleInfo = [_className] call life_fnc_fetchVehInfo; _trunkSpace = [_className] call life_fnc_vehicleWeightCfg; ctrlShow [2330,true]; (CONTROL(2300,2303)) ctrlSetStructuredText parseText format[ (localize "STR_Shop_Veh_UI_Rental")+ " <t color='#8cff9b'>$%1</t><br/>" + (localize "STR_Shop_Veh_UI_Ownership")+ " <t color='#8cff9b'>$%2</t><br/>" + (localize "STR_Shop_Veh_UI_MaxSpeed")+ " %3 km/h<br/>" + (localize "STR_Shop_Veh_UI_HPower")+ " %4<br/>" + (localize "STR_Shop_Veh_UI_PSeats")+ " %5<br/>" + (localize "STR_Shop_Veh_UI_Trunk")+ " %6<br/>" + (localize "STR_Shop_Veh_UI_Fuel")+ " %7l<br/>" + (localize "STR_Shop_Veh_UI_Armor")+ " %8", [_basePrice] call life_fnc_numberText, [round(_basePrice * 1.5)] call life_fnc_numberText, _vehicleInfo select 8, _vehicleInfo select 11, _vehicleInfo select 10, if(_trunkSpace == -1) then {"None"} else {_trunkSpace}, _vehicleInfo select 12, _vehicleInfo select 9 ]; if((!isNil "life_CarPreview") AND (!isNull life_CarPreview)) then{ deleteVehicle life_CarPreview; }; life_CarPreview = _className createVehicleLocal (getPosATL player); life_CarPreview setPos (player modelToWorld [3,9,0]); life_CarPreview setDir ([life_CarPreview,player] call BIS_fnc_dirTo); life_CarPreview enableSimulation false; [life_CarPreview] spawn life_fnc_vehicleRotate; life_CarCAMPreview = "CAMERA" camCreate getPos player; showCinemaBorder false; life_CarCAMPreview cameraEffect ["Internal","Back"]; life_CarCAMPreview camSetTarget (life_CarPreview modelToWorld [3,0,0]); life_CarCAMPreview camSetPos (player modelToWorld [1,0,5]); life_CarCAMPreview camSetFovRange [0.1,0.7]; life_CarCAMPreview camSetFocus [50,0]; life_CarCAMPreview camCommit 0; _ctrl = CONTROL(2300,2304); lbClear _ctrl; if(!isClass (missionConfigFile >> CONFIG_LIFE_VEHICLES >> _classNameLife)) then { _classNameLife = "Default"; //Use Default class if it doesn't exist diag_log format["%1: LifeCfgVehicles class doesn't exist",_className]; }; _colorArray = M_CONFIG(getArray,CONFIG_LIFE_VEHICLES,_classNameLife,"textures"); { _flag = SEL(_x,1); _textureName = SEL(_x,0); if(EQUAL(SEL(life_veh_shop,2),_flag)) then { _ctrl lbAdd _textureName; _ctrl lbSetValue [(lbSize _ctrl)-1,_forEachIndex]; }; } foreach _colorArray; if(_className in (LIFE_SETTINGS(getArray,"vehicleShop_rentalOnly"))) then { ctrlEnable [2309,false]; } else { if(!(life_veh_shop select 3)) then { ctrlEnable [2309,true]; }; }; lbSetCurSel[2304,0]; if((lbSize _ctrl)-1 != -1) then { ctrlShow[2304,true]; } else { ctrlShow[2304,false]; }; true;
Viel Spaß damit
MfG Azoni -
Ist hinzugefügt
Wenn du es genau so hast würde ich dich bitten die RPTs anzuhängen -
Moin,
ich wette mal es liegt daran, dass ich die Position der if Abfrage ein bisschen schlecht erklärt habe.
Ich werde den Thread nachher noch einmal überarbeiten.
MfG Azoni -
Ich habe es soeben geschafft das Script auf die 4.4 umzuschreiben. Ich werde morgen ein Tut dazu zu veröffentlichen
Gute Nacht Azoni -
Moin,
in diesem Tut zeige ich euch wie ihr die ACE Items nach dem Kauf auch bekommt.
Als erstes öffnet ihr eure core/functions/fn_handleItem.sqf
Danach fügt ihr in der private[]; ein
hinzu.Nun fügt ihr unter den ganzen Definierungen der Variablen den _acecheck Array hinzu:
in diesem Array fügt ihr eure ACE Items hinzu, welche ihr kaufbar machen wollt.Zu guter letzt sucht ihr nach
und fügt unter der if Abfrage eine neue Abfrage hinzu:
das wars auch schon
Das Tut für 4.X Versionen folgt!MfG Azoni
-
-
Danke hat funktioniert
-
Weiß jemand wie ich Schritt 1 mit Navicat Pro mache?
-
Moin,
Bei der 4.4 sieht dann der 1. Schritt anders aus oder?
Weil bei mir gibt es die class nicht :o
MfG Azoni -
Das Problem ist leider, dass alle so angezeigt werden.
Ich bin jetzt aber auf die 4.4 umgestiegen und die Entscheidung war nicht leicht#close
-
-
Moin,
ich habe das Problem, dass sowie ein String aus der Stringtable, zB im Chat, aufgerufen wird kommt da STR_NAME_DES_STRINGS. Ist das ein Fehler in der Stringtable oder kann der Fehler auch durch einen Script hervorgerufen werden?
MfG Azoni -
@ddosantos
möchtest du sie mit uns teilen oder ist sie so geheim und toll das es nicht möglich ist? -