Jump to content

WPK-ArmedVeteran

Member
  • Content Count

    34
  • Joined

  • Last visited

  • Medals

Posts posted by WPK-ArmedVeteran


  1. Sure, here's PBOPREFIX:

    z\armawkagear\addons\armawkaexternal

    And here are my rvmats:
     

    class StageTI
    {
    	texture="#(argb,8,8,3)color(0,0,0,0)";
    };
    ambient[]={1,1,1,1};
    diffuse[]={1,1,1,1};
    forcedDiffuse[]={0,0,0,0};
    emmisive[]={0,0,0,1};
    specular[]={0.1,0.1,0.1,1};
    specularPower=100;
    PixelShaderID="Super";
    VertexShaderID="Super";
    class Stage1
    {
    	texture="z\armawkagear\addons\armawkaexternal\data\TacTecMaterial_NOHQ.paa";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage2
    {
    	texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage3
    {
    	texture="#(argb,8,8,3)color(0,0,0,0,MC)";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage4
    {
    	texture="z\armawkagear\addons\armawkaexternal\data\TacTecMaterial_AS.paa";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage5
    {
    	texture="z\armawkagear\addons\armawkaexternal\data\TacTecMaterial_SMDI.paa";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage6
    {
    	texture="#(ai,64,64,1)fresnel(1,0.7)";
    	uvSource="none";
    };
    class Stage7
    {
    	texture="a3\data_f\env_co.paa";
    	useWorldEnvMap="true";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    
    =====================================================================================================================================================
    
    class StageTI
    {
    	texture="#(argb,8,8,3)color(0,0,0,0)";
    };
    ambient[]={1,1,1,1};
    diffuse[]={1,1,1,1};
    forcedDiffuse[]={0,0,0,0};
    emmisive[]={0,0,0,1};
    specular[]={0.1,0.1,0.1,1};
    specularPower=100;
    PixelShaderID="Super";
    VertexShaderID="Super";
    class Stage1
    {
    	texture="z\armawkagear\addons\armawkaexternal\data\TacticalBeltMaterial_NOHQ.paa";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage2
    {
    	texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage3
    {
    	texture="#(argb,8,8,3)color(0,0,0,0,MC)";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage4
    {
    	texture="z\armawkagear\addons\armawkaexternal\data\TacticalBeltMaterial_AS.paa";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage5
    {
    	texture="z\armawkagear\addons\armawkaexternal\data\TacticalBeltMaterial_SMDI.paa";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    class Stage6
    {
    	texture="#(ai,64,64,1)fresnel(1,0.7)";
    	uvSource="none";
    };
    class Stage7
    {
    	texture="a3\data_f\env_co.paa";
    	useWorldEnvMap="true";
    	uvSource="tex";
    	class uvTransform
    	{
    		aside[]={1,0,0};
    		up[]={0,1,0};
    		dir[]={0,0,0};
    		pos[]={0,0,0};
    	};
    };
    

    Though I'm pretty sure it's the build system's problem. When I have time I'll try packing with Mikero.


  2. I'm going to try Mikero's tools tommorow, since this is the only thing I can think of rn. I'm pretty sure P drive is setup correctly, because the paths in P3D (visible in object builder) are definitely correct and corresponding to the $PBOPREFIX$ file. Regarding the errors in RPT - there's none and that's what troubles me the most. There is no prompt on screen, no errors in RPT, nothing. It looks like the engine was completly ignoring the RVMATs (as I said, changing names of the RVMAT's doesn't change anything). What is strange is that other .pbos (with retextures and no external models) also have custom RVMATs and they are working correctly 😐


  3. I'm going to post here, since I'm having a similar issue, maybe @PuFu will have any idea.
    I'd like to point out that I pack with HEMTT Build System, not Mikero's or BI Tools.

    So here's the thing:
    I've made a vest, it has textures and rvmats setup properly (through Arma Toolbox for Blender). It works like a charm in Object Builder.
    Now here's my old version of config.cpp:

    class CfgPatches
    {
    	class armawkaexternal
    	{
    		name = "ArmawkaGear";
    		author = "ArmedVeteran and JJayRex";
    		url = "https://armawka.dev";
    		units[] = {};
    		weapons[] =
    		{
    				//////////////VESTS
    				"Armawka_TacTec_Base";
    		};
    		requiredVersion = 0.1;
    		requiredAddons[] = {"A3_Characters_F","armawka"};
    	};
    };
    
    class cfgFactionClasses
    {
    	class Armawczaki;
    };
    
    class UniformSlotInfo
    {
    	slotType = 0;
    	linkProxy = "-";
    };
    
    class cfgWeapons
    {
    	//////////UNIFORMS	
    	class ItemCore;
    	class InventoryItem_Base_F;
    	class VestItem;
    	class Vest_Camo_Base: ItemCore
    	{
    		class ItemInfo;
    	};
    
    	class Armawka_TacTec_Tan: Vest_Camo_Base
    	{	
    		scope = 2; /// scope needs to be 2 to have a visible class
    		displayName  = "[JBnA] TacTec (Tan)"; /// how would the stuff be displayed in inventory and on ground
    		picture = ""; /// this icon fits the vest surprisingly well
    		model   = "\z\ArmawkaGear\Addons\armawkaexternal\TacTec.p3d"; /// what model does the vest use
    		hiddenSelections[]=
    		{
    			"camo",
    			"camo1"
    		};
    		hiddenSelectionsTextures[] = 
    		{
    			"\z\ArmawkaGear\Addons\armawkaexternal\data\TacTecMaterial_CO.paa",
    			"\z\ArmawkaGear\Addons\armawkaexternal\data\TacticalBeltMaterial_CO.paa"
    		}; /// what texture is going to be used
    		hiddenSelectionsMaterials[] = 
    		{
    			"\z\ArmawkaGear\Addons\armawkaexternal\data\TacTecMaterial.rvmat",
    			"\z\ArmawkaGear\Addons\armawkaexternal\data\TacticalBeltMaterial.rvmat"
    		};
    		class ItemInfo: VestItem
    		{
    			uniformModel   = "\z\ArmawkaGear\Addons\armawkaexternal\TacTec.p3d"; /// what model does the vest use
    			overlaySelectionsInfo[] = {}; /// name of selections to be hidden while wearing certain uniforms
    			containerClass="Supply200";
    			mass=50;
    			passThrough=1;
    			hiddenSelections[]=
    			{
    				"camo",
    				"camo1"
    			};
    			class HitpointsProtectionInfo
    			{
    				class Chest 
    				{
    					hitpointName	= "HitChest"; 
    					armor		= 24; 
    					passThrough	= 0.1; 
    				};
    				class Diaphragm
    				{
    					hitpointName	= "HitDiaphragm";
    					armor		= 24;
    					passThrough	= 0.1;
    				};
    				class Abdomen
    				{
    					hitpointName	= "HitAbdomen"; 
    					armor		= 24;
    					passThrough	= 0.1;
    				};
    				class Body
    				{
    					hitpointName	= "HitBody";
    					passThrough	= 0.1;
    				};
    			};
    		};
    	};
    };


    Strangely, to make it work I need to have $PREFIX$ file (not $PBOPREFIX$), which as far as I know is $PBOPREFIX$ after packing into .pbo. If I don't have it (or have $PBOPREFIX$ instead of $PREFIX$) the game throws an error that it can't find the model. I could leave it like that, with $PREFIX$ in my file and all would be great, but I need CBA implemented for the future (I'm planning on adding customization menu in the future).

    With CBA every other addon works great, except for the one where I have my vest models (these are the only models I have added, the other addons are retextures). The problem here is that textures load well, but the RVMATs are not loaded at all (as if they were ignored). It does not throw any errors while loading or going into arsenal, the paths are correct in Config Viewer and I have no idea what the problem might be.

    The code with CBA is separated between config.cpp, CfgWeapons.hpp and script_component.hpp:
    CfgWeapons.hpp

    class CfgWeapons
    {
    	//////////VESTS	
    	class ItemCore;
    	class InventoryItem_Base_F;
    	class VestItem;
    	class Vest_Camo_Base: ItemCore
    	{
    		class ItemInfo;
    	};
    
    	class Armawka_TacTec_Tan: Vest_Camo_Base
    	{	
    		scope = 2; /// scope needs to be 2 to have a visible class
    		displayName = "[JBnA] TacTec (Tan)"; /// how would the stuff be displayed in inventory and on ground
    		picture = ""; /// this icon fits the vest surprisingly well
    		model = QPATHTOF(TacTec.p3d); /// what model does the vest use
    		hiddenSelections[]=
    		{
    			"camo",
    			"camo1"
    		};
    		hiddenSelectionsTextures[] = 
    		{
    			QPATHTOF(data\TacTecMaterial_CO.paa),
    			QPATHTOF(data\TacticalBeltMaterial_CO.paa)
    		}; /// what texture is going to be used
    
    		hiddenSelectionsMaterials[] = 
    		{
    			QPATHTOF(data\tactecmaterial.rvmat),
    			QPATHTOF(data\tacticalbeltmaterial.rvmat)
    		};
    
    		class ItemInfo: VestItem
    		{
    			uniformModel = QPATHTOF(TacTec.p3d); /// what model does the vest use
    			overlaySelectionsInfo[] = {}; /// name of selections to be hidden while wearing certain uniforms
    			containerClass="Supply200";
    			mass=50;
    			passThrough=1;
    
    			hiddenSelections[]=
    			{
    				"camo",
    				"camo1"
    			};
    
    			class HitpointsProtectionInfo
    			{
    				class Chest 
    				{
    					hitpointName = "HitChest"; 
    					armor = 24; 
    					passThrough	= 0.1; 
    				};
    				class Diaphragm
    				{
    					hitpointName = "HitDiaphragm";
    					armor = 24;
    					passThrough	= 0.1;
    				};
    				class Abdomen
    				{
    					hitpointName = "HitAbdomen"; 
    					armor = 24;
    					passThrough	= 0.1;
    				};
    				class Body
    				{
    					hitpointName = "HitBody";
    					passThrough	= 0.1;
    				};
    			};
    		};
    	};
    };

    config.cpp
     

    #include "script_component.hpp"
    
    class CfgPatches {
        class ADDON {
            name = COMPONENT_NAME;
            author = "ArmedVeteran and JJayRex";
            url = "https://www.facebook.com/groups/armawka/";
            units[] = {};
            weapons[] = {};
            requiredVersion = REQUIRED_VERSION;
            requiredAddons[] = {
    			"A3_Characters_F",
    			QGVARMAIN(armawka)
    		};
            author = ECSTRING(Main, AuthorName);
            authors[] = {ECSTRING(Main, AuthorName)};
            url = ECSTRING(Main, URL);
            VERSION_CONFIG;
        };
    };
    
    #include "CfgWeapons.hpp"
    

    script_component.hpp

    #define COMPONENT armawkaexternal
    #define COMPONENT_BEAUTIFIED ArmawkaExternal
    #include "\z\armawkagear\addons\main\script_mod.hpp"
    
    // #define DEBUG_MODE_FULL
    // #define DISABLE_COMPILE_CACHE
    
    #ifdef DEBUG_ENABLED_LANGUAGE
    	#define DEBUG_MODE_FULL
    #endif
    
    #ifdef DEBUG_SETTINGS_LANGUAGE
    	#define DEBUG_SETTINGS DEBUG_SETTINGS_LANGUAGE
    #endif
    
    #include "\z\armawkagear\addons\main\script_macros.hpp"


    Also, the paths to textures and rvmats are setup correctly in the model, because it works in O2 and it worked without CBA.
    I've tried using QPATHTO_R macro instead of QPATHTOF, as I've seen it has been used in ACE for RVMATs, no luck. I've also tried simply adding "z\armawkagear\addons\armawkaexternal\data\tactecmaterial.rvmat" and the same for the other selection, it didn't work. Honestly, I'm starting to lose my mind here, because there are no errors and it simply doesn't work XD If you guys won't be able to help me I'll try starting a new thread.

    Here's my file tree:
    LpLCw59.jpg

    @EDIT And I've also tried changing RVMAT's names and it did not throw any errors, so as I've said it looks like it completely ignores them. The $PREFIX$ file in CBA version is also my attempt to fix this, because at first I've only had $PBOPREFIX$, which is needed for both CBA and HEMTT.


  4. Hi!
    So, here's my problem, which I haven't found a solution for.
    Right now I have a vest model, which consists of 2 objects: the actual vest and a belt. Those two objects have separate materials (and separate UV maps obviously).


    p1ldBSn.jpg


    Now, exporting them to P3D with Arma Toolbox results in only one object being exported and if I understand right, for Arma to interpret them correctly to assign separate textures to them I need to have separate vertex groups in one object, not two separate objects as I have them now. The following problem applies in both cases, either if the objects are separate or when I merge them and create separate vertex groups: the hidden selection name changes simultanously, regardless of the group (or object if they are separated) I have selected (so for example I select the vest vertex group, change the hidden selection name from "camo" to "camo1" and then select belt vertex group and the hidden selection is the same [meaning it already is named as "camo1"]).

    @EDIT Or maybe I understand it in a wrong way? Is it enough if I just have the vertex groups and they will automatically be made separate hidden selections after export?

    How can I make it so that it is exportable to P3D, while having separate UVs,  hidden selections and in result separate textures for the belt and the vest?


  5. Just curious @Siege-A, will the customization system be completely hardcoded for your stuff or will other authors be able to use it if they add USP as dependency? Because, honestly I've been thinking about implementing a system where if you'd have a certain item in your inventory (let's say a vest on) it would add an ACE interaction to open a dialog menu and choose from different versions and camos of the vest (simply by copying the contents of the said vest, deleting it, creating a vest of a different class and adding items back in). But implementing it would take a lot of time for a really small team like mine (I might event have to do it alone lol), while you guys are certainly going to release a quality system.


  6. Same here, if you still need any testers my clan would be really greatful for the opportunity. We have a couple of guys who fly regularly in ArmA (including myself) and testing this would be mindblowing, especially since there are no good up-to-date combat helicopter sims (except for DCS, but welp, you can't fly a Black Hawk there).
    Anyway, I appreciate all of your work, great stuff man. Can't wait 😄


  7. Hi!
    I tried using Dynamic Simulation to increase framerate in my mission, but surprisingly it doesn't work. The units which have DS enabled don't "wake up" at all. The simulation does not start, therefore I have quite a big problem. If I disable DS for a unit, the simulation goes normally, same for global disabling of DS - all units behave as they should. I'm using 3den Enhanced, but don't think that's what's causing this situation, since I've read that it works normally with 3E. Any ideas where the issue lies?


  8. Hi!
    As the title says, I can't figure out how to use Murklor's AI Spawn Script. I'm a total noob in scripting, therefore I can't really understand what should I do. I'd gladly use some detailed instructions on how to use this script or a description of another way to despawn editor-placed units and spawn them later using trigger, while maintaining all the setup like waypoints etc.

     

    Murklor's script on Armaholic:
    http://www.armaholic.com/page.php?id=26909


  9. Although, there is a new problem. After destroying the MHQ while my friend tries to teleport he teleports into wreckage of the previous MHQ, instead of new one, because the script is only executed for me.

    @Update Nevermind lol. I managed to fix this using publicVariable in this script and getVariable before moveInCargo in teleporting script.

    • Like 1
×