Jump to content
hogscraper

Advanced Alchemical Crafting v3.3

Recommended Posts

Hello Epoch forums!
I was working on a custom crafting system when I found Raymix's Emerald Interiors. 
I really liked what he had in his system but saw that he was no longer working on it or updating it. My system had a menu but didn't have many items in it so I talked to him about using his item lists and bringing out an in depth crafting system with tons of items. Where my old system had 77 items, and his had 193, this new system has over 550! The name of this mod came from a couple users asking how in the world can you make a bed out of a Ruby and someone said Alchemy!
 
So what does this add that other systems do not? An easy to use interface that also includes a preview function so players can tell the difference between MAP_Misc_Well and Land_Misc_Well_C before they run out and scavenge materials to make them. I also tried to add realistic ingredient and tool lists to most items but for most of the misc or small items I went with just a gemstone and/or gold costs. The main reason I added the extra costs was to limit players from having hundreds of these items all over the map as they do save to the database like Epoch craftables. I wanted this to be something more for player's to work towards. On our server we have a rather large Sector B mission that unfolds in three stages and the rewards at the end include gemstones. While we have a gem trader to buy and sell the gems it seemed like a waste to have nothing else to do with the gemstones.
 
Demonstration Videos:
Where I live is very loud with traffic and outside noise so they have music instead of me talking. If you don't care for heavy metal you may want to mute your speakers :)
This video is of v1.3 so there are many more items included now but I kept the general categories for each gemstone the same.
 
Demo of the menu system itself:
I re-purposed an old UAV script I had written a while back for vanilla Arma 2 for the preview function
 
Installation guide:
 
PLEASE DO NOT SKIP THE CONFLICTS SECTION!
 
Multiple people in this thread have run into issues with certain parts of my script causing problems for other scripts like Snap Pro and Deploy anything and the fixes are currently listed in the conflicts sections.  UPDATE! Added more conflict resolutions including one for Zupa's single currency.
 
Assumptions in this guide:
You have a basic understanding of scripting for Arma2. 
You are familiar with using custom files and overriding values via script. If you do not use any of the listed below files you will need to use Google to find out how to unpack your pbos and utilize these custom files. 
 
STEP 1.
Create a folder in your mission folder called custom if you do not already have one. 
Download the attached file, (Buildables.zip). Unzip and place the Buildables folder into your custom folder.
 
STEP 2.
Changes you need to make to your files:

 
2.a   INIT.SQF
find 
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";
 
and add the following line underneath it
call compile preprocessFileLineNumbers "custom\Buildables\variables.sqf";
 
find 
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
 
and add the following line underneath it
call compile preprocessFileLineNumbers "custom\Buildables\Crafting_Compiles.sqf";
 
 
2.b   DESCRIPTION.EXT
 
add these lines to the very bottom of the file
 
#include "custom\Buildables\extra_rc.hpp"
#include "custom\Buildables\MT_Defines.hpp"
#include "custom\Buildables\Crafting_Defines.hpp"
#include "custom\Buildables\Crafting_Dialogs.hpp"
 
 
2.c   fn_selfActions.sqf 
This step will allow your players to remove items they craft just like they can currently remove Epoch items. If they die, they will no longer be able to remove them. 
 
find:
 
_isModular = _cursorTarget isKindOf "ModularItems";
 
and change that entire line to:
_isModular = (_cursorTarget isKindOf "ModularItems") or ((typeOf _cursorTarget) in Custom_Buildables);
 
If you do not have a custom fn_selfActions.sqf you can find the code here:

https://github.com/vbawol/DayZ-Epoch/blob/master/SQF/dayz_code/compile/fn_selfActions.sqf

 
Copy the code on the above page, make the changes I showed and save it into a file called fn_selfActions.sqf in the custom folder you made in STEP 1.
The crafting_compiles.sqf that I have included already has a call to fn_selfActions so if you are including this code into your already used version of that file you will need to remove that reference or it will cause issues with one or the other overwriting definitions.
 

 
Antihack edits:
If you do not use BE filters you can skip STEP 2.d and if you do not use Infistar Antihack you can skip STEP 2.e.
Step 2.d keeps players from being kicked when they attempt to create an item with box in it's name. Step 2.e will allow your admins to use Infistar's base delete tool to remove items crafted with this system as well as the Epoch items. 
 

 
2.d   BE Filter BattlEye\createvehicle.txt
 
find 
5 "box" !="DebugBoxPlayer_DZ"
 
add
 
!="MAP_Misc_PostBox" !="MAP_phone_box" !="MAP_Camo_box" !="MAP_phonebox" !="MAP_icebox" !="MAP_box_c" !="Land_Misc_ConcBox_EP1" 
 
immediately after "box"
 
(if you use Infistar Antihack)
UPDATE: As of Infistar version AH0333A this next part is no longer needed. If you are using a version of Infistar that was released before August 5th, 2014 you will still need to follow this step. With the newer version, Infistar has changed the base delete tool to find all objects within the radius you selected that are part of the dayz allowables list. Since my script adds all of the custom buildables to dayz allowables they will be picked up by default.
2.e AH.sqf
 
