Author Topic: Creating a new appearance type?  (Read 342 times)

Legacy_Fester Pot

  • Hero Member
  • *****
  • Posts: 1698
  • Karma: +0/-0
Creating a new appearance type?
« on: June 10, 2014, 06:14:21 pm »


               

How easy is this to do with an appearance already available in-game?


 


I'd like to create an additional appearance type for the parrot, just like the Seagull has a walking/flying appearance, I'd like the parrot to have the same.


 


Offering some variety in having songbirds on city streets walking around, then changing their appearance to one of flying into the sky.


 


The seagull scripts I have work great, as they randomly pick a new location and fly to it, before returning to their walking appearance. When the player gets too close, they fly away and return after sometime to their original spawn point.


 


The parrot meanwhile, only has an appearance of flying. Additionally, there is no APPEARANCE_TYPE_PARROT_WALKING or APPEARANCE_TYPE_PARROT_FLYING to simulate what the seagull script does.


 


A songbird package I came across here has great variety, but nothing like the seagull that has both walking/flying appearances.


 


Thanks,


 


FP!



               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Creating a new appearance type?
« Reply #1 on: June 10, 2014, 06:31:54 pm »


               

For things like this I extended the 2da. I created a column called ALT_WALKING and another called ALT_FLYING. The integer in those columns points back to the index of appearance.2da with the appropriate appearance. Then in a script that looks to switch appearances I simply do a 2da lookup based on current appearance and get the index of the appearance I want.



               
               

               
            

Legacy_Fester Pot

  • Hero Member
  • *****
  • Posts: 1698
  • Karma: +0/-0
Creating a new appearance type?
« Reply #2 on: June 10, 2014, 07:10:36 pm »


               

Extend what .2da file?


 


What hak pak of birds are you using that have a walking appearance and associated reskins?


 


FP!



               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Creating a new appearance type?
« Reply #3 on: June 10, 2014, 07:21:11 pm »


               

I extended appearance.2da by creating appearance_x.2da with the columns I wanted, but you could also simply add columns on to your own appearance.2da It doesn't matter what 2da you use as long as the index of the creature appearance in appearances.2da matches the index of the creature in whatever 2da you are creating/using for this purpose.


 


I use rebecca ann's birds. The fly heights in the HAK which she uploaded were screwy, but ShadowM helped me sort all that out and I have made those files available on my Innocuous Familiars entry at the Neverwinter Vault.


 


I can't help more right now with exactly how i implemented this, but when i am near the toolset and my files again I can help if you can't sort out my ramble here. '<img'>



               
               

               
            

Legacy_Fester Pot

  • Hero Member
  • *****
  • Posts: 1698
  • Karma: +0/-0
Creating a new appearance type?
« Reply #4 on: June 10, 2014, 08:04:32 pm »


               

Okay...


 


I see the Bird hak does have its own appearance.2da file with both Flying/Walking types.


 


Could I not just use a numeric value to reference it via the script?


 


Instead of,



 
SetCreatureAppearanceType(OBJECT_SELF, APPEARANCE_TYPE_SEAGULL_FLYING);
effect eFly = EffectDisappearAppear(GetLocation(OBJECT_SELF));
DelayCommand(0.7, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eFly, OBJECT_SELF, 30.0));
DelayCommand(22.1, SetCreatureAppearanceType(OBJECT_SELF, APPEARANCE_TYPE_SEAGULL_WALKING));

I'd be able to do,



SetCreatureAppearanceType(OBJECT_SELF, 284);
effect eFly = EffectDisappearAppear(GetLocation(OBJECT_SELF));
DelayCommand(0.7, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eFly, OBJECT_SELF, 30.0));
DelayCommand(22.1, SetCreatureAppearanceType(OBJECT_SELF, 285));

As an example?


 


Where the numeric value is the appropriate appearance line # in appearance.2da.


 


I'm not able to test that at the moment, but if a numeric value can be used with SetCreatureAppearanceType, then I'm good to go.


 


If it requires an APPEARANCE_TYPE_ to work, that I don't understand how to create.


 


APPEARANCE_TYPE_BLUEJAY_WALKING


APPEARANCE_TYPE_BLUEJAY_FLYING


 


etc.


 


FP!



               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Creating a new appearance type?
« Reply #5 on: June 10, 2014, 08:09:20 pm »


               

yes, its just the numeric value. i put the data in an extended 2da because i thought it would be easier to manage. but you can certainly create your own constants for these, or simply use the numbers.


 


Just keep in mind that the number is the index of the appearance you want to us - the row number in appearance.2da.



               
               

               
            

Legacy_Fester Pot

  • Hero Member
  • *****
  • Posts: 1698
  • Karma: +0/-0
Creating a new appearance type?
« Reply #6 on: June 11, 2014, 04:56:38 pm »


               

Great! That makes it so much easier for me to continue touching up than spending time creating them all from the seagull and reskinning too.


 


My other question is in regards to the fix good man ShadowM made for you.


 


Is that the entire package from the collection of the vault, or must I download the package from the vault first, then apply ShadowM's fix for the flight height?


 


Thanks!



               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
Creating a new appearance type?
« Reply #7 on: June 11, 2014, 08:24:26 pm »


               

ShadowM's fix includes everything you need for those birds.