NHF - новые герои для Heroes V 3.1 - Страница 117 - Форум HeroesWorld-а

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

Ответ
Страница 117 из 348
 
Опции темы
#1741
Старый 16.02.2015, 20:36
  #1741
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Хм... Не знаю, но, делая карты для одиночной игры, всегда ставлю sleep() после создания чего-либо (монстра, каравана, и т.д.) или после постановки героя на карту. Иначе следующая функция не видит созданный объект и вызывает ошибку, причём всегда. Многие функции так себя ведут, а, может, и все.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1742
Старый 16.02.2015, 23:16
  #1742
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Плохо всё это)))
В мульте то почему тогда иначе))
Чтобы рассинхрона не было что ли?

Добавлено через 43 секунды
Сделать тогда sleep(time) , где time выше, если сингл?

Добавлено через 2 минуты
Например, тестировал sleep() и sleep(0.1), и sleep(1)
Первая иногда не успевает. Вторая норм, третья долго))
Точно он отбрасывает дробь? Что-то тут не так. Мульт.
Dyrman вне форума
Ответить с цитированием
#1743
Старый 17.02.2015, 00:28
  #1743
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Например, тестировал sleep() и sleep(0.1), и sleep(1)
Первая иногда не успевает. Вторая норм, третья долго))
Точно он отбрасывает дробь? Что-то тут не так. Мульт.
sleep() - аналог sleep(1)
sleep(0.1) - аналог sleep(intg(0.1)) т.е. sleep(0)
Сейчас пробовал простенький скриптик
	for i=1,1000 do
	print(""..i)
	sleep(1)
	print(""..i)
	sleep(.999)
end

Режим - сетевая. Числа появляются парами - синий i-1 и красный i - с интервалом в 1/5 сек.
Если бы слип воспринимал дробные, то числа появлялись поодиночке.

Добавлено через 48 минут
Вот более наглядный пример.
	while 1 do
	local effect = "/Effects/_(Effect)/Spells/Bloodlust.xdb#xpointer(/Effect)"
	for i=1,20 do
		PlayVisualEffect(effect, '', '', 24+i, 20)
		sleep(.999)
	end
	for i=1,20 do
		PlayVisualEffect(effect, '', '', 24+i, 24)
		sleep(1)
	end
	sleep(20)
end
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1744
Старый 17.02.2015, 00:45
  #1744
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

А проверить слипы на различие в сингле и мульте? Или же функции.
Dyrman вне форума
Ответить с цитированием
#1745
Старый 17.02.2015, 01:06
  #1745
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Что мешает поставить sleep(1) после создания эльфа?

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

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

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

Так после создания каждого придётся.
Dyrman вне форума
Ответить с цитированием
#1747
Старый 17.02.2015, 12:26
  #1747
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 31052
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 31052
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Зачем после каждого? ) После того, как все новые имена в массив занесёшь, нет? Или ты иначе как-то сделал?
Ment вне форума
Ответить с цитированием
#1748
Старый 17.02.2015, 16:39
  #1748
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

DyrmanТак после создания каждого придётся.
Можно сначала всех создать, подождать и уже потом на всех созданных повесить триггеры.

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

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1749
Старый 17.02.2015, 17:12
  #1749
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 31052
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 31052
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Ну да, на самом деле не нужны, порядкового номера хватит.
Ment вне форума
Ответить с цитированием
#1750
Старый 18.02.2015, 19:44
  #1750
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Например, можно сделать так:
	----------------КИИНА---------------------
NHF_Kiina_week = 0;
--NHF_Kiina_mass = {};
NHF_Kiina_mass_i = 0;
NHF_Kiina_mass_i_bad = 0;
NHF_Kiina_mass_preserv_creature = {{{44,145},{46,146},{48,147},{50,148},{52,149},{54,150},{56,151}},{10,9,7,4,3,2,1}};
function  error_NHF_Kiina_F ()
	print("error:NHF_Kiina_F");
end;
function  NHF_HERO_F.Kiina (hero, mob)
	errorHook(error_NHF_Kiina_F);
	if hero then
		NHF_Kiina_frendly_F(hero, mob)
		return
	end
	if NHF_Kiina_week < ceil(GetDate(ABSOLUTE_DAY)/7) then
		NHF_Kiina_week = ceil(GetDate(ABSOLUTE_DAY)/7);
		local SizeMap = GetTerrainSize();
		local count_mob = NHF_Kiina_mass_i_bad + (GetHeroLevel("Kiina")*NHF_Kiina_persent);
		local temp_name = NHF_tempName_F("Kiina")
		NHF_Kiina_mass_i_bad = 0;
		local new_mobs = {n=0}
		for i = 0, count_mob do
			local x = random(SizeMap);
			local y = random(SizeMap);
			local z = random(GetMaxFloor()+1);
			if IsTilePassable(x,y,z) == true then
				NHF_Kiina_mass_i = NHF_Kiina_mass_i + 1;
				local lvl_creature = floor((GetHeroLevel("Kiina")/5)+1)+random(3);
				if lvl_creature > 7 then
					lvl_creature = 7;
				end;
				local ID_creature = NHF_Kiina_mass_preserv_creature[1][lvl_creature][random(2)+1];
				local name = "NHF_Kiina_creatures_"..NHF_Kiina_mass_i;
				new_mobs.n = new_mobs.n + 1
				new_mobs[new_mobs.n] = name
				CreateMonster(name, ID_creature, NHF_Kiina_mass_preserv_creature[2][lvl_creature],x,y,z, MONSTER_MOOD_AGGRESSIVE, MONSTER_COURAGE_ALWAYS_FIGHT,(random(360)));
			else
				NHF_Kiina_mass_i_bad = NHF_Kiina_mass_i_bad +1;
			end;
		end;
		sleep()
		for i = 1, new_mobs.n do
			local name = new_mobs[i]
			PlayVisualEffect("/Effects/_(Effect)/Objects/Water/Siren.(Effect).xdb#xpointer(/Effect)", name, name.."_Effect_Tag");
			SetObjectEnabled(name, nil);
			SetTrigger(OBJECT_TOUCH_TRIGGER, name, "NHF_Touch_mobs_F");
		end
		ShowFlyingSign("/MapObjects/Preserve/NewHeroes/Kiina/Spawn_creatures.txt",temp_name,GetObjectOwner(temp_name), 5);
	end;
