[lexicon]extdb[/lexicon] log?
Beiträge von Risk
-
-
hi
Die idee mit der garage find ich Super aber iwie krieg ich da ne fehler meldung wo ich grad ned weis wie ich die weg krieg
wäre sau nett wenn du dir das mal anschaun kannstMfG Tashin1988
vllt was verändert?
-
Hab es mal zum Garagendialog hinzugefügt...
diesen müsst ihr allerdings abändern.impound.hpp
Spoiler anzeigen
Code
Alles anzeigenclass Life_impound_menu { idd = 2800; name="life_vehicle_shop"; movingEnabled = 0; enableSimulation = 1; onLoad = "ctrlShow [2330,false];"; class controlsBackground { class garage_Header: Life_RscText { idc = -1; text = "Garage"; x = 0.04375 * safezoneW + safezoneX; y = 0.182252 * safezoneH + safezoneY; w = 0.582812 * safezoneW; h = 0.030555 * safezoneH; ColorBackground[] = {0,0,0,1}; ColorText[] = {1,1,1,1}; font = TahomaB; SizeEx = 0.035; }; class background_info: Life_RscText { idc = -1; text = ""; x = 0.363020 * safezoneW + safezoneX; y = 0.219752 * safezoneH + safezoneY; w = 0.263541 * safezoneW; h = 0.614814 * safezoneH; ColorBackground[] = {0,0,0,0.705882}; ColorText[] = {1,1,1,1}; font = TahomaB; SizeEx = 0.035; }; class CloseBtn : Life_RscButtonMenu { idc = -1; text = "X"; onButtonClick = "closeDialog 0;"; x = 0.043229 * safezoneW + safezoneX; y = 0.797530 * safezoneH + safezoneY; w = 0.057291 * safezoneW; h = 0.037037 * safezoneH; ColorBackground[] = {0,0,0,0.627450}; ColorText[] = {1,1,1,1}; font = TahomaB; SizeEx = 0.4; colorFocused[] = {0,0,0,1}; colorDisabled[] = {0,0,0,1}; }; class RentCar : Life_RscButtonMenu { idc = -1; text = "$STR_Global_Retrieve"; onButtonClick = "[] call life_fnc_unimpound;"; x = 0.103645 * safezoneW + safezoneX; y = 0.797530 * safezoneH + safezoneY; w = 0.125 * safezoneW; h = 0.037037 * safezoneH; ColorBackground[] = {0,0,0,0.627450}; ColorText[] = {1,1,1,1}; font = TahomaB; SizeEx = 0.4; colorFocused[] = {0,0,0,1}; colorDisabled[] = {0,0,0,1}; }; class BuyCar : life_RscButtonMenu { idc = -1; text = "$STR_Global_Sell"; onButtonClick = "[] call life_fnc_sellGarage;"; x = 0.232812 * safezoneW + safezoneX; y = 0.797530 * safezoneH + safezoneY; w = 0.125 * safezoneW; h = 0.037037 * safezoneH; ColorBackground[] = {0,0,0,0.627450}; ColorText[] = {1,1,1,1}; font = TahomaB; SizeEx = 0.4; colorFocused[] = {0,0,0,1}; colorDisabled[] = {0,0,0,1}; }; }; class controls { class VehicleList : Life_RscListBox { idc = 2802; text = ""; onLBSelChanged = "_this call life_fnc_garageLBChange;"; x = 0.04375 * safezoneW + safezoneX; y = 0.219752 * safezoneH + safezoneY; w = 0.314062 * safezoneW; h = 0.572222 * safezoneH; ColorBackground[] = {0,0,0,0.705882}; ColorText[] = {1,1,1,1}; font = TahomaB; SizeEx = 0.035; colorSelectBackground[] = {0,0,0,1}; colorSelect[] = {0,0,0,1}; }; class vehicleInfomationList : Life_RscStructuredText { idc = 2803; text = ""; x = 0.363020 * safezoneW + safezoneX; y = 0.219752 * safezoneH + safezoneY; w = 0.263541 * safezoneW; h = 0.614814 * safezoneH; ColorBackground[] = {0,0,0,0.705882}; ColorText[] = {1,1,1,1}; font = TahomaB; SizeEx = 0.4; }; }; };
fn_impoundMenu.sqf
Spoiler anzeigen
Code
Alles anzeigen#include <macro.h> /* File: fn_impoundMenu.sqf Author: Bryan "Tonic" Boardwine Description: Not actually a impound menu, may act as confusion to some but that is what I wanted. The purpose of this menu is it is now called a 'Garage' where vehicles are stored (persistent ones). */ private["_vehicles","_control"]; disableSerialization; _vehicles = [_this,0,[],[[]]] call BIS_fnc_param; ctrlShow[2803,false]; ctrlShow[2830,false]; waitUntil {!isNull (findDisplay 2800)}; if(count _vehicles == 0) exitWith { ctrlSetText[2811,localize "STR_Garage_NoVehicles"]; }; _control = ((findDisplay 2800) displayCtrl 2802); lbClear _control; { _vehicleInfo = [_x select 2] call life_fnc_fetchVehInfo; _control lbAdd (_vehicleInfo select 3); _tmp = [_x select 2,_x select 8,_x select 9/*fuelstand*/,_x select 10/*HitBody*/,_x select 11/*HitEngine*/,_x select 12/*HitFuel*/,_x select 13/*HitLFWheel*/,_x select 14/*HitRFWheel*/,_x select 15/*HitLF2Wheel*/,_x select 16/*HitRF2Wheel*/,_x select 17/*HitLMWheel*/,_x select 18/*HitRMWheel*/,_x select 19/*HitLBWheel*/,_x select 20/*HitRBWheel*/]; _tmp = str(_tmp); _control lbSetData [(lbSize _control)-1,_tmp]; _control lbSetPicture [(lbSize _control)-1,_vehicleInfo select 2]; _control lbSetValue [(lbSize _control)-1,_x select 0]; } foreach _vehicles; ctrlShow[2810,false]; ctrlShow[2811,false]; /* { _displayName = getText(configFile >> "CfgVehicles" >> (_x select 2) >> "displayName"); _picture = getText(configFile >> "CfgVehicles" >> (_x select 2) >> "picture"); _price = [_x select 2,__GETC__(life_garage_prices)] call TON_fnc_index; _sPrice = [_x select 2,__GETC__(life_garage_sell)] call TON_fnc_index; if(_price == -1) then {_price = 1000;} else {_price = (__GETC__(life_garage_prices) select _price) select 1;}; if(_sPrice == -1) then {_sPrice = 1500;} else {_sPrice = (__GETC__(life_garage_sell) select _sPrice) select 1;}; _control lbAdd format["%1 - %4 Fee: $%2 || %5: $%3", _displayName,[_price] call life_fnc_numberText,[_sPrice] call life_fnc_numberText,localize "STR_Garage_SFee",localize "STR_Garage_SellPrice"]; _control lbSetData [(lbSize _control)-1,(_x select 2)]; _control lbSetValue [(lbSize _control)-1,(call compile format["%1", _x select 0])]; _control lbSetPicture [(lbSize _control)-1,_picture]; } foreach _vehicles; */
fn_garageLBChange
Spoiler anzeigen
Code
Alles anzeigen#include <macro.h> /* File: fn_garageLBChange.sqf Author: Bryan "Tonic" Boardwine Description: Can't be bothered to answer it.. Already deleted it by accident.. */ disableSerialization; private["_control","_index","_className","_dataArr","_vehicleColor","_vehicleInfo","_trunkSpace","_sellPrice","_retrievePrice","_tank"]; _control = _this select 0; _index = _this select 1; //Fetch some information. _dataArr = _control lbData _index; _dataArr = call compile format["%1",_dataArr]; _className = _dataArr select 0; _vehicleColor = [_className,_dataArr select 1] call life_fnc_vehicleColorStr; _vehicleInfo = [_className] call life_fnc_fetchVehInfo; _trunkSpace = [_className] call life_fnc_vehicleWeightCfg; _tank = _dataArr select 2; _HitBody = _dataArr select 3; _HitEngine = _dataArr select 4; _HitFuel = _dataArr select 5; _HitLFWheel = _dataArr select 6; _HitRFWheel = _dataArr select 7; _HitLF2Wheel = _dataArr select 8; _HitRF2Wheel = _dataArr select 9; _HitLMWheel = _dataArr select 10; _HitRMWheel = _dataArr select 11; _HitLBWheel = _dataArr select 12; _HitRBWheel = _dataArr select 13; _retrievePrice = 5; _sellPrice = 5; (getControl(2800,2803)) ctrlSetStructuredText parseText format[ (localize "STR_Shop_Veh_UI_RetrievalP")+ " <t color='#8cff9b'>$%1</t><br/> " +(localize "STR_Shop_Veh_UI_SellP")+ " <t color='#8cff9b'>$%2</t><br/> " +(localize "STR_Shop_Veh_UI_Color")+ " %8<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")+ " %7<br/> " +("Tankanzeige:")+ " %9 Prozent<br/> " +("Hülle:")+ " %10 Schaden<br/> " +("Motor:")+ " %11 Schaden<br/> " +("Tank:")+ " %12 Schaden<br/> " +("Reifen L. Vorne:")+ " %13 Schaden<br/> " +("Reifen R. Vorne:")+ " %14 Schaden<br/> " +("Reifen L. Vorne 2:")+ " %15 Schaden<br/> " +("Reifen R. Vorne 2::")+ " %16 Schaden<br/> " +("Reifen L. Mitte:")+ " %17 Schaden<br/> " +("Reifen R. Mitte:")+ " %18 Schaden<br/> " +("Reifen L. Hinten:")+ " %19 Schaden<br/> " +("Reifen R. Hinten:")+ " %20 Schaden ", [_retrievePrice] call life_fnc_numberText, [_sellPrice] call life_fnc_numberText, _vehicleInfo select 8, _vehicleInfo select 11, _vehicleInfo select 10, if(_trunkSpace == -1) then {"None"} else {_trunkSpace}, _vehicleInfo select 12, _vehicleColor, _tank * 100, _HitBody * 100, _HitEngine * 100, _HitFuel * 100, _HitLFWheel * 100, _HitRFWheel * 100, _HitLF2Wheel * 100, _HitRF2Wheel * 100, _HitLMWheel * 100, _HitRMWheel * 100, _HitLBWheel * 100, _HitRBWheel * 100 ]; ctrlShow [2803,true]; ctrlShow [2830,true];
-
Ich sehe gerade das ich das gar nicht hochgeladen habe..
Ich schick euch wenn ich am pc bin die erste datei.
Die Sache mit dem git muss ich noch einbauen.
-
Moin Leute!
Heute präsentiere ich euch meine Restart bat die ich zurzeit benutze.
Die bat hält euren Server immer 100% aktuelle.
- Startet den Server (Ach wirklich)
- Killt den Server ( You don't say)
- Sie saugt sich die Dateien aus eurem Git (falls vorhanden, wäre aber sinnvoll.)
- Updatet den Server über Steam
- löscht immer die Dateien die upgedatet werden
- packt Dateien nach wunsch
- Startet BECHier ist auch schon das gute Stück. Bei Fragen FRAGT
Da Windows leider nicht so tickt wie Linux darf ich nochmal dran weil Der git clone nur einmal funktioniert und der delete + copy command nicht richtig will <-<
Edit: Muss nochmal kleinigkeiten überarbeiten. -
Hab es jetzt klappt 100%
set gitpath="D:\GIT"
cd /d %gitpath%
start "C:\Program Files\Git\bin\bash.exe" git clone https://USER:[email protected]ÜRS.GIT D:\GIT -
Ich danke dir.
Davor muss ich sogesehen mich nur per command anmelden und dann geht das jedesmal automatisch? -
Hab n kleinen Fehler drin.
11:56:52 Error in expression < AND plate='%2'", _uid, _plate, _vFuel, _vHitBody, _vHitEngine, _vHitFuel, _vHit>
11:56:52 Error position: <_vHitBody, _vHitEngine, _vHitFuel, _vHit>
11:56:52 Error Undefined variable in expression: _vhitbody
11:56:52 File life_server\Functions\Systems\fn_vehicleStore.sqf, line 119 -
30min lang doppelte Ausdauer
30min lang doppelten paycheck
30min lang zusätzlich zum paycheck random eine box bekommen die man öffnen kannMir fällt nichts mehr ein.^^
-
30min lang verkauf *2.
-
Nice!
Hatte es damals viel zu kompliziert gemacht xDFehlt nur noch die info in der Garage
-
Deine config.cpp
Spoiler anzeigen
Code
Alles anzeigenclass CfgPatches { class Taser_26 { units[]={}; weapons[]= { "Taser_26" }; requiredVersion=0.1; requiredAddons[]= { "A3_Weapons_F" }; }; }; class CfgAmmo { class BulletBase; class 26_taser_bullet: BulletBase { hit=10; indirectHit=0; indirectHitRange=0; cartridge="FxCartridge_65_caseless"; visibleFire=5; audibleFire=8; cost=1.2; airLock="true"; typicalSpeed=820; caliber=1; model="\A3\Weapons_f\Data\bullettracer\tracer_red"; tracerScale=1; tracerStartTime=0.050000001; tracerEndTime=1; airFriction=-0.00095999998; class CamShakeFire { power=0; duration=0; frequency=0; distance=0; }; class CamShakePlayerFire { power=0; duration=0; frequency=0; distance=0; }; }; }; class CfgMagazines { class Default; class CA_Magazine; class 26_cartridge_mag: CA_Magazine { scope=2; displayName="X26 Taser Cartridge"; model="\A3L_Taser\cartridge"; picture="\A3L_Taser\cartridgeicon.paa"; ammo="26_taser_bullet"; count=10; initSpeed=795; tracersEvery=0; lastRoundsTracer=9; descriptionShort="x26' Taser Cartridge"; }; }; class Mode_SemiAuto; class CfgWeapons { class Pistol; class Pistol_Base_F: Pistol { class WeaponSlotsInfo; }; class Taser_26: Pistol_Base_F { scope=2; model="\A3L_Taser\taser.p3d"; picture="\A3L_Taser\tasericon.paa"; UiPicture="\A3L_Taser\tasericon.paa"; magazines[]= { "26_cartridge_mag" }; reloadAction="GestureReloadPistol"; displayname="X26' Taser"; dexterity=2; begin1[]= { "\A3L_Taser\sounds\shoot.wav", 0.79432797, 1, 700 }; begin2[]= { "\A3L_Taser\sounds\shoot.wav", 0.79432797, 1, 700 }; begin3[]= { "\A3L_Taser\sounds\shoot.wav", 0.79432797, 1, 700 }; soundBegin[]= { "begin1", 0.33000001, "begin2", 0.33000001, "begin3", 0.34 }; closure1[]= { "A3\sounds_f\weapons\closure\closure_handgun_3.wav", 1, 1, 300 }; closure2[]= { "A3\sounds_f\weapons\closure\closure_handgun_3.wav", 1, 1.1, 300 }; soundClosure[]= { "closure1", 0.5, "closure2", 0.5 }; weaponSoundEffect="\A3L_Taser\sounds\shoot.wav"; modes[]= { "Single" }; reloadtime=0.16; dispersion=0.00086999999; drySound[]= { "\A3L_Taser\sounds\dry.wav", 0.0099999998, 1, 20 }; reloadMagazineSound[]= { "\A3L_Taser\sounds\reload.wav", 1, 1, 30 }; recoil="assaultRifleBase"; recoilProne="assaultRifleBase"; class Library { libTextDesc="X26' Taser"; }; descriptionShort="X26' Taser"; class WeaponSlotsInfo: WeaponSlotsInfo { mass=7; class CowsSlot { }; }; class ItemInfo { priority=2; RMBhint="Taser_26"; onHoverText="TODO Taser_26 DSS"; }; class Single: Mode_SemiAuto { aidispersioncoefx=0.40000001; aidispersioncoefy=0.69999999; airateoffire=0.5; airateoffiredistance=20; artillerycharge=0.5; artillerydispersion=0.5; autofire=0.5; begin1[]= { "\A3L_Taser\sounds\shoot.wav", 0.79432797, 1, 700 }; begin2[]= { "\A3L_Taser\sounds\shoot.wav", 0.79432797, 1, 700 }; soundBegin[]= { "begin1", 0.5, "begin2", 0.5 }; burst=0.1; canshootinwater=0; closure1[]= { "A3\sounds_f\weapons\closure\closure_handgun_3.wav", 1, 1, 300 }; closure2[]= { "A3\sounds_f\weapons\closure\closure_handgun_3.wav", 1, 1.1, 300 }; dispersion=0.00086999999; displayname="Single"; ffcount=0.5; fffrequency=5; ffmagnitude=0.5; flash="gunfire"; flashsize=0.1; maxrange=500; maxrangeprobab=0.2; midrange=250; midrangeprobab=0.69999999; minrange=2; minrangeprobab=0.30000001; multiplier=1; recoil="assaultRifleBase"; recoilprone="assaultRifleBase"; reloadtime=0.064999998; requiredoptictype=-1; showtoplayer=1; sound[]= { "", 10, 1 }; soundbeginwater[]= { "sound", 1 }; soundburst=0; soundclosure[]= { "closure1", 1.5, "closure2", 1.5 }; soundcontinuous=0; soundend[]={}; soundloop[]={}; texturetype="semi"; useaction=0; useactiontitle=""; weaponsoundeffect="DefaultRifle"; }; }; };
fn_handleDamageSpoiler anzeigen
Code
Alles anzeigen/* File: fn_handleDamage.sqf Author: Bryan "Tonic" Boardwine Description: Handles damage, specifically for handling the 'tazer' pistol and nothing else. */ private["_unit","_damage","_source","_projectile","_part","_curWep"]; _unit = _this select 0; _part = _this select 1; _damage = _this select 2; _source = _this select 3; _projectile = _this select 4; /* _unit = _this select 1; _part = _this select 5; _damage = _this select 10; _source = _this select 0; _projectile = _this select 2; */ //Internal Debugging. if(!isNil "TON_Debug") then { systemChat format["PART: %1 || DAMAGE: %2 || SOURCE: %3 || PROJECTILE: %4 || FRAME: %5",_part,_damage,_source,_projectile,diag_frameno]; }; //Handle the tazer first (Top-Priority). if(!isNull _source) then { if(_source != _unit) then { _curWep = currentWeapon _source; if(_projectile in ["26_taser_bullet"] && _curWep in ["Taser_26"]) then { if(side _source == west && playerSide != west) then { private["_distance","_isVehicle","_isQuad"]; _distance = if(_projectile == "B_556x45_dual") then {100} else {35}; _isVehicle = if(vehicle player != player) then {true} else {false}; _isQuad = if(_isVehicle) then {if(typeOf (vehicle player) == "B_Quadbike_01_F") then {true} else {false}} else {false}; _damage = false; if(_unit distance _source < _distance) then { if(!life_istazed && !(_unit getVariable["restrained",false])) then { if(_isVehicle && _isQuad) then { player action ["Eject",vehicle player]; [_unit,_source] spawn life_fnc_tazed; } else { [_unit,_source] spawn life_fnc_tazed; }; }; }; }; //Temp fix for super tasers on cops. if(playerSide == west && side _source == west) then { _damage = false; }; }; }; }; //[] call life_fnc_hudUpdate; _damage;
und im shop als classname... nimmst du jetzt 26_cartridge_mag.
Hab es so gemacht wie bei meiner modwaffe und da klappt das tazern.
-
Kommen mod error auch?
-
danke. Ich schreib es dir um wenn ich am pc bin vlltklappts dann.
-
schick mir jetzt noch die config von dem tazer addon.. hab ich vergessen zu sagen.^^ weil bei mir geht's.. hab zwar eine andere waffe aber geht.
-
schick mal deine handleDamage
-
danke fürs update
Jetzt kann ich in ruhe arbeiten -
"Erste Funktionen zum adaptieren der AL Files"
Das heißt?
-
geb dem n namen..
removeUniform Shop_1;
Shop_1 addUniform "classname"; -
oups hab ich dann bestimmt überlesen
Aber ich werde es einfach in naher Zukunft mal testen.