Aller au contenu

Photo

Request: More head VFX


  • Veuillez vous connecter pour répondre
55 réponses à ce sujet

#26
Draygoth28

Draygoth28
  • Members
  • 445 messages
Is there an update on this?

#27
lordofworms

lordofworms
  • Members
  • 252 messages
I am still developing.
I added Ravens(crow) on shoulder based off of AD's parrots
Falcon
Imp (red and black)
more weapon VFX
a few additional open helms
so its still being worked on

#28
Master Jax

Master Jax
  • Members
  • 352 messages
I actually tried to do it by myself, using the VFX included in the haks you mentioned, but there are no dialog or scripts included, so I'm guessing those should be taken out straight out of the Arbor Falls module? Too bad... hope you can include them in your new VFX release!

#29
Rolo Kipp

Rolo Kipp
  • Members
  • 2 791 messages
<raises a finger...>

lordofworms wrote...
I added Ravens(crow) on shoulder based off of AD's parrots
...
so its still being worked on

Be careful! Bother is beginning to push me for a formal introduction...

I think she *really* likes you. Or is just *really* tired of hovering behind my shoulder when I meditate :-P

Hmmm... is there a potential conflict between her affection and her hunger, your being a worm and all? Something to watch. :-)

<...in warning>

#30
Draygoth28

Draygoth28
  • Members
  • 445 messages
Good to here LoW, I am really looking forward to it.

#31
lordofworms

lordofworms
  • Members
  • 252 messages
it will be a full package with hak, erf and completed scripts and convos..
so should be pretty plug and play
EXCEPT
that you will have to edit your
OnClientEnter
Rest
Death/Respawn
scripts so that the VFX can be remade during these events
I have a simple include with a simple
ApplyPersistantVFX(object oPC);
so it shouldn't be hard to implement in your own Mod,PW.

#32
Mavrixio

Mavrixio
  • Members
  • 88 messages
Hey AD, any news on those possible ears VFX? :D

We are getting ready for a hak update and they would make a lot of players happy.

Modifié par Mavrixio, 11 octobre 2011 - 12:28 .


#33
lordofworms

lordofworms
  • Members
  • 252 messages
my package is scheduled for a release date middle-end of this month (october)
just FYI for those still interested.

#34
Master Jax

Master Jax
  • Members
  • 352 messages
That would be pretty much everyone, I'm sure.

#35
Draygoth28

Draygoth28
  • Members
  • 445 messages
Waiting patiently.

#36
The Amethyst Dragon

The Amethyst Dragon
  • Members
  • 1 878 messages

Mavrixio wrote...

Hey AD, any news on those possible ears VFX? :D

We are getting ready for a hak update and they would make a lot of players happy.

Sorry.  Been very busy offline lately.

These will be on the Vault very soon (after I compress it all and upload it today, and then wait for the entry to be approved).  Should only take a day or so.

Posted Image

#37
Mavrixio

Mavrixio
  • Members
  • 88 messages
Oh!!, this is amazing!

I will make sure to credit you :P

#38
The Amethyst Dragon

The Amethyst Dragon
  • Members
  • 1 878 messages
The files are now available on the Vault. Have fun with them.

#39
Mavrixio

Mavrixio
  • Members
  • 88 messages
We will, It will be perfect for halloween, now hoping to also be able to include worm VFX in the hak update :P

#40
Mavrixio

Mavrixio
  • Members
  • 88 messages
Thanks again AD for those, beleive it or not, they are beeing used -a lot- :P
The only problem that im having is that the unicorn horns are crashy when compiled, any idea why? Not compiled they are fine.

And LoW too, i sneaked in your PW to steal your VFX :P
Th eonly problem is with the barbarian helmet, its only the human race that use the correct model:
Human:
Posted Image
Other races:
Posted Image

#41
Draygoth28

Draygoth28
  • Members
  • 445 messages
Can this be used for NPC's? If so can someone explain how to make it work.