Find 
fnc_findObjects =
{
_objectClasses =
[
various items
];
 
ADD this line below the _objectClasses definition:
 
_objectClasses = _objectClasses + Custom_Buildables;
 

 
You are now ready to get crafting! 
 
User guide:

BASIC USAGE:
 
To get started with this system just right click any gemstone or the ItemLightBulb and a small menu action appears that says Start Crafting! Clicking 'Start Crafting!' will open up a graphical menu showing you a drop down box called Category. Using the drop down box will show you all of the categories of items available for that base item, (see below for complete list of categories). Once a category is selected a list of items will populate the items box. You can select any item from that list and it will show you which tools and materials are required to craft that item. If you have the tools/materials in your inventory they will appear green in the list and if you do not have them they will appear red. 
 
You can click the Preview button to open a new window with camera controls that allows you to move all around the item in question. You can move the camera up or down, zoom in or out and spin the camera around in either direction faster by repeatedly hitting either SPIN button. You can also hit the opposite SPIN button to slow down the item or even stop it. Hitting any key on your keyboard will exit this screen or you can click the Return button to go back to the main crafting menu.
Clicking the Craft button will attach the item to the player just like regular crafting but with one addition. You can use the 1 and 3 number keys above QWERTY to spin the item in 22.5 degree increments. You can still use Q and E to flip the items around like you normally would with Epoch buildables.
 
ADVANCE USAGE:
 
If you are an admin and want to use this without any material, tool or plot pole requirements you can go into custom\Buildables\variables.sqf and add your playerUID to the Admin_Crafting section, (line 7). That file also contains all of the category definitions that various Epoch routines utilize. I wanted to compartmentalize each thing to make it easier to find a particular item as there are a lot of things in these lists. If you want to remove an item from the menu you will need to delete it from its relevant section here and also from the same section in MT_Defines.hpp. For instance, if you don't want your players to be able to create Land_Fort_Watchtower_EP1 because that building spawns loot on your server you can just delete that item from those two locations and it will no longer show up. Please be aware that if you decide to remove an entire Category you will need to also edit the relevant gemstone.sqf as well as the two previously mentioned files. 
 
If you want to allow your players to craft these items without tool or material requirements other than the base gem that it uses, I have included a file called ALT_MT_Defines.hpp that you can use. Just rename it MT_Defines.hpp and overwrite the one located in the custom\Buildables folder. If you don't need it you can just delete ALT_MT_Defines.hpp.
 

 
Item categories you can craft:

Amethyst : Signage
Billboards
Sandwich Board Signs
Helipads
Informational Sings
Misc Road Signs
Misc Signs General
Traffic Signs
 
Citrine : Interior Items non-furniture
Appliances
Bathroom
Commercial Items
Electronics
Floor Coverings
Misc Interior (small items)
Pictures
 
Emerald : Exterior Items
Barrels
Cargo Containers
Construction Site Items
Misc Large Exterior Items
Misc Small Exterior Items
Scaffolding
Sunshades
 
Lightbulbs :
Individual Light sources (as seen in the above video)
Light Poles
Smaller Fixtures
 
Obsidian : Items from the ground
Bushes
Small Plants
Small Trees
Medium Trees
Large Trees
The Dead (highlighted in above video)
Water Wells
 
Ruby : Interior Items Furniture
Beds
Benches
Cabinets
Chairs
Desks
Shelves
Tables
 
Sapphire : Flags w/poles
Nation's Flags
Organizations Flags
Medical Flags
Plain Color Flags
Misc Flags
 
Topaz : Base Defense
Defenses
Forts
Tents
Towers (there is only one tower at this point as the ladders on the rest were not working so I removed them)

 
Notes on possible conflicts with the included files:

This system uses several edited files that may conflict with things you already have on your server. If you are already using Maca's right click script for example you will need to combine your Extra_RC.hpp with mine so that the base extrarc class contains everything you need it to. I did this so server operators wouldn't have to include yet another change to their compiles.sqf. If you already have player_selectSlot redefined in your compiles.sqf you will need to delete that line of code inside my Crafting_Compiles.sqf. 
 
If you use DRNSpawn on Taviana, Epoch Admin Tools or any other addon that uses custom dialogs you may get errors for duplicate definitions in the Crafting_Defines.hpp. You will need to decide which one you want to utilize on your server and delete the other definition. For example, DRNSpawn has its own defines, one of which is rscButton. If you choose to delete one of my definitions, please be aware that it could change the appearance from what you see in the above video. I have attempted to ensure that each of my dialog controls has a fairly useful and unique name so there shouldn't be any conflicts but if there are, please let me know what mod it is and I will try to make a fix for it if you are unable.
 
Thank you to NetShark for his reported conflict with Epoch Admin Tool. To fix the conflict between that and my mod you will need to change the listbox definition in my defines.hpp and change the usage in the dialogs.hpp.
MY defines.hpp

class HOGSListBox

{
access = 0;
type = 5;
w = 0.4;
h = 0.4;
rowHeight = 0;
colorText[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.25};
colorScrollbar[] = {1,0,0,0};
colorSelect[] = {0,0,0,1};
colorSelect2[] = {0,0,0,1};
colorSelectBackground[] = {0.95,0.95,0.95,1};
colorSelectBackground2[] = {0.95,0.95,0.95,1};
colorBackground[] = {0,0,0,0.3};
soundSelect[] = {"",0.1,1};
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
class ScrollBar
{
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
shadow = 0;
thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa";
arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa";
arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa";
border = "\ca\ui\data\ui_border_scroll_ca.paa";
};
style = 16;
font = "Zeppelin32";
shadow = 2;
sizeEx = 0.03921;
color[] = {1,1,1,1};
period = 1.2;
maxHistoryDelay = 1;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
};

 
my dialogs.hpp

class Items_Listbox: HOGSListBox
{
idc = 3901;
text = "Items"; 
x = 0.0375;
y = 0.18;
w = 0.5875;
h = 0.58;
onLBSelChanged = "call fnc_Load_Mats_and_Tools";
};

 
I also have redefined a custom dayz_spaceInterrupt in my Crafting_Compiles.sqf. That section of code is necessary as it not only allows players to spin the item in small increments using the 1 & 3 keys but it also captures any key presses that then trigger the Preview menu to close and return to the main crafting screen. Without that code, any player using the Preview will have to log out if they hit ESC or Backspace as it will simply close out the dialog buttons that allow them to Return and leave them staring at the item. 
 
I do not use Plot for Life so I do not know what may or may not conflict with that addon while using this addon. My system does utilize a custom player_build and does check for plot poles so if you are using that plot pole addon you may need to edit the custom_builds.sqf.
I have not tested the below code but it was submitted by StiflersM0m as a fix for plotforlife. I included it here as a quick ref for anyone reading this first before immediately downloading.

 

for everyone who need it, hope i can provide it, if not pn me hogscraper and i will remove it,

custom_build.sqf for plotforelife script:

http://pastebin.com/vxzDWmHr

custom_build.sqf for Tie playeruid to object ...... and so on:

http://pastebin.com/8ny4mCaE

 
 
 
Thank you to stiflersM0M and emwilsh for the heads up on Snap Pro. Thank you also to Stranger for pointing out a couple typos that might have hemmed some of you up. If you are using Snap Pro system you can integrate my system with that one by opening my Crafting_Compiles.sqf and deleting the dayz_spaceinterrupt function from the bottom of that file. This function starts on line 256. Delete everything from line 256 to the end of the file. Then navigate to custom\Snap_Pro\dayz_spacensterrupt.sqf and open that file.
 
You will need to add 
 
GlobalPreviewVariable = 1;
 
into the empty space on line 3.
 
And near the very bottom, you need to add
 
// num 1 or 3 above qwerty
if (_dikCode == 0x02) then {
AAC_1 = true;
};
if (_dikCode == 0x04) then {
AAC_3 = true;
};
 
just BEFORE\ABOVE the line
 
_handled
 
 
 
I disabled the functionality of the 2 button for now as what I wanted it to do isn't working. Adding those two things to Raymix's dayz_spaceinterrupt.sqf will stop the conflicts between the two systems.
 
If you are using the Deploy Anything script, Epoch forums user Calamity has worked up a fix that will allow my script to work with it. Please see
for the correct format.
 
If you would like to add the detach with F like in Snap Pro,The Hound posted this reply on page six:
For anyone who has snap pros space interrupt and wants the F key function from it in this here is the custom_build http://pastebin.com/Sx3BK5TC
 
Thank you to Zupa for making a combined defines.hpp that eliminates the conflict between his mods and this one.
Just delete my crafting_defines.hpp, remove
#include "custom\Buildables\Crafting_Defines.hpp"
from your description.ext and replace his defines.hpp with the one in the above link.
 
 
If you find any other addons that conflict with this one please let me know and I will add them to this section. I may not have the time to test out or work out a fix but I will include any issues and fixes that you guys come up with in this section.
 
Known Issues:

There are two issues while using this addon. One is that some items, like the helipads, cannot be removed by the player. This is due to the way the models are created and they do not have a point for the cursor to look at that will register the player actually looking at it. When a player looks at an SUV the game knows what the player is looking at and various actions can be taken. With certain items in this list there just isn't a point that works so they will have to be removed by an admin using Infistar base deletion or manually deleted from the database. If you do not want to be bothered with having to do this you will need to remove the helipads from the included files. Helipads are also designed to only exist at ZERO altitude so they cannot be placed on metal floors and will not show up in the Preview window.
 
The other issue is with crafting some of the larger items like the Fortifications. If a player begins using alt-pg up to move the item up multiple times it can catch their feet. If this happens it will propel itself a feet into air and eventually will disappear due to having moved more than 5m. This will leave your player hanging in the air only to drop to the ground and possibly die. Basically it moves the item up, but because the player is now higher than they were it moves the item up again and keep going. Because the offsets on those forts are already so big, I didn't want to push them out even further as it very well could allow a player to place half the fortification outside of the plot pole area which could lead to a lot of other issues for that player, (with other players building into their structure). This only happens with the CDF_WarfareBBarracks, USMC_WarfareBBarracks and the WarfareBDepot as the models for them include the dirt surrounding them. If you feel that you don't want to deal with this rare bug you can simply remove those three from the list. I left them, along with the helipads, in this mod as those were some of the most asked about items on our server while I was developing this.

 
NEW! HOW TO ADD NEW CATEGORIES!

So you want to add even more to this system? I am currently working on adding around another 120 items to the system including Carports, Walls and a few other categories. If you wanted to add something I didn't plan on adding, (like mounted guns for instance), you will need to add code in three different files.
But first a word of warning, please do not follow this section exactly. Seriously. You will get your players banned for trying to enter vehicles that your anti-hacks don't like. You may even open a black hole and cause the universe to be swallowed up. IF you already allow mounted weapons to be used by players on your server and you have already gone through the steps to make sure players don't get banned with the anti-hack script you are using AND you're feeling really lucky, then proceed. But follow this section at your own risk. I will not be providing support for anything in this section and only offer it as a what if for people who are feeling brave and because a forum user specifically asked about this category. Also, the class names I am using below are off the top of my head and may be incorrect. This part is meant to be more of an abstract concept than an exact how to. It should be modified to suit the items you are looking to include. You can very easily change the wording below to add houses as well if you wanted to. Please make a backup file of each of the changes you make. As I said above, I will be updating this with some new items soon and a backup will make it a little easier to get your new items in if you choose to update this system later.
 
1. MT_Defines.hpp
Near the top of that file please note the Default class. This is the base class that adds in a generic offset and required tools and materials. There is also a large section of information in that class that has been commented out that lists various tools and materials that you can use for reference when adding a new category type. For this part of the tutorial I will be adding Mounted_Guns within the Topaz family of types, (Topaz is the base defense gemstone), so my only required material will be one gem and the only required tool will be the toolbox. You can use that section at the top to add up to four required tools and up to twelve required materials, (the gemstone plus eleven other things). Any more than those two numbers and they will not display inside the crafting menu.
 
Below the Default class you will see all the other classes that are based off of Default. At the bottom of that section, just ABOVE the commented out lines
 
//# Total Items
//Topaz - Base Defense
 
you will need to add
 
class DefaultMountedWeapons:Default {
offset[]={0,7,0};
requiredtools[] = {"ItemToolbox"};
requiredmaterials[] ={"ItemTopaz"};
};
 
We now have our base class that will tell all of our mounted weapons what tools and materials to use.
Scroll down until you see
 
//Emerald - Exterior Items
 
ABOVE that line we need to build our new class. Add the following section ABOVE that commented out line:
 
class MountedWeapons:DefaultMountedWeapons {
class AGS_Ins:DefaultMountedWeapons{};
class D30_Ins:DefaultMountedWeapons{};
class M2StaticMG:DefaultMountedWeapons{};
class DSHKM_Ins:DefaultMountedWeapons{};
};
 
Keep that file open as we will be returning to it in just a minute.
 
2. custom\variables.sqf 
Open my custom variables.sqf and find
 
//Topaz - Base Defenses
 
Right underneath that line we need to add whatever we defined in MT_Defines.hpp as an array that will be added to the _Topaz array. So, right under that commented out line add:
 
_Mounted_Weapons =["AGS_Ins","D30_Ins","M2StaticMG","DSHKM_Ins"];
 
Then find 
 
_Topaz = _Bridges + _Defenses + _Forts + _Tents + _Towers + _Walls;
 
and change it to 
 
_Topaz = _Mounted_Weapons + _Bridges + _Defenses + _Forts + _Tents + _Towers + _Walls;
 
Now our dayz_allowedObjects, DZE_maintainClasses and Custom_Buildables will all be updated with our new items.
 
3. Topaz.sqf
Find this bit of code:
forEach [
"Defenses",
"Forts",
"Tents",
"Towers"
]; 
 
We need to insert a blank line before the closing ]; and add whatever we called our base class in MT_Defines.hpp. Make sure to add a comma after "Towers" as well. In this case we will need to add
"MountedWeapons"
 
