Difference between revisions of "NPC (TeaScript)"
Jump to navigation
Jump to search
m |
m (fixed void's thing) |
||
(11 intermediate revisions by 5 users not shown) | |||
Line 24: | Line 24: | ||
|R&W | |R&W | ||
|The Y coordinate of the NPC. | |The Y coordinate of the NPC. | ||
+ | |- | ||
+ | |<code>width</code> | ||
+ | |R&W | ||
+ | |The width of the NPC. The sprite's width will also be altered if AutoScale is enabled. | ||
+ | |- | ||
+ | |<code>height</code> | ||
+ | |R&W | ||
+ | |The height of the NPC. The sprite's height will also be altered if AutoScale is enabled. | ||
|- | |- | ||
|<code>prX</code> | |<code>prX</code> | ||
Line 62: | Line 70: | ||
<code>ivalc</code> | <code>ivalc</code> | ||
|R&W | |R&W | ||
− | | | + | |Individual variables of the NPCs. |
+ | Some default NPCs uses them and altering their values will define their behavior. ([https://wohlsoft.ru/forum/viewtopic.php?f=66&t=3191 More info here.]). | ||
|- | |- | ||
|<code>haswing</code> | |<code>haswing</code> | ||
Line 90: | Line 99: | ||
|- | |- | ||
|<code>addvx</code> | |<code>addvx</code> | ||
− | | | + | |R |
− | |The x-axis platform speed | + | |The x-axis platform/layer speed where the NPC is, addvx will change prx. |
|- | |- | ||
|<code>addvy</code> | |<code>addvy</code> | ||
− | | | + | |R |
− | |The y-axis platform speed | + | |The y-axis platform/layer speed where the NPC is, addvy will change pry. |
|- | |- | ||
|<code>friendly</code> | |<code>friendly</code> | ||
Line 115: | Line 124: | ||
|<code>advSet</code> | |<code>advSet</code> | ||
|R&W | |R&W | ||
− | |Determines the advanced value of the NPC. | + | |Determines the advanced setting value of the NPC. |
|- | |- | ||
|<code>permID</code> | |<code>permID</code> | ||
Line 123: | Line 132: | ||
|<code>alive</code> | |<code>alive</code> | ||
|R&W | |R&W | ||
− | |Checks for if the NPC is alive or | + | |Checks for if the NPC is alive or not. Forcing this value to 0 won't completely kill the NPC, use 'nkill' instead. |
|- | |- | ||
|<code>bkupx</code> | |<code>bkupx</code> | ||
Line 134: | Line 143: | ||
|- | |- | ||
|<code>stand</code> | |<code>stand</code> | ||
− | |R | + | |R |
− | |Determines if the NPC | + | |Determines if the NPC is touching a floor or not |
|- | |- | ||
− | |<code> | + | |<code>curtimer</code> |
|R&W | |R&W | ||
− | |The individual frame timer of the NPC. Counts from 1 to 8 and then resets. | + | |The individual frame timer of the NPC. Counts from 1 to 8(framespeed flag) and then resets. If frameStyle flag is "No Animation" then this property is initialized to 1 and is left unused. |
|- | |- | ||
|<code>scount</code> | |<code>scount</code> | ||
− | | | + | |R |
− | |This | + | |This property counts how many npc are colliding with the current one, only if it has the same id type. '''Deprecated in 1.4.5.''' |
|- | |- | ||
|<code>dtcplayer</code> | |<code>dtcplayer</code> | ||
Line 163: | Line 172: | ||
|<code>inwater</code> | |<code>inwater</code> | ||
|R | |R | ||
− | |Determines if the NPC is | + | |Determines if the NPC is underwater or not. |
|- | |- | ||
|<code>extset</code> | |<code>extset</code> | ||
|R&W | |R&W | ||
− | |External settings for the NPC. For bubbles and | + | |External settings for the NPC. For bubbles, parachutes and Lakitus, this value stands for the NPC ID they contain. |
|- | |- | ||
|<code>target</code> | |<code>target</code> | ||
|R&W | |R&W | ||
− | |Determines which player is closest. Primarily used for chasing NPCs. | + | |Determines which player is the closest. Primarily used for chasing NPCs. |
|- | |- | ||
|<code>hide</code> | |<code>hide</code> | ||
Line 195: | Line 204: | ||
|<code>activeevent</code> | |<code>activeevent</code> | ||
|R&W | |R&W | ||
− | |Determines the event called (as a string) when the assigned NPC first appears | + | |Determines the event called (as a string) when the assigned NPC first appears on screen. |
|- | |- | ||
|<code>nextframeevent</code> | |<code>nextframeevent</code> | ||
Line 208: | Line 217: | ||
|R&W | |R&W | ||
|Determines the event called (as a string) when a player grabs the assigned NPC. '''(NOTE: The name is not a typo.)''' | |Determines the event called (as a string) when a player grabs the assigned NPC. '''(NOTE: The name is not a typo.)''' | ||
+ | |- | ||
+ | |<code>layerclearedevent</code> | ||
+ | |R&W | ||
+ | |Determines the event called (as a string) when every object within the assigned layer is destroyed/cleared. | ||
|- | |- | ||
|<code>forecolor_r</code> | |<code>forecolor_r</code> | ||
Line 225: | Line 238: | ||
|The alpha/transparency channel of the NPC's forecolor. | |The alpha/transparency channel of the NPC's forecolor. | ||
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} |
Latest revision as of 01:18, 1 January 2021
NPC is a class in TeaScript.vbs that allows you to read/write values of NPCs.
To read the value of NPC
use:
NPC(index).name
To change the value of NPC
use:
NPC(index).name = value
Name | Type | Description |
---|---|---|
X
|
R&W | The X coordinate of the NPC. |
Y
|
R&W | The Y coordinate of the NPC. |
width
|
R&W | The width of the NPC. The sprite's width will also be altered if AutoScale is enabled. |
height
|
R&W | The height of the NPC. The sprite's height will also be altered if AutoScale is enabled. |
prX
|
R&W | The X coordinate of the original position's NPC. |
prY
|
R&W | The Y coordinate of the original position's NPC. |
Xsp
|
R&W | The X speed of the NPC. |
Ysp
|
R&W | The Y speed of the NPC. |
ExtX
|
R&W | The X placement of the GFX expansion. |
ExtY
|
R&W | The Y placement of the GFX expansion. |
Facing
|
R&W | The direction of the NPC. 1: Left; 0: Right. |
ForeColor
|
R&W | The color of the NPC. |
ivala
|
R&W | Individual variables of the NPCs.
Some default NPCs uses them and altering their values will define their behavior. (More info here.). |
haswing
|
R&W | Determines if the NPC has the wing special type and what type of wing movement it has.
0 = None 1 = Jump 2 = Hover Left/Right 3 = Hover Up/Down 4 = Chase 5 = Hover Forward 6 = Lakitu's AI 7 = Controlled by NPC-308 8 = SMW Lines |
id
|
R&W | The ID of the NPC. |
addvx
|
R | The x-axis platform/layer speed where the NPC is, addvx will change prx. |
addvy
|
R | The y-axis platform/layer speed where the NPC is, addvy will change pry. |
friendly
|
R&W | Determines if the NPC is marked as friendly or not. |
nomove
|
R&W | Determines if the NPC's "Don't Move" flag is enabled. |
curframe
|
R&W | The current frame of the NPC. |
health
|
R&W | The current health of the NPC. |
advSet
|
R&W | Determines the advanced setting value of the NPC. |
permID
|
R | The permanent ID of the NPC. |
alive
|
R&W | Checks for if the NPC is alive or not. Forcing this value to 0 won't completely kill the NPC, use 'nkill' instead. |
bkupx
|
R&W | The backup X position of the NPC. |
bkupy
|
R&W | The backup Y position of the NPC. |
stand
|
R | Determines if the NPC is touching a floor or not |
curtimer
|
R&W | The individual frame timer of the NPC. Counts from 1 to 8(framespeed flag) and then resets. If frameStyle flag is "No Animation" then this property is initialized to 1 and is left unused. |
scount
|
R | This property counts how many npc are colliding with the current one, only if it has the same id type. Deprecated in 1.4.5. |
dtcplayer
|
R&W | Determines if the NPC is able to detect players. (1: off, 0: on) |
dtcliquid
|
R&W | Determines if the NPC is able to detect liquids or not. |
dtcself
|
R&W | Determines if the NPC is able to detect other NPCs or not. |
zpos
|
R&W | The z-position of the NPC. |
inwater
|
R | Determines if the NPC is underwater or not. |
extset
|
R&W | External settings for the NPC. For bubbles, parachutes and Lakitus, this value stands for the NPC ID they contain. |
target
|
R&W | Determines which player is the closest. Primarily used for chasing NPCs. |
hide
|
R&W | Hides the NPC if set to 1. |
langle
|
R&W | Unknown effect. |
stimer
|
R&W | Unknown effect. |
talkevent
|
R&W | Determines the event called (as a string) when pressing up in front of a friendly NPC. |
deathevent
|
R&W | Determines the event called (as a string) when the assigned NPC is destroyed. |
activeevent
|
R&W | Determines the event called (as a string) when the assigned NPC first appears on screen. |
nextframeevent
|
R&W | Determines the event called (as a string) every frame the assigned NPC is active. |
touchevent
|
R&W | Determines the event called (as a string) when a player comes into collision with the assigned NPC. |
grabedevent
|
R&W | Determines the event called (as a string) when a player grabs the assigned NPC. (NOTE: The name is not a typo.) |
layerclearedevent
|
R&W | Determines the event called (as a string) when every object within the assigned layer is destroyed/cleared. |
forecolor_r
|
R&W | The red channel of the NPC's forecolor. |
forecolor_g
|
R&W | The green channel of the NPC's forecolor. |
forecolor_b
|
R&W | The blue channel of the NPC's forecolor. |
forecolor_a
|
R&W | The alpha/transparency channel of the NPC's forecolor. |