1. Произошла ошибка кода:
SyntaxError
missing ; before statement
Чем это может быть вызвано - не могу найти? Кстати, а где можно посмотреть список ошибок выводимых программой?
2. А в связи с чем не работает больше двойной клик по ссылке для создания нового параграфа/переходу по ссылке?
Неактивен
1. Ошибки выводятся движком Javascript браузера, так что смогу понять в чём ошибка, только поглядев на исходник параграфа.
2. С версии 1.7 переход по ссылке через Ctrl+L или через контекстное меню мыши.
Неактивен
Я бы сделал так. Создал бы копию файла, а потом удалял бы по одному параграфу, проверяя, осталась ли ошибка. Виноват будет тот параграф, который был удалён последним перед тем, как сообщение об ошибке исчезло.
Неактивен
DoubleDragon написал:
Я бы сделал так. Создал бы копию файла, а потом удалял бы по одному параграфу, проверяя, осталась ли ошибка. Виноват будет тот параграф, который был удалён последним перед тем, как сообщение об ошибке исчезло.
Спасибо!!! Проблема решена.
Неактивен
ахтунг, у меня произошёл какой-то жёсткий сбой программы...
(как назло, когда игра почти уже готова!)
началось с того, что внезапно абсолютно безобидный параграф перестал выводиться - выводил чистую страницу, и при этом консоль на ней не включалась (этот параграф ещё минуту до того работал, и никаких изменений в него не было внесено).
я решил, что надо просто перезапустить программу, сохранил историю по ctr+S, вышел из программы.
Запускаю АКСМА заново. Пытаюсь открыть свой файл, но вместо него открывается дефолтная история.
Любая попытка загрузить файл sm, который я редактировал, выводит ошибку. (Хотя я его руками не трогал).
На всяк случай выслал в личку DoubleDragon ссылку на файл sm, который я не могу открыть; может аксма его побила, и теперь сама не опознаёт?
Отредактировано sosiskin (21.01.2013 20:51)
Неактивен
Я выследил проблему. Просто в конце одного из параграфов добавилось двоеточие начала нового.
Видимо, я нажал CTR+P, находясь в конце параграфа, и забыл.
Есть смысл по CTR+P проверять, где стоит курсор, и если он в конце параграфа, автоматом давать новую строку и какое-нибудь название, чтобы впредь никто на такой трабл не наткнулся.
Неактивен
О! Спасибо за найденный баг! Завтра постараюсь с ним разобраться.
Неактивен
Кроме того, мне кажется, что вложенные циклы <<if>> <<endif>> (если в цикле два уровня, и при этом циклов в параграфе несколько подряд) иногда приводят к тому, что параграф выводится пустым, и консоль на нём не функционирует. При этом все тэги закрыты, и всё в порядке.
У меня такое было, и пришлось разносить циклы по разным параграфам, только тогда заработало.
Неактивен
А ещё почему-то иногда в редакторе кода самопроизвольно переключается раскладка клавиатуры на русскую.
Я думал, что это уже меня глючит, но переключение таки происходит время от времени, и снова же, не всегда.
Следует заметить, что у меня в системе раскладок четыре, и они переключаются по горячим клавишам CTR+1, CTR+2 и т.д.
Может, это как-то влияет.
Отредактировано sosiskin (21.01.2013 23:38)
Неактивен
Так, баг с пустым параграфом нашел и исправил, а про вложенные макросы <<if>> нужен пример, иначе я не найду ошибку.
Неактивен
sosiskin написал:
Сейчас вышлю в личку DoubleDragon sm файл с вполне нормальным параграфом, где наблюдается глюк с вложенными циклами <<if>> <<endif>>.
Посмотрел. Так ошибка в коде. В строке <<if $fish_here)>>
стоит ненужная закрывающаяся скобка ")".
Неактивен
К версии 2.0 появится встроенная проверка ошибок.
Неактивен
Встречайте версию 1.8! Подробнее здесь: https://forum.ifiction.ru/viewtopic.php … 244#p27244
Неактивен
К примеру есть параграф где в коде:
<<set $money = $money - 1>>
По задумке при открытии параграфа происходит однократное уменьшение денег на единицу. Так вот если в "Меню" (тот квадратик в верхнем правом углу) открыть один из пунктов и потом снова его открыть, опять через меню (или другой пункт), и потом вернуться стрелкой в параграф, то деньги снова уменьшаются на единицу. Но вот если один раз открыть, а потом вернуться в параграф, то всё нормально. При этом в консоле переменная отображается красным, как будто происходит изменение, но значение остаётся тем же.
Отредактировано Oldrik (27.01.2013 07:04)
Неактивен
Oldrik, а если поставить перед пунктом меню плюс? Чтобы открытие происходило в том же параграфе?
Неактивен
Плюс работает нормально, просто у меня в меню висит ссылка на инвентарь, характеристики персонажа и тд. И они немного объёмные. Так гораздо удобнее - открыл, потом по стрелочке и вернулся в параграф.
Пробовал плюс с комбинацией <<clrscr>>, но потом нельзя вернуться.
Отредактировано Oldrik (27.01.2013 10:00)
Неактивен
Если планируется часто пользоваться тем же инвентарём, рекомендую ссылку на него ставить не в меню, а где-нибудь сверху в каждом игровом параграфе. Так быстрее и проще до инвентаря добираться. Да и вообще в меню лучше оставить только системные ссылки "сохранить - восстановить". А то порой бывает, что закончилась игра, а инвентарь из меню всё ещё можно смотреть. Ну а чтобы деньги не уменьшались при возврате со "служебных" параграфов, можно попробовать проверять значение переменной $$from (с версии 1.8).
Неактивен
В коде по непонятной причине не работают <<back>> и <<return>>. Ошибок в коде нет. Сам код:
World TV | 08:17 ---- <<if ($$time % 86400) % 100 <= 25>> text1 <<endif>> <<if ($$time % 86400) % 100 > 25 and ($$time % 86400) % 100 <= 50>> text2 <<endif>> <<if ($$time % 86400) % 100 > 50 and ($$time % 86400) % 100 <= 75>> text3 <<endif>> <<if ($$time % 86400) % 100 > 75 and ($$time % 86400) % 100 <= 100>> text4 <<endif>> <<return>>
Неактивен
Я вставил этот код в пустой параграф, на который идёт ссылка из параграфа Start - всё работает. Не понял в чём вопрос.
Неактивен
Выложил версию 1.8.1, где исправлена досадная ошибка + выводится предупреждение в процессе публикации при превышении лимита медиа файлов. Рекомендуется всем для обновления.
Неактивен
Скажем так, сейчас это всё же фича.
Неактивен