Голосование

Как вы относитесь к играм в жанре "симулятор колонии"?












Оформление



Пользователей
Сейчас на форуме
Пользователи: 1
Гостей: 575
Всего: 576

0 Пользователей и 1 Гость просматривают эту тему.

Тема: Скрипт потери сил в бою (blood loss)  (Прочитано 6968 раз)

  • Сообщений: 1332
    • Просмотр профиля
Отказывается  работать  скрипт  потери  крови  в  сражении.

Ссылка  на  оригинал  - 
Ставится  все  довольно просто 

### constants ###


module_scripts.py


module_mission_templates.py



# add triggers to all mission templates


Вопрос  ,Что  здесь  нужно  уточнить  для  правильной  работы  кода  ?   

  • Сообщений: 1722
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #1 : 06 Мая, 2012, 14:24 »
Там в у автора в скриптах есть ещё внизу:
scripts.extend(bloodScripts)
Может из-за этого? =/

А вообще, зачем такие сложности. Дополнительные слоты. Эти переливания крови вряд ли кто заметит.
В Дипломатии есть небольшой скрипт уменьшающий скорость коней от ранений. Может и здесь сделать так же. (Кстати, эта фишка на скорость агента вроде не влияет, а должна бы.)



  • Ник в M&B: Fin___Gall
  • Сообщений: 1332
    • Просмотр профиля
0
« Ответ #2 : 06 Мая, 2012, 20:00 »

В  Brytenwalda  именно  этот скрипт и  довольно хорошо  работает там  все .   Что там  есть в Дипломатии не важно,  нужен именно  этот скрипт  потери  крови в бою со  всеми слотами,  которые  заметны , кто играл.


Там в у автора в скриптах есть ещё внизу:
scripts.extend(bloodScripts)
Может из-за этого?

У  автора  есть еще  внизу 

   template[-1].append    -   Гадать  не имеет  смысла.   Нужен  кодер  для  разрешения  вопроса,а  не для  утешения .  Можно без скриптов  вообще обойтись но  мне нужен  именно  этот. :)

  • Сообщений: 870
    • Просмотр профиля
0
« Ответ #3 : 06 Мая, 2012, 21:15 »
В module_scripts.py

в module_mission_templates.py


Сам код я не менял, подправил лишь питоновские функции. Если проблема заключалась в том, что он скрипт вообще не работал, то может поможет. Сам не тестировал, если кто-то протестит, то, пожалуйста, отпишитесь здесь.

  • Сообщений: 1332
    • Просмотр профиля
0
« Ответ #4 : 06 Мая, 2012, 21:59 »
Вопрос  - куда  прописывать  это  - 


for template in mission_templates:
    template[5].append(monitor_health)
    template[5].append(bleed)

Я  эту  часть  не  ставил  ,так как  с ней  вылезают  ошибки   при  компиляции  . В  mission_templates   добавлял  как  обычно  с  нужные сцены  monitor_health  и  bleed .

Еще  -  в  скрипт  прописывал   не  bloodScripts = [   - как   в оригинале,а     с  #bloodScripts = [ ......      Иначе  ошибки вылезают.

Как  правильно  надо  ?

  • Сообщений: 870
    • Просмотр профиля
0
« Ответ #5 : 06 Мая, 2012, 22:05 »
Именно тот код что я запостил вставляй в сами концы файлов, после последних закрывающих скобок.

  • Сообщений: 1332
    • Просмотр профиля
0
« Ответ #6 : 06 Мая, 2012, 22:41 »
Естественно  не  работает  и  ошибки именно   с  этими  в конце  добавлениями.. Этот код  не такой  уж большой и сложный,его можно  опробовать  у себя  для эксперимента  вначале .
Синтаксическая ошибка  постоянно  при  компиляции.

  • Сообщений: 870
    • Просмотр профиля
0
« Ответ #7 : 06 Мая, 2012, 23:17 »
Я еще когда предыдущий пост писал проверил работает ли оно, и у меня все компилируется нормально и без каких либо ошибок.
А если убрать те добавления в конце, то код вообще не добавится, так как при компиляции в текстовик будет просто проигнорирован.

  • Сообщений: 1332
    • Просмотр профиля
0
« Ответ #8 : 06 Мая, 2012, 23:35 »
Вас понял.  Прием. )  Вероятно  мне надо  на  чистой версии  попробовать, может быть  что то дублируется  из за  прошлых  попыток  поставить  этот скрипт.

Значит ,я  ставлю  это в  константы 

А  потом  вот  это 
 
В module_scripts.py

в module_mission_templates.py




Причем  эта  часть  .....        (try_end),
    ]),
]
 
scripts.extend(bloodScripts)
попадает   в  самый  конец  всех  строк  module_scripts.py

Надеюсь  получится..

##############################################

Name ` bloodScripts  ` is not  defined ...   :blink:

В  чем же  проблема  ?   Наверно  не  в  ту  часть  вставка  блоков  у меня  ? 

« Последнее редактирование: 06 Мая, 2012, 23:54 от lutar »
  • Сообщений: 1722
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #9 : 07 Мая, 2012, 06:10 »
Я всё-таки не понимаю. Зачем делат новые скрипты отдельным списком, а потом прибавлять его к списку scripts. Разве не проще, сразу добавить эти скрипты в список scripts.

И в module_mission_templates.py примерно то же самое. Можно ведь и без путоновских функций. В начале файла самому создать список template (или с другим именем).
Получится где-то так:

А потом надо добавить template во все батальные сцены.
В конце. Между последними "]" и ")".
Вот так:
  ]
  +template,
),



  • Ник в M&B: Fin___Gall
  • Сообщений: 1332
    • Просмотр профиля
