RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2424811 views

Aleks Versus Moderator 19.05.2019 07:25 (6 years ago)

Постоянные деньги для всех локаций.
В начале игры создаёшь переменную и присваиваешь ей значение:

деньги_героя = 100

Пользуйся. :P
Серьёзно. Что такое система инвентаря, и как она выглядит? Хотя бы примерно опиши. Если это система, при которой одни предметы вкладываются в другие, а щелчок по предмету выводит список вложенных в него, то тут есть простое решение.

Aleks Versus:

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

А мне интересно, расскажи.

Как сделать, чтобы предмет (записка, например) можно было использовать прямо в окне предметов: нажал на предмет - появилась строчка с действием “читать”, и после этого нажимаешь на него - и выводится текст в окно описания локации. Такое же было, по-моему, в Хронике борьбы с тараканами. Кажется, там используется какой-то оператор $use, но я не знаю, как его правильно использовать(

Меня тоже интересует этот вопрос,буду благодарен за ответ

В локации для $onobjsel нужно использовать оператор menu.

if $selobj = 'Дневник':
  menu '$use_Дневник'
end

Как сделать так, чтобы не писать условия игры в каждой локации(if a<0: gt’проиграл’ и т.д.), а создать одну локацию с условиями, код которой будет выполняться при переходах по локациям игры?

Используй $ONNEWLOC.

Умеет ли qsp работать с отрицательными числами а таккже дробами, например x Rand (-1, 1) и как сделать возможность Rand выдавать дробное чило, например 0.24. Этот вопрос возник в процессе работы над моей биржевой игрой.

SneakBug8,
в QSP используются только целые числа. Отрицательные конечно же поддерживаются.

Десятичные дроби языком не поддерживаются, но если очень нужно, то можно их “подделать”, используя множитель. Например, нам нужна точность некоего параметра до тысячной доли. Тогда мы рассчитываем и храним этот параметр умноженным на тысячу, а разряды “сдвигаем” только при выводе на экран.

! PI = 3.142
PI = 3142
'Число Пи равно <<PI/1000>>,<<PI MOD 1000>>'

Для использования “дробного RAND” тебе будет достаточно поменять порядок действий.

! Сила удара = максимальная сила удара * случайное число от 0 до 1 с точностью до сотых
сила_удара = (максимальная_сила_удара * RAND(0, 100))/100

Добавлю - при использовании кода вида сила_удара = (максимальная_сила_удара * RAND(0, 100))/100 стоит внимательно отслеживать порядок операций. Например, если написать сила_удара = RAND(0, 100)/100*максимальная_сила_удара, то движок округлит при делении, и код будет нерабочим.

Как прописать по переходу ссылки?
Пример:
Вы дали продавцу 5 монет
Ваша сдача 1 монета

или по корректнее надо
Вы дали 1 монету, а получили 4 монеты

Как так сделать одним переходом?

Или более точнее:
Вы сломали 1 ветку и взамен получили 5 прутьев.

Edited at 28.01.2015 04:02 (11 years ago)

Пример: Игрок отдал нпс предмет “яблоко” и получил в замен другой предмет “груша”.

Act 'Название' :
 delobj 'название предмета' & ! Удаляемый из инвентаря предмет.
 addobj 'название предмета' & ! Получаемый предмет.
 'Какой нибудь текст'
end

Вариант с деньгами.
В стартовой локации прописываешь

!$ONOBJSEL = 'инвентарь'

В локации ‘инвентарь’ создаешь предмет “Деньги”:

if selobj = 'Деньги':
unsel
gosub 'Деньги'
end

В локации “деньги”:

*p 'у меня в кармане: <<$coins>> рублей' & ! Вместо coins можно написать любое название твоей валюты, например монеты, золото и т.д. Параметр *p выведет сообщение о наличии у персонажа количества этого предмета в окно дополнительного описания.
if coins=0 :
 *p 'У меня в кармане ни гроша'
end

Дальше просто прописываешь в действиях где герой получает или тратит деньги Coins +1 Coins -1 Пример:

act 'купить яблоко' :
 if coins>20 : 'у меня не хватает денег.'
 else
 if coins<20 :
  coins -20
  addobj 'Яблоко'
  'Я купил яблоко'
 end
end

А при наведение на предмет “деньги” в окне инвентаря в окне дополнительного описания будет отображаться оставшееся количество денег. Только не забудь в начале игры приписать персонажу предмет и стартовое количество.

В начальной локации:

act 'Начать игру' :
 addobj 'Деньги'
 coins = 0 & !любое другое значение
end

Как можно реализовать этот код, используя только окно описания или окно посещения локации, без использования окна действия.
Например вставить этот код в картинку, в слово.
IF Ключ = 0:
‘На полу вы видите небольшой ключ.’
ACT ‘Взять ключ’:
Ключ = 1
ADDOBJ ‘Ключ’
PL ‘Вы взяли ключ.’
GOTO $CURLOC
END
END

В общем надо создать отдельную локацию и сделать в описании ссылку на нее с gs, как реализовать не знаю точно.

Сергей,
Опиши более конкретно что ты хочешь сделать. Я не совсем поняла.
Тебе нужно этот код вставить в ссылку или что?

Log in or Register to post comments.