• 0
Archeia

Script Call Equivalent of Events

Question

I'd like to compile a list of Call Script equivalent of events. I think it's nice to know the script call equivalent since there might be some people who work better with them (like me ;w;). If I posted in the wrong section, feel free to move. Below is a list of the ones I have so far...c:

Variables

$game_variables[n]

Switches

$game_switches[n]

Conditional Branch

if #something#somethingelse#somethingend

Show Picture

screen.pictures[index].show(file_name, upperleft/center, x, y, x zoom, y zoom, opacity, blend type)

Move Picture

screen.pictures[n].move(0/1 (top left or center), x, y, zoom1, zoom2, opacity, blend type (0,1, 2), wait)

Picture Tone

screen.pictures[n].start_tone_change(Tone.new(0, 0, 0, 0), wait)

Looping

For#somethingend

Move Event

move_route = RPG::MoveRoute.newmove_route.repeat = falsemove_route.skippable = truem = RPG::MoveCommand.newm.code = 45 #The List of M Code can be found over Game_Character, this current m.code is call scriptm.parameters = ["script call here"]move_route.list.insert(0,m.clone)$game_player.force_move_route(move_route)

Transfer Event Location

$game_map.events[id].moveto(new_x, new_y)

Transfer Player

$game_player.reserve_transfer(map_id, x, y, direction)

Screen Tint

t = Tone.new(red,green,blue, gray)screen.start_tone_change(t, duration)

Shake Screen

@params = []@params[0] = power or $game_variables[x]@params[1] = speed or $game_variables[y]@params[2] = duration or $game_variables[z]

Note: (Neonblack and Fomar0153 found this glitch!)
The shake screen has an option in the editor where you can add a "wait" or not. But the glitch involves that it will wait no matter what. But it will only wait a number of frames equal to whatever the speed is set to the default option. For example, the setting is 5 power, 5 speed, 60 frames, and wait. It will wait for 5 frames, no matter what.

Share this post


Link to post
Share on other sites

298 answers to this question

  • 0

Thank you very much Archeia, it's very helpful for RMVX starters like me!!

Archeia likes this

Share this post


Link to post
Share on other sites
  • 0

I'd also be interested in conditional script calls which have no equivalent event command. Things like

$game_player.moving?

and

Input.trigger?(Input::A)

They're so useful! And it's okay, since you're asking for script calls, it's in the right forum.

Mihel, Archeia and Necrofear04 like this

Share this post


Link to post
Share on other sites
  • 0

Thought I would add some more to the list.

Call Common Event:

$game_temp.reserve_common_event(id)
Play SE/ME/BGS/BGM:

RPG::SE.new("SE Name", volume, pitch).playRPG::ME.new("ME Name", volume, pitch).playRPG::BGS.new("BGS Name", volume, pitch).playRPG::BGM.new("BGM Name", volume, pitch).play
Show Text:

$game_message.add("Text")
Gain/lose Item:

$game_party.gain_item($data_items[id], amount)$game_party.lose_item($data_items[id], amount)
(For weapons/armor use $data_weapons or $data_armors in place of $data_items.)

Gather Followers:

$game_player.followers.gather
Change Player Followers:

$game_player.followers.visible = true or false
Erase Event:

$game_map.events[event_id].erase

Some conditional script calls to add to Celianna's:

Button pressing

Input.repeat?(:A)Input.press?(:A)
Movement

$game_player.dash?$game_player.jumping?$game_map.events[event_id].moving?$game_map.events[event_id].jumping?
Location

$game_map.events[event_id].x$game_map.events[event_id].y$game_player.x$game_player.y
Remove Actor

$game_party.remove_actor(actor_id)
Add Actor

$game_party.add_actor(actor_id)
Remove Party Member from position (where x = party position. 0 = 1st member, 1 = 2nd member, etc.)

m = $game_party.members$game_party.remove_actor(m[x].id)
Of course the list can go on, but I hope that little bit helps smile.png

EDIT: Fixed some typos and shortened input text as Nicke suggested

EDIT: Added more

Edited by Galv
Archeia, ashes999, Corlagon and 4 others like this

Share this post


Link to post
Share on other sites
  • 0

I'll just continue then!

If you ever wanted to add every item/skills/weapons for debugging purpose (or something else?) it can be kind of tedious to add them all if you have alot. This small script call will help immensely:


$data_items.each { |i|
next if i.nil? or i.name == ""
$game_party.gain_item(i, 99)
}

Of course, if you want you can change $data_items to $data_weapons or something else and the amount you want.

When checking for input triggers/pressing you can actually shorten that a bit:


Input.trigger?(:CTRL)

There is no need to write Input::CTRL anymore.

To get the leader of the party you can do this:


$game_party.leader

Gain/lose gold:


$game_party.gain_gold(amount)
$game_party.lose_gold(amount)

Check for current max gold:


$game_party.max_gold

Get map id and name:


$game_map.map_id
$game_map.name

To correct the screen shake bug thing do the following at Game_Interpreter:


def command_225
screen.start_shake(@params[0], @params[1], @params[2])
wait(@params[2]) if @params[2]
end

Now it will wait the right amount of frames and not 5.

Edited by Nicke
Archeia, Mihel, Necrofear04 and 2 others like this

Share this post


Link to post
Share on other sites
  • 0

