Hey,
Moeilijkheidsgraad: Beginners
GM-versie:
misschien
en
In dit topic bespreken we alle D&D iconen in GML.Edit door Matrebatre: Stel vragen over specifieke D&D-symbolen of GML-functies NIET in dit topic. Maak hiervoor een topic aan bij beginners.
:
motion_set(direction,speed)

:
motion_add(direction,speed)

,

:
move_towards_point(x,y,speed) // Zet het in het gewenste event voor ander resultaat

:
hspeed = 4 //of elke andere gewenste snelheid

:
vspeed = 4 //of elke andere gewenste snelheid

:
gravity = 0.5 //of elke andere gewenste zwaartekracht
gravity_direction = 270 //of elke andere gewenste richting

:
hspeed = -hspeed

:
vspeed = -vspeed

:
friction = 0.2 //of elke andere gewenste wrijving

:
x = 128 //of elke andere gewenste x
y = 128 //of elke andere gewenste y

:
x = xstart
y = ystart

:
x = random(room_width)
y = random(room_height)

:
move_snap(xgrid,ygrid)

:
move_wrap(horizontaal,verticaal,margin)

:
move_contact_all(direction,maximum distance) //voor alle instanties
move_contact_solid(direction,maximum distance) //voor solid instanties

:
move_bounce_all(advanced) //voor alle instanties
move_bounce_solid(advanced) //voor solid instanties

:
path_start(path,speed,endaction,absolute)

:
path_end()

:
path_position=position

:
path_speed = 4 //of elke andere gewenste snelheid

:
mp_potential_step(x,y,speed,check all)

:
instance_create(x,y,object)

:
varaible=instance_create(x,y,object)
varaible.speed = 4
varaible.direction = 90

:
instance_change(object, perform events)

:
instance_destroy()

if x = 200 && y = 200
{
with (self) // of other of het gewenste object
{
instance_destroy()
}}

:
sprite_index = spr_lopen_R //of elke andere gewenste sprite

:
image_xscale = 1 // of andere gewenste schaal
image_yscale = 1 // of andere gewentste schaal

:
image_blend = c_white // of andere gewenste kleur

:
sound_play(index) // eenmalig afspelen
sound_loop(index) // loopen

:
sound_stop(index)

:
if sound_isplaying(index)

:
room_goto_previous()

:
room_goto_next()

:
room_restart()

:
room_goto(room)

:
if room_exists(room_previous(room))

:
if room_exists(room_next(room))

:
alarm[0] = 50 //of elke andere gewenste tijd
//Zet het gewenste alarm tussen [ en ]

:
sleep(Milliseconds)

:
timeline_index=timeline
timeline_position=position

:
timeline_position=position

:
show_message(string)

:
show_info()

:
show_video(filename,fullscreen,looped)

:
game_restart()

:
game_end()

:
game_save(filename)

:
game_load(filename) //dit moet dezelfde filename zijn als de save game

:
sprite_add(filename,image number,precise,transparant,smooth,preload,x origin, y origin)

:
sound_add(filename,kind,preload)

:
background_add(filename,transparent,smooth,preload)

:
place_free(x,y)

:
if (!place_empty(x,y)) // Voor alles
if (place_meeting(x,y,all)) // Voor alles
if (!place_free(x,y)) // Alleen voor Solid

:
if obj.x = 100 && obj.y = 100 //niet relative
if obj.x = x+100 && obj.y = y+100 //relative

:
if instance_number(object) = 4 //of elk ander getal

:
if (random(aantalzijden) < 1) //of andere waarde

:
show_question(string)

:
if {room = room0} //zet achter 'if' de expression

:
if mouse_check_button_pressed(button) { } //Voor indrukken
if mouse_check_button(button) { } //Voor ingedrukt
if mouse_check_button_released(button) { } //Voor het loslaten van de knop
//Vul bij button mb_right (rechtermuisknop), mb_left (linkermuisknop), mb_middle (Voor eventuele middelste muisknop of scrollwieltje), mb_any (voor alle muisknoppen) of mb_none (voor geen van alle muisknoppen) in.

