Jump to content
Sign in to follow this  
LeYuno

Game doesn't load my custom class

Recommended Posts

Hi everyone,

I've been trying to create a custom class through an addon in arma3.

does the cfgpatches require a certain mockup regarding the folder structure that contains the config.cpp file with my custom class? I saw something similar like "A3_animals_f_rabbit" in the cfgpatches code of the originalrabbit file, meaning the A3/animals_f/rabbit folder. I tested this with A3/rabbidz/rabbid ~ A3_rabbidz_rabbid but to no avail.

info.cpp code for rabbid; this is in essence the info.bin file from the rabbit animal class, which I altered.

Changed cfgpatches class name to A3_Rabbidz_Rabbid as the folder structure from the pbo is @rabbidz/addons/ (rabbid/config.cpp).pbo

Added cfgVehicleClasses to it, defining the class RabbidVehicleClass with displayname Rabbid.

Changed cfgVehicleclass to have the class rabbid added as a vehicle, with vehicleclass set to the new rabbidvehicleclass as indicated above, with displayname rabbid.

Below the rabbid info.cpp file I posted the map file I created to require my addon. When I load it up in the editor I still get a missing addon error, even though @rabbidz is listed in the addons list ingame.

class CfgPatches {

class A3_Rabbidz_Rabbid {
	units = {"Rabbid"};
	weapons = {};
	requiredVersion = 0.100000;
	requiredAddons = {};
};
};

class CfgVehicleClasses
{
class RabbidVehicleClass
{
	displayName = "Rabbid";
};
};

class UniformSlotInfo {
slotType = 0;
linkProxy = "-";
};

class CfgMovesAnimal_Base_F {
access = 1;
collisionVertexPattern = {};
collisionGeomCompPattern = {1};

class Default {
	access = 3;
	file = "";
	looped = 1;
	speed = 0.700000;
	disableWeapons = 0;
	enableOptics = 1;
	disableWeaponsLong = 0;
	canreload = 1;
	showWeaponAim = 1;
	enableMissile = 0;
	enableBinocular = 1;
	showItemInHand = 0;
	showItemInRightHand = 0;
	showHandGun = 0;
	onLandBeg = 0;
	onLandEnd = 0;
	onLadder = 0;
	canPullTrigger = 1;
	duty = -0.510000;
	predictSpeedCoef = 1;
	visibleSize = 1;
	aimPrecision = 1;
	relSpeedMin = 1.000000;
	relSpeedMax = 1.000000;
	soundEnabled = 1;
	soundOverride = "";
	soundEdge = {0.500000, 1};
	soundEdge1 = 0.500000;
	soundEdge2 = 1;
	terminal = 0;
	limitGunMovement = 1;
	variantsPlayer = {};
	variantsAI = {};
	equivalentTo = "";
	connectAs = "";
	variantAfter = {5, 10, 20};
	connectFrom = {};
	connectTo = {};
	interpolateWith = {};
	interpolateTo = {};
	interpolateFrom = {};
	aiming = "aimingNo";
	leaning = "aimingNo";
	untiltWeapon = "aimingNo";
	aimingBody = "aimingUpDefault";
	legs = "legsNo";
	head = "headDefault";
	leaningFactorBeg = 0;
	leaningFactorEnd = 0;
	leaningFactorZeroPoint = -1;
	leaningCorrectionAngleBeg = 0;
	leaningCorrectionAngleEnd = 0;
	interpolationSpeed = 6;
	interpolationRestart = 0;
	hasCollShapeSafe = 0;
	collisionShapeSafe = "";
	boundingSphere = 1;
	enableDirectControl = 1;
	enableAutoActions = 0;
	leftHandIKBeg = 0;
	leftHandIKEnd = 0;
	leftHandIKCurve = 0;
	rightHandIKCurve = 0;
	rightHandIKBeg = 0;
	rightHandIKEnd = 0;
	weaponIK = 0;
	preload = 0;
	walkcycles = 1;
	forceAim = 0;
	showDisposableGun = 0;
	headBobStrength = 0.200000;
	headBobMode = 1;
};

class StandBase: Default {
	duty = -1;
	head = "headDefault";
	speed = 10000000000.000000;
	relSpeedMin = 0.700000;
	relSpeedMax = 1.100000;
	looped = 1;
	soundEnabled = 1;
	enableDirectControl = 0;
	disableWeapons = 1;
	disableWeaponsLong = 1;
};

class DefaultDie: Default {
	aiming = "aimingNo";
	legs = "legsNo";
	head = "headNo";
};

class ManActions {
	Stop = "";
	StopRelaxed = "";
	TurnL = "";
	TurnR = "";
	TurnLRelaxed = "";
	TurnRRelaxed = "";
	Default = "";
	JumpOff = "";
	ReloadMagazine = "";
	ReloadMGun = "";
	ReloadAT = "";
	ReloadMortar = "";
	ThrowGrenade = "";
	WalkF = "";
	WalkLF = "";
	WalkRF = "";
	WalkL = "";
	WalkR = "";
	WalkLB = "";
	WalkRB = "";
	WalkB = "";
	SlowF = "";
	SlowLF = "";
	SlowRF = "";
	SlowL = "";
	SlowR = "";
	SlowLB = "";
	SlowRB = "";
	SlowB = "";
	FastF = "";
	FastLF = "";
	FastRF = "";
	FastL = "";
	FastR = "";
	FastLB = "";
	FastRB = "";
	FastB = "";
	EvasiveForward = "";
	EvasiveLeft = "";
	EvasiveRight = "";
	EvasiveBack = "";
	StartSwim = "";
	StopSwim = "";
	Down = "";
	Up = "";
	PlayerStand = "";
	PlayerCrouch = "";
	PlayerProne = "";
	Lying = "";
	Stand = "";
	Combat = "";
	Crouch = "";
	CanNotMove = "";
	Civil = "";
	CivilLying = "";
	FireNotPossible = "";
	Die = "";
	WeaponOn = "";
	WeaponOff = "";
	StrokeFist = "";
	StrokeGun = "";
	SitDown = "";
	Salute = "";
	BinocOn = "";
	BinocOff = "";
	PutDown = "";
	PutDownEnd = "";
	Medic = "";
	Treated = "";
	LadderOnDown = "";
	LadderOnUp = "";
	LadderOff = "";
	LadderOffTop = "";
	LadderOffBottom = "";
	GetInLow = "";
	GetInMedium = "";
	GetInHigh = "";
	GetOutLow = "";
	GetOutMedium = "";
	GetOutHigh = "";
	TakeFlag = "";
	HandGunOn = "";
	LookAround = "";
	Eat = "";
	StopEat = "";
	Rest = "";
	StopRest = "";
};

class Actions {

