
GML String Parser
A downloadable asset pack
STRING PARSER 2.10 by Tymon Kubik (ME)
"It's not like I'm going to buy an extension for 30$!!! I'm gonna make it myself >:)"
This is a FREE and EASY-TO-USE string parser for GameMaker Studio 2!
It includes most of the necessary stuff to implement basic code!
(Check out below for more info.)
๐ Documentation
โ Available Arithmetical Operators
- '+'
- '-'
- '*'
- '/'
- '%'
- '<'
- '=='
- '!='
- '<='
- and (&&)
- or (||)
- xor (|)
- Ternary Operator: 'var variable = condition ? value_true : value_false'
โ Available Keywords
-true, false, noone, infinity -vk_left, vk_right, vk_up, vk_down, vk_enter, vk_space -c_red, c_lime, c_blue, c_black, c_white, -current_time, keyboard_string, mouse_x, mouse_y, -room, room_width, room_height, view_camera
โ Available Functions
-show_message, show_debug_message, -array_create, array_length, array_get, array_set, array_push, -struct_get_names, struct_get, struct_set, struct_remove, -instance_create_layer, instance_create_depth, instance_destroy, instance_exists, -place_meeting, instance_place, collision_rectangle, -lengthdir_x, lengthdir_y, point_distance, point_direction, angle_difference, -clamp, min, max, round, floor, ceil, sin, -random_range, irandom_range, -keyboard_check, keyboard_check_pressed, keyboard_check_released, ord, -draw_sprite, draw_sprite_ext, draw_text, draw_rectangle, -draw_set_color, draw_set_alpha, draw_set_font, -merge_color, make_color_rgb, make_color_hsv, -audio_play_sound, audio_stop_sound, -room_goto, -camera_get_view_x, camera_get_view_y, -camera_get_view_width, camera_get_view_height, -sprite_add, sprite_delete, -audio_create_stream, audio_destroy_stream
โ Available Statements
-for, while -if, else if, else -with -switch (supports "case" and "default")
โ Other
-return, exit -break, -continue
๐ ๏ธ HOW TO CREATE YOUR OWN INSTANCE
1) Use
with(instance_create_layer(x, y, "Instances", obj_custom)) { // Code here }.
You should replace "x" and "y" with your
desired position. This will create a blank "obj_custom" in the current room.
2) For your instance to run GML events like a 'normal' GameMaker instance,
you will need to set them as functions using those instance variables:
event_create, event_destroy, event_step, event_beginstep, event_draw, event_drawgui, event_roomstart, event_roomend
3) Your functions should be simply defined like this:
variablename = function() { // Code here }
Any variables used in these functions will be set to the instance.
FULL EXAMPLE:
with (instance_create_layer(room_width / 2, room_height / 2, "Instances", obj_custom)) { sprite_index = spr_test1; event_step = function() { var key_sound = keyboard_check_pressed(ord("Z")); if key_sound { audio_play_sound(sfx_noise, 1, false); } } }
๐ Notes / TODO
- Parentheses work!
- You should ALWAYS put a `;` at the end of each line! (except for the statements that need `{}`)
- Variables can be declared with nothing, `var` , or `global.` before their names, but when using "with" and declaring without a prefix will set the variable on the instance
- You can store custom defined functions in a variable! (ex: `var _func = function() {}`)
- Single-line comments (`//`) and multi-line comments (`/* */`) work!
- Array setting/getting is done using `array_set` and `array_get` (No `array[index]` support yet)
- Struct setting/getting is done using `struct_set` and `struct_get`
Status | In development |
Category | Assets |
Author | Flying_DUM12345 |
Tags | GameMaker, Simple, sourcecode, Text based, upgrades |
Download
Install instructions
To test and run the project:
Simply open the .yyz file in GameMaker Studio 2 and run the game!
The GUI includes:
- Loading .gml files / running them in the current runtime
- A command prompt to run code
- A documentation (when pressing on the "?" button)
Comments
Log in with itch.io to leave a comment.
Hi downloaders! Let me know if you see an issue or a bug (other than the art cuz im no graphical designer!)