Форум » » Вопросы » Ответить

Вопросы

Seregatlt: Предлагаю тут задавать свои вопросы, и мой первый можно ли как то создать ехе файл чтоб играть без плеера?

Ответов - 440, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 All

WladySpb: ACT 'Продать <<$jewel>> (<<jewel>>) за <<price>> золотых': вот в этой строчке нет обращений к массиву, которому ты задал значения price[1] = 50 $jewel[1] = 'Серебряный кубок' price[2] = 100 $jewel[2] = 'Золотой кубок' точнее, он обращается к нему, но к нулевому элементу. интерпретатор видит это так: ACT 'Продать <<$jewel[0]>> (<<jewel>>) за <<price[0]>> золотых': в этой строчке money = money + price опять же, переменная price не является ни price[1] ни price[2], если ты конечно не приравниваешь её значение в другом куске кода. PS Понял, код неправильно отображался..

Byte: Посмотрел исходник.. В общем, проблема в том, что код действия содержит ACT 'Продать <<$jewel[ i ]>> (<<jewel[ i ]>>) за <<price[ i ]>> золотых': jewel[ i ] = jewel[ i ] - 1 money = money + price[ i ] GT 'Town_jew' END Привязку к переменной "i". После выбора действия i будет содержать неактуальное значение. Выход: [pre2] $name='Продать <<$jewel[ i ]>> (<<jewel[ i ]>>) за <<price[ i ]>> золотых' inds[$name]=i ACT $name: i = inds[$selact] jewel[ i ] = jewel[ i ] - 1 money = money + price[ i ] GT 'Town_jew' END[/pre2]

Byte: WladySpb, форум изменил код до неузнаваемости :)


Ntropy: MasterSet пишет: В теории этот кусок кода должен просматривать какие драгоценности есть у игрока и выдавать экшены на их продажу по одному. Экшены то он выдает и даже все совершенно так как задумано выглядит только... эти экшены ничего не делают. Как буд-то пустые. Что я пропустил? В версии 5.6.2 есть функция curacts для получения и сохранения списка действий в переменной, выведи на экран результат функции и там сразу будет видно какие создались действия и что они будут делать.

MasterSet: Шайтан! Заработало. Вроде даже понял как оно работает и в чем была проблема, но мозг с непривычки чуть не вывихнул. Байт - спасибо за подсказку.

Byte: Не за что. Это частый вопрос, надо бы добавить в FAQ :)

MasterSet: Потребовалось проверять числовое значение на четность. Понял что не знаю как это реализовать без извращений. Но почему-то уверен что это должно решаться элементарно... есть идеи?

Byte: if a mod 2 = 0:'Чётное'

hitecnologys: У меня вопрос: можно ли как то заставить квест считывать время с компьютера или считать его в реальном времени???

WladySpb: hitecnologys Время с компьютера считывать нельзя, есть свой таймер, MSECSCOUNT() - возвращает количество миллисекунд, прошедших с момента начала игры.

hitecnologys: WladySpb, а можно потом это таймер сбросить???? Ну типа он отсчитал минуту и сбросился???

WladySpb: hitecnologys Кажется, нет. Впрочем, ты можешь сделать свой таймер на основе этого.

Yashko: hitecnologys, хм... где-то в начале: timer = 0 settimer 1 в каунтере: if timer >0: timer = timer + 1 end там где надо стартануть таймер: timer = 1 и например если прошло 10 секунд, то что-то делало: if timer = 10000: !пишем все что надо end

Yashko: Незнаю что вы именно хотели, но вот что я подумал =)))

Byte: Не надо SETTIMER 1 делать. Надо просто запомнить текущую msecscount, потом считать разницу. К тому же, SETTIMER не гарантирует то, что таймер будет срабатывать точно по заданному интервалу.

Yashko: Можно и так

hitecnologys: я реализовал счётчик времени так, и обрашаюсь к нему когда надо узнать скоько часов минут прошло с начала игры. НО ОН НЕРАБОТАЕТ!!! Я вывел значения переменных, а они равны нулю. ПОЧЕМУ mseconds = msecscount ничего не присваивает??? В чём ошибка??? mseconds = msecscount if mseconds => 60*60*1000:minutes = minutes + 1 & mseconds = 0 if minutes => 60:hours = hours + 1 & minutes = 0 pl "Сейчас <<hours>>:<<minutes>>"

WladySpb: Потому что, mseconds => 60*60*1000 ------- это уже час. Ты подождал час чтобы проверить выводимые значения?) Во вторых, каждый час ты будешь обнулять mseconds = 0 а потом на новом цикле заново присваивать mseconds = msecscount поэтому спустя час минуты у тебя начнут щёлкать со скоростью 1000 в секунду

MasterSet: Можно ли на QSP сделать так, что бы текст двигался снизу вверх, как титры в конце фильма?

WladySpb: MasterSet Стандартными средствами нельзя, извращёнными - наверное можно... Вообще, это прерогатива других платформ, с консольным стилем вывода.



полная версия страницы