that sections should look like this now:
 
forEach [
"Defenses",
"Forts",
"Tents",
"Towers",
"MountedWeapons"
];
 
Now look further below in that file and find the line:
 
default{};
 
Add this bit of code right ABOVE the default line:
 
case 4:
{
ComboBoxResult="MountedWeapons";
call fnc_Load_Items;
};
 
The changes to this file will allow the MountedWeapons category to appear in the drop down box when using an ItemTopaz for crafting. It will also launch the function that fills the Items box and tell that function what items to load. If you didn't destroy the universe, congratulations!

I spent a lot of time on the offsets for these items to ensure that the item was at a good distance from the player, but if you find something that could be better, please post the item and offset below. Many items that are grouped together have similar offsets and I did that to cut out a few thousand lines of code from the MT_Defines.hpp. In some cases this means an item may be a little closer or further than what would be perfect, but when you look at everything in the group it makes sense to that group. In some cases like the Topaz items, many items have their own definitions.
 
I have been running this on a Cherno server with just Epoch as well as an Origins Epoch server that just used the Origins map and vehicles without issues. If you do find you are having trouble with this on another map, just let me know and I will do what I can to help you out. It works with edited BE filters and Infistar and is working on both of the above servers with 1.0.5.1/125548. I also had this previously running under 1.0.4.2/112555 and 1.0.5.1/112555. Now that I've tested it out quite a bit I wanted to give v3.3 to the community and hope other people can get some use out it.
 
