Как сделать?

Re: Как сделать?

oleksandrigo,
Тут задаются последователньные значения от 0 до 6.

Код:

$twoMMas[p1 * p2_m + p2] = '[<<p1>>,<<p2>>]'

плюс мне надо чтоб массиву с двухчислным индексом задать одно значение, а не два в квадратных скобках как указанно в примере выше.

Код:

set vtype['<<i>>_<<in>>']=2

Всё ещё жду ответа.

Последний из Гаяр
Начинающий
useravatar
Offline
27 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Последний из Гаяр написал(а):

pl '<<vtype[0_0]>>'
pl '<<vtype[0_1]>>'

Если тебе действительно необходимо использовать подвыражения в строке, тогда пользуйся разными кавычками:

Код:

pl '<<vtype["0_0"]>>' 

pl '<<vtype["0_1"]>>'

Или наоборот:

Код:

pl "<<vtype['0_0']>>" 

pl "<<vtype['0_1']>>"

Aleks Versus
воздвигатель башни
useravatar
Offline
1400 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Aleks Versus,
Спасибо! Это работает! А то я уже совсем заколебался, думал это я такой косячу.

Последний из Гаяр
Начинающий
useravatar
Offline
27 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Задам достаточно странный вопрос:

Код:


set x = 1
let x = 1
x = 1

Может между ними есть хоть какая-то разница?

Ибо я никакой не заметил

И еще вопрос:

Насчет оператора IIF

Код:

iif (prprpr > 0, gs '1', prprpr = 1)

Этот код не работает. Как я понял он не может выполнять действия? gs, gt ...

oleksandrigo
ТвореЦ
useravatar
Онлайн
84 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Всем доброго времени суток! У меня пара вопросов накопилась и надеюсь, что Вы мне поможете. smile
1 - Как сделать вывод статистики персонажа? Например, есть: жажда, голод, здоровье, усталость.
2 - Например, игрок был ранен и купил у торговца аптечку. Как сделать так, чтобы при ее использовании здоровье скажем с по 50 % увеличивалось до 100? Или скажем есть параметр броня. Начальный уровень 10 %, а при покупке какого-то костюма нужно сделать так, чтобы он увеличился до 20 или выше. Друзья, если можно, то выложите пример кода. Заранее спасибо! smile

loony25
useravatar
Offline
45 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

loony25,
1) нууу к примеру за жажду отвечает переменная ZAZDA то так и пишешь. Просто с новой строчки название переменной. Как вариант вот так еще.

Код:

'Жажда: <<ZAZDA>>' 

а еще

Код:

'Жажда ' + ZAZDA

2)Ну если просто отмаксить хп, то можно переменную отвечающую за данное кол-во хп, приравнять к максимальному количеству.

Код:

HP = HPMax

Ну а на счет процентов, то я с ними еще не игрался, но например так.
К пример надо 50% превратить в 70%. То есть добавить 20%. Пусть будет такая задача. Что нам нужно? Ну чтобы оперировать процентами будет легче если мы найдет один процент? То бишь у нас такое кол-во хо 500/1000. 500 то что сейчас 1000 максимальное.
Итак. Мы нашу тысячу делим на сотню процентов. Получаем 1000/100 = 10. То бишь 1% = 10 хп. Дальше мы просто умножаем нашу 10 на 20%. То бишь из одного процента делаем 20. Получаем 200.

Итак вот тебе код.

 Спойлер Show Spoiler Hide Spoiler
 
на начальной локации задаётся хп и хпмакс

Код:

hp = 500

hpmax = 1000
gt '1'

на локации 1

Код:


'<<hp>>/<<hpmax>>'
act 'зелье хп +20%':
    protsent1 = hpmax/100
    protsent20 = protsent1 * 20
    act 'Выпить':
                cla &!для удаления ненужных актов.
        hp += protsent20
        gt $curloc
    end
end

Важный момент. ксп не умеет пользоваться дробями. То бишь написать 4.123 неполучится.
К примеру. хпмакс будет 10 а хп 5.

 Спойлер Show Spoiler Hide Spoiler
 

Код:


'<<hp>>/<<hpmax>>'
act 'зелье хп +20%':
    if hpmax < 100:
        protsent1 = hpmax
        protsent20 = protsent1 * 20
        protsent20_ISTINA = protsent20/100
        jump 'lol'
    end
    protsent1 = hpmax/100
    protsent20 = protsent1 * 20
    protsent20_ISTINA = protsent20
    :lol
    act 'Выпить':
        cla
        hp += protsent20_ISTINA
        gt $curloc
    end
end

Само собой он выглядит так себе. Если постараться можно сделать лучше. Но он рабочий так что внимай к нему и учись. :-)

oleksandrigo
ТвореЦ
useravatar
Онлайн
84 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Благодарю за помощь, но я так и не понял, как при помощи предметов менять параметры персонажа. smile

loony25
useravatar
Offline
45 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

loony25,
Ох я тебя немного не так понял. Ты имеешь ввиду предметы как addobj и тд?? Те которые в окне предметов?

oleksandrigo
ТвореЦ
useravatar
Онлайн
84 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Тогда тебе нужна локация-обработчик. Ниже будет код так что не бойся. Итак.

 Спойлер Show Spoiler Hide Spoiler
 
В начале игры (в самой первой локации) пишешь

Код:


$onobjsel = 'onobjsel'
!и не забудь предмет
addobj 'Зелье ХП'

Далее создаешь локацию onobjsel
В ней напиши вот это

Код:


if $selobj = 'ЗЕЛЬЕ ХП':
   gs '$zelie'
   menu '$zelie'
end

Далее
Делаешь локацию $zelie.
В ней вот что.

Код:


$zelie[0] = 'Зелье_20:Зелье_20'

Далее делаешь локацию Зелье_20
А в ней

Код:


if hpmax < 100:
    protsent20 = hpmax * 20
    protsent20_ISTINA = protsent20/100
    jump 'lol'
end
protsent1 = hpmax/100
protsent20 = protsent1 * 20
protsent20_ISTINA = protsent20
:lol
cla
hp += protsent20_ISTINA
unsel
gt $curloc

Ни и в локации где ты тыкаешь на кнопку эту должно быть

Код:

'<<hp>>/<<hpmax>>' 

Ну и под конец скажу что это всё не учитывает, вот такие моменты. Когда у тебя будет 9/10 хп (к примеру) и ты выпьешь зелье, то будет 11/10. Так что где-то добавь иф который будет твои хп приравнивать к максимальному значению в таком случае.

oleksandrigo
ТвореЦ
useravatar
Онлайн
84 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Благодарю за помощь. Буду разбираться. smile

loony25
useravatar
Offline
45 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
1015
Всего опросов:
14
Всего сообщений:
16790398
Сообщений на этой неделе:
29
Пользователи форума:
 
Всего пользователей:
2220
Последним зарегистрировался:
ASIT