User Tools

Site Tools


data_files

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
data_files [2022/06/26 02:26] justindata_files [2022/06/26 02:27] (current) justin
Line 2: Line 2:
 ---- ----
  
-Although it should be considered an experimental feature at this time and requires a bit of manual setup, it's possible to access custom data stored in JSON files from [[script|scripts]]. To do so, you must first create a subfolder named "data" within your game's project folder and place the desired JSON file into that folder. When [[exporting your game]], the editor will automatically include any files in the data folder having the .json extension.+Although it requires a bit of manual setup, it's possible to access custom data stored in JSON files from [[script|scripts]]. To do so, you must first create a subfolder named "data" within your game's project folder and place the desired JSON file into that folder. When [[exporting your game]], the editor will automatically include any files in the data folder having the .json extension.
  
 As a simple example, let's say you wanted to maintain a list of [[item|items]] that the [[player character]] should begin the game with without needing to update your game's [[startup script]] every time the list changes. In this scenario, you could create a JSON file within the data folder named "start_items.json" that looks something like this, with an array of [[item]] IDs corresponding to the desired [[item|items]]. As a simple example, let's say you wanted to maintain a list of [[item|items]] that the [[player character]] should begin the game with without needing to update your game's [[startup script]] every time the list changes. In this scenario, you could create a JSON file within the data folder named "start_items.json" that looks something like this, with an array of [[item]] IDs corresponding to the desired [[item|items]].
Line 26: Line 26:
 <code bauxite> <code bauxite>
 for $i in range(3) do for $i in range(3) do
-   give_item(data["start_items"][$i]);+   give_item(data["start_items.json"][$i]);
 end; end;
 </code> </code>
  
 <code bauxite> <code bauxite>
-give_item(data["start_items"][random(0, 2)]);+give_item(data["start_items.json"][random(0, 2)]);
 </code> </code>
  
Line 52: Line 52:
  
 <code bauxite> <code bauxite>
-for $item in data["start_items"] do+for $item in data["start_items.json"] do
   give_item($item["id"], $item["count"]);   give_item($item["id"], $item["count"]);
 end; end;
Line 70: Line 70:
  
 <code bauxite> <code bauxite>
-for $prop in data["npc_props"] do +for $prop in data["npc_props.json"] do 
-   set_entity_property(entity["npc01"], $prop, data["npc_props"][$prop]);+   set_entity_property(entity["npc01"], $prop, data["npc_props.json"][$prop]);
 end; end;
 </code> </code>
  
 ~~NOTOC~~ ~~NOTOC~~
data_files.1656235585.txt.gz · Last modified: 2022/06/26 02:26 by justin