Jump to content
Sign in to follow this  
jshock

File Path in CfgFunctions in config.cpp

Recommended Posts

Hello Addon Community,

I am a scripter, and decided to jump head first into addon creation. The following is just a proof of concept for myself, to get a good grasp on the structure of addons and so forth.

I am basically trying to simply create an editor placeable module that can be synced to a vehicle and have a fire effect attached to the vehicle's position. I started digging and found this page, which was the basis of my current progress.

However, my issue that I'm having after I binarize the folder with the config.cpp, functions folder, and fn_test.sqf file, then place it into an @ folder to load it up as a mod in game, I have this error message pop up:

1ISYbpY.jpg

As I know how Arma works, I'm sure it's something simple that I'm missing or have misplaced. Any help would be greatly appreciated.

config.cpp

class CfgPatches
{
class JSHK_firstAddon
{
	units[] = {"JSHK_ModuleTest"};
	requiredVersion = 1.0;
	requiredAddons[] = {"A3_Modules_F"};
};
};

class CfgFactionClasses
{
class Effects;
class JSHK_testing: Effects
{
	displayName = "Shock Module Test";
};
};

class CfgVehicles
{
class Logic;
class Module_F: Logic
{
	class ModuleDescription
	{
		class AnyStaticObject;
	};

};

class JSHK_ModuleTest: Module_F
{
	scope = 2;
	displayName = "Shock Test";
	category = "Effects";

	function = "JSHK_fnc_moduleTest";
	functionPriority = 1;
	isGlobal = 2;
	isTriggerActivated = 1;
	isDisposable = 1;

	class ModuleDescription: ModuleDescription
	{
		description = "Shock's Module Description";
		sync[] = {"LocationArea_F"};

		class LocationArea_F
		{
			description[] = { // Multi-line descriptions are supported
				"First line of description",
				"Second line of description"
			};
			position = 1; // Position is taken into effect
			direction = 0; // Direction is taken into effect
			optional = 0; // Synced entity is optional
			duplicate = 1; // Multiple entities of this type can be synced
			synced[] = {"AnyStaticObject"}; // Pre-define entities like "AnyBrain" can be used. See the list below
		};
	};
};
};

class CfgFunctions
{
class JSHK
{
	class Effects
	{
		file = "\JSHK_firstAddon\functions";
		class test{};
	};

};
};

Zip folder with all related files:

https://www.dropbox.com/s/xf8xbmt9d8spe6b/JSHK_firstAddon.zip?dl=0

Share this post


Link to post
Share on other sites

So this is what I've put together from my scripting knowledge. I'm not going to explain it in detail mainly because I'm tired and about to go to sleep. But here is a dropbox link to the file that I changed around that you can inspect to see what I changed. Here you go: https://www.dropbox.com/s/4tnzvwjmif163gj/JSHK_firstAddon.rar?dl=0

Share this post


Link to post
Share on other sites
So this is what I've put together from my scripting knowledge. I'm not going to explain it in detail mainly because I'm tired and about to go to sleep. But here is a dropbox link to the file that I changed around that you can inspect to see what I changed. Here you go: https://www.dropbox.com/s/4tnzvwjmif163gj/JSHK_firstAddon.rar?dl=0

Ok, so I see that you split them all into their own separate .hpp files for each class, and kept the config.cpp file the same, but other than that I see no other differences, and I get the same error message after I binarize this and overwrite the pbo in my @ folder.

Share this post


Link to post
Share on other sites

simply splitting up the configs doesn't do anything except for organization. they still all need to be #included in the config.cpp

one issue to look out for: i noticed while trying out your original example, that for me, Addon Builder isn't including the functions folder nor the sqf file into the pbo (extension -is- whitelisted). After binarizing and packing, files like sqf are visible and readable in the pbo if view in a text editor, but for some reason the folder isn't making it into the pbo.

That aside, separately binarizing and packing a pbo using Eliteness (folders & sqf definitely included, confirmed), didn't seem to eliminate the error. nor any usual combo of root folder definitions. I'll try to find one of my older practice addons that worked fine, scratching my head as to why its not working...

Have you seen or given this a thorough read? [url=https://community.bistudio.com/wiki/Functions_Library_(Arma_3)#Adding_a_Functionhttps://community.bistudio.com/wiki/Functions_Library_(Arma_3)#Adding_a_Function

Share this post


Link to post
Share on other sites

Yep, I'm getting quite annoyed because I have read the page you linked quite well, considering I needed to know most of it for standard scripting stuff, so I just figured it's no real different from that to addons, so I have tried every possible combo of file path, with no luck. I still feel as if it's something stupidly simple, but I can't put my nose on it.

Share this post


Link to post
Share on other sites
I made you a little template, not testet but it's the same as i allways do it.

download

Ok, I see how you structured all that out and it makes logical sense, so just for testing purposes, I pbo-ed your template (with empty function sqf files), loaded it up, and got the same error. Could this being something with A3 Tools, maybe I'm not using that correctly?

Because obviously some files are not being included when it gets pbo-ed, do I need to add any files to the "List of files to copy directly" field under the options menu for the A3 Tools Addon Builder?

Edited by JShock

Share this post


Link to post
Share on other sites

Had the same problem once... try to not binarize your funcitons.pbo as this is what will happen.

I don't know why but when you binarize your pbo the cfgFunctions or the sqfs will get fucked up some how...

If it still not work i would need to check it when i come home.

Share this post


Link to post
Share on other sites
Had the same problem once... try to not binarize your funcitons.pbo as this is what will happen.

I don't know why but when you binarize your pbo the cfgFunctions or the sqfs will get fucked up some how...

If it still not work i would need to check it when i come home.

That would be the culprit, got it working (at least finding the sqf and pbo-ing it).

Thanks all for your help in this matter :D.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×