0
« Ответ #10 : 07 Мая, 2012, 09:28 »
ОК !  Попробуем  так  с  миссион _.

Но  скрипт  нужно  так  добавить  как  он есть или  по другому  ? 
Попробую. Все дело в  том, что при компиляции не принимаются  строки  после  ]  в самом конце
 
scripts.extend(bloodScripts)
  и  в  скрипте   bloodScripts = [  в самом начале

Есть еще немного отличающийся  вариант  ,который  нашел у китайцев  http://www.mountblade.com.cn/html/72/t-81672.html

« Последнее редактирование: 07 Мая, 2012, 09:31 от lutar »
  • Сообщений: 1722
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
0
« Ответ #11 : 07 Мая, 2012, 11:38 »
Скрипты просто добавляются в module_scripts перед последней "]". Как обычно.

Все, что между  #debug start  #debug end - это вывод данных на экран.
Думаю, потом это можно будет удалить. (Кстати, китайцы так и сделали).

« Последнее редактирование: 07 Мая, 2012, 11:47 от FinGall »
  • Ник в M&B: Fin___Gall
  • Сообщений: 1332
    • Просмотр профиля
0
« Ответ #12 : 07 Мая, 2012, 13:03 »
Скрипты просто добавляются в module_scripts перед последней "]". Как обычно.

Все, что между  #debug start  #debug end - это вывод данных на экран.
Думаю, потом это можно будет удалить. (Кстати, китайцы так и сделали).



Вывод  данных  на  экран  желательно  сделать  более   "красноречивым" -  Blood  loss  - 1 например ..  Этот скрипт  заставляет  рассчитывать силы  ,отводить  некоторые  войска  с поля  боя  ,экономить  время  ...  В  Brytenwalda  наблюдать интересно  как  валятся   раненые  в конце концов  ,  спешишь  закончить  все  в  свою  пользу  пока не потеряны  войска   и  т.п.

  Вопрос  с  этим  .Если  последние  скобки  вот  так  ],),   то   добавлять  следует  ], +template,
  ),
      или все же   ] + template,
  ),  - убирая  запятую . ?  Имеет  это  значение   ?   

Все  расписал  как  указано    этот  раз  ,ошибок  компиляции  нет  ,но и  работы  скрипта  не  заметил  отчего то  пока.. :blink:

  • Сообщений: 1722
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+1
« Ответ #13 : 07 Мая, 2012, 14:44 »
Цитировать (выделенное)
Вопрос  с  этим  .Если  последние  скобки  вот  так  ],),   то   добавлять  следует  ], +template,
  ),      или все же   ] + template,
  ),  - убирая  запятую . ?  Имеет  это  значение   ?

Это последние скобки в сцене. Я всегда запятую убираю, когда добавляю с плюсом. После template вроде тоже нет запятой. (это я там ошибся).
]
 + template
),
 Вроде всегда срабатывало. (Но точно не знаю, как правельнее.)

Например, турнир записан вот так:
    ],
    tournament_triggers
  ),
Здесь без "+", но с ",".

Вообще, это как взять и вписать данные триггеры в сцену. То же самое. Если не работает, надо в скриптах искать причину.

Мне ещё непонятно:
# Agent slots, make sure these slots are not used for something else
slot_agent_bleed = 8
slot_agent_rate  = 9    # rate of blood loss
slot_agent_hp    = 12
Это ведь новые слоты для агентов, но слоты 8,9,12 уже заняты другими. Их наверно надо соответственно добвить после:
slot_agent_walker_occupation      = 25

slot_agent_bleed = 26
slot_agent_rate  = 27    # rate of blood loss
slot_agent_hp    = 28

И перед каждой сценой их надо заряжать.
Это если я правильно понял их назначение.  :blink:

« Последнее редактирование: 07 Мая, 2012, 14:59 от FinGall »
  • Ник в M&B: Fin___Gall
  • Сообщений: 1332
    • Просмотр профиля
0
« Ответ #14 : 07 Мая, 2012, 15:24 »
Замечательно  ,Все  заработало.  :thumbup:

Константы не изменял.

Спасибо   вам ,    FinGall   и Leon473   за  помощь .

Теперь  осталось  поправить только  вывод  данных  на  экран.а  то  эти    "имя пользователя  _  bleeding  horce  HP "  выглядит  странновато  ..  Лучше  просто  "... конь  теряет  кровь"    .или   " Герой  теряет  силы  ".. . А так  отлично  все.

Без  этого скрипта  реализма  меньше на мой взгляд.

  • Сообщений: 870
    • Просмотр профиля
0
« Ответ #15 : 07 Мая, 2012, 20:01 »
Я всё-таки не понимаю. Зачем делат новые скрипты отдельным списком, а потом прибавлять его к списку scripts. Разве не проще, сразу добавить эти скрипты в список scripts.
Смысла в добавлении скриптов в module_scripts с помощью питоновских функций я тоже не вижу, но для mission_templates польза большая, так как не нужно самому вручную добавлять триггеры, можно просто добавить их автоматически во все миссии, с помощью одной простой функции, что намного проще и быстрее.

  • Сообщений: 7578
  • За наиболее важные для развития сайта идеи За особо выдающиеся авторские тексты За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов И создали они сайт... Призер конкурса Футболка по версии Всадников
    • Просмотр профиля
0
« Ответ #16 : 07 Мая, 2012, 20:03 »
Теперь  осталось  поправить только  вывод  данных  на  экран
Не ещё тему нормально оформить и всё подробно расписать, для чайников и переехать в раздел ОСП ;)

Моя конфигурация:
Нормальная, мне хватает.

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC