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.
Vielen Dank für Ihre Antwort antwortly select gibt den gleichen Wert zurück, wenn Sie das Spiel jedoch neu starten? – SneakyBomber
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
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. –