if you are about to load a map with custom data, make sure they are in the
following folders :O

images: put these in data\ folder (PNG)
music: put these in music\ folder (MP3)
sounds: put these in sounds\ folder (WAV)

when creating a map and adding custom data the editor does this for you

also, when you decide to use .nou.gml files for your map,
you can use the following variables to make stuff easier:

"datadir": returns nobysim\data\ folder (with the final backslash) as a string.
example: background_add(datadir+"tile_winter.png",false,false)
this adds the background tile_winter.png from the data folder, without removing
transparency (false) and smoothing edges (false)

"musicdir": returns nobysim\music\ folder (with the final backslash) as a string.
example: sound_add(musicdir+"mus_beatemup.mp3",3,true)
this adds the sound (music in this case) mus_beatemup.mp3 with sound kind
of 3 ("use multimedia player" (when adding normal .wav files use 0 instead)),
and preload the sound (true)

"sounddir": returns nobysim\sounds\ folder (with the final backslash) as a string.
example: sound_add(sounddir+"ak47.wav",0,true)
this adds the sound ak47.wav with sound kind of 0 ("normal sound")
and preload the sound (true).

"localPlayer": returns the player's object.
you may use this in functions and expressions like:
if x < localPlayer.x then sprite_index = spr_konsti_left
this checks if an object's x position is below localPlayer's x position, and if it is
it changes the object's sprite to spr_konsti_left

"isMultiplayer": whether this map is being played on multiplayer.
returns 0 (or false) if it's being played on singleplayer or 1 (true)
if it's being played on multiplayer.
example: if isMultiplayer = 1 && place_meeting(x,y,localPlayer) then say("i am a retard")
this checks if the map is on multiplayer mode and if the object is colliding with the player,
and if they are, calls the script "say" and sends a chat message.

playerWeapon: returns the player's main weapon object.
could be the laser, grenade or assault rifle.
not needed if your map contains custom weapons.

playerBullet: returns playerWeapon's bullet object. (see above)
can be used with the instance_create function normally.
not needed if your map contains custom weapons.

weaponIcon: this variable can be used as the sprite ID of your custom
weapon's ammo icon.
example: weaponIcon = sprite_add(datadir+"spr_ak47_ammo.png",0,false,false,0,0)
adds the sprite spr_ak47_ammo.png from the data folder with 1 subimage (0),
no smoothing edges (false), no removing background (false), and x and y origins to 0,
and assigns that newly added sprite's ID to weaponIcon to be drawn.