	class NoActions: ManActions {
		turnSpeed = 8;
		limitFast = 5.500000;
		useFastMove = 0;
		stance = "ManStanceUndefined";
		upDegree = 0;
	};
};

class Interpolations {
};
transitionsInterpolated = {};
transitionsSimple = {};
transitionsDisabled = {};

class BlendAnims {
	aimingDefault = {"head", 1};
	untiltWeaponDefault = {};
	legsDefault = {};
	headDefault = {"Head", 1};
	aimingNo = {};
	legsNo = {};
	headNo = {};
	aimingUpDefault = {};
};
};

class CfgMovesRabbit_F: CfgMovesAnimal_Base_F {
access = 1;
skeletonName = "Rabbit_F";
collisionVertexPattern = {"1a", "2a", "3a", "4a", "5a", "6a", "7a", "8a", "9a", "10a", "11a", "12a", "13a", "14a", "15a", "16a", "17a", "18a", "19a", "20a", "21a", "22a", "23a", "24a", "25a", "26a", "27a", "28a", "29a", "30a", "31a", "32a", "33a", "34a"};
collisionGeomCompPattern = {1};

class Default: Default {
	collisionShape = "A3\animals_f\Rabbit\Rabbit_CollShape.p3d";
	actions = "RabbitActions";
};

class StandBase: Default {
	actions = "RabbitActions";
	aiming = "aimingDefault";
	leaningFactorBeg = 1;
	leaningFactorEnd = 1;
	disableWeapons = 1;
	disableWeaponsLong = 1;
};

class DefaultDie: Default {
	aiming = "aimingNo";
	legs = "legsNo";
	head = "headNo";
	disableWeapons = 1;
	interpolationRestart = 1;
	soundEdge1 = 0.450000;
	soundEdge2 = 0.450000;
};

class States {

