Jump to content

[Outdated] [Release] Trader Catalogue / Previews


oldmatechoc

Recommended Posts

6 hours ago, oldmatechoc said:

@Vladick
 


	if (_dikCode == 0x15) then { []execVM "scripts\catalogue\catalog_menu.sqf"; 	};	

0x15 = Y

https://community.bistudio.com/wiki/DIK_KeyCodes

@oldmatechocI thought so. Thanks for confirming. I've done something wrong in the install then and I can't figure out what it is. Can you see anything wrong with my config (below)?

1. First, I put the catalogue folder folder in the mission scripts folder.

2, I extracted the keyboard.sqf file from the dayz_code pbo into the dayz_code\compile folder and added the following at the very bottom just above _handled

:

Spoiler

//---------------------------------------------------------------- Catalogue Start
    if (_dikCode == 0x15) then { []execVM "scripts\catalogue\catalog_menu.sqf";     };    
    private ["_isBusy"];
    _isBusy = player getVariable["isBusy",false];
    if (_isBusy) then {
        if (_dikCode == 0x05) then {            
            [15,preview_bot] call fnc_rotate_bot;
            [15,vehicle_bot] call fnc_rotate_bot;
        };    
        if (_dikCode == 0x07) then {            
            [-15,preview_bot] call fnc_rotate_bot;
            [-15,vehicle_bot] call fnc_rotate_bot;
        };    
    };    
//---------------------------------------------------------------- Catalogue End

_handled

3. In init.sqf I called the keyboard.sqf this way:

Spoiler

