[ Обновленные темы · Новые сообщения · Участники · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум » Worms 4: Mayhem » 5.2. Вопросы по скриптингу » Боссы (Помощь нубу по боссам =))
Боссы
firsacho
Админы
Сообщений: 3760
Реп: 81 / Инв: 15
Ознакомился с модом.
Найденные общие недоработки:
- Не нашел босса ветра вообще. Хз в чем причина.;
- Названия испытаний не изменены, их описание не добавлено;
- Русские имена червей, команд и боссов - на мой взгляд лучше писать на латинице, т.к. могут скачать иностранцы. Нашим и так будет понятно.
- Имя команды игрока и их одежда задано по дефолту, а ведь перед испытаниями мы выбираем свою команду;
- Защита от воды срабатывает не всегда корректно - иногда при падении в воду босс гибнет, иногда она срабатывает рядом с водой без гибели;

Мысли о боссах (спойлеры):





Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

mod.worms.pro - мод Worms Renewation для Worms4
 
Проверенные
Сообщений: 18
Реп: 10
Так-с. Странно. Это все очень странно. Во-первых поражает что Мастера Ветра нету. Во-вторых я вроде бы сделал так чтобы анти-утопление срабатывало всегда... Ты когда скачал мод?

Добавлено (03.11.2019, 21:36:28)
---------------------------------------------
И да. Если у босса меньше 31 хп то анти-утопление и не должно срабатывать. Ведь оно то отнимает 30 хп.

 
firsacho
Админы
Сообщений: 3760
Реп: 81 / Инв: 15
Сегодня качал. Может там у мастера ветра просто описание есть и я его не отличил от обычных челленджей? Ну либо он может быть заблокирован без сейвов.

Босы топились и с хп больше 100. Я полагаю просто иногда проверка не успевает сработать. Надо тестить.





Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

mod.worms.pro - мод Worms Renewation для Worms4
 
Проверенные
Сообщений: 18
Реп: 10
Это очень очень странно. Обе эти вещи странные. Как бы то ни было, однако сегодня я тоже это заметил (что не сработало анти-утопление). При чем не сработало не от того что не успело (тогда босс бы просто упал в воду и спустя мгновение возродился в другом месте с 0 хп) а просто решило не работать. А с Мастером Ветра вообще странно. У меня все хорошо работает...
Я собираюсь и дальше заниматься разработкой боссов, но не сейчас. Думаю может через пару недель.
Однако вот боссы которые скорее всего будут в моде позже:
1. Банда Якудза. У врага 3 команды, в каждой по 1 персонажу: Сталь, Буря и Тигр. Тигр имеет 5-ый уровень интеллекта (у остальных 4-ый). Сталь имеет броню. Буря имеет иммунитет к отравлению (если его затравить, то он снимет с себя отравление на следующий ход). При убийстве 1-го из врагов остальные получают его бонус (к примеру убили Сталь -- остальные получают броню). А если кто-то из них остается последним -- он получает какой-то супер-бонус: Тигр получает очень сильный арсенал (всякие святые бомбы, банановые гранаты и авиа-удары коровами). Сталь получает регенерацию каждый ход примерно на 10 хп (стоит еще и учитывать его анти-отравление полученое от Бури). А если последним остается Буря -- все наши червяки отравляются. Супер-оружие тоже будет как-то связано с этим всем.
2. Архибот. У врага 2 команды, в 1-ой Архибот, в 2-ой четыре штуки помощников. Помощники не обладают никакими интересными штучками, а вот Архибот каждый свой ход получает прибавку в 10% к силе своих оружий (он будет стрелять только базуками, гранатами и кластерками). Таким образом уже на 5-ый свой ход Архибот будет стрелять в полтора раза усиленными оружиями (как у Викингов), а дальше вообще пипец. Супер-оружие хочу сделать какое-то очень интересное и уникальное. Возможно что-то связанное с огнем.
3. Паладин. 1 команда с Паладином. Каждый не четный ЕГО ход 1 из ваших червяков снимают половину здоровья. Каждый четный на карте создается какая-та штука (может быть тотем). Его нужно разрушить. А если этого не сделать -- Паладин получит большую (думаю где-то 150 хп) прибавку к здоровью. Активно использует святые гранаты. Супер-оружием будет в 1.5 раза усиленная святая граната.
4. Кот Самурай. 1 команда с Котом Самураем. Каждый ход он использует свое оружие -- сюрикены (или прийдется использовать лук, если не найдется модельки). Сюрикены наносят примерно 20 хп выстрелом, не подвержены ветру, 4 выстрела за ход (как дробовик, только оружие кидается и не 2 раза, а 4). Надеюсь я смогу с помощью форума создать такое. У самого Самурая немного хп (думаю будет рандомное значение от 51 до 100), однако он играет в режиме Выживания (там где 1 червяк, а после его смерти появляется другой). Всего у него будет 9 жизней (т.е. 1 начальная и еще 8 возрождений). Супер-оружием будет какой-то сильно дамажащий (примерно на 60 хп), травящий сюрикен.
5. Король Мертвых. 3 команды, в 1-ой Король Мертвых, в 2-ой Заклинатель, в 3-ей Зомбики (изначально их 2). Каждый ход Короля Мертвых 1 из ваших червяков получает урон по 10 единиц за каждого зомбика. Каждый ход Заклинателя на карте появляется еще 1 зомбик. Если 1 из ваших червяков умирает -- появляется еще 1 зомбик. Все зомбики будут иметь примерно по 60 хп. А вот Заклинатель и Король Мертвых по многу. Также зомбики будут стрелять только стандартными оружиями (граната, базука и кластерка). Супер-оружие пока не придумал.
 
firsacho
Админы
Сообщений: 3760
Реп: 81 / Инв: 15
У этих всех фишек боссов есть проблема - они непонятны игроку. Например - игрок отравил босса, на след ход отравление скинулось. Или, как ты описывал, что после смерти одного из боссов, другим дается броня. С точки зрения игрока механика выглядит довольно хаотичной, часто незаметной и надо как то ее объяснять. Может через внутриигровые сообщения. Например, выводить в консольку "Буря излечил себя". Или "Сила оружия босса увеличена на 10%". И так по всем срабатываниям скрипта, в т.ч. при респаунах от утопления.

Если ты не против, я бы включил твой мод в сборку Renewation - там как раз не хватает одиночных миссий. Единственное, там понадобится на английский все перевести и нужно сделать описание - то что в брифинге перед миссией написано и когда esc нажимаешь - короткое описание миссии и 3 задачи:






Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

mod.worms.pro - мод Worms Renewation для Worms4
 
Проверенные
Сообщений: 18
Реп: 10
Хорошо, я сделаю это. Можешь включать в свой мод Боссов.

Добавлено (04.11.2019, 17:56:50)
---------------------------------------------
Слушай, Фирсарчо. Мне нужен твой дискорд, нужно поговорить. У меня есть 1 очень-очень сложная в исполнении идея которая сильно изменит всю игру. Однако она весьма интересная и хотел бы услышать твое мнение о возможности или невозможности реализации.

 
firsacho
Админы
Сообщений: 3760
Реп: 81 / Инв: 15
Zelenium, firsacho#3974 я в Дискорде.




Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

mod.worms.pro - мод Worms Renewation для Worms4
 
Проверенные
Сообщений: 18
Реп: 10
Я добавил. Еще вчера.

Добавлено (10.11.2019, 16:16:07)
---------------------------------------------
Итак. Скоро дальше продолжу делать свой мод и собираюсь кое-что поизменять.
Кроме боссов теперь будет много обычных боев. После каждого боя наша команда получает небольшое увеличение в арсенале и хп (начинать будем с 3 червяков по 100 хп). Появится большое количество боссов, а те что уже есть будут переработаны. Обычные бои будут проводится с случайными спавнами на определенных картах. Там могут быть как стандартные 1:1 бои, так и 2:2, 1:1:1, 1:1:1:1, и 1:2, 1:3... В общем небольшое разнообразие все таки будет.
Также будет большое количество новых боссов с новыми интересными фишками. А после прохождения босса будет открываться тот же самый бой с боссом, только теперь вы сможете играть и за босса и за самого себя. В общем идей много, но воплощать их буду скорее всего очень долго.

Вот огромный список боссов которые возможно будут в игре, в порядке в котором хочу их сделать в миссиях:
1. Охранник склада. Каждый ход падает ящик с сильным оружием.
2. Маньяки. Каждый их ход из них вырывается небольшой крюк (или какую анимацию смогу найти) в сторону ближайшего нашего червяка. Если крюк достигнет червя то нанесет ему урон.
3. Минер. Почти все тоже самое, только переделаю мины (сделаю их мощнее и видимыми) + каждый ход они будут взрываться.
4. Самурай. Имеет 9 жизней и кидается сюрикенами.
5. Сержант. Ставит невидимые мины. Возможно реализую чтобы он еще ставил турель и надувные пузыри.
6. Вестники апокалипсиса. Каждый ход с неба падают метеориты в случайных точках карты.
7. Блуждающий дух. Сложная задумка, но если смогу реализовать то добавлю. Смысл таков, что нужно в определенный ход атаковать определенного врага, иначе все враги получат хил.
8. Шаман Вуду. Способности теже.
9. Иллюзионист. Каждый ход создает иллюзии себя, которые перенимают все его характеристики (хп, отравленность). В конце хода они исчезают. Т.е. чтобы убить иллюзиониста -- нужно бить только его.
10. Викинги. Способности теже.
11. Пираты. Способности теже.
12. Мастер Ветра. Способности теже, только сделаю чтобы ветер действовал еще и на червяков.
13. Якудза. 3 противника с своими способностями. Убивая врагов в разном порядке -- враги получают разные способности.
14. Оживший капитан. Сначала простой бой с простым CPU, потом появляется сам капитан и карта начинает разрушаться.
15. Ромео и Джульетта. Нужно убить обоих за 1 ход. Будут еще и усложнения (такие как защита от яда, регенерация и телепортация) но я еще не выбрал какие.
16. Король Мертвых. Каждый ход наши червяки получают -хп за каждого живого противника. Каждый ход появляется 1 зомбик. Если наш червяк убит -- появляется еще 1 зомбик.
17. Стражи Недр. Каждые 4 хода всем нашим червякам наносится огромный урон. Чтобы спастись от  урона нужно зайти в определенную область на карте. Возможно не смогу реализовать.
18. Ассасин. Телепортируется к нашим червякам (возможно). Когда получает урон -- в сторону наших червяков вылетает сюрикен.
19. Алхимик. Каждый ход атакует нас необычной атакой (может отравить, нанести урон, отбросить и т.п.). На карте могут падать ящики.
20. Архибот. Каждый ход наращивает урон от оружий. Когда умирает -- каждый ход наши червяки получает маленький урон.
21. Император. При получении небольшого урона создает нового прислужника 1-го типа. Например может создать стрелка (который будет атаковать нас), генерала (который дает ему разные вкусняшки) или телохранителя (который либо регенит, либо забирает урон на себя).
22. Симбиот. Получает урон только когда получаем его мы. Каждый ход на карте создается кокон. Если его разрушить то мы получаем прибавку к хп. Если не разрушать то прибавку к хп получит Симбиот.
23. Кузнец. Возможно не смогу реализовать но попробую. Каждый ход на нас падает большой молот (или наковальня) который наносит нам урон + вбивает в землю. Каждый ход кузнеца все червяки которые вбиты в землю получают урон.
24. Финальный босс Фараон. Каждый ход создает саркофаг боссов и использует 1 из уже ранее созданных (саркофаги можно разрушать). Т.е. применяя саркофаг Минера -- Фараон получает его способности на время пока он не применит другой саркофаг. Пожалуй самый сложный в реализации босс.