Thank you guys for any feedback you can give and if you find an issue or mistake in this guide, please let me know! 
 
Thank you to:
Maca for his Right Click script:
 
Raymix for Emerald Interiors that made me realize that I didn't have to settle on just 10 items in a menu list from maca's right click script
 
vbawol for all his awesome work on getting Epoch out there in the first place
 
[GOM] Simbo for helping me test this out and getting a lot of the earlier bugs out of the way.
 
[AFLA] Rick Grimes for helping me test this out on other maps and getting the delete sorted.
 
[OG] Kenshinz and everyone at Origins Gaming Server for helping to test this in a live environment.
You can find my system currently running on his server at : 192.99.16.15:2372
 
EDITED!:
If you have read through page 7 of this thread and are interested in the updated version here it is. Please follow my instructions above and do not download this file if you haven't read the post where I talk about it. This is an experimental build and has not been tested.

Share this post


Link to post
Share on other sites

Line 39 - #define ST_RIGHT          0x01

and 

Line 73 - #define ST_VERTICAL       0x01

 

conflict, getting error  "member already defined" Changed line 39 to 0x06 and its loads without error. (yet to see an ingame error)

 

**EDIT**

Admintool conflicted with the hpp. Fixed

Share this post


Link to post
Share on other sites

Noob question. Where is the  fn_selfActions.sqf located, I dont seam to have one. (I only run a test server to help my clan)