	class Rabbit_Stop: StandBase {
		file = "\A3\Animals_F\Rabbit\data\Anim\rabbit_basicIdle";
		duty = -1;
		variantsAI = {"Rabbit_Stop", 0.200000, "Rabbit_StopV1", 0.600000, "Rabbit_Hop", 0.200000};
		speed = 1.000000;
		relSpeedMin = 1.000000;
		relSpeedMax = 1.000000;
		connectTo = {"Rabbit_Stop", 0.020000, "Rabbit_StopV1", 0.020000, "Rabbit_Hop", 0.100000};
		connectFrom = {"Rabbit_Stop", 0.020000, "Rabbit_StopV1", 0.020000, "Rabbit_Hop", 0.100000};
		interpolateTo = {"Rabbit_Hop", 0.100000, "Rabbit_Die", 0.100000};
		preload = 1;
	};

	class Rabbit_Init: Rabbit_Stop {
		actions = "RabbitActions";
	};

	class Rabbit_StopV1: Rabbit_Stop {
		file = "\A3\Animals_F\Rabbit\data\Anim\rabbit_idleLookAround";
		connectTo = {"Rabbit_Stop", 0.020000, "Rabbit_StopV1", 0.010000, "Rabbit_Hop", 0.100000};
		speed = -6.000000;
	};

	class Rabbit_Hop: StandBase {
		file = "\A3\Animals_F\Rabbit\data\Anim\rabbit_hop";
		duty = -0.700000;
		speed = -0.600000;
		connectFrom = {"Rabbit_Run", 0.100000, "Rabbit_Stop", 0.100000};
		connectTo = {"Rabbit_Run", 0.100000, "Rabbit_Stop", 0.100000};
		interpolateTo = {"Rabbit_Die", 0.100000};
	};

	class Rabbit_Run: StandBase {
		file = "\A3\Animals_F\Rabbit\data\Anim\rabbit_run";
		duty = -0.500000;
		relSpeedMin = 0.500000;
		relSpeedMax = 1.000000;
		speed = -0.600000;
		connectFrom = {"Rabbit_Sprint", 0.200000, "Rabbit_Hop", 0.100000};
		connectTo = {"Rabbit_Sprint", 0.200000, "Rabbit_Hop", 0.100000};
		interpolateTo = {"Rabbit_Die", 0.100000};
	};

	class Rabbit_Sprint: StandBase {
		file = "\A3\Animals_F\Rabbit\data\Anim\rabbit_run";
		duty = 0.500000;
		relSpeedMin = 0.500000;
		relSpeedMax = 1.000000;
		speed = -0.300000;
		connectTo = {"Rabbit_Sprint", 0.100000, "Rabbit_Run", 0.200000};
		connectFrom = {"Rabbit_Sprint", 0.100000, "Rabbit_Run", 0.200000};
		interpolateTo = {"Rabbit_Die", 0.100000};
	};

	class Rabbit_Die: DefaultDie {
		actions = "NoActions";
		file = "\A3\Animals_F\Rabbit\data\Anim\rabbit_death";
		speed = 1.400000;
		looped = 0;
		variantsPlayer = {};
		variantsAI = {"Rabbit_Die", 0.500000, "Rabbit_Die3", 0.500000};
		variantAfter = {0, 0, 0};
		terminal = 1;
	};

	class Rabbit_Die3: Rabbit_Die {
		file = "\A3\Animals_F\Rabbit\data\Anim\rabbit_death3";
	};
};

class Actions: Actions {

	class NoActions: NoActions {
		turnSpeed = 15;
		limitFast = 5.500000;
		useFastMove = 0;
		upDegree = 0;
	};

