RU 📌 Pinned

Как сделать?

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

Weliot,
выложи код локации, в которой отображается картинка.

Снова обращяюсь за советом к знатокам. Сталкнулся с проблемой в диалоге. Как делать так что при выборе одного из вариантов диалога ( в данном коде например “оплатить 1000 и назвать фальшивое имя”) Сделать так что бы всё варианты удалились и остался только один “В город”

Spoiler
if Разговор_с_постом=0:
 'Курсант Солтон: - День добрый сэр. Пожалуйста предъявите ваш пропуск.'
   act "Пропуск?":
     'Дарвин: — <<$selact>>'
		'Курсант Солтон: — А вы первый раз судя по всему у нас в Лидсе.Пропуск позволяет безприпятсвенно перемещяться по городу и храму. Своеобразное удоствоверение гостя.'
		delact $selact
		 act 'У меня нет никакого пропуска':
		   'Дарвин: — <<$selact>>'
		   'Курсант Солтон: - Тогда что бы войти вам нужно его приобрести. цена всего лишь 1000 золота. Ваше имя?'
		   delact $selact
		     '<b>Деньги конечно не проблема для Дарвина. Но вот имя... С одной стороны расскрывать свою личность весьма не хотелось в этом городе. Но с другой стороны у него было не мало знакомых сради гномов, которые вполне могли оказаться в Лидсе. И если они его раскроют то проблем не оберёшься.. ЧТо же делать?</b>'
		     Разговор_с_постом=1
		      Act 'Заплатить 1000 золота и назвать вымешленное имя':
		          if золото<1000:
		            'Не хватает денег'
		          end
		          if золото=>1000:
		             золото=золото-1000
		             'Как ни крути а работа Дарвина должна быть скрытной. Поэтому лучше выдать себя за кого то другого'
		             'Дарвин: — Меня зовут Уильям Лонс. Вот ваши деньги'
		             'Курсант Солтон: - Вот ваш пропуск сэр Лонс. Добро пожаловать в Лидс'
		             пропуск=2
		             ADDOBJ 'Фальшивый пропуск'
		             'Дарвин: - Благодарю'
		             delact $selact
		               Act 'В город':
		                gt"вход в лидс"
		               end
		          end
		       end
		       act 'Заплатить 1000 золота и назвать своё имя':
		          if золото<1000:
		            'Не хватает денег'
		          end
		          if золото=>1000:
		            золото=золото-1000
		            'Немного подумав парень решил что со своим именем будет куда проще выполнить свою затею. Да и к тому же славы будет немногим больше.'
		            'Дарвин: — Вот золото. Запишите: в Лидс явился Дарвин.'
		            'Курсант Солтон: - Благодарю сэр. Вот ваш пропуск'
		             пропуск=1
		             ADDOBJ 'Настоящий пропуск'
		             'Дарвин: - Спасибо сержант'
		              delact $selact
		               Act 'В город':
		                gt"вход в лидс"
		               end
		           end
		       end
		       act 'Назад':
		        gt"главные ворота лидса"
		       end  
		 end
   end
end
ADDOBJ 'Фальшивый пропуск' 
                     'Дарвин: - Благодарю' 
                     !delact $selact
                     cla
ADDOBJ 'Настоящий пропуск' 
                     'Дарвин: - Спасибо сержант' 
                     !delact $selact
                     cla

И подтяните грамматику с пунктуацией. Без боли читать невозможно.

задумка такая - игра имеет неудачные выборы - геймоверы, но при этом идея в следующем - на развилке ведущей к негативному финалу происходит автоматическое сохранение игры, после неверного выбора игра безусловно приводит к печальному финалу и соответственным ему вариативным печальным достижениям, после любования на которые на вайте появляется действие сделать иной выбор, при нажатии проиходит загрузка сейва развилки, понятное дело, что нужно создавать вторую локацию, как правильно сделать, чтобы после загрузки сейва в него прописались только полученные варианты печальных достижений? как сделать чтобы прописался проигрыш понятно, там при загрузке можно просто прописать все возможные плюсом, а вот как сделать чтобы запомнились только полученные игроком?

if not end1:
    act 'Выбор_1':
        end1 = -1
        SAVEGAME 'fork'
        gt 'end1'
    end
end
if not end2:
    act 'Выбор_2':
        end2 = -1
        SAVEGAME 'fork'
        gt 'end2'
    end
