Page 1 of 2

Action Index

Posted: Thu Oct 05, 2017 10:55
by Lobby
A generic action looks like:
Show
action name
Description
To do some actions (iff the corresponding condition is true) you can use the code:

Code: Select all

"actions":[{"type":"action name",...},...],
Possible additional attribute for actions are:
id, x, y, z, x2, y2, frame, invert, ignore, level,inner


Show
build
Builds whatever is given as id. If provided, the given frame will be used. For roads z can be used to provide the level to build at (0 or 1).
Show
remove
Removes anything from the given position. Convenient to ensure that a building can be built.
Show
frame
Sets the frame of the building at x, y to the specified frame. The frame can also be specified using code.
Show
burn
Initiates a fire on the building at x, y. Be aware that not all buildings can burn.
Show
extinguish
Extinguishes the fire of the building at x, y.
Show
play
Plays the sound from the given id.
Show
notify
See here for more information.
Show
disaster
Issues a disaster at the given position. The disaster is specified using the "id" tag. Possible values are:
  • "fire"
  • "meteor"
  • "earthquake"
  • "nuke"
  • "tornado"
  • "nuclear plant"
  • "illness"
  • "flooding"
  • "riot"
  • "crime"
  • "ufo"
  • "generic building"
Set "frame":0 to let the disaster spawn at a random position. If the disaster wasn't issued successfully, further actions won't be executed. Set "ignore":true to change this behavior.
Show
toast
Shows an Android toast overlay with id as content.
Show
firework
Emits the firework specified by id at x, y.
Show
toast
Shows an Android toast overlay with id as content.
Show
set
Sets the value of the variable id to the value given in code. See here for more information about variables.
Show
performance
Applies the performance provided in code to of the building at x, y (values 0 - 100).
Show
animation pause
Pauses the animation slot "level" (0 by default). Additionally sets the frame to "frame" if specified.
Show
animation resume
Resumes the animation slot "level" (0 by default). Additionally sets the frame to "frame" if specified.
Show
rect
Can be used to execute actions in a rectangular area.
See here: https://theotown.com/forum/viewtopic.ph ... 25#p118725
Show
call
Can be used to call a Lua function.
See here: viewtopic.php?f=81&t=10561

Re: Fun condition and action index

Posted: Fri Nov 17, 2017 17:29
by Lobby
New with the next version: disaster action :teach

Re: Fun condition and action index

Posted: Fri Nov 17, 2017 17:30
by KINGTUT10101
Is illness going to be functional?

Re: Fun condition and action index

Posted: Fri Nov 17, 2017 17:34
by Lobby
No, it shouldn't do anything, yet.

Re: Fun condition and action index

Posted: Fri Nov 17, 2017 17:45
by AnyBear65
Lobby wrote:
Fri Nov 17, 2017 17:34
...yet.
:bb

Re: Fun condition and action index

Posted: Sun Jan 07, 2018 12:22
by AnyBear65
KoalaGuy wrote:
Sun Jan 07, 2018 11:51
@Lobby
It looks like the nuke disaster doesn't work with fun. Could you please have a look at it :bq
It does. At least for my disasterous presents.

Re: Fun condition and action index

Posted: Sun Jan 07, 2018 12:38
by Lobby
This code works for me :json

Code: Select all

"on click fun":[
  {
    "actions":[{"type":"disaster","id":"nuke"}]
  }
]
So how does your code look like?

Re: Fun condition and action index

