[ Обновленные темы · Новые сообщения · Участники · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Моддинг » 5.2. Вопросы по скриптингу » Проверка активности червя.
Проверка активности червя.
firsacho
Админы
Сообщений: 3812
Реп: 84 / Инв: 15
Мне нужно как то из функции проверить активен ли червь в данный момент (мертв ли он).

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

В игра есть функция function Worm_Died() но в нее я влезать не хочу. Мне надо как то через if проверить жив ли червь или нет.

Вопрос к тем не многим, кто хоть что то в lua понимает.




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

mod.worms.pro - мод Worms Renewation для Worms4
 
Герыч
Админы
Сообщений: 1240
Реп: 60 / Инв: 5
А всё же почему в Worm_Died просто не заполнять луа-табличку из boolean?

wormalive[id] = false

а где проверку надо - if wormalive[id] then

Достаточно просто.


________________________
__|____|____|____|____|__
|____|____|____|____|____|
__|___бицца головой___|__
|____|____|сюда|____|____|
__|____|____|____|____|__
|____|____|____|____|____|
 
firsacho
Админы
Сообщений: 3812
Реп: 84 / Инв: 15
ну это само-собой. Просто не хочется лишними кодами перегружать скрипт, не красиво как то.
Подумал что должно быть по-хорошему какое-нибудь стандартное свойство.... раз уж ты не знаешь, значит его точно нет(




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

mod.worms.pro - мод Worms Renewation для Worms4
 
firsacho
Админы
Сообщений: 3812
Реп: 84 / Инв: 15
Появилась мысль проверять таймер хода. Когда червяк неактивен - таймер вырубается. Вечером - проверю.



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

mod.worms.pro - мод Worms Renewation для Worms4
 
firsacho
Админы
Сообщений: 3812
Реп: 84 / Инв: 15
Проблема решена...
Проверка таймера
Code
if GetData("TurnTimeRemaining")>0 then
ничего не дала, т.к. оказалось что время не обнуляется при нанесении урона себе или смерти (потеря активности)

Тогда я сделал так:
1. Включил счетчик в хаде
Code
SetData("HUD.Counter.Active", 1)

2. Зациклил в счетчике вывод значения текущего номера активного червя
Code
function Proverka()
local MyTest = GetData("ActiveWormIndex")
SetData("HUD.Counter.Value", MyTest)
   StartTimer("Proverka", 100)
end

Обнаружилось, что во время потери активности червя значение GetData("ActiveWormIndex") меняется на -1
4. Сделал проверку
Code
if GetData("ActiveWormIndex")>=0 then




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

mod.worms.pro - мод Worms Renewation для Worms4
 
Форум » Моддинг » 5.2. Вопросы по скриптингу » Проверка активности червя.
  • Страница 1 из 1
  • 1
Поиск: