Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
09.07.2012 11:12

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Как сделать что-то или "я вот не понимаю"

Если у Вас есть вопросы, как сделать что-то в программе или Вы не понимаете чего-то (то ли это ошибка, то ли фича и т.д.), то спрашивайте в этой теме.

Неактивен

0    0    #2
23.07.2012 00:19

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Как пофиксить проблему с кодировкой? Например, вот http://mutnosoft.ru/story.html. Проблема, вроде, с тем, что по-дефолту не та кодировка, что надо. И это можно пофиксить через htacces как-то.

Неактивен

0    0    #3
19.08.2012 17:57

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

1. точно да
2. вроде тоже да
А вообще чего не проверишь?

Отредактировано Flash (19.08.2012 17:57)

Неактивен

0    0    #4
21.08.2012 23:23

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Это не циклы, а так да.

Неактивен

0    0    #5
01.10.2012 14:59

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Нужно просто в одну строку вытянуть код в параграфе 2:

Код:

<<if $var eq 1>>1<<else>>2<<endif>>

Неактивен

0    0    #6
01.10.2012 16:03

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

А зачем нагружать сильно один параграф, хотя с костылями можно сделать то, что ты хочешь.

Неактивен

0    0    #7
01.10.2012 17:07

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Очень непонятно вопрос сформулирован.

Неактивен

0    0    #8
02.10.2012 16:49

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

1. в справке об этом ни слова
2. нет, что странно

Неактивен

0    0    #9
02.10.2012 18:01

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

У меня почему-то не пашет.

Неактивен

0    0    #10
02.10.2012 19:11

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

До своего поста в 16:49 сделал точно так же как и в примере Морыча.

Неактивен

0    0    #11
02.10.2012 20:35

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

XP, в пути были, но в относительном не было. Что еще за файл истории? Мб, я просто сам что-то напутал, но так и не удалось получить тогда звучания музыки, что маловероятно.

Неактивен

0    0    #12
02.10.2012 21:05

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Нет, нету его.

Неактивен

0    0    #13
02.10.2012 22:07

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

kerber написал:

Насколько я понял, путь прописывается от файла asm-preview.html

Т.е. папка music должна лежать в папке Program Data.

Я сохранял в файл игру и путь верный был.

DoubleDragon написал:

Нет, так было раньше. Теперь путь выстраивается относительно сохранённого sm файла. А, ну ещё, если у вас Firefox, используйте ogg файл.

У меня Opera.

Неактивен

0    0    #14
03.10.2012 12:12

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Так заработало.

Неактивен

0    0    #15
18.10.2012 10:30

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Текстовый ввод нужен не только для парсера (например, ввод имени, а у меня в игре есть сейф, например), а для парсера и не обязателен текстовй ввод (бывают игры где нужно выбирать глаголы и существительные из готового списка).

Неактивен

0    0    #16
18.10.2012 12:43

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Morych написал:

Я как раз хотел предложить использовать текстовый ввод по методу Флэша (при помощи "экранной клавиатуры"), если мы верно истолковали термин "ручной ввод".

Этот метод явно не мой, он был еще во всяких jRPG в 80х годах на консолях, а, мб, и где-то еще раньше.

Отредактировано Flash (18.10.2012 14:59)

Неактивен

0    0    #17
18.10.2012 17:53

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

А то не нашёл вроде как это можно замутить, есть ли такое?

<<if ($hp >= 20) and ($hp < 50)>>
вы тяжело ранены
<<elseif ($hp > 0) and ($hp < 20)>>
вы при смерти
#итд
<<endif>>

И поле ввода, куда можно ввести цифры от 1 до 8. Ввёл число - попал в задуманный под единицей параграф. Даже можно будет один параграф сделать для всех восьми дверей, просто сделать проверку if, что если число было введено 1, то выдаёт такой текст, если число 3, другой, и так далее. Я имею ввиду, что и просто имея возможность ввода значения переменной, это можно замутить, но будет, скорее всего, сложно, а может это как-то упростить?

Не часто я вижу комнаты, из которых можно попасть сразу в 8 других комнат, но тут же сомнительно преимущество текстового ввода над менюшкой.

А оказывается, что нужно поместить картинку в одну папку с сейвом

Не обязательно. Просто можно, да и нужно указывать относительный путь. Можно сунуть все картинки в папку с игрой и тогда нужно будет указывать [[File: имя_папки/название_файла.расширение]]

Кстати, ээ... А что, если я кому-то даю игру, я должен дать ему html файл, sm-сейв игры и изображения в одной с ним папке? В смысле, нельзя всё упаковать в один файл, что бы любому скинул файлик, он открыл, и увидел и изображения и музыку?

*.sm - исходник, его давать не надо. Можно и дать, но это ничего не даст другу при игре. Графику и музыку, как уже выше написано, можно поместить в отдельную папку в папке с игрой.

Отредактировано Flash (18.10.2012 17:54)

Неактивен

0    0    #18
11.07.2013 03:24

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Да. Они не отображались, ибо каждый раз выполнялся код

Код:

<<set $ответ = "">>
<<set $ответ2 = "">>
<<set $ответ3 = "">>

и введенный ответ "затирался". Но

Код:

<<set $ответ = "">>
<<set $ответ2 = "">>
<<set $ответ3 = "">>

в параграфе Start можно и не задавать, а изменить условия

Код:

<<if $ответ eq "">>
<<if $ответ2 eq "">>
<<if $ответ3 eq "">>

на

Код:

<<if !($ответ)>>
<<if !($ответ2)>>
<<if !($ответ3)>>

! используются для проверки объекта на существование.

Неактивен

0    0    #19
30.10.2013 14:05

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

В справке это есть.

Неактивен

0    0    #20
30.10.2013 15:36

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

alfa10,  эта строчка ничего не делает. Переменная приравнивпется сама себе.

Неактивен

0    0    #21
31.10.2013 17:49

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Зачем запутывать еще сильнее человека, если можно вместо "gte" использовать ">=", а вместо "lte" - "<="?

Неактивен

0    0    #22
01.11.2013 19:33

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

NeoMatrix777 написал:

Господа, а есть ли возможность на этом движке запилить рогалик? Я в программирование не силен, поэтому у меня даже нет особых идей по алгоритму передвижения героя-символа по пустому полю.

Подводных камней слишком много, если делать это на АСМе.

Max написал:

Morych написал:

Попробуй просто перед матчем рассчитывать общую "силу" команды. А вот сила в данном случае уже зависит от атаки, защиты, и морали (дома играем или в гостях).

тогда каждый раз выбирая команду, нужно в ручную прописывать влияние Ат, Защ, Мор на СИЛУ???

Нет, если я правильно понял вопрос.

Неактивен

0    0    #23
08.11.2013 19:55

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Есть ли параграф "Пещера"? Если есть, то, скорее всего, в нем и содержится ошибка. А тут две ошибки:

Код:

<<if $жизнь lte 0>>
<<goto 'Конец'>>
<<elseif $жизнь1 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь2 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь1 + $жизнь2 lte 0>> (1)
<<goto 'пещера2'>> (2)
<<else>>

(2) никогда не выполнится, ибо до него тупо никогда не доберется очередь.
(1) неправильно производится проверка. Если значение одной из переменных будет отрицательным, а другой положительным, то их сумма может оказаться равной либо меньше нуля. Правильно будет:

Код:

<<if $жизнь lte 0>>
<<goto 'Конец'>>
<<elseif ($жизнь1 lte 0) and ($жизнь2 lte 0)>>
<<goto 'пещера2'>>
<<elseif $жизнь1 lte 0>>
<<display 'Пещера'>>
<<elseif $жизнь2 lte 0>>
<<display 'Пещера'>>
<<else>>

Неактивен

0    0    #24
14.11.2013 00:08

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Код:

:: vvod
Введите адрес:
<<input '0' $адрес>>
Пример: Калинина, 155

:: 0
<<set $адрес = $адрес.replace(/ /g,"").toLowerCase()>>
<<set $улица = "">>
<<set $дом = "">>
<<set $зап = 0>>
<<set $i = -1>>
<<loop $адрес.length>>
<<set $i++>>
<<if $адрес[$i] eq ",">>
    <<set $зап = 1>>
    <<continue>>
<<endif>>
<<if $зап eq 0>>
    <<set $улица = $улица + $адрес[$i]>>
<<else>>
    <<set $дом = $дом + $адрес[$i]>>
<<endif>>
<<endloop>>

<<if $улица eq "калинина" and $дом gte 1 and $дом lte 50>>
Вокзал
<<elseif $улица eq "калинина" and $дом gte 51 and $дом lte 200>>
Черемушки
<<elseif $улица eq "красныхпартизан" and $дом gte 1 and $дом lte 100>>
Центральный район
<<else>>
Район не определен!    
<<endif>>

Неактивен

0    0    #25
14.11.2013 18:47

Flash
Участник (+10, -9)
Зарегистрирован: 12.05.2012
Сообщений: 203
Вебсайт

Re: Как сделать что-то или "я вот не понимаю"

Поясню тогда из своего примера, чего нет в примере Морыча:

Код:

<<set $зап = 0>> ---- переменная дающая понять попалась уже запятая в цикле или нет. 0 - не попадалась, 1 - попадалась
<<set $i = -1>> ---- эта переменная будет обозначать индекс символа в строке $адрес
<<loop $адрес.length>> ---- объявление цикла, цикл будет выполняться столько раз, сколько символов в строке $адрес
<<set $i++>> ---- увеличиваем $i, таким образом в первый раз $i будет равен 0, а индекс в строке как раз и начинается с нуля
<<if $адрес[$i] eq ",">> ---- проверяем не является ли символ в строке $адрес с индексом $i запятой и если да, то
    <<set $зап = 1>> ---- устанавливаем значение переменной $зап = 1
    <<continue>> ---- не выполняем все что ниже идет по циклу, а снова возвращаемся на его начало. Еще существует полезная штукенция как <<break>>, которая вообще полностью прекращает цикл. О ней и вообще о всем остальном можно прочитать в справке
<<endif>>
<<if $зап eq 0>> ---- если $зап равен 0, то
    <<set $улица = $улица + $адрес[$i]>> ---- прибавляем к строке $улица символ с индексом $i из строки $адрес
<<else>> ---- иначе
    <<set $дом = $дом + $адрес[$i]>> ---- прибавляем к строке $дом символ с индексом $i из строки $адрес
<<endif>>
<<endloop>> ---- конец цикла

Изменение регистра нужно по причине того, что, например, строка "Каланина" не равна строке "каланина", а пробелы я удалил для удобства. Кстати, также тут

Код:

<<if $улица eq "калинина" and $дом gte 1 and $дом lte 50>>
Вокзал
<<elseif $улица eq "калинина" and $дом gte 51 and $дом lte 200>>
Черемушки
<<elseif $улица eq "красныхпартизан" and $дом gte 1 and $дом lte 100>>
Центральный район
<<else>>
Район не определен!    
<<endif>>

можно увидеть что переменная $дом, где хранится номер дома в виде строки, сравнивается с числами. Так можно делать далеко не во всех языках программирования, но тут так делать можно.

Отредактировано Flash (14.11.2013 20:24)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru