User Tools

Site Tools


script_syntax

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
script_syntax [2020/07/21 16:22] justinscript_syntax [2020/08/05 21:36] justin
Line 2: Line 2:
 ---- ----
  
-The scripting language in RPG in a Box is a simple imperative language designed specifically for the engine. The syntax is useful to know for creating [[quick script|quick scripts]] for tiles and objects in the [[Map Editor]] or for script nodes in the [[Dialogue Editor]].+Bauxite, the scripting language for RPG in a Boxis a simple imperative language designed specifically for the engine. The syntax for Bauxite is useful to know for creating [[quick script|quick scripts]] for tiles and objects in the [[Map Editor]] or for script nodes in the [[Dialogue Editor]].
  
 =====Statement Syntax===== =====Statement Syntax=====
Line 32: Line 32:
 **Examples:** **Examples:**
 <code bauxite> <code bauxite>
-rand_num = random(1, 20)+$rand_num = random(1, 20)
 </code> </code>
 <code bauxite> <code bauxite>
Line 63: Line 63:
 </code> </code>
 <code bauxite> <code bauxite>
-rand_num = random(1, 20); +$rand_num = random(1, 20); 
-if rand_num > 15 then+if $rand_num > 15 then
    give_item("ITEM_0001")    give_item("ITEM_0001")
-elseif rand_num > 10 then+elseif $rand_num > 10 then
    give_item("ITEM_0002")    give_item("ITEM_0002")
 else else
Line 92: Line 92:
 <code bauxite> <code bauxite>
 display_message("The explosion damages all of the enemies!"); display_message("The explosion damages all of the enemies!");
-for slime_entity in group["slimes"] do +for $slime_entity in group["slimes"] do 
-   damage_entity(slime_entity, 5)+   damage_entity($slime_entity, 5)
 end end
 </code> </code>
 Deals 5 damage to each [[entity]] in the "slimes" [[groups|group]]. Deals 5 damage to each [[entity]] in the "slimes" [[groups|group]].
 <code bauxite> <code bauxite>
-for i in range(1, 4) do +for $i in range(1, 4) do 
-   give_item("ITEM_000" + "${i}", i)+   give_item("ITEM_000" + "${i}", $i)
 end end
 </code> </code>
Line 130: Line 130:
 **Examples:** **Examples:**
 <code bauxite> <code bauxite>
-for slime_entity in group["slimes"] do +for $slime_entity in group["slimes"] do 
-   damage_entity(slime_entity, 2)+   damage_entity($slime_entity, 2)
 end end
 </code> </code>
Line 142: Line 142:
 Displays the message if the player model's tag list contains the "human" tag. Displays the message if the player model's tag list contains the "human" tag.
 <code bauxite> <code bauxite>
-dungeon_map_list = array["room1", "room2", "room3", "room4"]; +$dungeon_map_list = array["room1", "room2", "room3", "room4"]; 
-load_map(dungeon_map_list[random(0, 3)], coord[0, 0, 0]); +load_map($dungeon_map_list[random(0, 3)], coord[0, 0, 0]); 
-item_list = array["ITEM_0001", "ITEM_0005", "ITEM_0008"]; +$item_list = array["ITEM_0001", "ITEM_0005", "ITEM_0008"]; 
-give_item(item_list[random(0, 2)], 5)+give_item($item_list[random(0, 2)], 5)
 </code> </code>
 Loads a random map from the "dungeon_map_list" array variable ("room1" through "room4"), then gives the player 5 of a random item from the "item_list" array variable. Loads a random map from the "dungeon_map_list" array variable ("room1" through "room4"), then gives the player 5 of a random item from the "item_list" array variable.
Line 165: Line 165:
 <code bauxite> <code bauxite>
 set_player_movement_locked(true); set_player_movement_locked(true);
-target_tile = tile[7, 8, 0]; +$target_tile = tile[7, 8, 0]; 
-if target_tile == null then+if $target_tile == null then
    print("Target tile doesn't exist.")    print("Target tile doesn't exist.")
 else else
-   move_player(target_tile)+   move_player($target_tile)
 end end
 </code> </code>
script_syntax.txt · Last modified: 2023/11/06 14:13 by justin