Difference between revisions of "Portal:Scripting"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Qazaaq
(added Scripting Tutorial: Summoned Creatures to tutorials and getting started)
imported>Wrye
(Totally replace old scripting portal with less fluffy version.)
Line 1: Line 1:
__NOTOC__ __NOEDITSECTION__
==Overview==
<div id="esstyle">
'''Scripts''' are used by modders to control the game in fairly direct ways and achieve effects that are far outside the normal scope of the game. If you're new to scripting, you should start at the top of the page, especially with the tutorials. If you're an experienced scripter, then the later parts of the page should be most useful.
<h2 class="header">The Scripting Portal</h2>
{{{{PAGENAME}}/Description}}
</div>


{| style="border:0;vertical-align:top;" valign=top cellpadding=0 cellspacing=0
==Basic Tutorials==
|-
| style="width:50%;vertical-align:top;" |<div id="esstyle" style="width:auto;padding-bottom:0.5em;">
<h2 class="header">Featured Article</h2>
{{{{PAGENAME}}/Featured}}
</div>
 
<div id="esstyle" style="width:auto;padding-bottom:0.5em;">
<h2 class="header">Tutorials</h2>
*[[Bound Arrows Tutorial]]
*[[Casting Spells From An Activator]]
*[[Combine your SI and non-SI mods into one (OBSE, Patch v1.1, Other mods too)]]
*[[Getting started with TSFC]]
*[[Health Regeneration over Time]]
*[[MessageBox Tutorial]]
*[[Script Timers and Logic: Part 1]]
*[[Script Timers and Logic: Part 2]]
*[[Scripting Tutorial: Basic Scripting Knowledge|Basic Scripting Knowledge]]
*[[Scripting Tutorial: Custom Bound Items|Custom Bound Items]]
*[[Scripting Tutorial: My First Creature Script|My First Creature Script]]
*[[Scripting Tutorial: My First Script|My First Script]]
*[[Scripting Tutorial: My First Spell|My First Spell]]
*[[Scripting Tutorial: My Second Script|My Second Script]]
*[[Scripting Tutorial: My Second Script|My Second Script]]
*[[Scripting Tutorial: Summoned Creatures|Summoned Creatures]]
*[[Scripting Tutorial: My First Spell|My First Spell]] - With script effects.
*[[Start Your Mod]]
*[[Start Your Mod]]
</div>
| width=1em | &nbsp;&nbsp;
| style="width:60%;vertical-align:top;" |<div id="esstyle" style="width:auto;padding-bottom:0.5em;">
<h2 class="header">Things you can do</h2>
*Give feedback about this portal on [[:{{NAMESPACE}} talk:{{PAGENAME}}|its TALK page]]!
*Add [[Help: Search Terms|Search Terms]] to all of the [[:Category: Functions|function pages]]
</div>


<div id="esstyle" style="width:auto;padding-bottom:0.5em;">
==Functions==
<h2 class="header">Getting Started</h2>
* [[List of Functions|All Functions]]
*[[List of Functions]] ([[:Category: Functions|Function Categories]])
** [[CS Functions]]
*[[Scripting Tutorial: My First Script|My First Script]]
** [[OBSE Functions]]
*[[Scripting Tutorial: My First Spell|My First Spell]]
** [[Pluggy Functions]]
*[[Scripting Tutorial: Summoned Creatures|Summoned Creatures]]
** [[TSFC Functions]]
*[[:Category: Functions|Function Categories]]
 
==General Knowledge==
*[[TES Files]] - Basic info about esp and esm files.
**[[Esp vs. Esm]] - Differences between esp and esm files.
* [[Modding Terminology]] - Advanced discussion of modding terms.
*[[:Category:Console Functions|Console Functions]] - Useful for playtesting.
 
==Scripting Basics==
*[[Scripting Tutorial: Basic Scripting Knowledge|Basic Scripting Knowledge]]
*[[Scripting Tutorial: Basic Scripting Knowledge|Basic Scripting Knowledge]]
</div>
<div id="esstyle" style="width:auto;padding-bottom:0.5em;">
<h2 class="header">Related Pages</h2>
*[[:Category:Commands|Commands]]
*[[:Category:Commands|Commands]]
*[[:Category:Function Types|Function Types]]
*[[:Category:Console Functions|Console Functions]]
*[[:Category:Variables|Variables]]
*[[:Category:Variables|Variables]]
*[[If|Using "If" Conditions]]
*[[If|Using "If" Conditions]]
 
* '''Types of Scripts'''
*[[Magic effect scripts]]
**[[Object scripts]]
*[[Object scripts]]
**[[Quest scripts]]  
*[[Quest scripts]]
**[[Global Scripts]] - (Should be merged with [[Quest scripts]].)
 
**[[Magic effect scripts]]
*[[:Category:Code Optimization|Code Optimization]]
*[[Script Processing]]
*[[Script Processing]]
*[[:Category:Useful Code|Useful Code]]
*[[Modding Terminology]]
</div>
<div id="esstyle" style="width:auto;padding-bottom:0.5em;">
<h2 class="header">Tools</h2>
*[[Oblivion Script Extender]]
*[[Notepad++ Script Definitions]]
*[[Oblivion Script Dumper]]
</div>


<div id="esstyle" style="width:auto;padding-bottom:0.5em;">
==Troubleshooting==
<h2 class="header">Troubleshooting</h2>
*[[Common Bugs]]
*[[Common Bugs]]
*[[Common Mistakes]]
*[[Common Mistakes]]
Line 81: Line 40:
*[[Performance Problems]]
*[[Performance Problems]]
*[[Debug Scripts]]
*[[Debug Scripts]]
</div>


<div id="esstyle" style="width:auto;padding-bottom:0.5em;">
==Code Optimization==
<h2 class="header">Related Portals</h2>
* [[CPU-usage of Functions]] - Lists of functions and their effects on performance; notes on which drop FPS the most, etc.
{|width="99%" style="border:none;"
* [[Minimizing your Script]] - Tips to keep the number of functions used down, how often sections of your script run, and more.
|width="50%"|
* [[Script Comparison Tests]] - Comparisons of script snippets and/or functions.
*[[Portal:AI]]
 
|width="50%"|
==Extensions and Libraries==
*[[Portal:Quests]]
*[[Oblivion Script Extender]] -
|}
**[[:Category:Pluggy|Pluggy]] - Array, string, Ini functions.
</div>
**[[:Category:TSFC|Tibixie's String Collection Function]] - String functions.
|}
**[[Interfacing Pluggy and TSFC]] - Integrating string functions.
*[[ESM Math Library]] - Math functions as stage function library.
*[http://www.uesp.net/wiki/Tes4Mod:Cobl/Modding Cobl] - Common Oblivion.
 
==Standard Solutions==
The following are standard solutions for solving various types of problems.
*[[Activation Functions]] - Simulating a function by means of a activate call.
*[[Combine your SI and non-SI mods into one (OBSE, Patch v1.1, Other mods too)|Adaptive Mods]] - Adjust a mod for presence or absence of SI, OBSE, Patch v1.1, etc.
*[[Dynamically Adding Spells to Merchants]]
*[[Casting Spells From An Activator]]
*[[Scripting Tutorial: Custom Bound Items|Custom Bound Items]]
*[[Distinguishing Between Physical and Magickal Hits]]
*[[GetActorType]] - Encode actor type (npc, creature, ghost, etc.) as a single number.
*[[Teleport Recall#Marker Rats|Marker Rats]] - Using hidden actors as stable marker points.
*'''Inventory'''
**[[DropAllItems|Drop All Items]]
**[[Generic Unequip]] - Remove an object from inventory without specifying its object id.
**[[Unplayable Items]] - Various uses of unplayable items.
** [[Walking Through Inventory Items]]
*'''Math Functions'''
**[[:Category:Extra Math Functions|Extra Math Functions]]
**[[:Category:Math Functions (OBSE)|OBSE Math Functions]]
*'''Messagebox Menus'''
**[[MessageBox Tutorial]] - Complicted messagebox and menu structures.
** [[Standard Menu UI]] - Menu triggers, options menus, hierarchical menus, number configuration, etc.
*[[Programmable Spell Effects]] - Beyond scripted spell effects.
*[[Reference Variables for Nearby Actors]]
*[[Remote Activators]] - Uses of activating remote objects.
*[[Rotating an object around another object with a script]]
*[[Running Scripts On Arrows]]
*[[:Category:Stage Functions]] - Simulating a function by means of a setStage call.
** [[Simulating new functions|Stages Functions]] - (Needs to be merged with base article.)
*[[Summon Object]] - Summon (move) an existing object to position in front of player.
*[[Teleport Recall]] - Establishing a teleport recall point.
*[[Text Input With OBSE]] - Simulating a text input box (OBSE).
** [[Text Input With Pluggy]] - [[:Category:Pluggy|Pluggy]] based text input.
** [[Text Input With TSFC]] - [[:Category:TSFC|TSFC]] based text input.


<!-- to make sure the edit buttons don't float through the article -->
==Deprecated Articles==
<div style="clear:both"></div>
*[[Dynamic Storage]] - General survey of arrays, linked lists, etc. in pre-pluggy world.
<div id="esstyle" style="width:auto;text-align:center;padding:1em;margin-bottom:0;">[[Portal:Contents/Portals|All Portals]]</div>
**[[Linked List Tutorial]] - Pre-pluggy approach to linked lists.
[[Category: Scripting]]

Revision as of 21:25, 29 June 2008

Overview

Scripts are used by modders to control the game in fairly direct ways and achieve effects that are far outside the normal scope of the game. If you're new to scripting, you should start at the top of the page, especially with the tutorials. If you're an experienced scripter, then the later parts of the page should be most useful.

Basic Tutorials

Functions

General Knowledge

Scripting Basics

Troubleshooting

Code Optimization

Extensions and Libraries

Standard Solutions

The following are standard solutions for solving various types of problems.

Deprecated Articles