Теперь еще одни боссы, но я пока еще не уверен где их поставить.
1. Паладин. Каждый четный ход создает обелиск который нужно разрушить (иначе Паладин отхилится). Каждый не четный уронит нашего червяка на половину его текущего хп.
2. Ворюги. У нас почти пустой арсенал, но каждый ход падают ящики с нашим оружием.
3. Фантомы. Создают наши копии, которые атакуют нас нашим же оружием (которое мы использовали в этот ход).
4. Ярл. Каждый ход его можно атаковать только определенным типом оружия (ближним, стрелковым, осколочным и т.д.). Также имеет помощников которые атакуют только определенными типами оружия.
5. Гравимастер. Балуется с гравитацией. Устраивает аномальные зоны в которых оружия начинают менять свои траектории.

Добавлено (10.11.2019, 19:29:58)
---------------------------------------------
Ребят. Помогите, пожалуйста. Как выдать броню червяку?))) Ато параметр "Armoured" не работает. Ставил ему и true и false и 1 и 50 и 100. Никакого эффекта... И если можно, то где находятся настройки брони (то, насколько процентов броня уменьшает урон и откидывания червяка).

 
firsacho
Админы
Сообщений: 3760
Реп: 81 / Инв: 15
Zelenium, по броне у меня тоже не получалось в свое время. Но не сильно пытался. Надо вспомнить, есть ли где в миссиях заранее броня предустановленная?

По боссам - обширные планы. Не очень понятен смысл "обычных боев" - это ж не интересно будет...
Я в свое время хотел для мультиплеера что то типа боссов делать (HERO MOD) - типа одному игроку случайному выдается один червь с суперспособностями и дофига хп, а остальные игроки должны пытаться его завалить)





Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

mod.worms.pro - мод Worms Renewation для Worms4
 
Проверенные
Сообщений: 18
Реп: 10
Не-а, в миссиях брони нету.
Обычные бои нужны для прокачки игрока + разбавления геймплея.

Добавлено (17.11.2019, 17:00:55)
---------------------------------------------
Так-с ребят. Я уже составил план, приступаю к выполнению. Мне нужна ваша помощь при чем по нескольким вопросам. Пожалуйста, если кто-то что-либо знает по поводу брони и/или функций которые отсутствуют в wormpot.lua (такие как вампиризм и ветер действует на червяков) расскажите мне. Мне очень нужны все эти вещи!

Добавлено (19.11.2019, 19:32:42)
---------------------------------------------
Ой да ладно. Неужели столько знатоков на форуме и никто ничего не знает по поводу этих вещей?((
С броней я еще могу придумать как выкрутится, а вот как сносить червяков ветром???
Памагити!

Добавлено (25.11.2019, 23:36:42)
---------------------------------------------
Так-с. Я все таки выкрутился с Фермером и выдал ему броню посредством спавна на его месте ящика с броней. А вот можно ли как-то спавнить ящики у которых отключено уведомление о том что их подняли?
Поясню. Когда начинается бой с боссом Фермером в него спавнится ящик с броней и он его мгновенно подбирает. Однако при этом выводится в середину экрана надпись "Броня" и наш червяк еще и при этом выдает анимацию смеха (+ озвучка смеха). Можно ли как-то это все отключить/замаскировать?

 
firsacho
Админы
Сообщений: 3760
Реп: 81 / Инв: 15
Цитата Zelenium ()
А вот можно ли как-то спавнить ящики у которых отключено уведомление о том что их подняли?

У меня такой задачи не было, так что не знаю наверняка, но подскажу. Анимации и озвучки можно отключать скриптом - в игре предусмотрен режим внутриигровых сценок (заставок) в котором черви не проигрывают анимаций и озвучек, чтобы можно было ставить анимацию на заставках. Но не уверен, что этот режим можно включить отдельно для одного червя и не знаю, работает ли он без широкоэкранного режима (скрытия хада за черными рамками) или же включается пакетно. 

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






Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005)
Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007)
Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)

mod.worms.pro - мод Worms Renewation для Worms4
 
Новички
Сообщений: 1
Реп: 0
[ENG/RU]
I need algorithm to apply
a) Teleport worm from defined area of map to random localisation (stdsv)
workaround: high map, add poxel to map
heres working script for campaign

Код
function Initialise()

    SetupWormsAndTeams()

    SetData("TurnTime", 30000)
    SetData("RoundTime", -1)
    SetData("Camera.StartOfTurnCamera", "Default")
    StartFirstTurn()

--~     SendMessage("GameLogic.CrateShower")
--~     SendMessage("GameLogic.CrateShower")
--~     SendMessage("GameLogic.CrateShower")
    n = 0

    lock, AIParams = EditContainer("AIParams.Worm04")
    AIParams.WeightingPreferAttackHumans = 5000
    CloseContainer(lock)
    
    lock, AIParams = EditContainer("AIParams.Worm08")
    AIParams.WeightingPreferAttackHumans = 5000
    CloseContainer(lock)
    
    lock, AIParams = EditContainer("AIParams.Worm09")
    AIParams.WeightingPreferAttackHumans = 5000
    CloseContainer(lock)
    
    lock, AIParams = EditContainer("AIParams.Worm10")
    AIParams.WeightingPreferAttackHumans = 5000
    CloseContainer(lock)
    
    local worm = QueryContainer("Worm.Data04")
    Live = worm.Energy
    
    SetWormpotModes()
    SetupInventories()
    AntiUtop()
end

function SetWormpotModes()
    SetWeaponWind("kWeaponAirstrike",true)
    SetWeaponWind("kWeaponBananaBomb",true)
    SetWeaponWind("kWeaponBananette",true)
    SetWeaponWind("kWeaponClusterBomb",true)
    SetWeaponWind("kWeaponClusterGrenade",true)
    SetWeaponWind("kWeaponConcreteDonkey",true)
    SetWeaponWind("kWeaponGasCanister",true)
    SetWeaponWind("kWeaponGrenade",true)
    SetWeaponWind("kWeaponHolyHandGrenade",true)
    SetWeaponWind("kWeaponOldWoman",true)
    SetWeaponWind("kWeaponSheep",true)
    SetWeaponWind("kWeaponScouser",true)
    SetWeaponWind("kWeaponFatkins",true)
    SetWeaponWind("kWeaponPoisonArrow",true)
    SetWeaponWind("kWeaponFactoryWeapon",true)
    SetWeaponWind("kWeaponDynamite",true)
    SetWeaponWind("kWeaponLandmine",true)
    SetWeaponWind("kWeaponSuperAirstrike",true)
end

function SetupWormsAndTeams()
-- Activate Team 0
    lock, team = EditContainer("Team.Data00")
    team.Active = true
    team.Name = "Наша команда"
    team.TeamColour = 0
-- team.IsAIControlled = true
    CloseContainer(lock) -- must close the container ASAP

-- Activate Team 1
    lock, team = EditContainer("Team.Data01")
    team.Active = true
    team.Name = "Мастер Ветра"
    team.TeamColour = 1
    team.ATT_Hat = "WXFE.A.Hat.Wizard"
    team.ATT_Glasses = "WXFE.A.Glasses.Professor"
    team.ATT_Tash = "WXFE.A.Mustache.Professor"
    team.FlagGfxName = "Flag.Wizard"
    team.IsAIControlled = true
    team.Skill = 4
    CloseContainer(lock)

-- Activate Team 2
    lock, team = EditContainer("Team.Data02")
    team.Active = true
    team.Name = "Ученики"
    team.TeamColour = 1
    team.ATT_Hat = "WXFE.A.Hat.Wizard.D"
    team.ATT_Gloves = "WXFE.A.Gloves.White.Y"
    team.FlagGfxName = "Flag.Wizard"
    team.IsAIControlled = true
    team.Skill = 3
    CloseContainer(lock) -- must close the container ASAP