end
if not end3:
    act 'Выбор_3':
        end3 = -1
        SAVEGAME 'fork'
        gt 'end3'
    end
end

Так?

evp,
угу, спс, провёл три часа на свежем воздухе и сам разобрался.
для меня сейчас большая загадка именно музыка к навигаторе, в принипе запускается и через PLAY, но проблема в том, что при смене каждой локации при включении музыки происходит задержка в 5-10 секунд, где то встречал что то про проигрыватель, но там не понял как запускать треки циклом, т.е. к примеру на обзор всей локации у игрока в среднем будет уходить 2-3 минуты, а музыкальный трек на 12 сек и как его закольевать на непрерывное воспроизведение, если можно хотя бы ссылку

HTML5 аудио

Spoiler

<audio src=“sound.mp3” autoplay loop></audio>

evp,
большое спасибо, обязательно попробую. правда отчего то имеется небольшое опасение, что игра будет иметь немного меньшую аудиторию, если часть необходимого для успешной игры контента будет воспроизводиться в виде аудио, в смысле, что музыкалка будет не элементом оформления, а более чем носителем нужной информации для игры, всё-таки часть игроков играет вообще без звука, но посмотрим

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

Aaaspavel,
Главное чтобы музыка была как можно нейтральней, потому как не все слушают рок, электронику и прочее.

Народ а почему не работает команда джамп?

if информация_о_зелье = 0:
 :Купить
  Act "Купить":
  cla
   :Зелья
   act "Зелья":
   cla
     :Зелье Выносливости 5
     Act"Зелье Выносливости 5":
     cla
       'Зелье Выносливости 5 -Одно из лучших творений современной алхимии. Востанавливает 2000 очков жизней.'
        Act "Купить(2000)":
         if золото<2000: 
            'Не хватает денег' 
         else 
          золото=золото-2000 
          $Прочие_предметы_Дарвина[0]='Зелье Выносливости 5'
          'Вы получили Зелье Выносливости 5'
         end
        end
        Act "Назад":
         jump 'Зелье Выносливости 5'
        end
     end
   end
  end

Darvin432,
потому что она находится внутри ACT, а весь код внутри блока ACT выполняется независимо от остального кода. Поэтому “прыгать” внутри ACT можно только в пределах этого ACT.

Spoiler
fsize = 14
play 'snd/ATC/bns.mp3', 18
'(текст ниже картинки)'
'<center><img src="pic/Room.jpeg"width ="1024" height="768"></center>'
*PL 'Я в очередной раз проснулся поздно вечером, небольшой отдых после тяжелого дня не помешает, а впереди еще прекраснейшый вечер и таинственная ночь.'
*PL 'Время: 21.00'
if a=0:
act 'Далее':
a=1
*PL 'Нужно одеться.'
GT $CURLOC
end
end
!=====================================================================

В общем такое дело в АКТЕ ‘ДАЛЕЕ’ функции *PL - не работают. *CLR так же.
Моя цель такова: Мне нужно чтобы при нажатии действия ДАЛЕЕ оно исчезало выдавая текст в основное окно. Как это сделать?
Буду ну о-о-о-очень благодарен за помощь.
P.S. Я пытаюсь создать конструктивные и понятные диалоги но там *PL просто не “фурычит”.

Aleks Versus Moderator 21.05.2016 19:14 (9 years ago)

Ars_Sacra,
*Pl фурычит. Просто после *pl ты делаешь переход с помощью goto. А что это значит?

Подсказка:
есть такие команды как xgoto, gosub и delact

Ntropy,
здравствуйте. Начал создавать игру. Пока все шло нормально. Решил создать систему боя. Создал для боя отдельную локацию.
пример:
локация А

act 'Идти дальше':
   gt'Локация Б'
end

Локация Б

противник = RAND (3)
if противник = 1:
   gt 'Бой'
end

В локации Статус

if $CURLOC ! $nextLoc: 
    $prevLoc = $nextLoc 
    $nextLoc = $CURLOC
end

В локации Бой

ACT 'Вернуться': 
    GOTO $prevLoc 
END

Так вот когда я нажимаю “Вернуться” то попадаю в Локацию А, а надо попасть в Локацию Б. Как мне этого добиться?

Log in or Register to post comments.