Skip to content

TPC GUIDE - Auto Translation #1

@jetrotal

Description

@jetrotal
◇Overview TPC! TPC!
Pass the source file as the first argument and run
Maker 2003 + Maniac Patch event commands and
A tool to generate common events

Grammar is loose and fluffy

◆ Boot option
-en Output error log in suspicious English
-pop Show error log in message box

◆Type of value
Character string Enclose in "" or ""
Numeric Decimal and Hexadecimal (0x***)
Array [element 0, element 1, ...]
block { element 0, element 1, ... } or bl { element 0, element 1, ... }
Constant definitions Non-symbolic characters and numbers (the beginning is not allowed) and _
meta variable $definition name
event command @command name
subcommand .command name
variable v[id] or v:id
Switch s[id] or s:id
String variable t[id] or t:id
Variable Manipulation Expression `Expression

◆Comment
// Line comment
/**/ Range comment

◆Reserved words
def
defs
defv
deft
vname
sname
tname
cev
mev
mep
bl
v
s
t
gv
gs
gt
items
actors
members
ev
self
player
boats

airships

sys
__fn
__loop
__if
__id
__str
__defined

◆Common event
cev

[argument]
Array                 Event ID
Number                 Event ID
.id(a)              Event ID

String               Event name
.name(a)            Event name    

.auto              Start condition Automatic start
.parallel          start condition parallel processing
.beginBattle        Starting condition At the start of the default battle
.battleParallel    Start condition Parallel processing in default battle
.beCalled          Start condition When called (default)
.cond(n)            Event appearance condition switch
.ev(n)
Others               Execution details


[Sample]
cev 4, "qwe", .parallel, {      // common event[4] name=qwe  Parallel processing
    "msg"
}

◆ Map event
mev

[argument]
Array                  
Number                  
.id(n)              Event ID

String              
.name(n)            event name

.parent(n)
.map(n)            Map ID to place
.pos(x, y)          Placement position (square)


The last specified map ID and event ID will be remembered
The initial value of the map ID that was memorized when the event was created will be inherited.

◆Map event page
mep

[argument]
Array                  
Number                  
.id(n)              Page ID

.ev
Block             Event Command

.parent              
.mev                Map Event ID

.grandParent
.map                Map ID

.decision          Start condition When the decision key is pressed (default)
.touched            Start condition When touched by the main character
.beTouched          Start condition When touched from an event
.auto              Start condition Automatic start
.parallel          start condition parallel processing

.body(a, b)        Walking graphic a and position in file b
.trans
.transparent        Make the walking graphic translucent

.anim(*)            Animation Settings
    .normal        Normal (default)
    .fixDir        Fixed orientation
    .step          (Normal or fixed orientation) with step
    .fix            Graphics completely fixed
    .spin          4 animations
    .noWalk        Disable walking
   
.priority(*)        Priority type
    .low            Below the normal character (default)
    .middle        Does not overlap with normal characters
    .high          Above normal characters
   
.disableOverlap    Does not overlap with another event

.dir(*)            Event Orientation
    .up           
    .right         
    .down          Down (default)
    .left          Left
   
.pattern            Graphic pattern
    .left               
    .middle        (default)
    .right

.cond(*)            Appearance condition
    Comparison operation         Variable l is equal to r
   
    .sw1(n)        Switch n is on
    .sw2(n)        Switch n is on
    .item(n)        Possess item n
    .actor(n)      Hero n is at the party
    .timer1(n)      Remaining seconds of timer 1 is less than or equal to n
    .timer2(n)      Remaining seconds of timer 2 is less than or equal to n
   
.action(*)          Action
    .freq(n)        Movement frequency
    .speed(n)      Movement speed
    .repeat        Repeat an action
    .skippable      Ignore if not moveable (default)
    .unskippable    Don't ignore regardless of moveability
   
    .random        Random move
    .vert          Up and down round trip
    .horiz          Left and right round trip
    .approach      Approach the hero
    .away          Run away from the main character
   
    .custom(*)
    Block         Designate movement route

   
[Moving route]
.moveUp
.moveRight
.moveDown
.moveLeft
.moveUpperRight
.moveLowerRight
.moveUpperLeft
.moveLowerLeft
.moveRandom
.moveToward
.moveAway
.moveForward
.faceUp
.faceRight
.faceDown
.faceLeft
.turnRight
.turnLeft
.turnBack
.turnSide
.turnRandom
.turnToward
.turnAway
.pause
.beginJump
.endJump
.fixDir
.unfixDir
.speedUp
.speedDown
.freqUp
.freqDown
.switchOn(id)
.switchOff(id)
.setBody(file, idx)
.se(file, vol, pitch, balance)
.beginThrough
.endThrough
.pauseAnim
.resumeAnim
.transUp
.transDown


The initial values of the map ID and event ID that were memorized when the page was created will be inherited.

◆ Setting switch/variable names
sname/vname

[argument]
Array/Number           Current ID
String               Name currently assigned to ID

.expand(a)         Secure the minimum number of elements a
.shrink            Remove trailing blank name elements

.pad(a)            Add an empty character name to a items from the current ID
.pad(a)            Add an empty character name to the specified range a

.wipe              Clear all original names
.append            Do not clear original name (default)

◆ Command notation
@name.subname(arg1, arg2, ...)
@name.subname arg1, arg2, ...
@name.subname arg1 arg2 ...
@name.subname {
arg1
arg2
...
}

Some arguments take additional arguments

@name.subname arg1(subarg1, ...), arg2


As a general rule, command arguments are in no particular order (*there are exceptions),
The order of arguments is fixed
Unnecessary command arguments can be omitted.


Subcommands with a fixed number of arguments return excess arguments.

@timer.set5.timer2

The command above is interpreted as follows,

@timer(.set(5, .timer2))

The return sets the value as expected

@timer(.set(5), .timer2)


If the argument is an array, the argument can be written between @name and .subname

@pic.erase [10]
@pic[10].erase

The last @name described is remembered and can be omitted when using the same one continuously
Also, arguments written between @name and .subname are inherited

@pic[2].show "qwe"
.move.pos(160, 120).time(6).wait    //@> Move picture: [2]
.erase                              //@> Erase Picture: [2]


Multiple operations on the same item will be overwritten by the last change

@party.item[1].add(5).sub(3)        //@> Increase or decrease item: item[1] -= 3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions