RU

Инквизиция I, авторы - Евген и AleKon

Евген #278 07.03.2011 17:59 479 comments 165629 views

Зацените и скажите будет ли так хорошо использовать инвентарь? Или лучше пихать картинки в доп описание?
Игра

Edited at 24.05.2011 04:07 (14 years ago)

Я, конечно, могу наделать кучу переменных и локаций, но надо учиться делать всё укомплектовано.

Женя, этот код я пропишу сам. Не нервируй Некса :)

Да ты крутой :)

Возник вопрос, скорее по части Куспа, чем по игре. Ну дак вот. Я пишу бой. Написал 243 строки. Запускаю. И КУСП ВЫЛЕТАЕТ. В чём проблема?

Варианты:
1. В твоем коде
2. В вирусах на компе
3. В отношении редактора к тебе лично :=D

1. Код в порядке
2. Вирусов - 0. Недавно виндус пере установил
3. Он меня любит :D

Скорее всего, код зашел в бесконечный цикл.

Могу показать код. Но там ничего странного нету. Всё должно работать. А если и заходит в цикл, то почему вылетает?
Код:

if msg1 = 0:
 msg '<b>На вас напал <b><<$Имя_первого_врага>></b></b>'
 Деньги_полученные = rand (0,30)
 Золотой_кусок_получение = rand(0,100)
 CLOSE ALL
 $music = '2'
 ты_в_бою = 1
 if музон_вырубил = 1:
 $music = '0'
 end
 msg1 = 1
 end