:
if place_snapped(xgrid,ygrid)

:
{

:
else

:
exit

:
}

:
repeat

:
event_inherited()

:
Bestaat niet

:
script_execute(script,argument0,argument1,...) // De argumenten hoef je niet in te vullen, alleen als die er zijn.
//of:
script(argument0, argument1, ...)

:
global.example = 0 //zet de variabele direct naar 0
global.example += 1 //zet de varaibele + 1 (relative)

:
if global.example = 100 //of elke andere variable en value

:
draw_text(x, y, string(global.example)))

:
score = 1 //Dit is niet +1 dus niet relative

:
if score = 10 // equal to
if score > 10 // larger than
if score < 10 // smaller than

:
draw_text(x,y,"Score: "+string(score)+"")

:
highscore_show_ext(background,border,color 1,color 2,name,size)

:
highscore_clear()

:
lives = 3

:
if lives = 10 // equal to
if lives > 10 // larger than
if lives < 10 // smaller than

:
draw_text(x,y,"Lives: "+string(lives)+"")

:
for (i = 0; i < lives; i += 1)
{
draw_sprite(sprite,-1,x+(i*32),y) //Vul bij sprite de juiste sprite in en bij x en y de x- en y-posities.
}

:
health = 100

:
if health = 10 // equal to
if health > 10 // larger than
if health < 10 // smaller than

:
draw_healthbar(x1,y1,x2,y2,amount,background color,minimum color,maximum color,direction,show background,show border)

:
show_score = score
caption_score = score
show_lives = lives
caption_lives = lives
show_health = health
caption_health = health //of andere waarden

'Create Part System'
index=part_system_create(); //We maken hier een Part-System aan.
//Het varaible index word nu onze part-system. Deze moet je gebruiken in andere funties!

'Destroy Part System'
part_system_destroy(index); //Het part-system 'index' word hier gedestroyt.

'Clear Part system'
part_system_clear(index); //Alle particles en emitters worden verweiderd uit het part-system

'Create Particle'
index=part_type_create(); //het varaible index word hier een part-type
//Dit moet een ander varaible zijn als die van elk ander part-type of part-systems of part-emitters!
// >>> ALLES WAT HIER ONDER STAAT IS NIET VERPLICHT! <<< \\
part_type_shape(index,shape); //Stel hier de vorm in van het part-type
//Alle vormen beginnen met pt_shape_ en dan de Engelse naam van die vorm.
part_type_size(index,size_min,size_max,size_incr,size_rand); // De grootte van het particle
part_type_color(index,color_start,color_middle,color_end); // De kleur van het particle
//Alle andere instellingen voor particles in GML beginnen met part_type_

’Particle Color’
part_type_color1(ind,color1)
// Maakt één kleur voor het particle
part_type_color2(ind,color1,color2)
// Maakt 2 kleuren voor het particle die zich gelijkmatig mixen over de duur van het particle
part_type_color3(ind,color1,color2,color3)
// Deze maakt er 3 die zich net als bij 2 gelijkmatig mixen; een aan het begin, dan het midden en dan het eind
part_type_color_mix(ind,color1,color2)
// Deze maakt een kleur voor het particle die niet veranderd en gemixt is uit 2 kleuren
part_type_color_rgb(ind,rmin,rmax,gmin,gmax,bmin,bmax)
// Hier krijgen de particles een kleur tussen de rode, groene en blauwe waarden die je instelt.
// Tussen de 0 en de 255.
part_type_color_hsv(ind,hmin,hmax,smin,smax,vmin,vmax)
// Hier geld hetzelfde als bij de vorige functie maar dan gemengt met de tint, de verzadiging en de lichtheid.

'Particle Life'
part_type_life(index,life_min,life_max); // Hier stel je de maximale en de minimale duur van het particle in. (in steps)

