Posts from Scripts
-How will the AI behave if it encounters an object/trigger with message/question boxes and answer choices, for example, after which a battle will begin? I always do a check for the current player in this case, but is there another way...?
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
NHF 0.90 : NHF - группа в VK
Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
function cut(array, index)
local ar
for i, e in array do
if i ~= index then
ar= e
end
end
return ar
end
For example, the operation mass=cut(mass, 0) will remove the element with index 0, and the length function for this array will return a number that is 1 less.
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
You can do it like this:function cut(array, index)
local ar
for i, e in array do
if i ~= index then
ar= e
end
end
return ar
end
But this isn't quite right: the element isn't removed from the original array.
NHF 0.90 : NHF - группа в VK
Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Would something like this work?function cut(array, index) local ar = {} for i, e in array do if i ~= index then ar[i] = e end end return ar end
NHF 0.90 : NHF - группа в VK
Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
length is also not standard.
function length(array)
local count = 0
for index, element in array do
count = count + 1
end
return count
end
It is defined this way in common.lua.
What if you add an array element later? Will you have to manually write the shift? )))
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Why?
function add(array, index, change)
local ar = {}
local f = 0;
for i, e in array do
if i == index then
ar= change;
f = 1;
end
if f == 1 then
ar[i+1]= e;
else
ar= e;
end;
end
return ar
endAdded 4 minutes later
There isn't a standard one.
NHF 0.90 : NHF - группа в VK
Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
Something like this:function add(array, index, change)
local ar = {}
local f = 0;
for i, e in array do
if i == index then
ar= change;
f = 1;
end
if f == 1 then
ar[i+1]= e;
else
ar= e;
end;
end
return ar
end
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
So, you need an array where all indices are integers, differing from each other by 1, and it should be possible to insert new elements between others and delete old ones with shifting?
Added 5 minutes later
And can the index be a string?
Like this:
array = {"Chupa" = 0, "Lapa" = 2,"Nuba" = 0, "Roma" = 2}
NHF 0.90 : NHF - группа в VK
Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
That's right. But it's not difficult to write it yourself, but it would be great to have the ability to use a match table or some kind of library... :rolleyes:
Added 5 minutes later
Can the index be assigned as a string?
array["string"] = element
array.string = element
but in the second case, string must conform to the standards of ordinary variable names.
array = {["Chupa"] = 0, ["Lapa"] = 2, ["Nuba"] = 0, ["Roma"] = 2}
or
array = {Chupa = 0, Lapa = 2, Nuba = 0, Roma = 2}
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4