Люди, ну помогите пожалуйста быстрее!!!
Вид для печати
Люди, ну помогите пожалуйста быстрее!!!
Стоп...Код:p $dush_exceptions,$game_map.map_id,$dush_exceptions[$game_map.map_id]
if (!$dush_exceptions[$game_map.map_id] ) and ($game_switches[$dush_switch])
dash_update
end
$dush_exceptions - это номера всех карт исключений или массив, где индекс номер карты? а значение либо истинна либо ничто?
1. если истинна, то сравнивать с истинной не надоКод:p $dush_exceptions,$game_map.map_id,$dush_exceptions.index($game_map.map_id)
if (!$dush_exceptions.index($game_map.map_id) ) and ($game_switches[$dush_switch])
dash_update
end
2. если ничто и нам не важно различие между ничто и ложь, то просто отрицаем ничто
3. если важно различать ничто и ложь, но сравниваем с ничто
4. истинна всё, кроме ложь и ничто
5. делай отладку выводом значений
Спойлер <...>:
Спасибо.Код:# номера карт, на которых не будет бег
$dush_exceptions = [1, 3]
А теперь подумай что ты делаешь. У тебя есть массив [1,4,5,6,34,656,5543] и вдруг игрок оказывается на карте номер 3, смотрим на массив, номера 3 нет, но теперь ищем третий индекс в массиве - 6, опа... 6 != nil
или наоборот, игрок на карте номер 34, в массиве есть 34, но нет 34 элемента, отсюда nil...
нужно делать так
$dush_exceptions.index($game_map.map_id)
ищем первый индекс со значением в скобках, если такого нет возращаем nil
Блин. Точно. Чего же я так затупил. Спасибо тебе огромное.
Скачайте пожалуйста этот проект и скажите, не вылетает ли у вас игра после нажатия Новая игра. Дело в том, что у меня виндоус 7, и там все мэйкерские проекты глючат.
Ошибку нашёл.
Как узнать имя эвента?
выполнить скрипт внутри эвента
p $game_map.events[1] #1 - номер исследуемого эвента
и копать там, я не нашёл пока сам, или снова потерял как. Проще из комментариев выудить строку, искать опять же так.
Я кажется вспомнил как я доставал имя...
1. из $game_map берём id карты
2. открываем через маршал файл карты
3. ищем массив эвенов
4. ищем параметр имени.
в теории
p $game_map.events[1].name
на практике - кукиш...
делай вторым способом, либо копай скрипты...