'Particle Speed'
part_type_speed(index,speed_min,speed_max,speed_incr,speed_rand); // Particle snelheid
part_type_direction(index,dir_min,dir_max,dir_incr,dir_rand); // Particle richting

'Particle Gravity'
part_type_gravity(index,grav_amount,grav_dir); // Particle zwaartekracht

'Particle Secondary'
part_type_death(index,death_number,death_type); // welke paricle er gemaakt moet worden als deze stopt. (en hoeveel)

'Create Emitter'
index=part_emitter_create(ps);
// ps is de index van het particle system. Je moet het varaible gebruiken van je part-system
part_emitter_region(ps,index,xmin,xmax,ymin,ymax,shape,distribution);
// ps is de index van het particle system. Index is de index van de emitter.
// Meer info vind je in de helpfile

'Destroy Emitter'
part_emitter_destroy_all(ps); //Verweiderd alle emitters in het part-system ps

'Burst from Emitter
part_emitter_burst(ps,index,parttype,number) ;
// ps is de index van het part-system. index is de index van de emitter. Parttype is de index van het particle.
// Dit is een eenmalige burst.

'Stream from Emitter'
part_emitter_stream(ps,index,parttype,number); // hier blijft de stroom doorlopen tot je de emitter destroyt.

:
cd_play(first,last)

:
cd_stop()

:
cd_pause()

:
cd_resume()

:
if cd_present()

:
if cd_playing()

cursor_sprite = sprite //vul bij sprite de sprite in

:
execute_shell(website,0)

:
draw_sprite(sprite,subimage,x,y)

:
draw_background(background,x,y)

:
draw_text(x,y,string)

:
draw_text_transformed(x,y,string,xscale,yscale,angle)

:
draw_rectangle(x1,y1,x2,y2,outline)

:
draw_rectangle_color(320,0,640,320,kleur1,kleur1,kleur2,kleur2,false)

:
draw_circle(x,y,straal,outline)

:
draw_ellipse_color(x1,y1,x2,y2,kleur1,kleur2,false)

:
draw_line(x1,y1,x2,y2)

: :
draw_arrow(x1,y1,x2,y2,size)

:
draw_set_color(color)

:
draw_set_font(font)
draw_set_halign(vk_left) //gebruik vk_left (left align), vk_center (center align) of vk_right (right align)

:
window_set_fullscreen(full)

:
screen_save(filename)

:
effect_create_above(effect,x,y,grootte,kleur) //above objects
effect_create_below(effect,x,y,grootte,kleur) //below objects
Relative zetten in GML.In GML heb je de volgende rekentekens:
+ //plus
- //min
* //keer
/ //gedeeld door
Verder heb je nog een paar berekeningen waar we later op terug komen.
Om de score +1, -1 etc. te zetten gebruiken we :
score += 1 //score + 1
score -= 1 //score - 1
score *= 5 //score x 5
score /= 2 //score : 2
Dit is met alle variabelen mogelijk waar een getal in voor komt.
health += 10 //health + 10
lives -= 1 //lives - 1
x += 32 //x + 32
y -= 128 // y - 128
global.example += 1 //global.example + 1
//etc
If Statements.Je hebt het volgende gehad bij D&D in GML:
= //is gelijk aan
< // is kleiner dan
> // is groter dan
PAS OP!
if health > 10 //is 11 en groter
if lives < 5 //is 4 en kleiner
Je moet dus als je > of < gebruikt – of + 1 doen.
Dit hoef je niet te doen als je dit doet:
if health >= 10 //is 10 en groter
if lives <= 5 //is 5 en kleiner
Gebruik dus na een = voor > of <
Dit was de tutorial, ik hoop dat je er iets aan hebt gehad.
Via deze link kan je het op je eigen computer opslaan!
Mocht je nog fouten vinden post die dan even 
Met dank aan:
- Gamemoon
- Tidob1
- Laloeka
- Erik Leppen
- BigB0ss
- BjarnoGroeten,
Kaasje