Godot Version
Godot-4
Question
This error pops up every time when i chose that upgrade :
Invalid call. Nonexistent function ‘hp_increase’ in base ‘Control (upgrade_menu.gd)’.
Script
extends Control
@onready var player = $“.”
@onready var transition = $Transition
var upgrades = [
{“name”: "Fire Rate + 0.2 ", “description”: “Increase speed by 0.2”, “effect”: “fire_rate”},
{“name”: “Health + 20”, “description”: “Increase max health by 20”, “effect”: “health_increase”},
{“name”: “Damage + 5”, “description”: “Increase damage by 5”, “effect”: “damage_boost”}
]
var chosen_upgrades =
func _ready():
show_random_upgrades()
func show_random_upgrades():
chosen_upgrades =
var available_upgrades = upgrades.duplicate()
for i in range(3):
if available_upgrades.size() > 0:
var random_index = randi() % available_upgrades.size()
chosen_upgrades.append(available_upgrades[random_index])
available_upgrades.erase(available_upgrades[random_index])
for i in range(chosen_upgrades.size()):
var button = $ButtonContainer.get_child(i)
button.text = chosen_upgrades[i]["name"]
button.pressed.connect(Callable(self, "_on_upgrade_selected").bind(chosen_upgrades[i]))
func _on_upgrade_selected(selected_upgrade):
match selected_upgrade[“effect”]:
“fire_rate”:
Fire_rate()
“health_increase”:
increase_health()
“damage_boost”:
boost_damage()
func Fire_rate():
print(“Speed boost applied!”)
func increase_health():
player.hp_increase()
get_tree().change_scene_to_file(“res://scenes/world.tscn”)
func boost_damage():
print(“Damage boosted!”)