if (!isDedicated) then {
    call compile preprocessFileLineNumbers "dayz_code\Configs\CfgServerTraderZSC\chernarus11.sqf";
    
    call compile preprocessFileLineNumbers "dayz_code\compile\keyboard.sqf";

    if (toLower worldName in ["chernarus","chernarus_winter"]) then {
        execVM "\z\addons\dayz_code\system\mission\chernarus\hideGlitchObjects.sqf";
    };

4. In compiles.sqf I added the following at the very end:

Spoiler

if (!isDedicated) then {
    diag_log "Loading custom client compiles";

    fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf";
    player_selectSlot = compile preprocessFileLineNumbers "dayz_code\compile\ui_selectSlot.sqf";
    locateVehicle = compile preprocessFileLineNumbers "scripts\locateVehicle.sqf";
    remoteVehicle = compile preprocessFileLineNumbers "scripts\remoteVehicle\remoteVehicle.sqf";
    local_lockUnlock = compile preprocessFileLineNumbers "dayz_code\compile\local_lockUnlock.sqf";
    
    //---------------------------------------------------------------- Catalogue Start
    weapon_preview = compile preprocessFileLineNumbers "scripts\catalogue\weapon_preview.sqf";
    vehicle_preview = compile preprocessFileLineNumbers "scripts\catalogue\vehicle_preview.sqf";
    trader_preview = compile preprocessFileLineNumbers "scripts\catalogue\trader_preview.sqf";
    fnc_rotate_bot = {
            private ["_dir","_input","_bot"];
            disableSerialization;
            _input = _this select 0;
            _bot = _this select 1;
            _dir = getDir _bot;
            _dir = _dir + _input;
            _bot setDir _dir;
        };
//---------------------------------------------------------------- Catalogue End

};

5. In variables.sqf I added this:

Spoiler

if (!isDedicated) then {
    diag_log "Loading custom client variables";
    
    weapon_preview=objNull;
    vehicle_bot=objNull;
    preview_bot=objNull;
    preview_camera = nil;
    preview_cameraPos = nil;

    dayz_resetSelfActions = {
        s_player_equip_carry = -1;
        s_player_fire = -1;
        s_player_cook = -1;
        s_player_boil = -1;
        s_player_packtent = -1;
        s_player_packtentinfected = -1;
        s_player_fillfuel = -1;
        s_player_grabflare = -1;
        s_player_removeflare = -1;
        s_player_studybody = -1;
        s_player_deleteBuild = -1;
        s_player_flipveh = -1;
        s_player_sleep = -1;
        s_player_fillfuel210 = -1;
        s_player_fillfuel20 = -1;
        s_player_fillfuel5 = -1;
        s_player_siphonfuel = -1;
        s_player_repair_crtl = -1;
        s_player_fishing = -1;
        s_player_fishing_veh = -1;
        s_player_gather = -1;
        s_player_destroytent = -1;

        // Epoch Additions
        s_player_packvault = -1;
        s_player_lockvault = -1;
        s_player_unlockvault = -1;
        s_player_attack = -1;
        s_player_callzombies = -1;
        s_player_showname = -1;
        s_player_pzombiesattack = -1;
        s_player_pzombiesvision = -1;
        s_player_pzombiesfeed = -1;
        s_player_tamedog = -1;
        s_player_parts_crtl = -1;
        s_player_movedog = -1;
        s_player_speeddog = -1;
        s_player_calldog = -1;
        s_player_feeddog = -1;
        s_player_waterdog = -1;
        s_player_staydog = -1;
        s_player_trackdog = -1;
        s_player_barkdog = -1;
        s_player_warndog = -1;
        s_player_followdog = -1;
        s_player_information = -1;
        s_player_fuelauto = -1;
        s_player_fuelauto2 = -1;
        s_player_fillgen = -1;
        s_player_upgrade_build = -1;
        s_player_maint_build = -1;
        s_player_downgrade_build = -1;
        s_player_towing = -1;
        s_halo_action = -1;
        s_player_SurrenderedGear = -1;
        s_player_maintain_area = -1;
        s_player_maintain_area_force = -1;
        s_player_maintain_area_preview = -1;
        s_player_heli_lift = -1;
        s_player_heli_detach = -1;
        s_player_lockUnlock_crtl = -1;
        s_player_lockUnlockInside_ctrl = -1;
        s_player_toggleSnap = -1;
        s_player_toggleSnapSelect = -1;
        snapActions = -1;
        s_player_plot_boundary = -1;
        s_player_plotManagement = -1;
        s_player_toggleDegree = -1;
        degreeActions = -1;
        s_player_toggleVector = -1;
        vectorActions = -1;
        s_player_manageDoor = -1;
        s_player_hide_body = -1;
        s_player_changeDoorCode = -1;
        s_player_changeVaultCode = -1;
        s_givemoney_dialog = -1;
        s_bank_dialog = -1;
        s_bank_dialog1 = -1;
        s_bank_dialog2 = -1;
        s_bank_dialog3 = -1;
        s_player_checkWallet = -1;
        s_garage_dialog = -1;
        s_player_bury_human = -1;
        s_player_butcher_human = -1;
        s_player_gdoor_opener = [];
        s_player_gdoor_opener_ctrl = -1;
        s_player_clothes = -1;    
        s_player_copyToKey = -1;
        s_player_claimVehicle = -1;        
    };
    call dayz_resetSelfActions;
};
 

6. Since I don't have a server_traders.sqf I defined the trader array in chernarus11.sqf which is being called from the init.sqf just as keyboard.sqf is. I added this to chernarus11.sqf:

Spoiler

serverTraders = ["trader_catalog","BAF_Soldier_SniperH_MTP","FR_AC","GUE_Commander","GUE_Woodlander2","RU_Citizen4","Profiteer1","Rita_Ensler_EP1","Dr_Hladik_EP1","Worker2","Villager1","TK_CIV_Worker01_EP1","CIV_EuroMan01_EP1","CIV_EuroMan02_EP1","RU_WorkWoman5","Doctor","Worker1","TK_CIV_Worker02_EP1","Rocker4","RU_Citizen3","RU_WorkWoman1","Dr_Annie_Baker_EP1","Worker3","RU_Pilot","RU_Villager3","HouseWife1","Profiteer2","Profiteer3","Functionary1_EP1"];

6. And this at the bottom of chernarus11.sqf:

Spoiler

menu_trader_catalog= [
    [
//Start of categories
        [ "BLACKMARKET",11],
        [ "ATTACHMENTS",12],
        [ "PISTOLS",13],
        [ "SUB MACHINE GUNS",14],
        [ "SINGLESHOT",15],
        [ "ASSAULT RIFLES",16],
        [ "SNIPER RIFLES",17],
        [ "LIGHT MACHINE GUNS",18],
        [ "PISTOL AMMO",19],
        [ "SUB MACHINEGUN AMMO",20],
        [ "SINGLE SHOT AMMO",21],
        [ "ASSAULT RIFLE AMMO",22],
        [ "SNIPER RIFLE AMMO",23],
        [ "LIGHT MACHINEGUN AMMO",24],
        [ "PACKAGEFOOD",27],
        [ "COOKMEAT",28],
        [ "DRINKS",29],
        [ "CLOTHES",30],
        [ "BACKPACKS",31],
        [ "MISCELLANEOUS",32],
        [ "MEDICAL SUPPLIES",33],
        [ "SMOKE GRENADES",25],
        [ "FLARES",26],
        [ "TOOLS",34],
        [ "BUILDING SUPPLIES",35],
        [ "VEHICLE PARTS",36],
        [ "BIKES ATVS",37],
        [ "CARS",38],
        [ "PICKUPS",39],
        [ "UAZS",40],
        [ "SUVS",41],
        [ "CARGO TRUCKS",42],
        [ "FUEL TRUCKS",43],
        [ "MILITARY UNARMED",44],
        [ "MISCELLANEOUS VEHICLES",45],
        [ "BOATS ARMED",48],
        [ "BOATS UNARMED",49],
        [ "AIRPLANES",46],
        [ "HELICOPTER",47]
//End of categories
    ],
    [],
    "neutral"
];

7. Finally, in description.ext I added this at the very bottom:

Spoiler

#include "scripts\catalogue\chx_defines.hpp" 
#include "scripts\catalogue\chx_catalog.hpp" 

Do you see anything wrong with this config? I assume it's probably broken because I'm using chernarus11.sqf instead of server_traders.sqf but I don't have a server_traders.sqf and did not find one in any of my folders. Any ideas how I can make this work? Thanks for your help!

Link to comment
Share on other sites

11 hours ago, oldmatechoc said:

@Vladick
Looks like you havent redirected the custom keyboard.sqf In your compiles correctly.

 

add


DZ_KeyDown_EH = compile preprocessFileLineNumbers "path_to your\keyboard.sqf";


some where under
 


if (!isDedicated) then {

in your compiles.sqf

@oldmatechocThat did it! Thanks so much for your help!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Discord

×
×
  • Create New...