Difference between revisions of "Command an NPC/Creature to Attack"
Command an NPC/Creature to Attack (edit)
Revision as of 12:09, 26 December 2009
, 12:09, 26 December 2009no edit summary
imported>Phinix |
imported>Phinix |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
[[Category:Scripting]] | [[Category:Scripting]] | ||
This tutorial will explain how to set up a script on a custom NPC/creature so that by activating it you will be able to command it to attack nearby actors (including friendlies.) | This tutorial will explain how to set up a script on a custom NPC/creature so that by activating it you will be able to command it to attack nearby actors (including friendlies.) | ||
== Create a Global variable == | == Create a Global variable == | ||
Line 39: | Line 37: | ||
begin ScriptEffectFinish | begin ScriptEffectFinish | ||
SetAV Aggression 10 | |||
end | end | ||
Line 53: | Line 52: | ||
Now right-click the space on the right and select "New" to bring up the box to add a new spell effect. | Now right-click the space on the right and select "New" to bring up the box to add a new spell effect. | ||
For the effect choose "Script Effect" and give it a duration | For the effect choose "Script Effect" and give it a duration of 0, since we're adding it as an Ability which remains constant. | ||
Give it an "Effect Name," then choose any school and visual. Do not check "Effect is Hostile." | Give it an "Effect Name," then choose any school and visual. Do not check "Effect is Hostile." | ||
Line 90: | Line 89: | ||
end | end | ||
begin GameMode | |||
if activestat == 2 | |||
set button to getbuttonpressed | |||
if button > -1 | |||
if button == 0 | |||
set globalvar1 to 1 | |||
set activestat to 0 | |||
elseif button == 1 | |||
set timer to 1.5 | |||
set globalvar1 to 2 | |||
set activestat to 0 | |||
elseif button == 2 | |||
set activestat to 0 | |||
endif | endif | ||
endif | endif | ||
endif | endif | ||
if globalvar1 == 2 | |||
if timer == 0 | |||
set globalvar1 to 0 | |||
elseif timer > 0 | |||
set timer to timer - getSecondsPassed | |||
StopCombatAlarmOnActor | StopCombatAlarmOnActor | ||
elseif timer < 0 | |||
set timer to 0 | |||
endif | endif | ||
endif | endif | ||
Line 127: | Line 126: | ||
Best of luck! | Best of luck! | ||