-- Worm 0, Team 0
    lock, worm = EditContainer("Worm.Data00")
    worm.Active = true
    worm.Name = "Наш червяк 1"
    worm.Energy = 200
    worm.WeaponFuse = 3
    worm.WeaponIsBounceMax = false
    worm.TeamIndex = 0
    worm.Spawn = "000Human1"
    worm.SfxBankName = "voclassi"
    CloseContainer(lock)
-- Worm 1, Team 0
    CopyContainer("Worm.Data00", "Worm.Data01")
    lock, worm = EditContainer("Worm.Data01")
    worm.Name = "Наш червяк 2"
    worm.Spawn = "000Human2"
    CloseContainer(lock)
-- Worm 2, Team 0
    CopyContainer("Worm.Data00", "Worm.Data02")
    lock, worm = EditContainer("Worm.Data02")
    worm.Name = "Наш червяк 3"
    worm.Spawn = "000Human3"
    CloseContainer(lock)
-- Worm 3, Team 0
    CopyContainer("Worm.Data00", "Worm.Data03")
    lock, worm = EditContainer("Worm.Data03")
    worm.Name = "Наш червяк 4"
    worm.Spawn = "000Human4"
    CloseContainer(lock)

-- Worm 4, Team 1
    CopyContainer("Worm.Data00", "Worm.Data04")
    lock, worm = EditContainer("Worm.Data04")
    worm.Energy = 530
    worm.Name = "Мастер ветра"
    worm.SfxBankName = "vowizar"
    worm.TeamIndex = 1
    worm.Spawn = "000Master1"
    CloseContainer(lock)

-- Worm 8, Team 2
    CopyContainer("Worm.Data00", "Worm.Data08")
    lock, worm = EditContainer("Worm.Data08")
    worm.Energy = 170
    worm.Name = "Ученик"
    worm.TeamIndex = 2
    worm.SfxBankName = "vowizar"
    worm.Spawn = "000Student1"
    CloseContainer(lock)
-- Worm 9, Team 2
    CopyContainer("Worm.Data08", "Worm.Data09")
    lock, worm = EditContainer("Worm.Data09")
    worm.Name = "Ученик"
    worm.Spawn = "000Student2"
    CloseContainer(lock)
-- Worm 10, Team 2
    CopyContainer("Worm.Data08", "Worm.Data10")
    lock, worm = EditContainer("Worm.Data10")
    worm.Name = "Ученик"
    worm.Spawn = "000Student3"
    worm.ArtilleryMode = true
    CloseContainer(lock)

    SendMessage("WormManager.Reinitialise")
    
end

function SetupInventories()
-- sets up a default container and adds our selection to it
    local inventory_lock, inventory = EditContainer("Inventory.Team.Default")
    inventory.Prod = -1
    inventory.SkipGo = -1
    inventory.NinjaRope = -1
    inventory.Parachute = -1
    CloseContainer(inventory_lock)
   CopyContainer("Inventory.Team.Default", "Inventory.Team00")
   CopyContainer("Inventory.Team.Default", "Inventory.Team01")
   CopyContainer("Inventory.Team.Default", "Inventory.Team02")
   
    lock, inventory = EditContainer("Inventory.Team00")
    inventory.Bazooka = -1
    inventory.Grenade = -1
    inventory.ClusterGrenade = -1
    inventory.Dynamite = 1
    inventory.FirePunch = 2
    inventory.HolyHandGrenade = 1
    inventory.HomingMissile = 1
    inventory.Jetpack = 1
    inventory.Landmine = 2
    inventory.ChangeWorm = 1
    inventory.Shotgun = 2
    inventory.Sheep = 1
    inventory.Airstrike = 1
    inventory.GasCanister  = 1
    inventory.BaseballBat = 1
    CloseContainer(lock)
    
    lock, delays = EditContainer("Inventory0.WeaponDelays")
    delays.Dynamite = 1
    delays.HolyHandGrenade = 5
    delays.HomingMissile = 3
    delays.Landmine = 2
    delays.Shotgun = 2
    delays.Sheep = 4
    delays.Airstrike = 4
    CloseContainer(lock)
    
    lock, inventory = EditContainer("Inventory.Team01")
    inventory.Bazooka = 6
    inventory.Grenade = 4
    inventory.ClusterGrenade = -1
    inventory.Dynamite = 1
    inventory.FirePunch = 2
    inventory.HolyHandGrenade = 1
    inventory.HomingMissile = 1
    inventory.Shotgun = 1
    inventory.GasCanister  = 1
    CloseContainer(lock)
    
    lock, delays = EditContainer("Inventory1.WeaponDelays")
    delays.Grenade = 2
    delays.HolyHandGrenade = 6
    delays.HomingMissile = 4
    delays.Shotgun = 3
    CloseContainer(lock)
    
    lock, inventory = EditContainer("Inventory.Team02")
    inventory.Bazooka = 3
    inventory.Grenade = 2
    inventory.ClusterGrenade = -1
    inventory.Dynamite = 1
    inventory.FirePunch = 1
    inventory.Shotgun = 1
    inventory.BananaBomb = 1
    CloseContainer(lock)
    
    lock, delays = EditContainer("Inventory2.WeaponDelays")
    delays.Bazooka = 2
    delays.Grenade = 4
    delays.BananaBomb = 7
    delays.Shotgun = 1
    CloseContainer(lock)
end

function Crate_Collected()
end

function DoWormpotOncePerTurnFunctions()
end

function SpawnCrate()
    SetData("Crate.Spawn", "CrateSpawn1")
    SetData("Crate.Type", "Utility")
    SetData("Crate.Contents", "kUtilityCrateShower")
    SetData("Crate.NumContents", 1)
    SetData("Crate.Index", 0)
    SetData("Crate.GroundSnap", 1)
    SendMessage("GameLogic.CreateCrate")
end

function SetWind() -- Keeps the wind nice and calm or the player.
    local nTeam = GetData("CurrentTeamIndex")
    local worm = QueryContainer("Worm.Data04")
    Live = worm.Energy
    
    if nTeam == 0 and Live > 0 then
    
    local myRandomInteger = lib_GetRandom(0, 9)
       WindCap = GetData("Wind.Cap")/10
       RandomNumber = GetData("RandomNumber.Float")
       MaxWind = GetData("Wind.MaxSpeed")
       SetData("Wind.Speed", ((WindCap*RandomNumber*RandomNumber*MaxWind)+0.0000425)*3)
       SetData("Wind.Direction", myRandomInteger)  -- Values use for the windspeed
        
     else
     
    local myRandomInteger = lib_GetRandom(0, 9)
       WindCap = GetData("Wind.Cap")/10
       RandomNumber = GetData("RandomNumber.Float")
       MaxWind = GetData("Wind.MaxSpeed")
       SetData("Wind.Speed", (WindCap*RandomNumber*RandomNumber*MaxWind)/2)
       SetData("Wind.Direction", myRandomInteger)  -- Values use for the windspeed
        
    end
    
end

function SetWeaponWind(ContainerName, IsAffectedByWind)
    local ContainerLock, Container = EditContainer(ContainerName)
    Container.IsAffectedByWind = IsAffectedByWind
    CloseContainer(ContainerLock)
end

function DoOncePerTurnFunctions()
       SendMessage("GameLogic.StartMineFactory")
    DoWormpotOncePerTurnFunctions()
    SetWind()
    SuperWeapon()
end