Posted: Sun Jan 07, 2018 12:46
by CommanderABab
It works for me. Set speed to max. Build a 6x6 road enclosure(max!), totally enclosed. Build the wandering blue animals inside! (They're nuclear enabled). Don't let any out! Set some on fire. Wait til the animation freezes. Wait a bit longer!

Re: Fun condition and action index

Posted: Sun Jan 07, 2018 16:56
by CommanderABab

Code: Select all

"on event fun":[
        {"actions":[{"type":"burn","x":0,"y":1}],"always":true,"ignore success":true},
        {"actions":[{"type":"burn","x":0,"y":-1}],"always":true,"ignore success":true},
        {"actions":[{"type":"burn","x":1,"y":0}],"always":true,"ignore success":true},
        {"actions":[{"type":"burn","x":-1,"y":0}],"always":true,"ignore success":true}                
      ],   
If you are spawning rioters on the roads from a 1x1 building..

Copy the actions and change the 1s to 2s etc for greater radius. You have to remember it might hit a big building. If the spawning building is bigger than 1x1, you have to add its width to the positive x and y values to avoid setting itself on fire.

Re: Fun condition and action index

Posted: Mon Jan 08, 2018 18:12
by Lobby
Yes, that's the issue:
issue.png
issue.png (12.85 KiB) Viewed 3725 times
Will be fixed :bf

Re: Fun condition and action index

Posted: Sat Jan 27, 2018 8:05
by Mg3094066
Lobby wrote:
Fri Nov 17, 2017 17:34
No, it shouldn't do anything, yet.
I have a question
How the meteor explosion works?

Re: Fun condition and action index

Posted: Sat Jan 27, 2018 8:15
by AnyBear65
Creates white screen, shakes it, builds scrap and crater.

Re: Fun condition and action index

Posted: Sat Jan 27, 2018 8:18
by Mg3094066
JustAnyone wrote:
Sat Jan 27, 2018 8:15
Creates white screen, shakes it, builds scrap and crater.
In a json code, may be used for napalms because we can produce big fires

Re: Fun condition and action index

Posted: Wed Jan 31, 2018 1:58
by Lobby
@former member I think you would have to do it the other way: The buildings that should change should do it in their own fun code.

@former member I'm not sure why or how to add it. After all, the system isn't meant to be used that way.

Re: Fun condition and action index

Posted: Wed Jul 04, 2018 19:09
by cesareborgia94
Lobby wrote:
Fri Nov 17, 2017 17:29
New with the next version: disaster action :teach
Lobby, it may be too late for this question but what does the disaster action do?
Also in the action index, can you specify, explain in-depth what does toasts do?
Thank you for your time.

Re: Action Index

Posted: Wed Jul 04, 2018 19:16
by Kulche
For disaster action, it summons chosen disaster (earthquake, meteor, nukes, etc.) at random or specified location.

Code: Select all

"fun":[
{
"actions":[
{
"type":"disaster",  //Makes fun disastrous
"id":"nuke",  //Shoots nuke at x and y   \/ look down there\/
"x":10,
"y":-10  //Specifies location
}
]
}
]

Re: Action Index

Posted: Wed Jul 04, 2018 19:20
by cesareborgia94
Kulche wrote:
Wed Jul 04, 2018 19:16
For disaster action, it summons chosen disaster (earthquake, meteor, nukes, etc.) at random or specified location.

Code: Select all

"fun":[
{
"actions":[
{
"type":"disaster",  //Makes fun disastrous
"id":"nuke",  //Shoots nuke at x and y   \/ look down there\/
"x":10,
"y":-10  //Specifies location
}
]
}
]
Does it apply to crime as well?
Sorry for asking the repeated questions, jusy need some confirmation.
Also, if you did not specify location, it would happen at a random place, yes?

Re: Action Index

Posted: Wed Jul 04, 2018 19:25
by Kulche
Propably yes, cuz Lobby wrote it upper.

Idk, try it.

Re: Action Index

Posted: Wed Jul 04, 2018 19:35
by Lobby
Yes, it works also for crime :bc

Toasts are especially useful for debugging. It's basically a text that is shown for a short amount of time and can be used to provide some information. See here for more details: https://developer.android.com/guide/top ... ers/toasts

Usage is quite simple:

Code: Select all

"actions":[{"type":"toast","id":"Hi, I am some text!"}]
If you want to print the value of a variable $myvar on the screen you can use string interpolation:

Code: Select all

"actions":[{"type":"toast","id":"The value of the variable is ${$myvar}"}]
The content of ${*} will be evaluated at runtime and can therefore be used to show the value of variables.

Re: Action Index

Posted: Wed Jul 04, 2018 19:45
by CommanderABab
Show
quote
Lobby wrote:
Wed Jul 04, 2018 19:35
Yes, it works also for crime :bc

Toasts are especially useful for debugging. It's basically a text that is shown for a short amount of time and can be used to provide some information. See here for more details: https://developer.android.com/guide/top ... ers/toasts

Usage is quite simple:

Code: Select all

"actions":[{"type":"toast","id":"Hi, I am some text!"}]
If you want to print the value of a variable $myvar on the screen you can use string interpolation:

Code: Select all

"actions":[{"type":"toast","id":"The value of the variable is ${$myvar}"}]
The content of ${*} will be evaluated at runtime and can therefore be used to show the value of variables.
#stringinterpolation,
#runtimeevaluation