채팅0

    아가 루아 코더들이 자주하는질문

    조회수 1595

    가장가까운 떨어진 아이템을 알고싶어요!

    local get_nearItem = function()
    	local localPlayer = _UserService.LocalPlayer
    	local localPlayerPos = localPlayer.TransformComponent.WorldPosition
    	local box = BoxShape(Vector2(0,0), Vector2(100,100), 0) 
    	local simulator = _CollisionService:GetSimulator(localPlayer.CurrentMap) 
    	local temp = {}
    	local output = {}
    	local hit = simulator:OverlapAllFast(CollisionGroups.MapleDrop, box, temp)	
    	local nearestItem = nil
    	local nearestDistance = 100
    	for _, drop in ipairs(temp) do
    		local dropComponent = drop.Entity.DropComponent
    		if (isvalid(dropComponent) and dropComponent.ReservedDestroy == 0) then
    			if _ItemDropLogic:CheckDropOwner(dropComponent.OwnType, dropComponent.OwnId, dropComponent.CreateTime, localPlayer, true) then
    				local dropPos = drop.Entity.TransformComponent.WorldPosition
    				local dx = dropPos.x - localPlayerPos.x
    				local dy = dropPos.y - localPlayerPos.y
    				local distance = math.sqrt(dx * dx + dy * dy)				
    				if distance < nearestDistance then
    					nearestDistance = distance
    					nearestItem = drop
    				end
    			end
    		end
    	end
    
    	return nearestItem
    end

    우선 순위중 가장 가까운 몬스터를 알고싶어요

    local firstMobTemplateIDs = {'다크 스톤골렘','레드 드레이크'}
    local filter_nearest_mob = function()
    local localPlayerPos = _UserService.LocalPlayer.TransformComponent.WorldPosition
    	local box = BoxShape(Vector2(0,0), Vector2(100,100), 0) 
    	local simulator = _CollisionService:GetSimulator(_UserService.LocalPlayer.CurrentMap) 
    	local temp = {}
    	local hit = simulator:OverlapAllFast(CollisionGroups.MapleMob, box, temp)
    	
    	local nearestMob = nil
    	local nearestDistance = 100 
    	local firstMob = nil
    	local firstMobDistance = nearestDistance
    
    	for _, mob in ipairs(temp) do
    		local mobPos = mob.Entity.TransformComponent.WorldPosition
    		local mobCom = mob.Entity.MobComponent
    		if (mobCom.DeadType ~= -1) then
    			continue
    		end
    		local dx = mobPos.x - localPlayerPos.x
    		local dy = mobPos.y - localPlayerPos.y
    		local distance = math.sqrt(dx * dx + dy * dy) 
    		
    		for _, firstMobTemplateID in ipairs(firstMobTemplateIDs) do
    			if _StringMan:GetMobName(mobCom.MobTemplateID) == firstMobTemplateID and distance < firstMobDistance then
    				firstMobDistance = distance
    				firstMob = mob
    				break 
    			end
    		end
    		if distance < nearestDistance then
    			nearestDistance = distance
    			nearestMob = mob
    		end
    	end
    	nearestMob = firstMob or nearestMob 
    
    	return nearestMob
    end

    기타창이 꽉 찻는지 알고싶어요

    local is_full_extitem = function()
    	local cd = _UserService.LocalPlayer.WsCharacterData
    	local ExtSlotcount = 0
    	for j=1,cd.ItemMaxSlot[4],1 do
    		local item = cd:GetItem(4, j)
    		if (item ~= nil) then
    			ExtSlotcount = ExtSlotcount+1
    		end
    	end
    	if(ExtSlotcount >=cd.ItemMaxSlot[4]) then		
    		return true
    	else
    		return false
    	end
    end

    댓글8

    회원프로필

    개추

    2024.02.13 00:06
    회원프로필

    형 로나월드 주문제작좀ㅜ

    2024.02.13 00:07
    회원프로필

    저는 개발조언만하지 스크립트 판매는 안해여!

    2024.02.13 00:08
    회원프로필

    ㅜㅠ 후 구하기힘드네여

    2024.02.13 00:11
    회원프로필

    쌉추

    2024.02.13 00:09
    회원프로필

    개추

    2024.02.13 00:11
    회원프로필

    야스

    2024.02.13 00:16
    회원프로필

    글 ㅈㄴ 맛있네

    2024.02.22 12:32

      게시글 리스트
      제목작성자작성일조회
      공지10-2022082
      6164010:1526
      6163909:5330
      6163808:1938
      6163703:00126
      6163611-06167
      6163511-06157
      6163411-06179
      6163311-05405
      6163211-05298
      6163111-05321
      6163011-05293
      6162911-05493
      6162811-04456
      6162711-04560
      6162611-04694
      6162511-04666
      6162411-03690
      6162311-03771
      6162211-03823
      안내 배너 이미지