Перейти к содержанию

Сообщения от Скрипты

Аватар пользователя
ну, я немного неправильно написал. Я имел ввиду, что всех построек. Т.е 1 уровня вообще. Хотя, собственно говоря, вышеуказанная функция все-равно пригодилась бы, и пришлось бы спрашивать отдельно. Так что, все отлично =)

Whatever
В ответ пользователю Heroist
Аватар пользователя
Как скриптом перенести объект на заданную z?
Мои карты:
Town
Готовится:Чума (40%), Сосиска(42%), Война Грааля
Аватар пользователя
давно интересно было:
-А как поведет себя ИИ, если он наткнется на объект/триггер с message/question боксами и выбором ответа, например, после которого будет наступать схватка? Я все время делаю в данном случае проверку на текущего игрока, но вообще...?

Whatever
В ответ пользователю Heroist
Аватар пользователя
Какой бы месадж бокс не появлялся, всё равно он будет показан игроку-человеку. Ну, а бой будет запускаться по-обычному.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
т.е все эти боксы будут адресованы человеку? А если игроков несколько, то всем? Хм...печально. Я думал, можно обойтись без проверки...

Whatever
Аватар пользователя
Есть ли возможность вырезать элементы массива с уменьшением длины массива на количество вырезанных элементов?
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
Аватар пользователя
Можно так
function cut(array, index)
local ar
for i, e in array do
if i ~= index then
ar= e
end
end
return ar
end
например, операция mass=cut(mass, 0) удалит элемент с индексом 0 и функция length для этого массива даст число на 1 меньше.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
RedHeavenHero
Можно так
function cut(array, index)
local ar
for i, e in array do
if i ~= index then
ar= e
end
end
return ar
end

Это же не то: из старого элемент не удаляется .
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
Аватар пользователя
Вот такая прокатит
function cut(array, index)
local ar = {}
for i, e in array do
if i ~= index then
ar= e
end
end
return ar
end
mass=cut(mass, 0)
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
RedHeavenHero
Вот такая прокатит
function cut(array, index)
local ar = {}
for i, e in array do
if i ~= index then
ar= e
end
end
return ar
end
mass=cut(mass, 0)
То есть стандартной нет? Перебор массива само по себе жрущее действо.
А если потом добавить элемент массива? Ручками писать сдвиг? )))
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
Аватар пользователя
Стандартной нет.
length кстати тоже нестандартная
function length(array)
local count = 0
for index, element in array do
count = count + 1
end
return count
end
так она определена в common.lua
А если потом добавить элемент массива? Ручками писать сдвиг? )))
Зачем?
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
RedHeavenHero

Зачем?
Ну тип такого:
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


Добавлено через 4 минуты
RedHeavenHero
Стандартной нет.
Печально :( Ручками то написать можно что угодно, но это уже не то...
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
Аватар пользователя
Dyrman
Ну тип такого:
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
То есть нужен массив, в котором все индексы - целые числа, отличающиеся друг от друга на 1, и можно было вставлять новые элементы между другими и удалять старые со сдвигом?
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
RedHeavenHero
То есть нужен массив, в котором все индексы - целые числа, отличающиеся друг от друга на 1, и можно было вставлять новые элементы между другими и удалять старые со сдвигом?
Верно. Но это и самому несложно написать, а вот была бы возможность использования мач\тэйбл или чего тама библиотеки бы .... :rolleyes:

Добавлено через 5 минут
А индекс можно задавать строковым?
Типа:
array = {"Chupa" = 0, "Lapa" = 2,"Nuba" = 0, "Roma" = 2}
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
Аватар пользователя
Dyrman
Верно. Но это и самому несложно написать, а вот была бы возможность использования мач\тэйбл или чего тама библиотеки бы .... :rolleyes:

Добавлено через 5 минут
А индекс можно задавать строковым?
Можно, но только крайне нежелательно путать строки с числами, совать значения с индексами "0" и 0 в один массив. Строковый индекс можно задать двумя способами:
array["string"] = element
array.string = element
но во втором случае string должен соответствовать стандартам имён обычных переменных.

array = {["Chupa"] = 0, ["Lapa"] = 2, ["Nuba"] = 0, ["Roma"] = 2}
или
array = {Chupa = 0, Lapa = 2, Nuba = 0, Roma = 2}
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4

Статистика

Приветствуем новейшего участника: Emil

Сейчас на сайте 8 пользователей 1341 гостей