#42
The Amethyst Dragon

The Amethyst Dragon
  • Members
  • 1 878 messages
Yes, aligned visual effects can usually be used for any NPCs that use the same base models as PC races.  You just have to have a way to assign specific VFXs to specific NPCs.

I use my VFX quivers & arrows with orcish archers in my PW (which use half-orc with an orcish head as a model so I can make them look how I want), and they have theirs noted by a couple of variables (the line numbers in visualeffects.2da) on the creature blueprint which are read by my generic on-spawn script and used to add the quiver and arrows.

You can do the same thing with VFX for the head.  You'll want to check in-game to make sure there aren't major clipping issues for such NPCs.  There's no guarantee that a particular model's "head" node is in exactly the right place (especially if such NPCs are not using the standard dynamic PC models).

#43
Jenna WSI

Jenna WSI
  • Members
  • 1 078 messages
AD... if you have the time, could you help me a bit? I want to use VFX and custom animations with PRC, but I'm worried about it conflicting with the custom races. I'm already having issues with a script that applies horns not working for non base classes. Any thoughts?

#44
Draygoth28

Draygoth28
  • Members
  • 445 messages
Thanks for the info., I will try this out.

#45
Draygoth28

Draygoth28
  • Members
  • 445 messages
  Am I wrong in thinking that you are adding lines to the variables of the NPC, and is there any way to get a hold of a generic on-spawn script that will work with this?

Modifié par Draygoth28, 20 janvier 2012 - 10:41 .


#46
The Amethyst Dragon

The Amethyst Dragon
  • Members
  • 1 878 messages
The following is a modified copy of nw_c2_default9, the standard on spawn script.  At the very bottom is a section I inserted for adding the visual effects.  The variables get added to the creatures when you edit their blueprint (in the creature palette in the toolset).

//:://////////////////////////////////////////////////
//:: NW_C2_DEFAULT9
/*
 * Default OnSpawn handler with XP1 revisions.
 * This corresponds to and produces the same results
 * as the default OnSpawn handler in the OC.
 *
 * This can be used to customize creature behavior in three main ways:
 *
 * - Uncomment the existing lines of code to activate certain
 *   common desired behaviors from the moment when the creature
 *   spawns in.
 *
 * - Uncomment the user-defined event signals to cause the
 *   creature to fire events that you can then handle with
 *   a custom OnUserDefined event handler script.
 *
 * - Add new code _at the end_ to alter the initial
 *   behavior in a more customized way.
 */
//:://////////////////////////////////////////////////
//:: Copyright (c) 2002 Floodgate Entertainment
//:: Created By: Naomi Novik
//:: Created On: 12/11/2002
//:://////////////////////////////////////////////////
//:: Updated 2003-08-20 Georg Zoeller: Added check for variables to active spawn in conditions without changing the spawnscript


#include "x0_i0_anims"
// #include "x0_i0_walkway" - in x0_i0_anims
#include "x0_i0_treasure"

#include "x2_inc_switches"