	class RabbitActions: NoActions {
		Stop = "Rabbit_Stop";
		StopRelaxed = "Rabbit_Stop";
		TurnL = "Rabbit_Stop";
		TurnR = "Rabbit_Stop";
		TurnLRelaxed = "Rabbit_Stop";
		TurnRRelaxed = "Rabbit_Stop";
		Default = "Rabbit_Stop";
		JumpOff = "Rabbit_Stop";
		WalkF = "Rabbit_Hop";
		SlowF = "Rabbit_Sprint";
		FastF = "Rabbit_Sprint";
		EvasiveForward = "Rabbit_Sprint";
		Down = "Rabbit_Stop";
		Up = "Rabbit_Stop";
		PlayerStand = "Rabbit_Stop";
		PlayerCrouch = "Rabbit_Stop";
		PlayerProne = "Rabbit_Stop";
		Lying = "Rabbit_Stop";
		Stand = "Rabbit_Stop";
		Combat = "Rabbit_Stop";
		Crouch = "Rabbit_Stop";
		CanNotMove = "Rabbit_Stop";
		Civil = "Rabbit_Stop";
		CivilLying = "Rabbit_Stop";
		FireNotPossible = "Rabbit_Stop";
		Die = "Rabbit_Die";
		LookAround = "rabbit_stopV1";
		turnSpeed = 300;
		limitFast = 5.500000;
		useFastMove = 0;
		upDegree = "ManPosNoWeapon";
	};
};

class Interpolations {
};
transitionsInterpolated = {};
transitionsSimple = {};
transitionsDisabled = {};

class BlendAnims: BlendAnims {
	aimingDefault = {"head", 1, "leftEar", 1, "rightEar", 1};
	untiltWeaponDefault = {};
	legsDefault = {};
	headDefault = {};
	aimingNo = {};
	legsNo = {};
	headNo = {};
	aimingUpDefault = {};
};
};

class CfgVehicles {
/*extern*/ class Animal_Base_F;

class Rabbid: Animal_Base_F {
	scope = 2;
	vehicleClass = "RabbidVehicleClass";
	displayName = "Rabbid";
	model = "\A3\Animals_F\rabbit\rabbit_F.p3d";
	side = 1;
	moves = "CfgMovesRabbit_F";
	fsmFormation = "";
	fsmDanger = "";
	maxTurnAngularVelocity = 30;
	costTurnCoef = 0.000010;
	boneHead = "head";
	bonePrimaryWeapon = "head";
	weaponBone = "head";
	triggerAnim = "";
	respawnLinkedItems = {"ItemMap", "ItemCompass"};

	class VariablesScalar {
		_threatMaxRadius = 20;
		_runDistanceMax = 50;
		_movePrefer = 0.700000;
		_formationPrefer = 0.200000;
		_scareLimit = 0.200000;
		_dangerLimit = 1.000000;
	};

	class VariablesString {
		_expSafe = "(0.5 * meadow) * (0.5 *  trees) * (1 - forest) * (1 - houses) * (1 - sea)";
		_expDanger = "(trees) * (forest) * (1 - meadow) * (1 - houses) * (1 - sea)";
	};

	class Wounds {
		tex = {};
		mat = {"A3\Animals_F\Rabbit\data\Rabbit.rvmat", "A3\Animals_F\Rabbit\data\W1_Rabbit.rvmat", "A3\Animals_F\Rabbit\data\W2_Rabbit.rvmat"};
	};
};
};

enum {
destructengine = 2,
destructdefault = 6,
destructwreck = 7,
destructtree = 3,
destructtent = 4,
stabilizedinaxisx = 1,
stabilizedinaxesxyz = 4,
stabilizedinaxisy = 2,
stabilizedinaxesboth = 3,
destructno = 0,
stabilizedinaxesnone = 0,
destructman = 5,
destructbuilding = 1
}

map.sqm code:

