Scripting

From Kemoverse
Revision as of 00:25, 7 May 2023 by 216.145.87.21 (talk) (Additional info about movement/interaction commands.)
Jump to navigation Jump to search

Scripting is a way for characters to behave in-game. You can even script yourself!

Introduction

An example of a script with three options.

Scripting. What is it, anyways? Well, think of a movie script - you read it from top to bottom to check what you have to do or say next. In this case, the Kemoverse Online character script (which I call Action Script) directs what characters do, including your own. So by scripting yourself, you can make your character do stuff, and start acting without your control. A script is actually quite simple, it's just a text file that you write in the editor in-game.

To explain how it works, first know that every character has two scripts - a "life script" and an "interaction script". Life script runs automatically at random, so basically, it has a life on its own. It's used to make characters automatically do stuff, like walking around, sitting down, think for themselves and generally act like an NPC. An interaction script is the script that does stuff in response to interaction, so when you (or someone else) walk up to an NPC (or you) and click, the interaction script will be shown.

Script files are divided in to options, basically sub-sections of both life and interaction scripts. When you click on someone and want to interact with them, it will list all the options. When the life script is running, it decides things based on the option titles. It's just a handy way to slice up the script and provide some more flexibility rather than creating a bunch of different files.

It's pretty interesting to make yourself "become"/"act" like an NPC. Since it's a rather fresh concept, I named it SPC (for Scripted Playable Character). By default, the interaction/life scripts won't bother you as you play, but you can enable SPC mode by pressing Alt+V (or the bottom right icon), in which case, your scripts will start to run automatically. So, by enabling SPC mode, you basically start acting like an NPC.

Anyways, I've tried to make Action scripts be as simple/intuitive as possible. Let's check out an example!

Example

= Say Hello
t t
+ Hello there.
l left
l right
l l
- I'll tell you a secret.
+ What?
- I have a snail in my pocket.

Here's a short example. It presents and option to interact ("say hello"), and clicking on it, starts the script. Both players turn to each others, exchange dialog, and the script player looks left, right, then continues the dialog. As you can see, it's very easy to make a simple conversation. But there's way more than that! You can make your character walk around, animate, do facial expression... and such.

See the first letter that starts each line? It's the command - this determines what you want the character to do. After that first letter, you type in parameters to specify even more. Let's have a look of all the commands you can do.

Script Commands

Movement

mv,move is one of the most important movement commands. There is various ways to get a character to move.

Move a direction

mv forward
mv left
mv back
mv right

You can also specify how many steps you want a character to take. mv forward 5 will move 5 steps forward.

Move to an exact spot

You can move to an exact spot in the world using coordinates.

mv to -38.35 1.77 41.12

Tip: To get the coordinates you can right click the life script as you are working on it and hit paste coordinates. It'll paste the current coordinates you are standing on. This is very helpful.

Move to an object

mv to sera_hammock

Tip: To get the name of an object you wish to move to middle click it twice while having the script text cursor at the place you want the name to be pasted into your code.

Interaction

Interact with an object.

Interacting with objects is fairly reasonable.

in sera_hammock

You can also interact with an object that has multiple interaction options.

in kitchen_chair 2

Tip: To get the correct interaction of an object you wish to interact with middle click the interaction you wish to choose twice while having the script text cursor at the place you want the interaction to be pasted into your code.