Переработанный редактор.
Картинка:


http://dekr.org/img.jpg

dekr.org/mapeditor.zip

upd: Добавил картинку

2

(9 replies, posted in Игры)

Ответ j-maks.
Проект пока (временно) встал.
Дома грандиозный ремонт. И сил после дневной работы и вечернего ремонта просто не остается.
Но надеюсь что в ближайшее время наверстаю.

Немного переделал твой конвертор.
1) Теперь не ругается если комнаты кончились
2) Добавил :

    a) w - стена
    b) i стена иллюзия
    c) s секретный проход
    d) d дверь
    e) e вход
    f) u лестница вверх
    g) l лестница вниз

3) Добавил немного статистики

UPD: e) e вход не добавил

roll nil я ступил однозначно.
За второе спасибо!
Кстати про path, таки Вы были правы. в доке есть. И оказалось очень просто. smile

есть переменная _pathofself в глобале.
она должна принимать значение идентификатора текущей комнаты

global {
_pathofself = nil; --переменная должна получить значение main (по умолчанию nil)
};

main = room {... я здесь

как это сделать?
Только про доку не пишите, там этого нет.
Пробывал: stead.here(); и stead.here():scene(); и просто here()

6

(14 replies, posted in Игры)

Добрый вечер malcolm!
Эмм roll  можно позаимствовать систему боёвки? roll

7

(9 replies, posted in Игры)

Вопросы к любителям EOB II. (Eye of the beholder 2)
Как Вы относитесь к ремейкам:

  • Ремейки должны переносится на instead:
    a)практически без изменений
    b)позволительно вольнодумство

На данный момент пишется текстовая часть, в оригинале текста достаточно мало.
Ввиду этого текст пишется в духе игры. Но есть некоторые скрытые моменты где я могу позволить себе пошутить.
Писать или не писать? Вот в чем вопрос.
Например получить ачивку:

8

(137 replies, posted in INSTEAD)

Я пишу в jota+ под ведроидом. Апарат Acer A500. В прошлой версии наложение работало. Думал глюки.
Перепроверил на пк, в порядке.

9

(137 replies, posted in INSTEAD)

В последней версии мега баг с прозрачными пнг. Или это фича? sad Попробуйте 2 прозрачных пнгэшки друг на друга наложить.

hmm Нда, голова моя садовая. Спасибо.

UPD: Значения меняются и в дебагере это видно. Как теперь заставить меняется статус?

Спасибо smile
Вопрос по изменению globals
Есть:

globals {
health = 18; -- здоровье
eats = 15; -- сытность
str = 12; -- сила
};

Вывод:

status = stat {
    health = health;
    eats = eats;
    str = str;
    nam = function(t)
    pn ('Жизнь: ', t.health)
    pn ('Сытность: ', t.eats)
    if ------ код ----
    end;
end,
};

Пишу:

act = function(s,o)
if (o == "grave_dig") then p "ЧЯДНТ";
str = str + 2;
eats = eats - 6;
...

Глобальные не изменяются
Но если написать не str = str + 100, а str = 100 то меняется.

Может в комнате act не работает, а работает только в объектах?

Там теперь другие глюки  roll
Условия не работают так как должны.
Был занят. У мя на сервере раид развалился так что пока ничего не менял.
dekr.org\perek.rar

UPD! Заменить в архиве на:

act = function(s,o)
    if (o == "grave_dig") then p "А вдруг там золотые зубы.";
        graveoneopen = graveoneopen +1;
        heartalignment = heartalignment -10;
        str = str +2;
        eats = eats -6;
        graveone = graveone +1;
    elseif (o == "grave_dig") and (graveoneopen >= 1 ) then p "Раскопки завершены. Зубов нет. Скряги.";
    elseif (o == "grave_out") and (graveoneopen == 0) and (graveoneout == 0) then walkin 'main';
        theme.gfx.bg "theme/bg6.jpg";
        theme.win.reset();
        theme.inv.geom (610,25,200,548);
        status:enable();
        hideinv = false;
        int = int +2;
        eats = eats -1;
        graveoneout = graveoneout +1;
    elseif (o == "grave_out") and (graveoneout >= 1) then walkin 'main';
        theme.gfx.bg "theme/bg6.jpg";
        theme.win.reset();
        theme.inv.geom (610,25,200,548);
        status:enable();
        hideinv = false;
        eats = eats -1;
    elseif (o == "grave_clean") and (graveoneopen == 0) then p "Уборка здесь не помешает.";
        graveoneclean = graveoneclean +1;
        heartalignment = heartalignment +10;
        wis = wis +2;
        eats = eats -3;
        graveone = graveone +1;
    elseif (o == "grave_clean") and (graveoneopen >= 1) then p "В могиле больше ничего нет.";
    elseif (o == "grave_clean") and (graveoneclean >= 1) then p "Любо дорого посмотреть";
    elseif (o == "grave_close") and (graveopen == 0) then p "Хмм. Могила цела.";
    elseif (o == "grave_close") and (graveopen >= 1) then p "Фуу. Закопал. А закапывать противнее чем раскапывать.^Ой, а это что за косточки..."
        graveoneclose = graveoneclose +1;
        heartalignment = heartalignment +2;
        dex = dex +1;
        eats = eats -4;
    elseif (o == "grave_close") and (graveoneclose >= 1) then p "Уже востановленно";
    end
