LucasForums

LucasForums (http://www.lucasforums.com/index.php)
-   Tutorials: Scripting (http://www.lucasforums.com/forumdisplay.php?f=597)
-   -   Frequently used script functions (http://www.lucasforums.com/showthread.php?t=143412)

tk102 01-25-2005 02:18 PM

Frequently used script functions
 
How can I make a creature do something?
Code:

// the some_action is a function that  usually starts with "Action"
AssignCommand(oCreature,some_action)

How can I make something happen after awhile?
Code:

fDelayInSeconds=2.0;
DelayCommand(fDelayInSeconds,some_action);

How can I script an object into a container?
Code:

object oItem=CreateItemOnObject( "item_template", GetObjectByTag("container_tag"));
How can I script an object into my Inventory?
Code:

object oItem=CreateItemOnObject( "item_template", GetFirstPC());
How can I equip an item by scripting once I have it in my inventory?
Code:

AssignCommand(GetFirstPC(), ActionEquipItem(oItem, nInventorySlot);
How can I spawn an object at a a specific location?
Code:

/* Possible Object types:
OBJECT_TYPE_CREATURE
OBJECT_TYPE_ITEM         
OBJECT_TYPE_TRIGGER   
OBJECT_TYPE_DOOR       
OBJECT_TYPE_WAYPOINT
OBJECT_TYPE_PLACEABLE
OBJECT_TYPE_STORE  */

// for the 3 floats in the function below
// you can use the X, Y, Z coordintates from
// the whereami cheat code
vector vPosition=Vector(0.0, 0.0, 0.0);

 location lWhereToSpawn=Location(vPosition,0.0);

CreateObject( OBJECT_TYPE_CREATURE,
"object_template",lWhereToSpawn);

How can I create an object right next to me?
Code:

// same OBJECT_TYPEs as above

CreateObject( OBJECT_TYPE_CREATURE,
"object_template", GetLocation(GetFirstPC()));

How can I give myself credits?
Code:

GiveGoldToCreature( GetFirstPC(),nAmount);
How can I take credits away from myself?
Code:

TakeGoldFromCreature(nAmount, GetFirstPC());
How can I give myself Light Side or Dark Side points?
Code:

/* Alignments:
ALIGNMENT_DARK_SIDE
ALIGNMENT_LIGHT_SIDE
ALIGNMENT_NEUTRAL */
AdjustAlignment( GetFirstPC(),ALIGNMENT_DARK_SIDE,nAmount);

How can I give myself experience points?
Code:

// you guessed it...
 GiveXPToCreature(GetFirstPC(),nAmount);

How can I multiclass a character into a Jedi?
Code:

/*possible classes:
    CLASS_TYPE_SOLDIER
    CLASS_TYPE_SCOUT
    CLASS_TYPE_SCOUNDREL   
    CLASS_TYPE_JEDIGUARDIAN
    CLASS_TYPE_JEDICONSULAR
    CLASS_TYPE_JEDISENTINEL
    CLASS_TYPE_COMBATDROID
    CLASS_TYPE_EXPERTDROID
    CLASS_TYPE_MINION */

AddMultiClass( CLASS_TYPE_JEDIGUARDIAN, GetObjectByTag("Mission"));

How can I start a basic conversation?
Code:

void main() {
ActionStartConversation(GetFirstPC(),"dlg_filenamehere");
}

Canderis Edit:
If the above code does not work try defining the npc who will be talking:
Code:

void main()
{
  object oNPC=GetObjectByTag("npc_tag");
  AssignCommand ((oNPC), ActionStartConversation(GetFirstPC(),"npc_tag"));

}

How can I make an NPC walk up to me and start a conversation?
Code:

void main() {
  object oNPC=GetObjectByTag("npc_tag");
  location lMe=GetLocation(GetFirstPC());
    ActionDoCommand(SetCommandable(TRUE,oNPC));
  AssignCommand (oNPC,ActionForceMoveToLocation(lMe,FALSE));
  AssignCommand (oNPC, ActionStartConversation(GetFirstPC()));
}

===============================
Kotor 2: TSL only - new practical functions:

* those functions can help you avoid .utc file conflicts that will crash the game or prevent plot advancement as explained in this thread

Give a new feat to a creature:
Code:

// DJS-OEI 1/13/2004
// 786: Grants the target a feat without regard for prerequisites.
void GrantFeat( int nFeat, object oCreature );

Give a new Force power to a Creature:

Code:

// DJS-OEI 1/13/2004
// 787: Grants the target a spell without regard for prerequisites.
void GrantSpell( int nSpell, object oCreature );

Change the appearance of a creature:
Code:

// 850
// ChangeObjectAppearance
// oObjectToChange = Object to change appearance of
// nAppearance = appearance to change to (from appearance.2da)
void ChangeObjectAppearance( object oObjectToChange, int nAppearance );

Adjust attributes:
Code:


// 833
// AWD-OEI 7/06/2004
// This function adjusts a creatures stats.
// oObject is the creature that will have it's attribute adjusted
// The following constants are acceptable for the nAttribute parameter:
// ABILITY_STRENGTH
// ABILITY_DEXTERITY
// ABILITY_CONSTITUTION
// ABILITY_INTELLIGENCE
// ABILITY_WISDOM
// ABILITY_CHARISMA
// nAmount is the integer vlaue to adjust the stat by (negative values will work).
void AdjustCreatureAttributes(object oObject, int nAttribute, int nAmount);

Adjust skills:
Code:

// 869
// DJS-OEI 10/9/2004
// This function adjusts a creature's skills.
// oObject is the creature that will have its skill adjusted
// The following constants are acceptable for the nSkill parameter:
// SKILL_COMPUTER_USE
// SKILL_DEMOLITIONS
// SKILL_STEALTH
// SKILL_AWARENESS
// SKILL_PERSUADE
// SKILL_REPAIR
// SKILL_SECURITY
// SKILL_TREAT_INJURY
// nAmount is the integer value to adjust the stat by (negative values will work).
void AdjustCreatureSkills(object oObject, int nSkill, int nAmount);


Darth333 01-26-2005 10:02 AM

Re: Frequently used scripts
 
Quote:

Originally posted by tk102
How can I give myself Light Side or Dark Side points?
Code:

/* Alignments:
ALIGNMENT_DARK_SIDE
ALIGNMENT_LIGHT_SIDE
ALIGNMENT_NEUTRAL */
AdjustAlignment( GetFirstPC(),ALIGNMENT_DARK_SIDE,nAmount);


Here is a shortcut to give DS or LS points - jst refer to these scripts in the .dlg file

KotOR
*- for ds points:

k_act_darksml
k_act_darkmed
k_act_darkhigh

*- for ls points:
k_act_lightghigh
k_act_lightmed
k_act_lightsml

TSL
*- for ds points:
a_darkhigh
a_darkmed
a_darksml

*- for ls points:
a_lighthigh
a_lightmed
a_lightsml

the TSL scripts got nuked when the server "burped" ;) - ChAiNz.2da


All times are GMT -4. The time now is 02:43 PM.

Powered by vBulletin®
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
LFNetwork, LLC ©2002-2011 - All rights reserved.