Difference between revisions of "NPC (TeaScript)"

From PGE Wiki
Jump to navigation Jump to search
(Minor fixes in prX and prY descriptions, added facing.)
(Added some missing stuff.)
 
(13 intermediate revisions by 4 users not shown)
Line 14: Line 14:
 
{| class="wikitable" border="0"
 
{| class="wikitable" border="0"
 
!Name
 
!Name
 +
!Type
 
!Description
 
!Description
 
|-
 
|-
 
|<code>X</code>
 
|<code>X</code>
 +
|R&W
 
|The X coordinate of the NPC.
 
|The X coordinate of the NPC.
 
|-
 
|-
 
|<code>Y</code>
 
|<code>Y</code>
 +
|R&W
 
|The Y coordinate of the NPC.
 
|The Y coordinate of the NPC.
 
|-
 
|-
 
|<code>prX</code>
 
|<code>prX</code>
 +
|R&W
 
|The X coordinate of the original position's NPC.
 
|The X coordinate of the original position's NPC.
 
|-
 
|-
 
|<code>prY</code>
 
|<code>prY</code>
 +
|R&W
 
|The Y coordinate of the original position's NPC.
 
|The Y coordinate of the original position's NPC.
 
|-
 
|-
 
|<code>Xsp</code>
 
|<code>Xsp</code>
 +
|R&W
 
|The X speed of the NPC.
 
|The X speed of the NPC.
 
|-
 
|-
 
|<code>Ysp</code>
 
|<code>Ysp</code>
 +
|R&W
 
|The Y speed of the NPC.
 
|The Y speed of the NPC.
 +
|-
 +
|<code>ExtX</code>
 +
|R&W
 +
|The X placement of the GFX expansion.
 +
|-
 +
|<code>ExtY</code>
 +
|R&W
 +
|The Y placement of the GFX expansion.
 
|-
 
|-
 
|<code>Facing</code>
 
|<code>Facing</code>
|The direction of the NPC.
+
|R&W
 +
|The direction of the NPC. 1: Left; 0: Right.
 +
|-
 +
|<code>ForeColor</code>
 +
|R&W
 +
|The color of the NPC.
 +
|-
 +
|<code>ivala</code>
 +
<code>ivalb</code>
 +
 
 +
<code>ivalc</code>
 +
|R&W
 +
|Determines the behavior of an NPC. [https://wohlsoft.ru/forum/viewtopic.php?f=66&t=3191 More info on how it works 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
 +
|?
 +
|The x-axis platform speed of the NPC.
 +
|-
 +
|addvy
 +
|?
 +
|The y-axis platform speed of the NPC.
 +
|-
 +
|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 value of the NPC.
 +
|-
 +
|permID
 +
|R
 +
|The permanent ID of the NPC.
 +
|-
 +
|alive
 +
|R&W
 +
|Checks for if the NPC is alive or active.
 +
|-
 +
|bkupx
 +
|R&W
 +
|The backup X position of the NPC.
 +
|-
 +
|bkupy
 +
|R&W
 +
|The backup Y position of the NPC.
 +
|-
 +
|stand
 +
|R&W
 +
|Determines if the NPC has gravity or not.
 +
|-
 +
|curtime
 +
|R&W
 +
|The individual frame timer of the NPC. Counts from 1 to 8 and then resets. Not every NPC uses the frame timer.
 +
|-
 +
|scount
 +
|?
 +
|This value will be set to 1 if another NPC is colliding with the current. '''Does not work 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 using water physics or not.
 +
|-
 +
|extset
 +
|R&W
 +
|External settings for the NPC. For bubbles and SMW Lakitus, the NPC ID they contain will depend on what this value is set to.
 +
|-
 +
|target
 +
|R&W
 +
|Determines which player is 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 onscreen.
 +
|-
 +
|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.)'''
 +
|-
 +
|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.
 +
|-
 +
|layerclearedevent
 +
|R&W
 +
|Determines the event called (as a string) when every object within the assigned layer is destroyed/cleared.
 +
|-
 +
|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.
 
|}
 
|}

Latest revision as of 05:46, 25 May 2020

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.
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

ivalb

ivalc

R&W Determines the behavior of an NPC. More info on how it works 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 ? The x-axis platform speed of the NPC.
addvy ? The y-axis platform speed of the NPC.
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 value of the NPC.
permID R The permanent ID of the NPC.
alive R&W Checks for if the NPC is alive or active.
bkupx R&W The backup X position of the NPC.
bkupy R&W The backup Y position of the NPC.
stand R&W Determines if the NPC has gravity or not.
curtime R&W The individual frame timer of the NPC. Counts from 1 to 8 and then resets. Not every NPC uses the frame timer.
scount ? This value will be set to 1 if another NPC is colliding with the current. Does not work 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 using water physics or not.
extset R&W External settings for the NPC. For bubbles and SMW Lakitus, the NPC ID they contain will depend on what this value is set to.
target R&W Determines which player is 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 onscreen.
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.)
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.
layerclearedevent R&W Determines the event called (as a string) when every object within the assigned layer is destroyed/cleared.
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.