'------------'
'Здоровье: <b><<здоровье>></b>\<b><<макс_здоровье>></b>'
'Броня: <b><<броня>></b>'
'Здоровье врага: <b><<Первый_враг_здоровье>></b>\<b><<Первый_враг_макс_здоровье>></b>'
'Броня врага: <b><<Первый_враг_защита>></b>'
 if здоровье<=0: 
   'Вас убил <b><<$Имя_первого_врага>></b>.' 
   act 'Конец':gt 'смерть' 
 else 
   act 'Сильный удар':
     атака_текущая = Атака+rand(2,3)+удача+-Первый_враг_защита
     IF атака_текущая < 0 : 
      атака_текущая = rand(0,1)
      END
      'Вы сильно ударили врага на <<атака_текущая>>'
      Первый_враг_здоровье=Первый_враг_здоровье-атака_текущая
      if Первый_враг_здоровье<=0: 
       'Вы убили <b><<$Имя_первого_врага>></b>.' 
       delact $selact
       act 'Уйти':gt 'Начало'
       ты_в_бою = 0
       Деньги = Деньги+Деньги_полученные
       CLOSE ALL
       if музон_вырубил = 0:
       $music='1'
       else
       $music='0'
       end
       if Золотой_кусок_получение<15:
        Золотая_руда = Золотая_руда+1
        end
       exit 
     end 
     Первый_враг_атака_текущая = Первый_враг_атака+rand(-1,1)-броня
     IF Первый_враг_атака_текущая < 0 : 
      Первый_враг_атака_текущая = rand(0,1) 
      END
      '<b><<$Имя_первого_врага>></b> ударил вас на <<Первый_враг_атака_текущая>>'
      здоровье=здоровье-Первый_враг_атака_текущая
     xgt $curloc 
   end 
 end
   act 'Быстрый удар':
     атака_текущая = Атака+rand(-1,0)+удача+-Первый_враг_защита
     IF атака_текущая < 0 : 
      атака_текущая = rand(0,1)
      END
      'Вы быстро ударили врага на <<атака_текущая>>'
      Первый_враг_здоровье=Первый_враг_здоровье-атака_текущая
      if Первый_враг_здоровье<=0: 
       'Вы убили <b><<$Имя_первого_врага>></b>.' 
       delact $selact 
       act 'Уйти':gt 'Начало'
       ты_в_бою = 0
       Деньги = Деньги+Деньги_полученные
       CLOSE ALL
       if музон_вырубил = 0:
       $music='1'
       else
       $music='0'
       end
       if Золотой_кусок_получение<15:
        Золотая_руда = Золотая_руда+1
        end
       exit 
     end 
     Первый_враг_атака_текущая = Первый_враг_атака+rand(-1,1)-броня
     IF Первый_враг_атака_текущая < 0 : 
      Первый_враг_атака_текущая = rand(0,1) 
      END
      '<b><<$Имя_первого_врага>></b> ударил вас на <<Первый_враг_атака_текущая>>'
      здоровье=здоровье-Первый_враг_атака_текущая
     xgt $curloc 
   end 
 end
   act 'Удар эфесом':
     атака_текущая = Атака+rand(0,0)+удача+-Первый_враг_защита
     IF атака_текущая < 0 : 
      атака_текущая = rand(0,1)
      END
      'Вы ударили врага эфесом на <<атака_текущая>>'
      Первый_враг_здоровье=Первый_враг_здоровье-атака_текущая
      if Первый_враг_здоровье<=0: 
       'Вы убили <b><<$Имя_первого_врага>></b>.' 
       delact $selact 
       act 'Уйти':gt 'Начало'
       ты_в_бою = 0
       Деньги = Деньги+Деньги_полученные
       CLOSE ALL
       if музон_вырубил = 0:
       $music='1'
       else
       $music='0'
       end
       if Золотой_кусок_получение<15:
        Золотая_руда = Золотая_руда+1
        end
       exit 
     end 
     Первый_враг_атака_текущая = Первый_враг_атака+rand(-1,1)-броня
     IF Первый_враг_атака_текущая < 0 : 
      Первый_враг_атака_текущая = rand(0,1) 
      END
      '<b><<$Имя_первого_врага>></b> ударил вас на <<Первый_враг_атака_текущая>>'
      здоровье=здоровье-Первый_враг_атака_текущая
     xgt $curloc 
   end 
 end
   act 'Удар ногой':
     атака_текущая = Атака+rand(0,2)+удача+-Первый_враг_защита
     IF атака_текущая < 0 : 
      атака_текущая = rand(0,1)
      END
      'Вы ударили врага ногой на <<атака_текущая>>'
      Первый_враг_здоровье=Первый_враг_здоровье-атака_текущая
      if Первый_враг_здоровье<=0: 
       'Вы убили <b><<$Имя_первого_врага>></b>.' 
       delact $selact 
       act 'Уйти':gt 'Начало'
       ты_в_бою = 0
       Деньги = Деньги+Деньги_полученные
       CLOSE ALL
       if музон_вырубил = 0:
       $music='1'
       else
       $music='0'
       end
       if Золотой_кусок_получение<15:
        Золотая_руда = Золотая_руда+1
        end
       exit 
     end 
     Первый_враг_атака_текущая = Первый_враг_атака+rand(-1,1)-броня
     IF Первый_враг_атака_текущая < 0 : 
      Первый_враг_атака_текущая = rand(0,1) 
      END
      '<b><<$Имя_первого_врага>></b> ударил вас на <<Первый_враг_атака_текущая>>'
      здоровье=здоровье-Первый_враг_атака_текущая
     xgt $curloc 
   end 
 end
   act 'Обманный финт':
     атака_текущая = Атака+rand(0,2)+удача+-Первый_враг_защита
     IF атака_текущая < 0 : 
      атака_текущая = rand(0,1)
      END
      'Вы ударили врага ногой на <<атака_текущая>>'
      Первый_враг_здоровье=Первый_враг_здоровье-атака_текущая
      if Первый_враг_здоровье<=0: 
       'Вы убили <b><<$Имя_первого_врага>></b>.' 
       delact $selact 
       act 'Уйти':gt 'Начало'
       ты_в_бою = 0
       Деньги = Деньги+Деньги_полученные
       CLOSE ALL
       if музон_вырубил = 0:
       $music='1'
       else
       $music='0'
       end
       if Золотой_кусок_получение<15:
        Золотая_руда = Золотая_руда+1
        end
       exit 
     end 
     Первый_враг_атака_текущая = Первый_враг_атака+rand(-1,1)-броня
     IF Первый_враг_атака_текущая < 0 : 
      Первый_враг_атака_текущая = rand(0,1) 
      END
      '<b><<$Имя_первого_врага>></b> ударил вас на <<Первый_враг_атака_текущая>>'
      здоровье=здоровье-Первый_враг_атака_текущая
     xgt $curloc 
   end 
 end
 !ПОТОМ СДЕЛАЮ ТАК, ЧТОБЫ ПРИ НАЖАТИИ ОПРЕДЕЛЁННЫХ КНОПОК ВЫЛАЗИЛ СУПЕР УДАР!
   act 'Особый удар':
     атака_текущая = Атака+rand(0,2)+удача+-Первый_враг_защита
     IF атака_текущая < 0 : 
      атака_текущая = rand(0,1)
      END
      'Вы ударили врага ногой на <<атака_текущая>>'
      Первый_враг_здоровье=Первый_враг_здоровье-атака_текущая
      if Первый_враг_здоровье<=0: 
       'Вы убили <b><<$Имя_первого_врага>></b>.' 
       delact $selact 
       act 'Уйти':gt 'Начало'
       ты_в_бою = 0
       Деньги = Деньги+Деньги_полученные
       CLOSE ALL
       if музон_вырубил = 0:
       $music='1'
       else
       $music='0'
       end
       if Золотой_кусок_получение<15:
        Золотая_руда = Золотая_руда+1
        end
       exit 
     end 
     Первый_враг_атака_текущая = Первый_враг_атака+rand(-1,1)-броня
     IF Первый_враг_атака_текущая < 0 : 
      Первый_враг_атака_текущая = rand(0,1) 
      END
      '<b><<$Имя_первого_врага>></b> ударил вас на <<Первый_враг_атака_текущая>>'
      здоровье=здоровье-Первый_враг_атака_текущая
     xgt $curloc 
   end 
 end
   act 'Убежать':
     p 'Вы убежали от <b><<$Имя_первого_врага>></b>'
     убежать = rand(0,100)
     if убежать>50
       CLOSE ALL
       if музон_вырубил = 0:
       $music='1'
       else
       $music='0'
       end
       exit 
       end
     if убежать<50:
     'Вы несмогли убежать от <b><<$Имя_первого_врага>></b>'
     Первый_враг_атака_текущая = Первый_враг_атака+rand(-1,1)-броня
     IF Первый_враг_атака_текущая < 0 : 
      Первый_враг_атака_текущая = rand(0,1) 
      END
      '<b><<$Имя_первого_врага>></b> ударил вас на <<Первый_враг_атака_текущая>>'
      здоровье=здоровье-Первый_враг_атака_текущая
     xgt $curloc 
   end 
 end

Если я удаляю последний акт “Убежать”, всё работает.

И не надо. пожалуйста, указывать на недочеты. Скажи только про вылет.

Только я не знаю что в “Убежать” поправить, блин.

Евген, я тебя побью когда-нибудь :) Ты выложил на форум уже половину кода Инквизиции.

Это только бой. И то начало. Тут только действия, а будет ещё много присмаков.

Евген,
Во-первых, у тебя там жуткая путаница в END’ах, много лишних. Во-вторых, в одном из IF нет двоеточия.
Из-за отсутствующего двоеточия, выполняется оператор XGT $CURLOC, и плеер входит в бесконечный цикл.

Сенк тебе.

Log in or Register to post comments.