Also, Where would i call it?

I edited the OP and added some direction under the fn_selfActions.sqf part.

 

That was probably the most unfitting music I have ever heard and I liked it. Also, nice script.

Yea, my mic is very sensitive and where I live, during the day, there's lot's of noise so I end up dumping whatever I'm listening to at the time into video's that I upload. Also, thanks.

Share this post


Link to post
Share on other sites

Nice love the upgraded emerald script, anychance this will work for buid snap pro carnt seem get the snap for the default setup to snap and drop/pickup object but it builds fine like the standard system

Share this post


Link to post
Share on other sites

Nice love the upgraded emerald script, anychance this will work for buid snap pro carnt seem get the snap for the default setup to snap and drop/pickup object but it builds fine like the standard system

same here, think it will be caused in the dayz_spaceinterupt

Share this post


Link to post
Share on other sites

ah yeh just seen in the compiles there are new keys 1,2,3 used to spin  this would be awsome intergrated in with snap build ime going to play with it for a bit, post back here with a solution if i do get it to work together.

Share this post


Link to post
Share on other sites

I am getting this error

ErrorMessage: File mpmissions\__cur_mp.Napf\custom\Buildables\Crafting_Defines.hpp, line 73: .RscListBox: Member already defined.

 

It may be conflicting with VASP vehicle and skin preview   <---- think this is why

or

group management

or

snapping pro

or

change key codes

 

I have tried disableing one by one to find reason but I still get the same error..

 

edit... found problem was my admin tools :(  :)

Share this post


Link to post
Share on other sites

ah yeh just seen in the compiles there are new keys 1,2,3 used to spin  this would be awsome intergrated in with snap build ime going to play with it for a bit, post back here with a solution if i do get it to work together.

That would be great if you come up with one that is integrated! The dayz_spaceinterrupt has two changes I believe,(in my version). I made it so any key will trigger a global variable change to get a player out of the Preview mode and the 123. Currently 2 is disabled so just 1 and 3 turn the item so I can look into combining them as well.

EDITED:

I went ahead and posted instructions to OP under the possible conflicts section with directions on how to keep my system from interfering with Raymix's Snap_Pro system. Thanks guys!

Share this post


Link to post
Share on other sites

I am getting this error

ErrorMessage: File mpmissions\__cur_mp.Napf\custom\Buildables\Crafting_Defines.hpp, line 73: .RscListBox: Member already defined.

 

