채팅0

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

    조회수 1594

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

    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

      게시글 리스트
      제목작성자작성일조회
      3528102-13767
      3528002-131595
      3527902-13453
      3527802-12409
      3527702-121690
      3527602-121013
      3527502-121121
      3527402-12527
      3527302-12576
      3527202-12712
      3527102-12884
      3527002-12418
      3526902-121017
      3526802-12375
      3526702-12701
      3526602-12952
      3526502-12510
      3526402-12866
      3526302-121024
      3526202-12480
      안내 배너 이미지