I can't believe I forgot an important one. Regions.

$game_player.region_id == n
$game_map.events[event_id].region_id == n

Acetonide and ct_bolt like this

Share this post


Link to post
Share on other sites
  • 0

Show Choices

params = []
choices = []
choices.push("choice 1")
choices.push("choice 2")
params.push(choices)
params.push(0/1/2 this part is where you press cancel and which choice to default)
setup_choices(params)

ct_bolt likes this

Share this post


Link to post
Share on other sites
  • 0

Can we bypass the choice limit by using the script commands? :)

Share this post


Link to post
Share on other sites
  • 0

Do you know how to set up what to do when a choice is made?

Share this post


Link to post
Share on other sites
  • 0

Am I the only one who runs into automatic word wrap in the script call which forces a line break?

Share this post


Link to post
Share on other sites
  • 0

Am I the only one who runs into automatic word wrap in the script call which forces a line break?

Nope, that is the default behavior in the (really small) script call box

Sumasuun likes this

Share this post


Link to post
Share on other sites
  • 0

No, and it can cause your game to crash depending on where it puts the line break. It's best, if your line will be too long, to force the break yourself, after a =+-/*( symbol so it knows it's continued on the next line and doesn't add in its own spaces and break things.

Acetonide likes this

Share this post


Link to post
Share on other sites
  • 0

Upping my current game's resolution upto 640 width was the best thing I did.

I never ever have to check my text fits anymore. It's such a time saver.

Shaz likes this

Share this post


Link to post
Share on other sites
  • 0

Do you know how to set up what to do when a choice is made?

Do you mean like the choice branching?

Edited by Tsukihime

Share this post


Link to post
Share on other sites
  • 0

Yes. The code for setting up the choices themselves is above, but the branching is normally created automatically when you use the Show Choices command. If you're now circumventing the Show Choices command, you also have to have a way to fake the When [**] branch that automatically gets created. It's like that script you created the other day where you use conditions, but this thread is for script calls that don't rely on other scripts being installed.

Share this post


Link to post
Share on other sites
  • 0

It is pretty easy to fake the When [**] command (402).

The definition is just


command_skip if @branch[@indent] != @params[0]

Where @params stores the choice number for that specific branch (0, 1, 2, ... )

So all you have to do is replace @params[0] with an integer


if @branch[@indent] == 0
# branch for first choice
elsif @branch[@indent] == 1
# branch for second choice
end

Edited by Tsukihime

Share this post


Link to post
Share on other sites
  • 0

Thank you. I thought it would be something like that, but the params/indent was messing me up.

Share this post


Link to post
Share on other sites
  • 0

Thank you. I thought it would be something like that, but the params/indent was messing me up.

I think the indent will still mess things up since indentation is internal to the game interpreter and event commands and you basically have no control over it. Which means any scripted choice branches will need to use scripts to create event commands, which I think is starting to get a little ugly.

Share this post


Link to post
Share on other sites
  • 0

is there a way to make script call to have more than 10 lines?

Edited by harvard1932

Share this post


Link to post
Share on other sites
  • 0

is there a way to make script call to have more than 10 lines?

You can use the Large Script Call script which combines multiple script calls together into one script call.

Edited by Tsukihime

Share this post


Link to post
Share on other sites
  • 0

Hi, as a newbie I have the following question.

I want to check if a certain variable is true:

$game_variables[12] = ($game_variables[6] == $game_variables[10]) && ($game_variables[7] == $game_variables[11]) && ($game_variables[8] == $game_variables[10]) && ($game_variables[9] == $game_variables[11])

This produces a script error in my event. How would be the correct syntax, please?

Share this post


Link to post
Share on other sites
  • 0

It's probably caused by where your line breaks are. Can you take a screenprint of the event itself, showing the script command? It will be pretty easy to pinpoint.

Something like this would cause an error (the first three lines do not indicate that there's more to come on the next line):

$game_variables[12] = ($game_variables[6] 
== $game_variables[10]) && ($game_variables[7] == $game_variables
[11]) && ($game_variables[8] == $game_variables[10])
&& ($game_variables[9] == $game_variables[11])

but something like this would be okay (the first three lines all indicate that there's more to come on the next line):

$game_variables[12] = ($game_variables[6] == 
$game_variables[10]) && ($game_variables[7] == $game_variables[11]) &&
($game_variables[8] == $game_variables[10]) &&
($game_variables[9] == $game_variables[11])

Although - where are you putting this? In a Script Call, or as the script part of a Conditional Branch? The above is for a script call, but a conditional branch would not require the $game_variables[12] = at the start.

Also note, variables are usually numbers (in reality, you can put anything in there). But your condition there is going to return true or false, which would be better suited for putting into a switch rather than a variable.

Share this post


Link to post
Share on other sites
  • 0

Thank you very much!

It was unusual to me that the line break has such a relevance in a script language...

I solved it with a script and a switch(!) within an event.

Though I found now way to display a switch, I first copied the switch to a variable via set/script.

Share this post


Link to post
Share on other sites
  • 0

$game_temp.reserve_common_event(id)

Galv mentioned this. It seems to work really well but I have question with this. Sorry i realize this is a pretty old thread.

I noticed that the code wont wait for a common event to finish before moving on to the next line of code. Is there a way to force it so the common event completely finishes before executing

any of the code afterwords?

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.