채팅0

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

    조회수 1593

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

    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

      게시글 리스트
      제목작성자작성일조회
      3530002-13784
      3529902-13798
      3529802-131024
      3529702-13435
      3529602-13934
      3529502-13857
      3529402-13443
      3529302-131966
      3529202-13893
      3529102-13702
      3529002-13979
      3528902-13412
      3528802-13650
      3528702-13752
      3528602-13423
      3528502-13459
      3528402-13437
      3528302-131075
      3528202-13899
      3528102-13767
      안내 배너 이미지