Jump to content
Sign in to follow this  
hokage

Баг - быстрый респавн мобов

Recommended Posts

Всех приветствую!
Столкнулся с проблемой когда мобы в аскароне вдруг начали спавниться почти мгновенно, игнорируя прописанный респавн. Возможно кто-то сталкивался с такой проблемой или хотя бы есть предположения почему это могло случиться?

Share this post


Link to post
Share on other sites
12 часов назад, hokage сказал:

Всех приветствую!
Столкнулся с проблемой когда мобы в аскароне вдруг начали спавниться почти мгновенно, игнорируя прописанный респавн. Возможно кто-то сталкивался с такой проблемой или хотя бы есть предположения почему это могло случиться?

Запретите атаку с суши на море, насколько я помню проблема в этом. 

Редактируем функцию is_friend 

------------------------------------------------
-- Функция определения друг или враг на карте --
------------------------------------------------
-- cha1 - атакует , cha2 - получает
function is_friend(cha1, cha2)
	local friend_target = 1
	local Map_type = GetChaMapType( cha1 )
	local check_cha1 = CheckChaRole ( cha1 )
	local check_cha2 = CheckChaRole( cha2 )


...
-- Добавим фрагмент 
	if check_cha1 == 1 and check_cha2 == 1 then
		--Атака игроков с моря
		if (IsChaInLand(cha1) == 1 and IsChaInLand(cha2) == 0) then
			return 0
		elseif (IsChaInLand(cha1) == 0 and IsChaInLand(cha2) == 1) then
			return 0
		end
	else
		--Атака мобов с моря
		if (IsChaInLand(cha1) == 1 and IsChaInLand(cha2) == 0) then
				return 1
		elseif (IsChaInLand(cha1) == 0 and IsChaInLand(cha2) == 1) then
				return 1
		end
	end

...

P.S. реализация не нравится, требует оптимизации. 

  • Like 1

Контакты:
Сайт: https://magicseaonline.com/
Telegram: https://t.me/magicsea_online - здесь мы публикуем последние новости по разработке
Discord: 
https://discord.gg/nqkv76YVbj

Группа VK: https://vk.cc/chjbzd
Чат VK: https://vk.cc/chjc8L

YouTube: https://www.youtube.com/@magicsea_online
Форум: https://forum.magicseaonline.com
Служба поддержкиhttps://magicseaonline.com/support

База знаний: https://magicseaonline.com/knowledge
Рейтингhttps://magicseaonline.com/rating


Финансовая помощь проектуhttps://magicseaonline.com/donate

С уважением, Magicsea Team

Share this post


Link to post
Share on other sites
13 часов назад, Kara Online сказал:

Запретите атаку с суши на море, насколько я помню проблема в этом. 

Редактируем функцию is_friend 


------------------------------------------------
-- Функция определения друг или враг на карте --
------------------------------------------------
-- cha1 - атакует , cha2 - получает
function is_friend(cha1, cha2)
	local friend_target = 1
	local Map_type = GetChaMapType( cha1 )
	local check_cha1 = CheckChaRole ( cha1 )
	local check_cha2 = CheckChaRole( cha2 )


...
-- Добавим фрагмент 
	if check_cha1 == 1 and check_cha2 == 1 then
		--Атака игроков с моря
		if (IsChaInLand(cha1) == 1 and IsChaInLand(cha2) == 0) then
			return 0
		elseif (IsChaInLand(cha1) == 0 and IsChaInLand(cha2) == 1) then
			return 0
		end
	else
		--Атака мобов с моря
		if (IsChaInLand(cha1) == 1 and IsChaInLand(cha2) == 0) then
				return 1
		elseif (IsChaInLand(cha1) == 0 and IsChaInLand(cha2) == 1) then
				return 1
		end
	end

...

P.S. реализация не нравится, требует оптимизации. 

Эта проверка уже включена(

-- Проверка на морских / не морских монстров
  local is_land_cha_1 = IsChaInLand(cha1) or 0
  local is_land_cha_2 = IsChaInLand(cha2) or 0
  
  if is_land_cha_1 ~= is_land_cha_2 then
    return 1
  end

 

Edited by hokage

Share this post


Link to post
Share on other sites

@hokage

 

Функция IsChaInLand() существует в скриптах или GameServer.exe? Потому что если ее нет, то вместо нее в соответствующие переменные будут записываться нули ("false"), и эта проверка не будет иметь эффекта.

 


Share this post


Link to post
Share on other sites
3 часа назад, V3ct0r сказал:

@hokage

 

Функция IsChaInLand() существует в скриптах или GameServer.exe? Потому что если ее нет, то вместо нее в соответствующие переменные будут записываться нули ("false"), и эта проверка не будет иметь эффекта.

 

@hokage если функции нет, в логах будет информация об этом. 
 

@V3ct0r я не имею информации была ли эта функция по умолчанию. 


Контакты:
Сайт: https://magicseaonline.com/
Telegram: https://t.me/magicsea_online - здесь мы публикуем последние новости по разработке
Discord: 
https://discord.gg/nqkv76YVbj

Группа VK: https://vk.cc/chjbzd
Чат VK: https://vk.cc/chjc8L

YouTube: https://www.youtube.com/@magicsea_online
Форум: https://forum.magicseaonline.com
Служба поддержкиhttps://magicseaonline.com/support

База знаний: https://magicseaonline.com/knowledge
Рейтингhttps://magicseaonline.com/rating


Финансовая помощь проектуhttps://magicseaonline.com/donate

С уважением, Magicsea Team

Share this post


Link to post
Share on other sites

 

9 hours ago, Kara Online said:

@V3ct0r я не имею информации была ли эта функция по умолчанию. 

Проверил функцию IsChaInLand(), она зашита в GameServer.exe. Значит проблема не в ней.

 

9 hours ago, Kara Online said:

@hokage если функции нет, в логах будет информация об этом.

При такой записи, как у @hokage, ошибок быть не должно:

local is_land_cha_1 = IsChaInLand(cha1) or 0

 


Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...