end,

Все теперь сдаюсь. Условия выполняются по очереди и все равно что жать.

Ничего не помогло.
Сделал выключение объектов так:
вместо grave_close:enable(); ----- vobj("grave_close"):enable();
Ошибка пропала.

Ага. Это я в глобал запихнул... но если убрать то

Error: main.lua:216: attempt to index global 'grave_close' (a nil value)
stack traceback:
        main.lua:216: in function '?'
        ./stead//stead.lua:874: in function <./stead//stead.lua:862>
        (tail call): ?
        ./stead//stead.lua:874: in function 'call'
        ...am Files/Pinebrush games/INSTEAD/./stead//object.lua:38: in function
'action'
        ./stead//stead.lua:2330: in function <./stead//stead.lua:2276>
        (tail call): ?
        (tail call): ?

переменные:


graveone = 0; -- 5 состояний
graveoneopen = 0; -- 0 могила не закопана  на 5 могил раскопано или нет, == 3 раскопано 3 могилы
graveoneout = 0; -- 0 не выходили из комнаты
graveonedig = 0; -- 0 не копали
graveoneclose = 0; -- 0 не закапывали
graveoneclean = 0; -- 0 не чистили

grave_close это vobj

obj = {
    vobj("grave_dig", "{РАЗРЫТЬ МОГИЛУ }"),
    vobj("grave_out", "{ УЙТИ}"),
    vobj("grave_clean", "{ ПРИБРАТЬСЯ }"),
    vobj("grave_close", "{ ВОСТАНОВИТЬ}"):disable(),
},

vobj("grave_close", "{ ВОСТАНОВИТЬ}"):disable(), Может disabled?

if (o == "grave_dig") and (graveone == 0) and (graveoneopen == 0) then graveoneopen = graveoneopen + 1; -- 216
перевожу:
если выбор раскопать_могилу и мы здесь_небыли и могила_не_раскопана то могила_раскопана;
grave_close:enable(); -- включаем закопать обратно
grave_dig:disable(); -- выключаем новые раскопки
grave_clean:disable(); -- выключаем очистку памятников культуры

roll ничего не понял. sad
Изменил названия переменных и объектов чтоб не путать.
добавил в глобальные:
   

graveone = 0; -- переменная
graveoneopen = 0; -- переменная
graveoneout = 0; -- переменная
graveonedig = 0; -- переменная
graveoneclose = 0; -- переменная
graveoneclean = 0; -- переменная

grave_dig = 1; -- vobj предмет
grave_out = 1; -- vobj предмет
grave_clean = 1; -- vobj предмет
grave_close =1; -- vobj предмет

Ошибка:

Error: main.lua:216: attempt to index global 'grave_close' (a number value)
stack traceback:
        main.lua:216: in function '?'
        ./stead//stead.lua:874: in function <./stead//stead.lua:862>
        (tail call): ?
        ./stead//stead.lua:874: in function 'call'
        ...am Files/Pinebrush games/INSTEAD/./stead//object.lua:38: in function
'action'
        ./stead//stead.lua:2330: in function <./stead//stead.lua:2276>
        (tail call): ?
        (tail call): ?

Да кстати если нужно пространство для инстеад то мой хостинг для Вас!

Если не сложно гляньте в код почему ошибка в stead.lua:527:attempt to index local 'v' (a nil value)
http:\\dekr.org\perek.rar

Ох спасибо! Буду делать "статичные" объекты через есть-нет. Я для таких вещей не дорос. Будет больше кода и все.
Но что делать с заклинаниями? ... Буду пока остальное писать. Спасибо за ответ. У Вас потрясающий instead вышел.

P.S. Анимационные гифы на фоне пнг не проигрываются?

У меня есть глупый вопрос как из объекта картинку показать в Pic комнаты.
Можно конечно сделать проверку на есть - нет в виде функции pic комнаты.
Но может можно прописать это у объекта?

enter = function ()
theme.gfx.bg "theme/my.pic";
theme.win.geom (0,0, theme.get 'scr.w', theme.get 'scr.y');
theme.inv.geom (0,0,0,0);
end,

Ок. big_smile  в туториал не заглянул.. спасибо. А вот что будет с globals?