Голосование

Какие нововведения War Sails вы ожидаете в большей степени?

Вы можете выбрать 5 вариантов ответа.











Оформление



Пользователей
  • Всего: 29565
  • Последний: Demon__
Сейчас на форуме
Пользователи: 2
Гостей: 288
Всего: 290

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

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

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

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

### constants ###


module_scripts.py


module_mission_templates.py



# add triggers to all mission templates


Вопрос  ,Что  здесь  нужно  уточнить  для  правильной  работы  кода  ?   
  • Сообщений: 1726
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
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) »
  • Сообщений: 1726
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
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) »
  • Сообщений: 1726
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
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:
  • Сообщений: 1726
  • За особо выдающиеся авторские тексты За активную деятельность, связанную с публикациями и помощью другим посетителям
    • Просмотр профиля
+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
Теперь  осталось  поправить только  вывод  данных  на  экран
Не ещё тему нормально оформить и всё подробно расписать, для чайников и переехать в раздел ОСП ;)
Моя конфигурация:
Нормальная, мне хватает.
 

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

Powered by SMF 2.0 | SMF © Simple Machines LLC | Сайт работает на быстром VPS/VDS хостинге от FASTVPS