Внезапная смерть
|
|
Сообщений: 2848
|
Опубликовано: 25.01.2011, 18:31:54
В какой-то теме обсуждалось создание новой внезапной смерти. Я решил взяться за создание армагеддона (как в предыдущих играх серии). Но столкнулся с проблемой. Я покопался в stdvs.lua и нашел место, отвечающее за внезапную смерть. Я заменил один из вариантов внезапной смерти (тот, где у червей становится 1 хп), но в игре ничего не изменилось. Просто по истечении времени таймера у всех червей хп становится 1, а функция, вписанная мной не выполняется. Вопрос: в чем проблема?
------------------------------------------------------------- And when the sun is shining, there is justice for all... And all the people will remember that funny "war". War, which was so dark in the beginning and so shiny in the end. But now it's over. Over for all. ------------------------------------------------------------- Я сюда захожу только из-за Game Project. И да, я больше не модер, поэтому не надо писать мне тонны лс с просьбами кого-либо забанить. И еще: черви меня не интересуют. Совсем. Поэтому, даже не напоминайте мне про них - вызовете большой БУГУРТ.
|
|
|
|
Сообщений: 414
|
Опубликовано: 25.01.2011, 18:36:07
Ты где изменял?
|
|
|
|
|
Сообщений: 341
|
Опубликовано: 25.01.2011, 19:52:59
Думаю что тебя наведёт на мысль то что когда у червей становиться 1 хп(Внезапная смерть), то вода тоже поднимается. Может вопрос в этом?
My Little Pony
|
|
|
|
|
Сообщений: 341
|
Опубликовано: 25.01.2011, 21:50:34
rocketvadim, у меня поднималась. Я с другом в трен играл, я островв посторил, потом была внезапная смерть и мой остров затопило. Но мы не вытерпели и вышли из игры. Или зачем спрашивается как быстро будет подниматся вода когда выбираешь внезапную смерть у всех 1 хп?
My Little Pony
|
|
|
|
|
Сообщений: 1240
|
Опубликовано: 26.01.2011, 00:34:31
Когда пишешь луа скрипт, его можно отлаживать, выводя comment-сообщения. пробуй их вставлять, чтобы узнать, выполняется ли строка кода или нет.
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 3813
|
Опубликовано: 26.01.2011, 00:38:35
Quote (rocketvadim) Я заменил один из вариантов внезапной смерти (тот, где у червей становится 1 хп), но в игре ничего не изменилось. Просто по истечении времени таймера у всех червей хп становится 1, а функция, вписанная мной не выполняется. Вопрос: в чем проблема? Приведи в данной теме код того что ты прописал в луа скрипт. Сложно говорить в чем причина, когда не видишь проблему)
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
mod.worms.pro - мод Worms Renewation для Worms4
|
|
|
|
Сообщений: 818
|
Опубликовано: 26.01.2011, 10:49:59
да =) код в студию =)))
Всё что ни делается, делается в Китае(SW_Krash, 2009) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008) Я отрицаю вашу реальность и заменяю её своей!(Адам Севидж, 200x) OFFTOP SWEAT OFFTOP(фольклор)
|
|
|
|
Сообщений: 2848
|
Опубликовано: 26.01.2011, 17:01:55
ок. я решил сделать армагеддон путем создания нескольких авиа ударов. Я взял функцию lib_CreateAirStrike(направление, цель, оружие). направление я прописал 90 (это ведь градусы, не так ли?), в цель поставил Worm00, оружие взял Grenade. А теперь коды. То, что было: Code function StartSuddenDeath() -- called at start if No game timer
-- Set Sudden Death Options -- (0 = One health, 1 = Water rise, 2 = GameOver)
StartedSuddenDeath = true
local scheme = QueryContainer("GM.SchemeData") if scheme.SuddenDeath == 0 then SendMessage("Comment.SuddenDeath") lib_SetAllWormsEnergy(1) -- unecessary (we can switch it on and off by the later level rise button) elseif scheme.SuddenDeath == 1 then SendMessage("Comment.SuddenDeath") elseif scheme.SuddenDeath == 2 then RoundOver() SendMessage("GameLogic.Draw") end -- Set Water Rise Speed -- (0 = No Rise, 1 = Slow rise, 2 = Medium rise, 3 = fast rise) if scheme.WaterSpeed == 0 then SetData("Water.RiseSpeed.Current", 0) elseif scheme.WaterSpeed == 1 then SetData("Water.RiseSpeed.Current", GetData("Water.RiseSpeed.Slow") ) elseif scheme.WaterSpeed == 2 then SetData("Water.RiseSpeed.Current", GetData("Water.RiseSpeed.Medium") ) elseif scheme.WaterSpeed == 3 then SetData("Water.RiseSpeed.Current", GetData("Water.RiseSpeed.Fast") ) end
end То, что стало: Code function StartSuddenDeath() -- called at start if No game timer
-- Set Sudden Death Options -- (0 = One health, 1 = Water rise, 2 = GameOver)
StartedSuddenDeath = true
local scheme = QueryContainer("GM.SchemeData") if scheme.SuddenDeath == 0 then SendMessage("Comment.SuddenDeath") lib_CreateAirstrike(90, Worm00, Grenade) -- unecessary (we can switch it on and off by the later level rise button) elseif scheme.SuddenDeath == 1 then SendMessage("Comment.SuddenDeath") elseif scheme.SuddenDeath == 2 then RoundOver() SendMessage("GameLogic.Draw") end -- Set Water Rise Speed -- (0 = No Rise, 1 = Slow rise, 2 = Medium rise, 3 = fast rise) if scheme.WaterSpeed == 0 then SetData("Water.RiseSpeed.Current", 0) elseif scheme.WaterSpeed == 1 then SetData("Water.RiseSpeed.Current", GetData("Water.RiseSpeed.Slow") ) elseif scheme.WaterSpeed == 2 then SetData("Water.RiseSpeed.Current", GetData("Water.RiseSpeed.Medium") ) elseif scheme.WaterSpeed == 3 then SetData("Water.RiseSpeed.Current", GetData("Water.RiseSpeed.Fast") ) end
end
------------------------------------------------------------- And when the sun is shining, there is justice for all... And all the people will remember that funny "war". War, which was so dark in the beginning and so shiny in the end. But now it's over. Over for all. ------------------------------------------------------------- Я сюда захожу только из-за Game Project. И да, я больше не модер, поэтому не надо писать мне тонны лс с просьбами кого-либо забанить. И еще: черви меня не интересуют. Совсем. Поэтому, даже не напоминайте мне про них - вызовете большой БУГУРТ.
Сообщение отредактировал rocketvadim - СР, 26.01.2011, 17:04:54
|
|
|
|
Сообщений: 818
|
Опубликовано: 26.01.2011, 19:40:19
lib_CreateAirStrike - нет гарантии что это рабочая функция... хотя... нужно провести эксперимент... в скрипте lib_help заменить старую функция на ниже приведённую... и попробовать использовать воздушный удар... толстяка, бычий блиц... и посмотреть результат Code function lib_CreateAirstrike(direction, target, weapon) SetData("Text.TestComment", direction..target..weapon) SetData("CommentaryPanel.Comment", "Text.TestComment") SendMessage("CommentaryPanel.ScriptText") SetData("Airstrike.Direction.Radians", direction) SetData("Airstrike.TargetEntity", target) SetData("Airstrike.WeaponProperties", weapon) SendMessage("GameLogic.CreateAirstrike") end Если мой скрипт не заработает... (эито врятли но может быть) нужно заменить строчку SetData("Text.TestComment", direction..target..weapon) на строчку SetData("Text.TestComment", 'zarabotalo') Кто первый сделает тот молодец =)
Всё что ни делается, делается в Китае(SW_Krash, 2009) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008) Я отрицаю вашу реальность и заменяю её своей!(Адам Севидж, 200x) OFFTOP SWEAT OFFTOP(фольклор)
|
|
|
|
|
Сообщений: 818
|
Опубликовано: 26.01.2011, 20:13:25
оставь функцию и играй =) может когда-нить вылезет каммент... хотя наврятли... а пока что можно считать функцию мёртвой =))) хотя может как-то её оживит =) дерзайте =)
Всё что ни делается, делается в Китае(SW_Krash, 2009) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008) Я отрицаю вашу реальность и заменяю её своей!(Адам Севидж, 200x) OFFTOP SWEAT OFFTOP(фольклор)
|
|
|
|
|
Сообщений: 523
|
Опубликовано: 26.01.2011, 20:50:14
CreateAirstrike is not bad idea. For work this need be in map Dummy with lib Axis. For example dummy have name Comet 1. So function CreateAirstrike() SetData("Airstrike.Direction.Radians", 3.14) SetData("Airstrike.TargetEntity", "Comet1") SetData("Airstrike.WeaponProperties", "kWeaponAirstrike") SendMessage("GameLogic.CreateAirstrike") end Know because this function is used in worms3d map ice,ice maybe :)
|
|
|
|
Сообщений: 2848
|
Опубликовано: 26.01.2011, 22:14:40
mambaczarna, oh, yes! I wrote your parametres into the script. It still doesn't work full, but there is a change. Airstrike does'nt appear, but worms' HP doesn't change! And SW_Krash's comment appears! I think, problem is in the dummy. I'll try to fix it. Перевод: О, да! Я ввел параметры, данные Woitekom. Воздушного удара не появилось, но зато хп червей не изменилось и комментарий SW_Krash'a появился. Я думаю, проблема с отсутствием айрстрайка в болванке. Я попытаюсь ее исправить. Добавлено (26.01.2011, 22:14) --------------------------------------------- Только что нашел еще один интересный баг. После выполнения скрипта ход не кончается. Ни после применения оружия, ни даже после утопления червяка.
------------------------------------------------------------- And when the sun is shining, there is justice for all... And all the people will remember that funny "war". War, which was so dark in the beginning and so shiny in the end. But now it's over. Over for all. ------------------------------------------------------------- Я сюда захожу только из-за Game Project. И да, я больше не модер, поэтому не надо писать мне тонны лс с просьбами кого-либо забанить. И еще: черви меня не интересуют. Совсем. Поэтому, даже не напоминайте мне про них - вызовете большой БУГУРТ.
|
|
|
|
Сообщений: 1240
|
Опубликовано: 26.01.2011, 23:50:27
Quote (SW_Krash) а пока что можно считать функцию мёртвой =))) Не факт - если она нигде не вызывается - не значит она мёртвая, просто не используется. Quote (rocketvadim) 90 (это ведь градусы, не так ли?) Не факт, ибо это может быть радианы, то есть вместо 90 надо написать 90*(3.14/180)
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 1240
|
Опубликовано: 26.01.2011, 23:53:00
Quote (rocketvadim) Только что нашел еще один интересный баг. После выполнения скрипта ход не кончается. Ни после применения оружия, ни даже после утопления червяка. Признак того, что строка кода приводит к ошибке. То есть нет синтаксической ошибки, а ошибка в использовании функции или ещё чего-то. Найти строчку кода, которая даёт ошибку легко - надо выводить комменты (1, 2, 3, ... ) между каждыми строками кода. Какого числа не будет - там и ошибка.
________________________ __|____|____|____|____|__ |____|____|____|____|____| __|___бицца головой___|__ |____|____|сюда|____|____| __|____|____|____|____|__ |____|____|____|____|____|
|
|
|
|
Сообщений: 2848
|
Опубликовано: 27.01.2011, 00:05:55
Quote (Герыч) Не факт, ибо это может быть радианы, то есть вместо 90 надо написать 90*(3.14/180) я написал 3.14, как у Woiteka. Quote (Герыч) Признак того, что строка кода приводит к ошибке. То есть нет синтаксической ошибки, а ошибка в использовании функции или ещё чего-то. Найти строчку кода, которая даёт ошибку легко - надо выводить комменты (1, 2, 3, ... ) между каждыми строками кода. Какого числа не будет - там и ошибка. В какой строке кода ошибка я знаю, я менял только одну строку. Скорее всего, я неправильно указал один из параметров. Надо понять, что конкретно я указал неправильно: направление, цель или оружие. Направление 3.14, цель - какой-то эмиттер с карты, оружие - kWeaponAirStrike.
------------------------------------------------------------- And when the sun is shining, there is justice for all... And all the people will remember that funny "war". War, which was so dark in the beginning and so shiny in the end. But now it's over. Over for all. ------------------------------------------------------------- Я сюда захожу только из-за Game Project. И да, я больше не модер, поэтому не надо писать мне тонны лс с просьбами кого-либо забанить. И еще: черви меня не интересуют. Совсем. Поэтому, даже не напоминайте мне про них - вызовете большой БУГУРТ.
|
|
|
|