end;
function NHF_Kiina_frendly_F(hero,mob)
	local temp_name = NHF_tempName_F(hero);
	if (IsAIPlayer(GetObjectOwner(temp_name)) ~= 1) and (hero == "Kiina") and mob > "NHF_Kiina_creatures_" and mob < "NHF_Kiina_creatures`" then
		SetMonsterCourageAndMood(mob, GetObjectOwner(temp_name), MONSTER_MOOD_FRIENDLY, MONSTER_COURAGE_ALWAYS_JOIN);
	end;
end;



NHF_mass_heroes_touch_mob = {"Hafad","Sandro","Fiona","Konstantin","Kiina"};



--Отключение и прикосновение мобов
function NHF_Touch_mobs_F(hero,mob)
	if (IsAIPlayer(GetObjectOwner(hero)) ~= 1) and (IsObjectExists(mob) == not nil) then
		for  i, hero_temp in  NHF_mass_heroes_touch_mob do
			if IsHeroAlive(hero_temp) == true   then
				if (hero == hero_temp) then
					NHF_HERO_F[hero_temp](hero_temp,mob);
					break;
				end;
			end;
		end;
		if mob > "NHF" and mob < "NHG" then
			StopVisualEffects(mob.."_Effect_Tag");
		end
		Trigger(OBJECT_TOUCH_TRIGGER, mob, nil);
		SetObjectEnabled(mob,true);
		sleep(0.1);
		MakeHeroInteractWithObject(hero,mob);
--sleep();
		Trigger(OBJECT_TOUCH_TRIGGER, mob, "NHF_Touch_mobs_F");
	end;
end;

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

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1751
Старый 19.02.2015, 14:33
  #1751
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Спасибо. Но не нравится вынос выключения эффекта в общую функцию:
			if mob > "NHF" and mob < "NHG" then
			StopVisualEffects(mob.."_Effect_Tag");
		end
К тому же, я думаю использовать:
			if mob > "NHF_Kiina_creatures_" and mob < "NHF_Kiina_creatures`"  then
			StopVisualEffects(mob.."_Effect_Tag");
		end
Если вдруг будут новые спецы по каким-либо существам или придётся создавать мобов на карте.

Может, занести обратно, убирать эффект всегда, но если моб остался (наш герой слился мобам), добавлять снова. Или это было сделано именно из-за задержек?
Но тогда надо хранить результат боя ещё.
Dyrman вне форума
Ответить с цитированием
#1752
Старый 19.02.2015, 16:56
  #1752
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2380
Выставка наград
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Выключение эффекта вынес только потому, что функция NHF_Kiina_frendly_F вызывается только если герой - Киина (дабы не ломать систему), иначе эффект бы не выключался.
StopVisualEffects ошибки не возбуждает, если эффектов нет, поэтому можно и без проверки.

Эффекты можно не выключать, пока моб существует.

	function NHF_RemoveMobEffects(hero, mob)
	while IsObjectExists(hero) and IsObjectExists(mob) do
		sleep()
	end
	if not IsObjectExists(mob) then
		StopVisualEffects(mob .. "_Effect_Tag")
	end
end

function NHF_Touch_mobs_F(hero,mob)
	-- ... --
	if mob > "NHF" and mob < "NHG"  then
		startThread(NHF_RemoveMobEffects, hero, mob)
	end
	-- ... --
end
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1753
Старый 20.02.2015, 22:46
  #1753
^
Vaishan
 
Аватар для Vaishan
📖
Регистрация: 13.02.2014
Сообщения: 36
Регистрация: 13.02.2014
Сообщения: 36
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Добавленные герои упорно не хотят обмениваться. Ход тратится, больше ничего не происходит.
Бывает, что вообще нельзя просмотреть информацию о своём герое. При передаче хода открывается информация о герое оппонента.
__________________
Nulla è reale, tutto è lecito.
Nulla è reale, tutto è lecito.
Vaishan вне форума
Ответить с цитированием
#1754
Старый 21.02.2015, 12:55
  #1754
^
SunTeaTeller
 
Аватар для SunTeaTeller
📖
Регистрация: 09.11.2014
Сообщения: 18
Регистрация: 09.11.2014
Сообщения: 18
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

У меня это возникало иногда без NHF. Думаю что-то еще из модов у тебя стоит.
SunTeaTeller вне форума
Ответить с цитированием
#1755
Старый 21.02.2015, 14:15
  #1755
^
Vaishan
 
Аватар для Vaishan
📖
Регистрация: 13.02.2014
Сообщения: 36
Регистрация: 13.02.2014
Сообщения: 36
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Нет, ставил на чистую.
Без NHF такого не было.
__________________
Nulla è reale, tutto è lecito.
Nulla è reale, tutto è lecito.
Vaishan вне форума
Ответить с цитированием
Ответ
Страница 117 из 348


Опции темы



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


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

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