function AntiUtop()
    local worm = QueryContainer("Worm.Data04")

    SetData("Text.TestComment",worm.Position)
    lib_SubString("Text.TestComment","Text.TestComment","(","WVector = {")
    lib_SubString("Text.TestComment","Text.TestComment",")","}")
      
    local TextTable = GetData("Text.TestComment")
    assert(loadstring(TextTable))()
    if WVector.y<5 and worm.Energy > 30 then
        local worm = QueryContainer("Worm.Data04")
        local hpbossa = worm.Energy - 30
        local poisonbossa = worm.PendingPoison
        SendIntMessage("WXWormManager.UnspawnWorm", 4)
        local lock, EditWorm = EditContainer(lib_GetWormContainerName(4))
           EditWorm.Energy = hpbossa
           EditWorm.Active = true
        EditWorm.Spawn = "spawn"
        EditWorm.PendingPoison = poisonbossa
        CloseContainer(lock)
        SendIntMessage("Worm.Respawn", 4)
    end
    StartTimer("AntiUtop", 5)
end

function SuperWeapon()
    local nTeam = GetData("CurrentTeamIndex")
    if nTeam == 0 and Live > 0 then
        n = n + 1
        if (n - 5) == 0 then
            lock, delays = EditContainer("Inventory1.WeaponDelays")
            delays.Bazooka = delays.Bazooka+1
            delays.Grenade = delays.Grenade+1
            delays.Dynamite = delays.Dynamite+1
            delays.FirePunch = delays.FirePunch+1
            delays.HolyHandGrenade = delays.HolyHandGrenade+1
            delays.HomingMissile = delays.HomingMissile+1
            delays.Shotgun = delays.Shotgun+1
            delays.GasCanister  = delays.GasCanister+1
            CloseContainer(lock)
    
            lock, weapon = EditContainer("kWeaponClusterGrenade")
            weapon.NumBomblets = 15
            CloseContainer(lock)
        end
        if n == 5 then
            n = n - 5
        end
    else
        lock, weapon = EditContainer("kWeaponClusterGrenade")
        weapon.NumBomblets = 4
        CloseContainer(lock)
    end
end


My try at stdsv, please correct me


Код
function AntiUtop()
    local worm = QueryContainer("ActiveWormIndex")

    SetData("Text.TestComment",worm.Position)
    lib_SubString("Text.TestComment","Text.TestComment","(","WVector = {")
    lib_SubString("Text.TestComment","Text.TestComment",")","}")
      
    local TextTable = GetData("Text.TestComment")
    assert(loadstring(TextTable))()
    if WVector.y<5 and worm.Energy > 30 then
        local worm = QueryContainer("ActiveWormIndex")
        local hpbossa = worm.Energy + 30
        SendIntMessage("WXWormManager.UnspawnWorm", 4)
        local lock, EditWorm = EditContainer(lib_GetWormContainerName(4))
           EditWorm.Energy = hpbossa
           EditWorm.Active = true
        EditWorm.Spawn = "spawn"
        CloseContainer(lock)
        SendIntMessage("Worm.Respawn", 4)
    end
    StartTimer("AntiUtop", 5)
end

Other related problems

b) make positive damages after using a weapon (wormpot) (using if ?) (stdsv)
workaround: damage for both players

you can give me working example of function

c) Display a text in given coordinates (stdsv)
workaround: custom texture

d) Respawn worm that died after water impact or at least infinite mode (worm.dead ?) (stdsv)

e) Camera text before deathmatch (stdsv and mission)

f) Camera text after collecting crate that drops after several turns (stdsv and mission)

g) make teams for deatmatch from lua rather than in-game logic for easier operating (mission)

h) for g) After defeat of team display camera text (stdsv, mission)

i) Custom shotting challenge - link (mission)
https://www.youtube.com/watch?v=PjoCj0tX8DI

j) Custom shotting challenge - infinite mode without sticky mode (mission) -> that should be easier one
a workaround: simply shorten time of turn skip,

k) Destruction mode custom maps??? How? I managed only to have survival ones. (not lua)

Maybe someone is familiar with some simple hacks via lua. IDK, you can give me working examples/files of luas. Basic problem is to adopt code into stdvs or wormpot whatever is simplier.

Translation as attachment
Прикрепления: Translation.txt(29.1 Kb)
 
Форум » Worms 4: Mayhem » 5.2. Вопросы по скриптингу » Боссы (Помощь нубу по боссам =))
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: