RU 📌 Pinned

Как сделать?

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

Одиночка #1417 13.05.2015 20:21 (10 years ago)

В процентах естественно

Одиночка, если честно, то я не понял, что ты хочешь сделать) Объясни пожалуйста не в пару предложений.

Одиночка #1417 13.05.2015 20:34 (10 years ago)

Я хочу сделать рандом в ПРОЦЕНТАХ. Тоесть, у нас есть 25 процентов, что выпадет один предмет, 25% что другой, и 50% что мы получим новый уровень.

Одиночка

вероятность=RAND(1,100)
If вероятность<=25: addobj "Предмет1"
If вероятность=>26 and вероятность<=50:
addobj "Предмет2"
Else
[Твои операторы подъема уровня]
End
Одиночка #1417 13.05.2015 21:48 (10 years ago)

addobj ‘Здоровье: <<$Здоровье>> ед.’ Добавил в инвентарь, но при изменении переменной здесь ничего не высвечивается, что делать?

Одиночка, а зачем тебе здоровье выводить в инвентаре, если это можно сделать в дополнительном окне. Чтобы переменная изменялась в инвентаре тебе нужно обновлять его каждый раз, когда изменяется твоя переменная “Здоровье”. Только зачем ты поставил перед ней знак “$”? Он ставиться для того, если ты задаешь строчную переменную, а не целочисленную. Со строчной переменной ты не сможешь производить действия отнимания и добавления здоровья.
По поводу обновления инвентаря. Если ты действительно хочешь оставить здоровье там, то тебе каждый раз при его изменении надо будет выполнять такой код:

delobj 'Здоровье: <<Здоровье>> ед.'
addobj 'Здоровье: <<Здоровье>> ед.'
Одиночка #1417 14.05.2015 14:48 (10 years ago)

А как выводить ее в дополнительном окне? Просто прописать на всех локациях pl и блаблабла?

Одиночка, да.

Storm,

Вижу ты уже выучил все основное, и не только))

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

Одиночка #1417 14.05.2015 18:26 (10 years ago)

Как решить проблему? Ввел время, и при этом, когда мин = 60, час = час + 1, мин = 0. Хочу, чтобы время менялось на каждой локации и работало по этому правилу. А прописывать на каждой локации код не хочется. Что делать?

Одиночка, мне хочется спросить: ты хотя бы вики по QSP читал? Просто многое описано там. По поводу твоего вопроса: есть переменная $ONNEWLOC, которая хранит название локации, код на которой выполняется каждый раз, как ты переходишь на новую локацию. Информация по служебным локациям в QSP http://wiki.qsp.su/help:service_locations

Одиночка #1417 14.05.2015 20:17 (10 years ago)

Я читал это, но так и не понял.

Давай я код времени на каждой локации пропишу? Только как?

Одиночка, я попытаюсь объяснить доступно. В твоем случаи лучше создать локацию под названием “Статус”, она будет хранить в себе данные о здоровье твоего персонажа и о игровом времени, и её можно будет вызвать по надобности через оператор GS. В начальной локации игры(с которой игра запускается) пишешь:

$ONNEWLOC="Статус"

Переменная $ONNEWLOC хранит название локации, код на которой должен выполняться каждый раз когда игрок переходит на любую другую локации из любой текущей. В локации “Статус” пишем такой код:

время=время+5
дни=время/(24*60)
часы=(время-дни*24*60)/60
минуты=время-часы*60-дни*24*60
clr
p 'Здоровье:<<Здоровье>>
Время: <<дни>> день, <<часы>>:<<минуты>>'

Формулы времени я взял отсюда. В них, как видишь, всё завязано на переменной “время” в которой храниться игровое время в минутах. Что происходит, когда мы переходим на любую другую локацию: в нашу переменную время добавляется 5 минут судя из этой строчки “время=время+5”, затем производится вычисления дней, часов и минут. Оператор “clr” нужен для того, чтобы удалить содержимое дополнительного окна. Это наше так называемое “обновление”, иначе бы у нас показатели параметра времени и здоровья громоздились бы в дополнительном окне. После этого оператора мы выводим в дополнительное окно описания здоровье и время. Можно задать начальное игровое время, допустим, “1 день, 23:0”. Мы считаем его эквивалент в минутах, значить переменная время=2820, прописываем её в стартовой локации игры. Обрати внимание на то, что код на локации “Статус” выполняется даже при первом запуске игры, поэтому время у нас будет записано в таком формате “Время: 1 день, 23:5”. То есть в счетчик добавились наши 5 минут. Можешь сам задать интервал какой тебе надо, меняя пять минут на какое-то другое значение. Если допустим в игровом времени переход на определенную локацию должен занимать больше времени, то ты должен к действию перехода дописать формулу “время=время+[твоё число определяющее время перехода на ту локацию]”.

Log in or Register to post comments.