Скрипты - Страница 75 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 75 из 260
 
Опции темы
#1111
Старый 03.04.2013, 19:47
  #1111
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
По умолчанию
Re: Скрипты

ну, я немного неправильно написал. Я имел ввиду, что всех построек. Т.е 1 уровня вообще. Хотя, собственно говоря, вышеуказанная функция все-равно пригодилась бы, и пришлось бы спрашивать отдельно. Так что, все отлично =)
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1112
Старый 05.04.2013, 17:07
  #1112
^
Олегарх
 
Аватар для Олегарх
📖
Регистрация: 02.12.2011
Сообщения: 294
Регистрация: 02.12.2011
Сообщения: 294
По умолчанию
Re: Скрипты

Как скриптом перенести объект на заданную z?
__________________
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Олегарх вне форума
Ответить с цитированием
#1113
Старый 08.04.2013, 22:06
  #1113
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
По умолчанию
Re: Скрипты

давно интересно было:
-А как поведет себя ИИ, если он наткнется на объект/триггер с message/question боксами и выбором ответа, например, после которого будет наступать схватка? Я все время делаю в данном случае проверку на текущего игрока, но вообще...?
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1114
Старый 08.04.2013, 22:16
  #1114
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1115
Старый 09.04.2013, 19:54
  #1115
^
Heroist
 
Аватар для Heroist
📖
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 14599
Выставка наград
По умолчанию
Re: Скрипты

т.е все эти боксы будут адресованы человеку? А если игроков несколько, то всем? Хм...печально. Я думал, можно обойтись без проверки...
__________________
Whatever
Whatever
Heroist вне форума
Ответить с цитированием
#1116
Старый 12.04.2013, 08:38
  #1116
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

Есть ли возможность вырезать элементы массива с уменьшением длины массива на количество вырезанных элементов?
Dyrman вне форума
Ответить с цитированием
#1117
Старый 12.04.2013, 08:56
  #1117
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Можно так
	function cut(array, index)
	local ar
	for i, e in array do
		if i ~= index then
			ar[i] = e
		end
	end
	return ar
end
например, операция mass=cut(mass, 0) удалит элемент с индексом 0 и функция length для этого массива даст число на 1 меньше.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1118
Старый 12.04.2013, 09:30
  #1118
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

RedHeavenHeroМожно так
	function cut(array, index)
	local ar
	for i, e in array do
		if i ~= index then
			ar[i] = e
		end
	end
	return ar
end

Это же не то: из старого элемент не удаляется .
Dyrman вне форума
Ответить с цитированием
#1119
Старый 12.04.2013, 09:38
  #1119
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Вот такая прокатит
	function cut(array, index)
	local ar = {}
	for i, e in array do
		if i ~= index then
			ar[i] = e
		end
	end
	return ar
end
mass=cut(mass, 0)
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1120
Старый 12.04.2013, 09:41
  #1120
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

RedHeavenHeroВот такая прокатит
	function cut(array, index)
	local ar = {}
	for i, e in array do
		if i ~= index then
			ar[i] = e
		end
	end
	return ar
end
mass=cut(mass, 0)
То есть стандартной нет? Перебор массива само по себе жрущее действо.
А если потом добавить элемент массива? Ручками писать сдвиг? )))
Dyrman вне форума
Ответить с цитированием
#1121
Старый 12.04.2013, 09:45
  #1121
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Стандартной нет.
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
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1122
Старый 12.04.2013, 09:52
  #1122
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

RedHeavenHeroЗачем?
Ну тип такого:
	function add(array, index, change)
	local ar = {}
        local f = 0;
	for i, e in array do
		if i == index then
			ar[i] = change; 
                        f = 1;                         
		end
                if f == 1 then        
                         ar[i+1]= e;
                else
                         ar[i]= e;
                end;
	end
	return ar
end


Добавлено через 4 минуты
RedHeavenHeroСтандартной нет.
Печально Ручками то написать можно что угодно, но это уже не то...
Dyrman вне форума
Ответить с цитированием
#1123
Старый 12.04.2013, 10:00
  #1123
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

DyrmanНу тип такого:
	function add(array, index, change)
	local ar = {}
	local f = 0;
	for i, e in array do
		if i == index then
			ar[i] = change; 
                        f = 1;                         
		end
                if f == 1 then        
                         ar[i+1]= e;
                else
                         ar[i]= e;
                end;
	end
	return ar
end
То есть нужен массив, в котором все индексы - целые числа, отличающиеся друг от друга на 1, и можно было вставлять новые элементы между другими и удалять старые со сдвигом?
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1124
Старый 12.04.2013, 10:13
  #1124
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

RedHeavenHeroТо есть нужен массив, в котором все индексы - целые числа, отличающиеся друг от друга на 1, и можно было вставлять новые элементы между другими и удалять старые со сдвигом?
Верно. Но это и самому несложно написать, а вот была бы возможность использования мач\тэйбл или чего тама библиотеки бы ....

Добавлено через 5 минут
А индекс можно задавать строковым?
Типа:
	 array = {"Chupa" = 0, "Lapa" = 2,"Nuba" = 0, "Roma" = 2}
Dyrman вне форума
Ответить с цитированием
#1125
Старый 12.04.2013, 10:19
  #1125
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

DyrmanВерно. Но это и самому несложно написать, а вот была бы возможность использования мач\тэйбл или чего тама библиотеки бы ....

Добавлено через 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
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
Ответ
Страница 75 из 260


Опции темы



Часовой пояс GMT +4, время: 20:58.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru