Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | Eclectia |
Hi! I’m following this tutorial on inventory/item stuff and so far I’ve had no problems with it.
I have, though, had a problem when trying to define the label text.
For whatever reason, the label won’t add the text I’ve loaded to the dictionary to the scene when I load it up. It just comes back blank.
This is my code, all of it, just in case there is an error I’ve not noticed:
extends Control
var map_name
var loot_count
var loot_dic = {}
func _ready():
map_name = “Sewers01”
DetermineLootCount()
LootSelector()
PopulatePanel()
func DetermineLootCount():
var ItemCountMin = ImportData.loot_data[map_name].ItemCountMin
var ItemCountMax = ImportData.loot_data[map_name].ItemCountMax
randomize()
loot_count = randi() % ((int(ItemCountMax) - int(ItemCountMin)) + 1) + int(ItemCountMin)
print (loot_count, “Determine Loot Count Success”)
func LootSelector():
for i in range(1, loot_count + 1):
randomize()
var loot_selector = randi() % 100 + 1
var counter = 1
while loot_selector >= 0:
if loot_selector <= ImportData.loot_data[map_name][“Item” + str(counter) + “Chance”]:
var loot =
loot.append(ImportData.loot_data[map_name][“Item” + str(counter) + “Name”])
randomize()
loot.append((int(rand_range(float(ImportData.loot_data[map_name][“Item” + str(counter) + “Min”]), float(ImportData.loot_data[map_name][“Item” + str(counter) + “Max”])))))
loot_dic[loot_dic.size() + 1] = loot
break
else:
loot_selector = loot_selector - ImportData.loot_data[map_name][“Item” + str(counter) + “Chance”]
counter = counter + 1
print(loot_dic, “Loot Dic Success”)
func PopulatePanel():
var counter = loot_dic.size()
print (counter)
for i in get_tree().get_nodes_in_group(“TextureRect/ScrollContainer/VBoxContainer/Loot1”):
if counter != 0:
get_node(str(i.getpath()) + “/Label”).settext(loot_dic[counter][0])
counter = counter - 1