Soll das ein Witz sein?
Verändere einfach das andere Script um den Namen manuell in der Textbox ändern zu können.
Du könntest einfach einen Hash anlegen welcher die Kombination aus Event_ID und Map_ID in einem Array als Key mit einem Namen mappt. Darüber hast du dann jederzeit vollen Zugriff darauf welche Namen für welches Event angezeigt werden würden und es wäre sehr einfach in einen Speicherstand einbaubar.
Hier, dies wäre eine Art Template für so eine Namensdatabase.
Lass dich von der Größe nicht zu sehr einschüchtern. Der größte Teil hiervon ist eine Kopie der Standardfunktionen zum erstellen eines neuen Speicherstandes und dem Laden und Speichern eines Spielstandes, modifiziert damit sie eine Namensdatabase enthalten.
Der Code für die Database selbst ist lediglich dieser Teil:
class Database_Names
def initialize
@data_hash = {}
end
def set_name_of_event(event, value)
key = [event.map_id, event.id]
@data_hash[key] = value
end
def set_name_of_id(map_id, event_id, value)
key = [map_id, event_id]
@data_hash[key] = value
end
def get_name_of_event(event)
key = [event.map_id, event.id]
name = @data_hash[key]
if name == nil
return ""
end
return name
end
def get_name_of_id(map_id, event_id)
key = [map_id, event_id]
name = @data_hash[key]
if name == nil
return ""
end
return name
end
end
Und es ist auch eigentlich nicht mehr als ein Wrapper um einen Hash.
Du hast damit folgende vier Funktionen:
set_name_of_event(event, value)
Damit kannst du einem Event direkt einen Namen zuweisen.
set_name_of_id(map_id, event_id, value)
Damit kannst du einen Namen einem Event auf einer derzeit nicht geladenen Karte zuweisen, zum Beispiel gibst du die map_id 1 und die Event_id 4 an um dem vierten Event auf der ersten Karte deines Projektes einen Namen zu geben.
Equivalent zu dem speichern von Namen kannst du mit den Funktionen:
get_name_of_event(event)
und
get_name_of_id(map_id, event_id)
Den Namen eines Events wiedergeben lassen.
Ich weis natürlich nicht welche anderen Scripte du derzeit in deinem Projekt verwendest daher kann ich dir auch nicht ganz genau sagen was du zu tun hast um diese Database in dein Projekt einzubauen.