version=12;
class Mission
{
addOns[]=
{
	"A3_Animals_F_Rabbit",
	"a3_map_stratis",
	"A3_Characters_F_BLUFOR",
	"A3_Rabbidz_Rabbid"
};
addOnsAuto[]=
{
	"A3_Characters_F_BLUFOR",
	"A3_Animals_F_Rabbit",
	"a3_map_stratis",
	"A3_Rabbidz_Rabbid"
};
randomSeed=9391499;
class Intel
{
	resistanceEast=1;
	startWeather=0.29999998;
	startWind=0.099999994;
	startWaves=0.099999994;
	forecastWeather=0.29999998;
	forecastWind=0.099999994;
	forecastWaves=0.099999994;
	forecastLightnings=0.099999994;
	year=2035;
	month=7;
	day=6;
	hour=14;
	minute=15;
};
class Groups
{
	items=1;
	class Item0
	{
		side="WEST";
		class Vehicles
		{
			items=6;
			class Item0
			{
				position[]={1780.009,5.5,5561.2144};
				special="NONE";
				id=0;
				side="WEST";
				vehicle="B_Soldier_F";
				player="PLAYER COMMANDER";
				leader=1;
				skill=0.60000002;
				init="this addVest ""U_BasicBody""; this addWeapon ""ItemMap""; this assignItem ""ItemMap""";
			};
			class Item1
			{
				position[]={1773.7485,5.5,5561.6855};
				azimut=80;
				id=1;
				side="WEST";
				vehicle="Rabbid";
				player="PLAY CDG";
				skill=0.60000002;
				init="this addVest ""U_BasicBody""; this addWeapon ""ItemMap""; this assignItem ""ItemMap""";
			};
			class Item2
			{
				position[]={1767.4274,5.5,5562.3076};
				azimut=30;
				id=2;
				side="WEST";
				vehicle="Rabbid";
				player="PLAY CDG";
				skill=0.60000002;
				init="this addVest ""U_BasicBody""; this addWeapon ""ItemMap""; this assignItem ""ItemMap""";
			};
			class Item3
			{
				position[]={1760.2816,5.5,5562.8398};
				azimut=30;
				special="NONE";
				id=3;
				side="WEST";
				vehicle="Rabbid";
				player="PLAY CDG";
				skill=0.60000002;
				init="this addVest ""U_BasicBody""; this addWeapon ""ItemMap""; this assignItem ""ItemMap""";
			};
			class Item4
			{
				position[]={1752.8662,5.5,5562.98};
				azimut=30;
				special="NONE";
				id=4;
				side="WEST";
				vehicle="Rabbid";
				player="PLAY CDG";
				skill=0.60000002;
				init="this addVest ""U_BasicBody""; this addWeapon ""ItemMap""; this assignItem ""ItemMap""";
			};
			class Item5
			{
				position[]={1786.9456,5.5,5559.5962};
				special="NONE";
				id=5;
				side="WEST";
				vehicle="Rabbid";
				skill=0.60000002;
				init="this addVest ""U_BasicBody""; this addWeapon ""ItemMap""; this assignItem ""ItemMap""";
			};
		};
	};
};
};
class Intro
{
addOns[]=
{
	"a3_map_stratis"
};
addOnsAuto[]=
{
	"a3_map_stratis"
};
randomSeed=11066353;
class Intel
{
	timeOfChanges=1800.0002;
	startWeather=0.30000001;
	startWind=0.1;
	startWaves=0.1;
	forecastWeather=0.30000001;
	forecastWind=0.1;
	forecastWaves=0.1;
	forecastLightnings=0.1;
	year=2035;
	month=7;
	day=6;
	hour=14;
	minute=15;
};
};
class OutroWin
{
addOns[]=
{
	"a3_map_stratis"
};
addOnsAuto[]=
{
	"a3_map_stratis"
};
randomSeed=14882430;
class Intel
{
	timeOfChanges=1800.0002;
	startWeather=0.30000001;
	startWind=0.1;
	startWaves=0.1;
	forecastWeather=0.30000001;
	forecastWind=0.1;
	forecastWaves=0.1;
	forecastLightnings=0.1;
	year=2035;
	month=7;
	day=6;
	hour=14;
	minute=15;
};
};
class OutroLoose
{
addOns[]=
{
	"a3_map_stratis"
};
addOnsAuto[]=
{
	"a3_map_stratis"
};
randomSeed=15462346;
class Intel
{
	timeOfChanges=1800.0002;
	startWeather=0.30000001;
	startWind=0.1;
	startWaves=0.1;
	forecastWeather=0.30000001;
	forecastWind=0.1;
	forecastWaves=0.1;
	forecastLightnings=0.1;
	year=2035;
	month=7;
	day=6;
	hour=14;
	minute=15;
};
};

any help is deeply appreciated.

Edited by LeYuno

Share this post


Link to post
Share on other sites

Hello R0adkil1,

thanks, I didn't realise I was posting this in the wrong section. I hope someone will be able to help.

I edited the initial post with extra information.

any help is deeply appreciated.

Edited by LeYuno

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  

×