It may be conflicting with VASP vehicle and skin preview   <---- think this is why

or

group management

or

snapping pro

or

change key codes

 

I have tried disableing one by one to find reason but I still get the same error..

 

edit... found problem was my admin tools :(   :)

 

And how did you solve it?.. just disable Admin Tools? because I tried to disable it but I keep getting this same error.

 

is there a better solution?

Share this post


Link to post
Share on other sites

And how did you solve it?.. just disable Admin Tools? because I tried to disable it but I keep getting this same error.

 

is there a better solution?

Since its an RSCListBox conflict you can go through any hpp define files you have as well as your description.ext and delete the definition there or delete the definition in my crafting_defines.hpp. It doesn't really matter where its defined and the only impact you will see is that it could change the appearance in the addon that had its definition deleted, (like different colors of background and text for example).

Share this post


Link to post
Share on other sites

And how did you solve it?.. just disable Admin Tools? because I tried to disable it but I keep getting this same error.

 

is there a better solution?

I didn't solve it yet. I put it on hold until I have more time to try again..

Share this post


Link to post
Share on other sites

Hello,

 

Has anyone got this to work with the Deploy anything script? I have been trying top make it work and have not been able to get it working.

 

Thanks

If you want to send me a link to the script I can see where any conflicts might be and work something up. If it uses maca's right click you will likely just have to combine the extra_rc.hpp as once its redefined it overwrites the last one. 

Share this post


Link to post
Share on other sites

Since its an RSCListBox conflict you can go through any hpp define files you have as well as your description.ext and delete the definition there or delete the definition in my crafting_defines.hpp. It doesn't really matter where its defined and the only impact you will see is that it could change the appearance in the addon that had its definition deleted, (like different colors of background and text for example).

 

Thank you very much for point me in the right direction. Now it's working pretty good :)

 

I solve it following your instructions. This is what I did:

1. I opened the file "Crafting_Defines.hpp" and went to line 122. (class RscListBox)

2. I deleted all that class, from line 122 to 161

3. I saved it, uploaded it and tested it. And it worked fine. No errors and server loading ok.. :)

 

NOTE: This happened because Im using Epoch Admin Tools on my server. Otherwise, this procedure wouldnt be necessesary.

 

Now, I just have to think about how to introduce this new advanced building feature to my server's economy :)

 

Thanks hogscraper for your help and for your incredible script. I'll keep testing it and I'll report any issue :)

 

Have a nice day.

Share this post


Link to post
Share on other sites

Now, I just have to think about how to introduce this new advanced building feature to my server's economy :)

 

Thanks hogscraper for your help and for your incredible script. I'll keep testing it and I'll report any issue :)

 

Have a nice day.

Thanks for the great feedback. We have a huge, three part mission in Sector B on our Epoch Origins server and offer gems as part of the reward. You could look at the items, think about what level of work you want players to put in and add the gems to a trader at a cost that reflects what you think. You could also edit some of the larger missions, (if using DZMS or WAI), to offer a gemstone in the loot crates as well. I will edit the OP and add your fix for epoch admin tools. 

Share this post


Link to post
Share on other sites

This is the RscListBox  that it competes with I believe.

this is for the admin tools conflict

 

admintools\dialog.hpp

 

class RscListBox
{
access = 0;
type = 5;
w = 0.4;
h = 0.4;
rowHeight = 0;
colorText[] = {0.8784,0.8471,0.651,1};
colorScrollbar[] = {0.95,0.95,0.95,1};
colorSelect[] = {0.95,0.95,0.95,1};
colorSelect2[] = {0.95,0.95,0.95,1};
colorSelectBackground[] = {0,0,0,1};
colorSelectBackground2[] = {0.8784,0.8471,0.651,1};
colorBackground[] = {0,0,0,1};
soundSelect[] = {"",0.1,1};
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
class ScrollBar
{
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
shadow = 0;
thumb = "\ca\ui\data\ui_scrollbar_thumb_ca.paa";
arrowFull = "\ca\ui\data\ui_arrow_top_active_ca.paa";
arrowEmpty = "\ca\ui\data\ui_arrow_top_ca.paa";
border = "\ca\ui\data\ui_border_scroll_ca.paa";
};
style = 16;
font = "Zeppelin32";
shadow = 2;
sizeEx = 0.03921;
color[] = {1,1,1,1};
period = 1.2;
maxHistoryDelay = 1;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
};

Share this post


Link to post
Share on other sites

I installed and I can build and all that fine but only problem is I cant remove anything, like at all, I cant remove plot polls I cant upgrade or downgrade walls I have no building options like that. any help. Where whould I look for that problem. Thanks

ps its not prob with fn_selfaction I just tried that. where else would this be.

Share this post


Link to post
Share on other sites

I installed and I can build and all that fine but only problem is I cant remove anything, like at all, I cant remove plot polls I cant upgrade or downgrade walls I have no building options like that. any help. Where whould I look for that problem. Thanks

