2016-05-07 7 views
0

Ich habe ein Inventar-System als 2d-Array eingerichtet, so dass die erste Dimension die ausgerüstete Waffe ist und die 2. Dimension, wie viel Munition diese Waffe hat. Da ich Skripte geschrieben habe, wann immer der Spieler jede Waffe benutzt, wäre es möglich, diese Skripte in das Array als 3D-Dimension zu bringen? Es sei in etwa so eingerichtet werden:Kann ich Skripte als Werte in einem mehrdimensionalen Array im Spielmacher speichern?

//I know this isn't correct gm syntax, I'm just trying to show the stucture of the array 
inventory = [weapon[ammo[use_weapon()]]]; 

ich dies tun will, so dass ich ein Skript erstellen kann, die derzeit ausgerüsteten Waffe Skript einfach Anrufe und ich habe nicht für jeden in Kontrollen zu hart Code einzelne Waffe Index, Skript usw.

Antwort

0

Sie alle Skript Array speichern kann wie

array[0] = script_name; 

und führen Sie es wie

var script = array[0]; 
script_execute(script); 

in Finale, kann es aussehen wie

var weapon = data_weapon[current_weapon]; 
var ammo = weapon[DATA_AMMO]; 
var script = ammo[DATA_ACTION]; 
script_execute(script); 

wo DATA_AMMO, DATA_ACTIONMacros und stattdessen 0, 1, 2 usw.

P. S. verwendet wird Natürlich können Sie auch andere Informationen an Skript übergeben (wie id von Shooter oder Position und Richtung der Aufnahme, etc.)

script_execute(script, your_shooter.id); 
Verwandte Themen