Что с кодом?
var science = 134; // Создание переменной science
globalvar scienceMessages; // Создаем глобальную переменную, которая будет хранить список сообщений
if (!scienceMessages) {
scienceMessages = ds_list_create();
}
if (!ds_list_find_index(scienceMessages, "Спасибо за науку!")) {
ds_list_add(scienceMessages, "Спасибо за науку!");
}
if (!ds_list_find_index(scienceMessages, "Спасибо всем!")) {
ds_list_add(scienceMessages, "Спасибо всем!");
}
- Объявление локальных переменных происходит без конструкции с "var".
- К чему "(!scienceMessages)"? И к чему тут булева инверсия?
- Полагаю символы "\" в вашем коде - это какая-та ошибка копирования и на деле не выступают в его работе.
- Зачем вы проверяете List на (не)наличие некоторых элементов, а затем эти же самые элементы добавляете? Любая структура после своей инициализации пуста! Поэтому заносите в неё новые элементы без проверок на их отсутствие
Починка:
science = 134; // Создаём локальную переменную
globalvar scienceMessages; // Создаём глобальную переменную
scienceMessages = ds_list_create(); // Записываем в неё структуру
ds_list_add(scienceMessages, "Спасибо за науку!"); // Добавляем элементы в структуру List
ds_list_add(scienceMessages, "Спасибо всем!");
Прочий код я не рассматривал ввиду его кривизны оформления.