DZGuymed 10 Posted March 6, 2011 Hey all, this is my first post. I recently downloaded the ArmA II mod tools in pursuit of creating custom soldiers for the game. I understand that you need to create a config.cpp file, but I can't find any information on creating such a config file. I already have a basic perception of what one looks like and what one looks like, as well as some of the required classes (eg CfgPatches, CfgVehicleClasses, CfgVehicles), but I don't know what to do with them. Just to clarify, this is what I mean by a unit: A custom soldier, with his own individual loadout and faction, that can be selected in the editor. If I didn't explain my question correctly, just tell me and I'll try to clarify. By the way, I'm new to the whole modding scene, at least when it comes to ArmA. Share this post Link to post Share on other sites
[frl]myke 14 Posted March 7, 2011 Well, best would be to inherit your new soldier from a BIS unit which comes closest to what you want. So if your new unit should be a medic, inherit it from a BIS medic soldier. If you base your new unit on a already existing, it will reduce your work to a minimum. class cfgVehicles { class AnyBISunit; class myOwnUnit: AnyBISunit { displayName = "Ubersoldier"; weapons[] = {}; magazines[] = {}; }; }; Share this post Link to post Share on other sites
DZGuymed 10 Posted March 7, 2011 (edited) Myke;1869566']Well' date=' best would be to inherit your new soldier from a BIS unit which comes closest to what you want. So if your new unit should be a medic, inherit it from a BIS medic soldier.If you base your new unit on a already existing, it will reduce your work to a minimum. class cfgVehicles { class AnyBISunit; class myOwnUnit: AnyBISunit { displayName = "Ubersoldier"; weapons[] = {}; magazines[] = {}; }; }; [/quote'] Thanks for the info! I'll get started... first thing I have to do is find the right config file location. :j: Is it located in my ArmAWork folder? Or should I extract the characters.pbo file and work off of that? Sorry if this is a dumb question, I'm still new to this. UPDATE: So I tried using your provided sample as a base for my new unit. I replaced the parts saying AnyBISunit with the Force Recon Assault Rifleman and put it my own classname where it said myOwnUnit. I put in weapons and magazines classnames in the {} part of their repsective places. So then I binarized and ran the mod. I couldn't find it in the editor, and when I added it via the init.sqf file it said it could not load the vehicle classname. I then used eliteness to look at the characters.pbo and the config.bin and saw I had some missing classes and functions. Should I do something with those? Edited March 7, 2011 by DZGuymed To update the information of the post. Share this post Link to post Share on other sites
[frl]myke 14 Posted March 7, 2011 Did you have a proper cfgPatches? Did you also gave him a displayName? www.pastebin.com Very handy site to upload configs and such so people can look into it. Right now, the only answer that can be given is: something is wrong. ;) Share this post Link to post Share on other sites
DZGuymed 10 Posted March 7, 2011 Well, it was just a modified version of what you posted. I didn't put in any of the other functions that I saw in the bin file, nor did I put in any wound/sound/face/model information either. I also used classnames from RH's weapon mods. http://pastebin.com/djy7ZJnV Share this post Link to post Share on other sites
[frl]myke 14 Posted March 7, 2011 Maybe this one helps you further: http://community.bistudio.com/wiki/Mondkalb%27s_Addon_Tutorial#Step_Eight:_Configuration_files Just skip the modelling and read the config sections. You can also skip the model.cfg as this is related to a 3D model which you don't have (a own made). Share this post Link to post Share on other sites
DZGuymed 10 Posted March 8, 2011 Myke;1870012']Maybe this one helps you further: http://community.bistudio.com/wiki/Mondkalb%27s_Addon_Tutorial#Step_Eight:_Configuration_filesJust skip the modelling and read the config sections. You can also skip the model.cfg as this is related to a 3D model which you don't have (a own made). Thanks for the link! I wouldn't of thought to look for tuts at the BIS Wiki' date=' I thought it was for mission editing and stuff. My units actually work now. One problem though, If anyone could help. If I choose to inherit my soldier from USMC Force Recon, he shows up in the FR folder, even though I used Cfgvehicleclasses to define the category he shows up in. Here's my Config.cpp file: [url']http://pastie.org/1645567[/url] Share this post Link to post Share on other sites
[frl]myke 14 Posted March 8, 2011 Thanks for the link! I wouldn't of thought to look for tuts at the BIS Wiki, I thought it was for mission editing and stuff. My units actually work now.One problem though, If anyone could help. If I choose to inherit my soldier from USMC Force Recon, he shows up in the FR folder, even though I used Cfgvehicleclasses to define the category he shows up in. Here's my Config.cpp file: http://pastie.org/1645567 Check again Mondkalbs Tutorial and watch for vehcleclass entry in th objects cfgVehicles. ;) Or the other way around: defining a new vehicleclass is just one part, you have to assign the unit to this new class. Else how would the engine know? Share this post Link to post Share on other sites
lsp 10 Posted March 25, 2011 (edited) curious if anybody can take a look at this and tell me where i went wrong currently it ctds and im not sure why any help would be appreciated its a replacement for the bis us army with binks us army 2009 sorry if this is the wrong thread to post this in but i didnt want to create a whole thread for this class CfgPatches { class new_usa { units[] = {}; weapons[] = {}; requiredVersion = 1.000000; requiredAddons[] = {"CACharacters", "CACharacters2", "CAWeapons", "BINK_US_Units"}; }; }; class CfgVehicles { class SoldierWB; class US_Soldier_Base_EP1; class US_Soldier_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_rifleman_1"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_B_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_rifleman_2"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_AT_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_at"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_AA_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_at"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_AR_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_ar"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_Engineer_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_engineer"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_GL_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_grenadier"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_HAT_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_at"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_LAT_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_at"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_Light_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_rifleman_1"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_sniper_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_dmr"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_Marksman_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_dmr"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_Medic_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_medic"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_MG_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_ar"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_Officer_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_officer"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_SL_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_squadleader"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_TL_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_teamleader"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; class US_Soldier_Crew_EP1: US_Soldier_Base_EP1 { model = "\bink_us_acu\bink_usa_crew"; class Wounds { tex[] = {}; mat[] = {"BINK_US_ACU\data\r1hhl.rvmat","BINK_US_ACU\data\r1hhl_w1.rvmat","BINK_US_ACU\data\r1hhl_w2.rvmat","BINK_US_ACU\data\r1l.rvmat","BINK_US_ACU\data\r1l_W1.rvmat","BINK_US_ACU\data\r1l_W2.rvmat"}; }; }; }; Edited March 25, 2011 by lsp Share this post Link to post Share on other sites
[frl]myke 14 Posted March 25, 2011 I refuse to read through this wall of text. Either use code tags or use www.pastebin.com Share this post Link to post Share on other sites