void main()
{
    // ***** Spawn-In Conditions ***** //

    // * REMOVE COMMENTS (// ) before the "Set..." functions to activate
    // * them. Do NOT touch lines commented out with // *, those are
    // * real comments for information.

    // * This causes the creature to say a one-line greeting in their
    // * conversation file upon perceiving the player. Put [NW_D2_GenCheck]
    // * in the "Text Seen When" field of the greeting in the conversation
    // * file. Don't attach any player responses.
    // *
    // SetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION);

    // * Same as above, but for hostile creatures to make them say
    // * a line before attacking.
    // *
    // SetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION);

    // * This NPC will attack when its allies call for help
    // *
    // SetSpawnInCondition(NW_FLAG_SHOUT_ATTACK_MY_TARGET);

    // * If the NPC has the Hide skill they will go into stealth mode
    // * while doing WalkWayPoints().
    // *
    // SetSpawnInCondition(NW_FLAG_STEALTH);

    //--------------------------------------------------------------------------
    // Enable stealth mode by setting a variable on the creature
    // Great for ambushes
    // See x2_inc_switches for more information about this
    //--------------------------------------------------------------------------
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_STEALTH) == TRUE)
    {
        SetSpawnInCondition(NW_FLAG_STEALTH);
    }
    // * Same, but for Search mode
    // *
    // SetSpawnInCondition(NW_FLAG_SEARCH);

    //--------------------------------------------------------------------------
    // Make creature enter search mode after spawning by setting a variable
    // Great for guards, etc
    // See x2_inc_switches for more information about this
    //--------------------------------------------------------------------------
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_SEARCH) == TRUE)
    {
        SetSpawnInCondition(NW_FLAG_SEARCH);
    }
    // * This will set the NPC to give a warning to non-enemies
    // * before attacking.
    // * NN -- no clue what this really does yet
    // *
    // SetSpawnInCondition(NW_FLAG_SET_WARNINGS);

    // * Separate the NPC's waypoints into day & night.
    // * See comment on WalkWayPoints() for use.
    // *
    // SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING);

    // * If this is set, the NPC will appear using the "EffectAppear"
    // * animation instead of fading in, *IF* SetListeningPatterns()
    // * is called below.
    // *
    //SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);

    // * This will cause an NPC to use common animations it possesses,
    // * and use social ones to any other nearby friendly NPCs.
    // *
    // SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);

    //--------------------------------------------------------------------------
    // Enable immobile ambient animations by setting a variable
    // See x2_inc_switches for more information about this
    //--------------------------------------------------------------------------
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT_IMMOBILE) == TRUE)
    {
        SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
    }
    // * Same as above, except NPC will wander randomly around the
    // * area.
    // *
    // SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);


    //--------------------------------------------------------------------------
    // Enable mobile ambient animations by setting a variable
    // See x2_inc_switches for more information about this
    //--------------------------------------------------------------------------
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_USE_SPAWN_AMBIENT) == TRUE)
    {
        SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
    }
    // **** Animation Conditions **** //
    // * These are extra conditions you can put on creatures with ambient
    // * animations.

    // * Civilized creatures interact with placeables in
    // * their area that have the tag "NW_INTERACTIVE"
    // * and "talk" to each other.
    // *
    // * Humanoid races are civilized by default, so only
    // * set this flag for monster races that you want to
    // * behave the same way.
    // SetAnimationCondition(NW_ANIM_FLAG_IS_CIVILIZED);

    // * If this flag is set, this creature will constantly
    // * be acting. Otherwise, creatures will only start
    // * performing their ambient animations when they
    // * first perceive a player, and they will stop when
    // * the player moves away.
    // SetAnimationCondition(NW_ANIM_FLAG_CONSTANT);

    // * Civilized creatures with this flag set will
    // * randomly use a few voicechats. It's a good
    // * idea to avoid putting this on multiple
    // * creatures using the same voiceset.
    // SetAnimationCondition(NW_ANIM_FLAG_CHATTER);

    // * Creatures with _immobile_ ambient animations
    // * can have this flag set to make them mobile in a
    // * close range. They will never leave their immediate
    // * area, but will move around in it, frequently
    // * returning to their starting point.
    // *
    // * Note that creatures spawned inside interior areas
    // * that contain a waypoint with one of the tags
    // * "NW_HOME", "NW_TAVERN", "NW_SHOP" will automatically
    // * have this condition set.
    // SetAnimationCondition(NW_ANIM_FLAG_IS_MOBILE_CLOSE_RANGE);


    // **** Special Combat Tactics *****//
    // * These are special flags that can be set on creatures to
    // * make them follow certain specialized combat tactics.
    // * NOTE: ONLY ONE OF THESE SHOULD BE SET ON A SINGLE CREATURE.

    // * Ranged attacker
    // * Will attempt to stay at ranged distance from their
    // * target.
    // SetCombatCondition(X0_COMBAT_FLAG_RANGED);

    // * Defensive attacker
    // * Will use defensive combat feats and parry
    // SetCombatCondition(X0_COMBAT_FLAG_DEFENSIVE);

    // * Ambusher
    // * Will go stealthy/invisible and attack, then
    // * run away and try to go stealthy again before
    // * attacking anew.
    // SetCombatCondition(X0_COMBAT_FLAG_AMBUSHER);

    // * Cowardly
    // * Cowardly creatures will attempt to flee
    // * attackers.
    // SetCombatCondition(X0_COMBAT_FLAG_COWARDLY);


    // **** Escape Commands ***** //
    // * NOTE: ONLY ONE OF THE FOLLOWING SHOULD EVER BE SET AT ONE TIME.
    // * NOTE2: Not clear that these actually work. -- NN

    // * Flee to a way point and return a short time later.
    // *
    // SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN);

    // * Flee to a way point and do not return.
    // *
    // SetSpawnInCondition(NW_FLAG_ESCAPE_LEAVE);

    // * Teleport to safety and do not return.
    // *
    // SetSpawnInCondition(NW_FLAG_TELEPORT_LEAVE);

    // * Teleport to safety and return a short time later.
    // *
    // SetSpawnInCondition(NW_FLAG_TELEPORT_RETURN);



    // ***** CUSTOM USER DEFINED EVENTS ***** /


    /*
      If you uncomment any of these conditions, the creature will fire
      a specific user-defined event number on each event. That will then
      allow you to write custom code in the "OnUserDefinedEvent" handler
      script to go on top of the default NPC behaviors for that event.

      Example: I want to add some custom behavior to my NPC when they
      are damaged. I uncomment the "NW_FLAG_DAMAGED_EVENT", then create
      a new user-defined script that has something like this in it:

      if (GetUserDefinedEventNumber() == 1006) {
          // Custom code for my NPC to execute when it's damaged
      }

      These user-defined events are in the range 1001-1007.
    */

    // * Fire User Defined Event 1001 in the OnHeartbeat
    // *
    // SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT);

    // * Fire User Defined Event 1002
    // *
    // SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT);

    // * Fire User Defined Event 1005
    // *
    // SetSpawnInCondition(NW_FLAG_ATTACK_EVENT);

    // * Fire User Defined Event 1006
    // *
    // SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT);

    // * Fire User Defined Event 1008
    // *
    // SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT);

    // * Fire User Defined Event 1003
    // *
    // SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT);

    // * Fire User Defined Event 1004
    // *
    // SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT);



    // ***** DEFAULT GENERIC BEHAVIOR (DO NOT TOUCH) ***** //

    // * Goes through and sets up which shouts the NPC will listen to.
    // *
    SetListeningPatterns();

    // * Walk among a set of waypoints.
    // * 1. Find waypoints with the tag "WP_" + NPC TAG + "_##" and walk
    // *    among them in order.
    // * 2. If the tag of the Way Point is "POST_" + NPC TAG, stay there
    // *    and return to it after combat.
    //
    // * Optional Parameters:
    // * void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
    //
    // * If "NW_FLAG_DAY_NIGHT_POSTING" is set above, you can also
    // * create waypoints with the tags "WN_" + NPC Tag + "_##"
    // * and those will be walked at night. (The standard waypoints
    // * will be walked during the day.)
    // * The night "posting" waypoint tag is simply "NIGHT_" + NPC tag.
    WalkWayPoints();

    //* Create a small amount of treasure on the creature
    if ((GetLocalInt(GetModule(), "X2_L_NOTREASURE") == FALSE)  &&
        (GetLocalInt(OBJECT_SELF, "X2_L_NOTREASURE") == FALSE)   )
    {
        CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF);
    }


    // ***** ADD ANY SPECIAL ON-SPAWN CODE HERE ***** //

    // * If Incorporeal, apply changes
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_IS_INCORPOREAL) == TRUE)
    {
        effect eConceal = EffectConcealment(50, MISS_CHANCE_TYPE_NORMAL);
        eConceal = ExtraordinaryEffect(eConceal);
        effect eGhost = EffectCutsceneGhost();
        eGhost = ExtraordinaryEffect(eGhost);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eConceal, OBJECT_SELF);
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eGhost, OBJECT_SELF);

    }

    // * Give the create a random name.
    // * If you create a script named x3_name_gen in your module, you can
    // * set the value of the variable X3_S_RANDOM_NAME on OBJECT_SELF inside
    // * the script to override the creature's default name.
    if (GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_RANDOMIZE_NAME) == TRUE)
    {
        ExecuteScript("x3_name_gen",OBJECT_SELF);
        string sName = GetLocalString(OBJECT_SELF,"X3_S_RANDOM_NAME");
        if ( sName == "" )
        {
            sName = RandomName();
        }
        SetName(OBJECT_SELF,sName);
    }

    // Add a visual effect to an NPC on spawning.  The integer is the line number
    // for the desired visual effect taken directly from visualeffects.2da.
    int nVFX1 = GetLocalInt(OBJECT_SELF, "SPAWNVFX1");
    int nVFX2 = GetLocalInt(OBJECT_SELF, "SPAWNVFX2");
    int nVFX3 = GetLocalInt(OBJECT_SELF, "SPAWNVFX3");
    if (nVFX1 > 0) { ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(nVFX1), OBJECT_SELF); }
    if (nVFX2 > 0) { ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(nVFX2), OBJECT_SELF); }
    if (nVFX3 > 0) { ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(nVFX3), OBJECT_SELF); }

}

