Jump to content

Home

Puppet


Recommended Posts

Posted by Stoffe

You have also probably noticed that your main player character is missing from the Party Table. This character is handled separately and is not stored in the party table. This means that you cannot assign a puppet to the Exile. Only party members can have puppets.
Link to comment
Share on other sites

^^^^I don't think that is an actual puppet tho. Oldflash used an armband to creat the remote and you could use it as a workbench I think(been awhile since I played Final Touch) So his pc remote was more like the call to aid armband you see in K1 where you can make something appear but it isn't a puppet.

 

 

Eefluxx

Link to comment
Share on other sites

There are various scripts that can be used for spawning that have droids or people follow the main PC as if they were a puppet allowing them to act independant of the main PC it just requires extra effort on the part of the modder to get the effect that they are trying to establish.

Link to comment
Share on other sites

Add this to the heartbeat script of an NPC :

// k_fpm_heartbtxx

#include "k_inc_debug"
#include "k_inc_generic"
#include "k_inc_switch"
#include "k_inc_utility"



void main()
{



           object oEnemy = GetNearestCreature(CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN, OBJECT_SELF, 1, CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY);
           if(!GN_GetSpawnInCondition(SW_FLAG_AI_OFF) && !GetSoloMode())
           {
               if(GetPartyMemberByIndex(0) != OBJECT_SELF)
               {
                   if(//GetCurrentAction(OBJECT_SELF) != ACTION_FOLLOW && 
                      GetCurrentAction(OBJECT_SELF) != ACTION_WAIT  &&
                      !GetIsConversationActive() &&
                      !GN_GetSpawnInCondition(SW_FLAG_SPECTATOR_STATE) &&
                      GetCommandable())
                   {

                         if(!GN_GetIsFighting(OBJECT_SELF) && !GetIsObjectValid(oEnemy))


                           ClearAllActions();
                           if(GetDistanceBetween(OBJECT_SELF, GetPartyMemberByIndex(0)) < 5.0)
                           {
                            ClearAllActions();
                            ActionForceMoveToObject(GetPartyMemberByIndex(0), FALSE, 1.0);
                            //SendMessageToPC(GetFirstPC(), "Debug Message: Henchmen just executed the bWalk routine.");
                           }
                           if(GetDistanceBetween(OBJECT_SELF, GetPartyMemberByIndex(0)) > 5.0)
                           {
                            ClearAllActions();
                            ActionForceMoveToObject(GetPartyMemberByIndex(0), TRUE, 3.5);
                            //SendMessageToPC(GetFirstPC(), "Debug Message: Henchmen just executed the bRun routine.");
                           }

                    }
               }
           }
           else if(GetSoloMode() && GetCurrentAction(OBJECT_SELF) == ACTION_FOLLOWLEADER)
           {
               ClearAllActions();
           }
           if(GN_GetSpawnInCondition(SW_FLAG_EVENT_ON_HEARTBE  AT))
           {
               SignalEvent(OBJECT_SELF, EventUserDefined(1001));
           }



}

this makes the specified NPC follow you around

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...