2016-06-02 10 views
1

Ich versuche, ein Spiel zu machen, die einen Raum aus einem Pool von Zimmern mit GML wählt, aber ich bekomme die folgende Fehlermeldung:GML room_goto() Fehler, Erwartung Anzahl

FATAL ERROR in action number 3 of Create Event for object obj_control:

room_goto argument 1 incorrect type (5) expecting a Number (YYGI32) at gml_Object_obj_control_CreateEvent_3 (line 20) - room_goto(returnRoom)

pool = ds_list_create() 

ds_list_insert(pool, 0, rm_roomOne) 
ds_list_insert(pool, 1, rm_roomTwo) 
ds_list_insert(pool, 2, rm_roomThree) 
ds_list_insert(pool, 3, rm_roomFour) 

var returnIndex; 
var returnRoom; 

returnIndex = irandom(ds_list_size(pool)) 
returnRoom = ds_list_find_value(pool, returnIndex) 

if (ds_list_size(pool) == 0){ 
room_goto(rm_menu_screen) 
}else{ 
room_goto(returnRoom) 
} 

I don erhalte die Fehlermeldung, dass er eine Nummer erwartet.

Antwort

0

Dies ist in der Tat seltsam ... ich denke, das sollte eigentlich arbeiten .. Aber ich habe keine GM um

jetzt :(zu testen Für Sie auch lösen können „wählen“ können. Das spart eine Liste (und spart Speicher, weil Sie nicht die Liste Reinigung durch sie zu löschen - so liegt es im Speicher)

room_goto(choose(rm_roomOne, rm_roomTwo, rm_roomThree, rm_roomFour)); 

choose im Grunde ist genau das, was Sie suchen ist vielleicht nicht der beste Weg zu gehen, wenn. Sie verwenden die Gruppe der Elemente jedoch wieder.

+0

Vielen Dank für Ihre Antwort antwortly select gibt den gleichen Wert zurück, wenn Sie das Spiel jedoch neu starten? – SneakyBomber

+0

Ok, aus irgendeinem Grund funktioniert es jetzt, obwohl ich auf ein anderes Problem stoße. Ich werde das in einer neuen Frage posten. Nochmals vielen Dank für Ihre Hilfe! choose() selbst arbeitet wie ein Zauber! – SneakyBomber

+0

Ja, wähle() verwendet die Zufallsfunktionen, Genau wie irandom() würde jedes Mal den gleichen Wert zurückgeben, wenn das Spiel neu gestartet wird. Das hat etwas mit dem "Zufallssamen" zu tun. Sehen Sie sich die zufälligen Funktionen in den Dokumenten an, sie erklären sie perfekt und sie geben an, wie Sie den Seed mit einer bestimmten Funktion zuführen können, um jedes Mal zufällige Ereignisse zu erhalten. –

Verwandte Themen