ps its not prob with fn_selfaction I just tried that. where else would this be.

All of those things you mentioned are in fn_selfactions so I'm not sure what else it could be. If self blood bag working? That would guarantee the problem is there if its not. If it is, it still could be something wrong with that line that was needed. What is your rpt saying?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Ghostrider-GRG
      For a while now I have wanted to put together an addon that makes available additional storage containers and, in the future, other craftable items like heli pads, additional lights and so forth. To that end, and with quite a lot of help from Grahame, I offer V 0.1 of Extended Base Objects for Epoch. It offers a variety of additional storage containers and an easy method for installation.
      Installation: download from my github here:  https://github.com/Ghostrider-DbD-/EB4E
      Subscribe on Steam here: https://steamcommunity.com/sharedfiles/filedetails/?id=1475332817
      Unpack your mission.pbo using PBO manager or its equivalent.
      Copy all files from the mapname.epoch folder to the folder created by unpacking your mission.
      Repack your mission.
      Copy @EB4E to the same folder containing @Epoch and @epochhive on your server. 
       Copy the key found in @EB4E\Key to the \keys folder on your server.
      Add "EB4E" to the -mods="@Epoch;blahblah;" parameter for server startup.
      Players can subscribe to the mod here: https://github.com/Ghostrider-DbD-/EB4E
    • By Grahame
      Another item added to EpochCore client-side in 1.1 is a Large Workbench - using the ARMA model for a steel work table with drawers and a vice. Here is the code for placing them and a suggestion (and code) for actually making use of them to provide greater flexibility in crafting for your players.
      Installation Instructions
      (1) Add the large workbench "kit" to your loot tables and trader price lists. The class name is KitWorkbenchLarge
      (2) Add the following to epoch_config/Configs/CfgItemInteractions.hpp:
      class KitWorkbenchLarge : Item_Build_base { buildClass = "WorkbenchLarge_SIM_EPOCH"; }; (3) Add the following to epoch_config/Configs/CfgBaseBuilding.hpp:
      class WorkbenchLarge_EPOCH : Default { removeParts[] = {{"KitWorkbenchLarge",1}}; GhostPreview = "WorkbenchLarge_Ghost_EPOCH"; staticClass = "WorkbenchLarge_EPOCH"; simulClass = "WorkbenchLarge_SIM_EPOCH"; }; class WorkbenchLarge_SIM_EPOCH : WorkbenchLarge_EPOCH { removeParts[] = {}; }; class WorkbenchLarge_Ghost_EPOCH : WorkbenchLarge_SIM_EPOCH {}; So, those minor changes will allow you to build a large workbench from a kit and then utilize it within Epoch's crafting system. All further changes will be made to epoch_config/Configs/CfgCrafting.hpp.
      Let's start our examination of that with the crafting of the large workbench itself. The crafting system in Epoch is really nice, quite simple (though it can look imposing at first glance) and very flexible. Basically it comprises parts and kits that are built from them and allows the specification of either things (water or fire) or objects to be nearby in order to build the kit. For the building of the large workbench you will need to add the following new entry:
      class KitWorkbenchLarge : Kit { recipe[] = {{"PartPlankPack",8},{"ItemCorrugatedLg",2},{"ItemPipe",2},{"ItemCorrugated",2},{"VehicleRepair",1}}; nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH","WorkbenchLarge_EPOCH"}},3,1,0,1}}; model = "\A3\Structures_F_Heli\Furniture\Workbench_01_F.p3d"; previewPosition[] = {0.8,1,0.27}; previewScale = 0.15; previewVector = 0; }; This entry illustrates nicely the configuration for a craftable item. Let's look at a few lines in it starting with the recipe[]. This specifies which items are needed to build the kit, in this case 8 lumber packs, 2 large salvage metal, two pipes, two small salvage metals and a vehicle repair parts (for the vice). In order to show the Large Workbench as a buildable from these individual items in the crafting menu you need to add the Large Workbench to their entries' usedin[] array, for example:
      Okay, at this point you can click on any of these parts and a Large Workbench will be shown as a possible recipe for the part. Now let's look at the nearby[] array in the Large Workbench's crafting definition. This specifies things that are needed nearby in order to complete the crafting, in this case:
      nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH","WorkbenchLarge_EPOCH"}},3,1,0,1}}; Now, reading the very handy comment at the head of CfgCrafting.hpp shows what each part of this line means:
      USAGE: nearby[] = { { "Fire", //Name of field, anything "", //image folder path (ie "\x\addons\a3_epoch_code\Data\UI\crafting\"), empty for Epoch default "fire", //image prefix, suffix will be added by code. 2 possible suffixes: [_true.paa, _false.paa] {1,{"ALL"}}, //ARRAY of p3D {0,{"filename.p3d","filename.p3d"}} or ARRAY of logic classes {1,{"AIR","LAND","className"}} or 2 WorldInteractions check {2,{"water"}} Integer to switch array mode 3, //distance to check in meters 1, //count 1, //BOOL: object has to be on fire 0 //BOOL: object has to be alive (not destroyed) }; }; So you can see in the nearby[] array for Large Workbenches that it needs either a standard Epoch workbench or a large workbench itself within 3m of the player in order to build one. You can have as many requirements as you want in that list including categories defined in epoch_config/Configs/CfgEpochClient/WorldInteractions.hpp like "Water" or "Tree" or ... "bankTerminal" 
      Now you can craft a Large Workbench and then build it, you can now use the fact you have one to make crafting just a little more immersive by, for example, only allowing small things to be crafted with a standard Epoch workbench and requiring a large workbench for more complicated or larger buildables. For example, let's say we leave buckets of mortar as being able to be crafted on a small one. You probably also want to allow your to craft them on a large one as well so you would have both items in the nearby[] array for them:
      class MortarBucket : Item { usedIn[] = {"KitFoundation","KitCinderWall","KitHesco3","KitCinderFloor","KitCinderHalfFloor","KitCinderQuarterFloor","KitCinderTower","KitSandbagWall","KitSandbagWallLong","KitBagBunker","KitWaterPump","KitWell"}; nearby[] = {{"Fire","","fire",{1,{"ALL"}},3,1,1,0},{"Workbench","","workbench",{1,{"WorkBench_EPOCH","WorkbenchLarge_EPOCH"}},3,1,0,1}}; recipe[] = {{"ItemRock",12},{"water_epoch",2}}; previewPosition[] = {0.799442,1,0.426761}; previewScale = 0.6; previewVector = 0; }; Now this is an interesting item (the reason I picked it...) because it demonstrates making a craftable dependent on multiple things nearby, in this case a burning fire and either a small or large workbench... cool huh?
      For the wooden buildables I like to allow a small workbench so each of their definitions would have both the large and small workbench in the nearby[] array like this:
      class KitStudWall : Kit { recipe[] = {{"PartPlankPack",4}}; model = "\x\addons\a3_epoch_assets\models\Wooden_Wall_SIM.p3d"; nearby[] = {{"Workbench","","workbench",{1,{"WorkBench_EPOCH","WorkbenchLarge_EPOCH"}},3,1,0,1}}; previewPosition[] = {0.797675,1,0.398882}; previewScale = 0.07; previewVector = 0; }; But for cinder buildables I think you need a more flexible work environment, thus the small workbench is removed from their nearby[] arrays, for example:
      class KitCinderFloor : Kit { usedIn[] = {"KitCinderTower"}; recipe[] = {{"CinderBlocks",4},{"MortarBucket",4}}; nearby[] = {{"Large Workbench","","workbench",{1,{"WorkbenchLarge_EPOCH"}},3,1,0,1}}; model = "\x\addons\a3_epoch_community\models\cinderfloor.p3d"; previewPosition[] = {0.800198,1,0.262418}; previewScale = 0.055; previewVector = 3.6; }; That's pretty much it. Now you can build a large workbench, craft one and make other items dependent on it - or indeed any other object in the game. As a final example here's a modified entry for an energy pack that relies on you having a power source within 30m, and a fire and a large workbench within 3m:
      class EnergyPack : Item { usedIn[] = {"EnergyPackLg"}; nearby[] = {{"Fire","","fire",{1,{"ALL"}},3,1,1,0},{"Large Workbench","","workbench",{1,{"WorkbenchLarge_EPOCH"}},3,1,0,1},{"Power Source","","electricity",{1,{"Land_spp_Tower_F","Land_wpp_Turbine_V2_F","Land_wpp_Turbine_V1_F","SolarGen_EPOCH","Land_Wreck_Satellite_EPOCH"}},30,1,0,1}}; recipe[] = {{"CircuitParts",1},{"ItemCopperBar",1},{"clean_water_epoch",1}}; previewPosition[] = {0.8,1,0.29}; previewScale = 1.75; previewVector = 2.8; }; Now let your imagination run wild!
    • By Ghostrider-GRG
      I wondered if anyone knew how you plant the seeds you harvest to start a new garden.
      Any tips would be much appreciated.
    • By Ghostman
      I'm looking for a script crafting in hand, bacpack, vehicle, add to favorite i have my old script but if crafting all items have name "any"
    • By chi
      I have looked but can't find any info on this anywhere....
       
      I wanted all of my buildables to be set to right click the toolbox. I have it all set up right with 46 items in the drop down menu. The drop down menu will not load and it breaks the crafting window when I load that many. I haven't tried to figure out how many possible entries I can have in the drop down menu without breaking anything, but i did just try to put 4 items in it and it worked fine.
      Does anyone know:
      ---how many entries the menu will hold without breaking
      ---If it is possible to change the max number of items it holds
      ---Or if i just have to make a second right click entry for the toolbox and have a whole other crafting window pop up with a different sets of items?
       
      Thanks in advance!!!
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...