Modifié par The Amethyst Dragon, 20 janvier 2012 - 03:20 .


#47
The Amethyst Dragon

The Amethyst Dragon
  • Members
  • 1 878 messages

Jenna WSI wrote...

AD... if you have the time, could you help me a bit? I want to use VFX and custom animations with PRC, but I'm worried about it conflicting with the custom races. I'm already having issues with a script that applies horns not working for non base classes. Any thoughts?


Is your script not working based on classes, or based on races?  And for the races, are they using the normal PC appearances (models) or something custom? And what custom animations?

I've never attempted to use PRC, so I'm not that familiar with their stuff.

As far as custom animations go, I've not seen any real problems using aligned VFX with custom animations (ACPv4), except a few rare instances where an impact-node-linked visual (such as the quivers) will appear to rotate partially and end up sideways.  In that case, a player just needs to switch animation styles to reset the node and fix the VFX.

Send me a PM (or start a post in the scripting forum) and we'll see if we can figure out exactly what's going wrong.

#48
WebShaman

WebShaman
  • Members
  • 913 messages
Thanks for that script addy, TAD!!!

#49
Draygoth28

Draygoth28
  • Members
  • 445 messages
I am still working with this, but I still have a few questions. If I copy your added lines to the script am I done or do I need to modify it further to get it to work. On to variables, say I am trying to add Helm 09 to a Dwarf.
I would add "VFX_DUR_HELM09_MD int 681." to the blueprint. Sorry for the many questions.

#50
The Amethyst Dragon

The Amethyst Dragon
  • Members
  • 1 878 messages
Draygoth28:

If you use the lines I have added to the script above, you would add a variable to the blueprint so that the table looks more like this:

SPAWNVFX1     int     681

The integer value for the variable is just the line number from visualeffects.2da. That "VFX_DUR_HELM09_MD" is only in the file so that humans reading it can make sense of what the effect is supposed to be, and is not really used by the game itself.

The script is looking for an integer variable named "SPAWNVFX1". If it doesn't find one on the creature with a variable of at least 1, it doesn't do anything. It also looks for a 2nd and 3rd such variable, since you can layer visual effects if you want.

Modifié par The Amethyst Dragon, 21 janvier 2012 - 03:09 .