Jump to content
Sign in to follow this  
Fomin

[Ошибка] Копии не существует

Recommended Posts

Сталкивался кто с такой ошибкой при входе?
Логи пустые. Ошибка выявляется не всегда, иногда ее нет.

Screenshot_5.png

ctrl.lua

function config(map)
	MapCanSavePos(map, 0)			-- Возможность сохранять позицию персонажа на карте (1 - да, 0 - нет)
	MapCanPK(map, 1)				-- Возможность атаковать других персонажей (1 - да, 0 - нет)
	MapCanTeam(map, 1)				-- Возможность создавать отряды (1 - да, 0 - нет)
	MapCopyNum(map, 1)				-- Количество копий карты (если параметр отсутствует, принимается равным 1)
	SingleMapCopyPlyNum(map, 300)	-- Количество игроков на карте
	MapType(map, 4)					-- Тип карты
	MapCanStall(map, 1)				-- Возможность торговать (1 - да, 0 - нет)
end

function get_map_entry_pos_puzzleworld()
	local POS_X, POS_Y = 920, 1067
	return POS_X, POS_Y
end

function init_entry(map)
	SetMapEntryMapName(map, "garner")
	SetMapEntryTime(map, "2018/01/01/00/00", "00/06/00", "00/01/00", "00/02/00")
end

function map_copy_close_puzzleworld(map_copy)
	ClearAllSubMapCha(map_copy)
end

-- Функция вызывается каждую секунду
function map_copy_run_puzzleworld(map_copy)
	local HowManyNoDead = GetMapActivePlayer(map_copy)
	if HowManyNoDead > 0 then
		DealAllPlayerInMap(map_copy, "check_attribute_puzzleworld")
	end
end

-- Функция проверяет что характеристики персонажей соответствуют требованиям
function check_attribute_puzzleworld(role)
	if (CheckLocationChar(role, 2) == 0) then MoveCity(role, "Элизиум") end
end

function after_enter_puzzleworld(role, map_copy)
end

function before_leave_puzzleworld(role)
end

function map_run_puzzleworld(map)
end

function map_copy_run_special_puzzleworld(map_copy) 
end

function map_copy_before_close_puzzleworld(map_copy)
end


Есть подозрения, что данные строчки лишние, убрали, тестируем:

function map_run_puzzleworld(map)
end

function map_copy_run_special_puzzleworld(map_copy) 
end

function map_copy_before_close_puzzleworld(map_copy)
end

 

Edited by Fomin

Share this post


Link to post
Share on other sites

puzzleworld\entry.lua

 

В функции after_create_entry( ) вызывается функция GetMapEntryCopyObj( )?

function after_create_entry(entry) 
  
    local copy_mgr = GetMapEntryCopyObj(entry, 0) // !!! именно 0

	. . .

end

 


Share this post


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

puzzleworld\entry.lua

 

В функции after_create_entry( ) вызывается функция GetMapEntryCopyObj( )?


function after_create_entry(entry) 
  
    local copy_mgr = GetMapEntryCopyObj(entry, 0) // !!! именно 0

	. . .

end

 


Да, вызывается.
 

function config_entry(entry) 
	SetMapEntryEntiID(entry, 193,1)
end

function after_create_entry(entry)
	local copy_mgr = GetMapEntryCopyObj(entry, 0)
	local EntryName = "Мир демонов | 50-105"
	SetMapEntryEventName(entry, EntryName)
	map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry)
	Notice("Объявление: На Священной Горе ["..posx..","..posy.."] обнаружен портал, ведущий в [Мир Демонов]!")
end

function after_destroy_entry_puzzleworld(entry)
	map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry) 
	Notice("Объявление: По имеющимся данным, портал ведущий в [Мир Демонов] исчез. Удачи! ") 
end

function after_player_login_puzzleworld(entry, player_name)
	map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry)
	ChaNotice(player_name, "Объявление: На Священной Горе ["..posx..","..posy.."] обнаружен портал, ведущий в [Мир Демонов]! ")
end

function check_can_enter_puzzleworld(role, copy_mgr)
	if (CheckLocationChar(role, 2) == 0) then return 0 end
	return 1
end

function begin_enter_puzzleworld(role, copy_mgr) 
	SystemNotice(role,"Вы вошли в Мир Демонов #19") 
	MoveCity(role, "Мир Демонов")
end

 

Share this post


Link to post
Share on other sites
28 минут назад, Knight сказал:

Особо вариантов нет, кроме как прицепиться к CheckLocationChar

function CheckLocationChar(role, setmap)
	local role = TurnToCha(role)
	if IsPlayer(role) == 1 then
		if (setmap == 2) then
			if ((Lv(role) < 50) or (Lv(role) > 105)) then
				SystemNotice(role, "Ошибка: Ваш уровень должен быть не менее 50-го и не более 105-го #19")
				return 0
			end
			
			if (CheckFairyLv(role, 350) == 0) then
				SystemNotice(role, "Ошибка: Ваша фея должна быть не выше 350-го уровня #19")	
				return 0
			end
			
			-- Проверяем физ. защиту
			if (GetChaAttr(role, ATTR_PDEF) > 65) then
				SystemNotice(role, "Ошибка: Ваше физическое сопротивление должно быть не более 65 единиц #19")	
				return 0
			end
			
			-- Провеярем макс. атаку
			if (GetChaAttr(role, ATTR_MXATK) >= 60000) then
				SystemNotice(role, "Ошибка: Ваша максимальная физическая атака должна быть менее 60 000 единиц #19")	
				return 0
			end
			return 1
		end
    end
end



Банальные проверки. Не думаю что в них проблема.

Share this post


Link to post
Share on other sites

Я уже не знаю даже че предложить. Пойдём по мере увеличения бреда.

Попробуй русский текст закодить, мб он периодически не понимает русские строчки с birth'а

Ну и системнотайсы введи на все функции ctrl и entry, где их нет. Посмотрим с этой стороны че ему не так. 

И посмотри, не может быть такого, что портал мапится с другим?

Share this post


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

Я уже не знаю даже че предложить. Пойдём по мере увеличения бреда.

Попробуй русский текст закодить, мб он периодически не понимает русские строчки с birth'а

Ну и системнотайсы введи на все функции ctrl и entry, где их нет. Посмотрим с этой стороны че ему не так. 

И посмотри, не может быть такого, что портал мапится с другим? 

Уже все перепробовали..

Напомню, проблема "Копии не существует" была предположена в этой теме:

Скорее всего, все-же проблема в garner и при зависании, он не пускает в порталы.
При следующем падание попробуем войти в другой портал и проверим гипотезу.

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...