0 votes

I'm very new at Godot and GD Script and i'm trying to do a Point and Click game.

This is my dialog system, when you collide with an object the object call the function with a string parameter.

var file = File.new()
var escene = "001_your_room"

func _on_chat(chat):
    file.open("res://escenes/"+escene+".json",File.READ)
    var json_str = file.get_as_text()
    var game_data = parse_json(json_str)
    print(game_data[chat])

print([game_data[chat]) gives the error : Invalid get index '"NPC"' (on base: 'Dictionary'). But when i put the name of the index manually print([game_data["NPC"]) it works fine.

in Engine by (12 points)

1 Answer

0 votes

My guess is that chat is treated as variant and not as string. Try converting it to a string str(chat).

by (1,239 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.