Jump to content

Invisible item


malkava

Recommended Posts

I`m working on a standalone version of Silver Runic Armor (search for it in DA Nexus) and used your tutorial to aid me.

 

Everything went fine except for a weird bug. When I start a new game ( I only tested the human noble background, as a warrior) the longsword wich starts with me (lsw_01a) becomes invisible. The icon are there, the data, but not the model and texture. The new items show properly.

 

Let try to make It clear for all

 

This is my new swords:

 

 

 

 

 

Their model names are, respectively, w_lsw_slvrn_0 and w_lsw_slvrc_0.mmh. Both have a .mmh and a .phy file. The second one has a .msh because It is a resizment of a grestsword model.

 

This is my missing sword:

 

 

 

 

As you can all see It is not even a model compatible with the new ones. It is model thal all human warrior with noble origin start.

 

This is my GDA file:

 

 

 

I don`t see any chance of an incompatibility error because of this GDA file. The missing sword is: lsw_ls01_a.

 

This is my .mao files:

 

w_lsw_slvrc_0

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!-- Exported by Material Editor --><!-- dc:source=file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/p4win/ReadOnly-0-Rev-15-W_GSW.matproj --><MaterialObject Name="W_GSW_slvr_0">

<Material Name="Weapon.mat"></Material>

<Texture Name="mml_tLightmap" ResName="LM.dds" RequiresID="true"></Texture>

<Texture Name="mml_tDiffuse" ResName="w_gsw_slvr_0d.dds"></Texture>

<Texture Name="mml_tEmissiveMask" ResName="w_gsw_slvr_0e.dds"></Texture>

<Texture Name="mml_tNormalMap" ResName="w_gsw_slvr_0n.dds"></Texture>

<Texture Name="mml_tSpecularMask" ResName="w_gsw_slvr_0s.dds"></Texture>

<Texture Name="mml_tTintMask" ResName="w_gsw_slvr_0t.dds"></Texture>

<Float Name="mml_fSpecularReflectionMult" value="0.50"></Float>

</MaterialObject>

 

w_lsw_slvrn_0

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!-- Exported by Material Editor --><!-- dc:source=file:///c:/BioWareDrive/DragonAge/SourceControl/ArtContent/Art/Characters/MATERIAL_PROJECTS/W_LSW.matproj --><MaterialObject Name="W_LSW_SLVR_0">

<Material Name="Weapon.mat"></Material>

<Texture Name="mml_tLightmap" ResName="LM.dds" RequiresID="true"></Texture>

<Texture Name="mml_tDiffuse" ResName="w_lsw_slvr_0d.dds"></Texture>

<Texture Name="mml_tEmissiveMask" ResName="w_lsw_slvr_0e.dds"></Texture>

<Texture Name="mml_tNormalMap" ResName="w_lsw_slvr_0n.dds"></Texture>

<Texture Name="mml_tSpecularMask" ResName="w_lsw_slvr_0s.dds"></Texture>

<Texture Name="mml_tTintMask" ResName="w_lsw_slvr_0t.dds"></Texture>

<Vector4f Name="mml_vFalloffParams" value="0.00 1.00 1.24 1.22"></Vector4f>

<Float Name="mml_fSpecularReflectionMult" value="0.88"></Float>

</MaterialObject>

 

For the w_lsw_slvrc_0 I used a Greatsword texture. It works fine with the model.

 

This is my Script:

 

// Later on in this script, we will use the UT_AddItemToInventory()

// function to add an item to the player's inventory.

// But before we could use it, we have to tell the toolset where

// to look for it. The function is in the "utility_h" script file

// under _Core Includes, we will include this file at the top of

// our script file, above the main function.

 

#include "utility_h"

#include "plt_my_custom_plot"

 

void main()

{

// If our plot flag is set to TRUE, that means we have already

// given the items to the player, there is no need to continue

// running this script.

if ( WR_GetPlotFlag( PLT_MY_CUSTOM_PLOT, MY_ITEM_CHECK_FLAG ) == TRUE )

return;

 

event ev = GetCurrentEvent();

int nEventType = GetEventType(ev);

 

// We will watch for every event type and if the one we need

// appears we will handle it as a special case. We will ignore the rest

// of the events

switch ( nEventType )

{

// This event happenes every time the module loads

// This usually happenes when creating a new game

// or loading a savegame

case EVENT_TYPE_MODULE_LOAD:

{

// The UT_AddItemToInventory function adds various resources to a

// creature's inventory. Here we add our set.

UT_AddItemToInventory(R"silver_runic_armor.uti", 1);

UT_AddItemToInventory(R"silver_runic_boots.uti", 1);

UT_AddItemToInventory(R"silver_runic_greatsword.uti", 1);

UT_AddItemToInventory(R"silver_runic_helmet.uti", 1);

UT_AddItemToInventory(R"silver_runic_kite_shield.uti", 1);

UT_AddItemToInventory(R"silver_runic_large_shield.uti", 1);

UT_AddItemToInventory(R"silver_runic_tower_shield.uti", 1);

UT_AddItemToInventory(R"silver_runic_longsword.uti", 1);

UT_AddItemToInventory(R"silver_runic_longsword_2.uti", 1);

UT_AddItemToInventory(R"silver_runic_gloves.uti", 1);

 

// Set our plot flag to TRUE, so the next time this script tries

// to run it will not add extra items to the player's inventory

WR_SetPlotFlag( PLT_MY_CUSTOM_PLOT, MY_ITEM_CHECK_FLAG, TRUE );

 

// We have dealt with the event we were waiting for.

// At this point we can stop looking for other events

break;

}

default:

break;

}

}

 

What I`m doing wrong? I have a full set of items ready to be released and I simply can`t fix this bug.

 

If you need more data, tell and I will provide.

 

Thanks.

Edited by malkava
Link to comment
Share on other sites

I think your gda is overwriting the default. You need to rename your copy of longsword_variation to something similar like "longsword_variation1" or "longsword_variationSOMETHING" or "longsword_variationMALKAVA" etc. That's my guess.

 

 

Worked perfectly. Thanks.

Link to comment
Share on other sites

I think your gda is overwriting the default. You need to rename your copy of longsword_variation to something similar like "longsword_variation1" or "longsword_variationSOMETHING" or "longsword_variationMALKAVA" etc. That's my guess.

 

 

Worked perfectly. Thanks.

 

NP. Glad to help :)

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...