User Tools

Site Tools


item_pickup_tutorial

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
item_pickup_tutorial [2018/03/07 20:08] justinitem_pickup_tutorial [2018/03/07 20:58] (current) justin
Line 1: Line 1:
 ======Item Pickups====== ======Item Pickups======
- 
-(WIP) 
- 
 This tutorial will explain how to set up map [[object|objects]] as [[item|items]] for the [[player_character|player]] to pick up, for example a key that the [[player_character|player]] can pick up by walking into/over it and then use to open a door or treasure chest. This tutorial will explain how to set up map [[object|objects]] as [[item|items]] for the [[player_character|player]] to pick up, for example a key that the [[player_character|player]] can pick up by walking into/over it and then use to open a door or treasure chest.
  
Line 8: Line 5:
  
 =====Creating the Object Model===== =====Creating the Object Model=====
- 
 Open the [[New Resource Dialog]] and create a new [[object]]. Once the [[Voxel Editor]] opens for the new [[object]] model, use the [[voxel]] tools to build a key as shown below (or whatever will best visually represent the [[item]]). Open the [[New Resource Dialog]] and create a new [[object]]. Once the [[Voxel Editor]] opens for the new [[object]] model, use the [[voxel]] tools to build a key as shown below (or whatever will best visually represent the [[item]]).
  
Line 24: Line 20:
 {{:wiki:item_pickup_tut_define_item.gif?nolink|}} {{:wiki:item_pickup_tut_define_item.gif?nolink|}}
  
-Remember the name you used for your item as it will be referenced in a [[quick script]] later on. Click the "Save" button ({{:wiki:disk.png?nolink|}}) to save the changes to you've made to the [[item]] database.+Remember the name you used for your item (including case) as it will be referenced in a [[quick script]] later on. Click the "Save" button ({{:wiki:disk.png?nolink|}}) to save the changes you've made to the [[item]] database.
  
 =====Creating a Sound Effect===== =====Creating a Sound Effect=====
-Optional: create sound effect for picking up key+Optionally, you can create a [[sound|sound effect]] for the game to play when the [[item]] is picked up by the [[player_character|player]]. To do so, click the [[Sound FX Generator]] button at the top, then click one of the presets along the left to find a [[sound]] that goes well with the [[item]]. In this example, the "Pickup/Coin" preset should work well.
  
 {{:wiki:item_pickup_tut_sfx.gif?nolink|}} {{:wiki:item_pickup_tut_sfx.gif?nolink|}}
 +
 +Once you are happy with the [[sound]], click the "Save Sound" button ({{:wiki:disk.png?nolink|}}) and enter a name. Remember this name (including case) as it will also be referenced in our [[quick script]] later on.
  
 =====Setting Up the Object in a Map===== =====Setting Up the Object in a Map=====
- +Open the [[map]] where you'd like to have the [[item]] pickup. Select the [[object]] model you created earlier from the resource container on the right, then place the [[object]] onto an open [[tile]] in the [[map]].
-Place object into map in desired location+
  
 {{:wiki:item_pickup_tut_place_object.gif?nolink|}} {{:wiki:item_pickup_tut_place_object.gif?nolink|}}
  
-Open properties dialog for object and assign an entity ID+Switch into "Edit" mode, then either double-click the [[object]] (or right-click on it and select "Properties") to open the [[Entity Properties]] dialog. Enter a unique ID into the "Entity ID" box. I'm using "key_01" for this example since my map will contain multiple keys ("key_02", "key_03", etc.). This ID will also be referenced in our [[quick script]] in the next step. Click OK to close the dialog. 
  
 {{:wiki:item_pickup_tut_assign_id.gif?nolink|}} {{:wiki:item_pickup_tut_assign_id.gif?nolink|}}
  
-Open properties dialog for object'tile and add quick script+Double-click the [[tile]] underneath the [[object]] (or right-click on it and select "Properties") to open the [[Entity Properties]] dialog for the [[tile]]. From the "Script" dropdown, select "Quick Script" then click the "Edit" button ({{:wiki:pencil.png?nolink|}}) to edit the [[script]]. 
 + 
 +Copy and paste the [[script]] source code below into the dialog as shown. You may need to make a few adjustments according to the names you chose earlier on, in particular the entity ID for the [[object]] ("key_01"), the [[sound]] name ("give_key"), and the [[item]] name ("Gold Key"). These are all case-sensitive.
  
 <code lua> <code lua>
Line 52: Line 51:
 {{:wiki:item_pickup_tut_assign_script.gif?nolink|}} {{:wiki:item_pickup_tut_assign_script.gif?nolink|}}
  
-=====Testing the Item Pickup In-Gamep=====+To better understand what the [[script]] is doing, I've included explanations for each line. 
 + 
 +<code lua> 
 +set_entity_script(self, ""); 
 +</code> 
 + 
 +This line removes the [[script]] from the [[entity]] that activated it ("self"), in this case the [[tile]] that the [[player_character|player]] stepped onto. This is to prevent the [[script]] from being activated more than once after it's triggered the first time. The pair of double quotes (i.e. an empty [[string]]) indicates that the [[script]] should be removed/set to nothing. 
 + 
 +<code lua> 
 +remove_entity(entity["key_01"]); 
 +</code> 
 + 
 +This line removes the physical key [[object]] from the scene by referring to the unique [[entity]] ID we assigned to the key earlier on in the [[Map Editor]]. The ID inside the quotes should exactly match the ID that was assigned to the [[object]] from its [[Entity Properties]] dialog. 
 + 
 +<code lua> 
 +play_sound("give_key"); 
 +</code> 
 + 
 +This line plays the [[sound|sound effect]] named "give_key". The name inside the quotes should exactly match the name given to the [[sound]] when it was saved from the [[Sound FX Generator]]. To prevent any errors, this line should be deleted from the [[script]] if you skipped the optional step of creating a [[sound|sound effect]]. 
 + 
 +<code lua> 
 +give_item("Gold Key"
 +</code> 
 + 
 +This line puts the [[item]] named "Gold Key" into the [[player_character|player's]] [[inventory]]. The name inside the quotes should exactly match the name defined in the [[Item Editor]]. Note that this line doesn't have a semicolon at the end since semicolons are used as line separators in the RPG in a Box scripting language and this is the last line of code. 
 + 
 +Click the "Validate" button and then OK once the [[script]] has been validated, then save the [[map]].
  
-Finished! Save map and export gameplayer will now "pick up" key when walking onto the tile.+=====Testing the Pickup In-Game===== 
 +[[exporting_your_game|Export the game]] to try out your new [[item]] pickup. The [[player_character|player]] should now receive a Gold Key in their [[inventory]] when walking onto the [[tile]] that contains the key [[object]]!
  
 {{:wiki:item_pickup_tut_ingame.gif?nolink|}} {{:wiki:item_pickup_tut_ingame.gif?nolink|}}
  
item_pickup_tutorial.1520482107.txt.gz · Last modified: 2018/03/07 20:08 by justin