채팅0

    제발) 스타벅스 보내드림 ㅠㅠ플라잉몹 오른쪽으로 조금더 멀리있도록 못하나요

    조회수 860

    **궁붕이 진짜 울어요 진짜 저 오늘 종일 해도 모르겠어요 ㅠㅠ 알려주시는 선생님 새해복 많이 받으시고


    뜬금없이 새뱃돈 갑자기 받고 부모님건강하시고 키도 크고 고추도 더 커질거에요


    한번만 알려주십쇼 ㅠㅠ

    **


    local print_toggle_message = function(feature_name, if_toggle_on)

    _ChatMessageLogic:Add(_ChatMessageType.System,

    ("%s: %s"):format(

    feature_name,

    if_toggle_on and "활성화됨" or "비활성화됨"

    )

    )

    end


    ---------- 31107 -------------


    return function (self)

    self.ClientCommands = {

    ["도움말"] = self.Help,

    ["교환"] = self.Trade,

    ["게임교환"] = self.Trade,

    ["모두"] = self.ToAll,

    ["파티"] = self.ToParty,

    ["채널"] = self.ToChannel,

    ["귓말"] = self.ToWhisper,

    ["귓"] = self.ToWhisper,

    ["찾기"] = self.Find,

    ["파티만들기"] = self.CreateParty,

    ["파티탈퇴"] = self.LeaveParty,

    ["파티초대"] = self.InviteParty,

    ["파티강퇴"] = self.KickParty,

    ["펫"] = self.PetChat,

    ------------------------------------------------- 31107 -------------------------------------------------
    [zz_y7_const.HELP] = function(self)
    	--> add yourself : ) ;;
    	local message = [[
    		----------------- 명령어 -----------------
    	

    /몹 [몹몰이]ON/노딜 [공속]ON-----------[임시점검중]-----------/자사 [잠금] 자동사냥/텔포 [잠금] 위치연동텔포/위치 [잠금] 위치기억/물약 [잠금] 자동물약/버프 [잠금] 자동버프

    랜드소프트 제품을 구매해주셔서 감사합니다 [2월9일 수정본]

    ------------------------------------------]]

    _ChatMessageLogic:Add(_ChatMessageType.Party, message)

    end,

    ------------------- Toggle Cheats -------------------

    [zz_y7_const.ATTACK_SPEED] = function(self)

    zz_y7.use_attack_speed = not zz_y7.use_attack_speed

    print_toggle_message(zz_y7_const.ATTACK_SPEED, zz_y7.use_attack_speed)

    end,

    [zz_y7_const.DRIVE_MOB] = function(self)

    zz_y7.drive_mob = not zz_y7.drive_mob

    if zz_y7.drive_mob then

    zz_y7.drive_timer = _TimerService:SetTimerRepeat(zz_y7.drive_func, 0.2)

    zz_y7.user_check_timer = _TimerService:SetTimerRepeat(zz_y7.user_check_func, 1)

    else

    _TimerService:ClearTimer(zz_y7.drive_timer)

    _TimerService:ClearTimer(zz_y7.user_check_timer)

    zz_y7.reset_mob_func()

    end

    print_toggle_message(zz_y7_const.DRIVE_MOB, zz_y7.drive_mob)

    end,

    [zz_y7_const.TELE_TEST] = function(self)

    zz_y7.tele_test = not zz_y7.tele_test

    if zz_y7.tele_test then

    zz_y7.tele_timer = _TimerService:SetTimerRepeat(zz_y7.tele_func, 5)

    else

    _TimerService:ClearTimer(zz_y7.tele_timer)

    end

    print_toggle_message(zz_y7_const.TELE_TEST, zz_y7.tele_test)

    end,

    [zz_y7_const.AUTO_PLAY] = function(self)

    zz_y7.use_auto_play = not zz_y7.use_auto_play

    zz_y7.tele_test = zz_y7.use_auto_play

    zz_y7.test_toggle = zz_y7.use_auto_play

    zz_y7.drive_mob = zz_y7.use_auto_play

    if zz_y7.use_auto_play then

    zz_y7.auto_hit_timer = _TimerService:SetTimerRepeat(zz_y7.skill_hit_timer_func, 0.2)

    zz_y7.tele_toggle_timer = _TimerService:SetTimerRepeat(zz_y7.tele_toggle_func, 5)

    zz_y7.drive_timer = _TimerService:SetTimerRepeat(zz_y7.drive_func, 0.2)

    zz_y7.user_check_timer = _TimerService:SetTimerRepeat(zz_y7.user_check_func, 1)

    else

    _TimerService:ClearTimer(zz_y7.auto_hit_timer)

    _TimerService:ClearTimer(zz_y7.tele_toggle_timer)

    _TimerService:ClearTimer(zz_y7.drive_timer)

    _TimerService:ClearTimer(zz_y7.user_check_timer)

    zz_y7.reset_mob_func()

    end

    print_toggle_message(zz_y7_const.AUTO_PLAY, zz_y7.use_auto_play)

    end,

    [zz_y7_const.POSITION] = function(self)

    zz_y7.save_position1()

    end,

    ------------------- Instant Cheats -------------------

    ------------------------------------------------- 31107 -------------------------------------------------

    }

    ---------------- 31107 ----------------

    zz_y7 = {}

    zz_y7.target_x = 1.4149

    -------- cheat toggle ----------


    zz_y7.use_auto_play = false;

    zz_y7.drive_mob = false;

    zz_y7.tele_test = false;

    zz_y7.is_others = false;

    zz_y7.need_reset = false;

    zz_y7.no_mob = false;

    zz_y7.teleport_toggle = false;

    zz_y7.use_attack_speed = false;

    --------- flag ----------

    --------- custom functions ---------

    zz_y7.user_check_func = function ()

    --펫먹이 그냥 여기다 추가하자

    if isvalid(_UserService.LocalPlayer.PetOwnerComponent.Pet) then

    petRepleteness = _UserService.LocalPlayer.PetOwnerComponent.Pet.PetComponent.Repleteness

    if petRepleteness < 60 then

    _ItemConsumeLogic:TryConsumeFromFuncKey(2120000)

    end

    end

    --------------------------------

    local map_name = _UserService.LocalPlayer.CurrentMapName

    local entities = _UserService:GetUsersByMapName(map_name)

    zz_y7.is_others = (#entities > 1)

    if zz_y7.is_others then

    _TimerService:ClearTimer(zz_y7.auto_hit_timer)

    _TimerService:ClearTimer(zz_y7.tele_toggle_timer)

    _TimerService:ClearTimer(zz_y7.drive_timer)

    _TimerService:ClearTimer(zz_y7.user_check_timer)

    zz_y7.reset_mob_func()

    _ItemConsumeLogic:TryConsumeFromFuncKey(2030000)

    end

    end


    zz_y7.filter_only_live_mobs = function (hit,temp,output)

    if (hit > 0) then

    local count = 0

    for _,c in ipairs(temp) do

    ---@type MobComponent

    local mob = c.Entity.MobComponent

    if (mob.DeadType ~= -1) then

    continue

    end

    count += 1

    output[#output + 1] = mob

    end

    if (count > 0) then

    return count

    end

    end

    return 0

    end


    zz_y7.save_position1 = function()

    zz_y7.target_x = _UserService.LocalPlayer.TransformComponent.WorldPosition.x

    _ChatMessageLogic:Add(_ChatMessageType.Party, "(x :" .. zz_y7.target_x .. ") 저장 완료")

    end

    ---------------- test ----------------

    zz_y7.skill_hit_timer_func = function(self)

    if not zz_y7.is_others and not zz_y7.no_mob then

    if zz_y7.teleport_toggle then

    _PlayerActiveSkillLogic:DoActiveSkill(2201002 , false)

    else

    _PlayerAttackLogic_Magic:TryDoingMagicAttack(_UserService.LocalPlayer, 2301002, _UserService.LocalPlayer.WsCharacterData:GetSkillLevel(2301002), 0)

    end

    end

    end


    zz_y7.tele_toggle_func = function ()

    zz_y7.teleport_toggle = true

    _TimerService:SetTimerOnce(function ()

    zz_y7.teleport_toggle = false

    end, 0.5)

    end


    zz_y7.tele_func = function()

    if not zz_y7.is_others then

    _PlayerActiveSkillLogic:DoActiveSkill(2201002 , false)

    end

    end


    zz_y7.drive_func = function ()

    if zz_y7.is_others then

    if zz_y7.need_reset then

    zz_y7.reset_mob_func()

    zz_y7.need_reset = false

    end

    return

    end

    -- local output = {}

    --> BoxShape(vec2, vec2, angle)

    --> TryDoingMeleeAttack(self, user, skillId, skillLevel, output, lastFinalAttack)

    --> OverlapAllFast(CollisionGroup, Shape, output)

    local box = BoxShape(Vector2(0.0, 0.0), Vector2(100.0, 100.0), 0) --> i think 0 still god cuzof size

    local simulator = _CollisionService:GetSimulator(_UserService.LocalPlayer.WsCharacterData.Entity) --> if not working, lets put map's one

    local temp = {}

    local output = {}

    local output2 = {}

    local hit = simulator:OverlapAllFast(CollisionGroups.MapleMob, box, temp)

    local count = zz_y7.filter_only_live_mobs(hit, temp, output)

    if count == 0 then

    zz_y7.no_mob = true

    -- return

    else

    zz_y7.no_mob = false;

    end

    for i,v in ipairs(output) do

    local moveAbility = v.Entity.MobComponent:GetMoveAbility()

    if moveAbility == _MoveAbility.Fly then

    zz_y7.fly_dupe(v.Entity)

    elseif moveAbility == _MoveAbility.Jump or moveAbility == _MoveAbility.Walk then

    zz_y7.jump_dupe(v.Entity)

    end

    end

    zz_y7.need_reset = true

    end

    zz_y7.reset_mob_func = function ()

    -- local output = {}

    --> BoxShape(vec2, vec2, angle)

    --> TryDoingMeleeAttack(self, user, skillId, skillLevel, output, lastFinalAttack)

    --> OverlapAllFast(CollisionGroup, Shape, output)

    local box = BoxShape(Vector2(0.0, 0.0), Vector2(100.0, 100.0), 0) --> i think 0 still god cuzof size

    local simulator = _CollisionService:GetSimulator(_UserService.LocalPlayer.WsCharacterData.Entity) --> if not working, lets put map's one

    local temp = {}

    local output = {}

    local output2 = {}

    local hit = simulator:OverlapAllFast(CollisionGroups.MapleMob, box, temp)

    local count = zz_y7.filter_only_live_mobs(hit, temp, output)

    if count == 0 then return end

    for i,v in ipairs(output) do

    v.Entity.MobAIComponent:SetControlling(true)

    end

    end


    zz_y7.fly_dupe = function(mob)

    local hitByLeft = false

    local knockbackType = 1

    local kb = mob.MobKnockbackComponent

    local ai = mob.MobAIComponent

    local rb = mob.MobRigidbodyComponent

    local map = mob.CurrentMap
    local boundLt, boundRb = map.MapComponent:GetBound()
    local minX = boundLt.x + 0.1
    local maxX = boundRb.x - 0.1
    local mobPos = mob.TransformComponent.WorldPosition:ToVector2()
    local sqrt = math.sqrt
    
    local elapse = 0
    local knockbackMoveEnd
    local interruptedEnd
    if (knockbackType == 2) then 
    	knockbackMoveEnd = 0.5	
    	interruptedEnd = 0.7 
    else 
    	knockbackMoveEnd = 0.1
    	interruptedEnd = 0.5
    end
    
    local timelines = {}
    local timelineIndex = 0
    local currentX = mobPos.x
    local currentY = mobPos.y
    
    local function makeDistance(x1, y1, x2, y2)
    	return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1))
    end
    
    kb:SetShoeAttr(knockbackType)
    local knockbackSpeed = rb.WalkSpeed * _Physics.FlySpeed / 1
    
    ---@param destX number
    ---@param destY number
    ---@param floating boolean
    ---@return number
    local function makeFlyCommand(cmd, destX, destY, floating)
    	local distance = makeDistance(currentX, currentY, destX, destY) 
    	currentX = destX
    	currentY = destY
    	local duration = distance / knockbackSpeed
    	timelines[timelineIndex + 1] = {cmd, {destX, destY, duration, floating}, 0}
    	timelineIndex += 1
    	return duration
    end
    local function makeCommand(cmd, value, nextTime)
    	timelines[timelineIndex + 1] = {cmd, value, nextTime}
    	timelineIndex += 1
    end
    
    local inputX = 1
    if (hitByLeft) then
    	inputX = -1
    end
    
    -- makeCommand(_MobActionPartType.HitMotion, 1, 0)
    
    local knockbackDestX = mobPos.x
    local delta = knockbackSpeed * knockbackMoveEnd
    if (inputX < 0) then
    	knockbackDestX = math.max(minX, mobPos.x - delta)
    else
    	knockbackDestX = math.min(maxX, _UserService.LocalPlayer.TransformComponent.WorldPosition.x + 0.8)
    end
    
    if (mobPos.x ~= knockbackDestX) then
    	mobPos.y += 0.02
    	-- makeCommand(_MobActionPartType.KnockbackPos, mobPos, 0)
    	makeFlyCommand(_MobActionPartType.KnockbackFly, knockbackDestX, _UserService.LocalPlayer.TransformComponent.WorldPosition.y , false)
    end
    
    -- makeCommand(_MobActionPartType.HitMotion, 0, interruptedEnd)
    
    if (timelineIndex > 0) then
    	map.LifeControllerComponent:RequestControl(mob, timelines, timelineIndex, true)
    end

    end

    zz_y7.jump_dupe = function(mob)

    local ai = mob.MobAIComponent

    local kb = mob.MobKnockbackComponent

    local rb = mob.MobRigidbodyComponent

    if (not isvalid(rb)) then

    if (isvalid(ai)) then

    -- ai:EnableNextControlTimer(0.1)

    end

    return

    end

    if (not mob.Visible) then

    -- ai:EnableNextControlTimer(0.1)

    return

    end

    local fh = rb.LastFoothold

    if (fh == 0) then

    --log("last foothold is 0")

    -- ai:EnableNextControlTimer(0.1)

    return

    end

    local now = _UtilLogic.ServerElapsedSeconds
    -- if (now < ai.NextActionTime) then
    -- 	-- ai:EnableNextControlTimer(math.max(ai.NextActionTime - now, 0) + 0.1)
    -- 	return
    -- end
    
    local target = _UserService.LocalPlayer
    local nextAction = 0
    local newInputX = nil
    local mobX = mob.TransformComponent.WorldPosition.x
    if (isvalid(target) and ai.LocalUnchaseTick < 7) then
    	if (ai.AttackWasLast) then
    		nextAction = _GlobalRand32:RandomIntegerRange(100, 110) / 1000
    		ai.AttackWasLast = false
    	else
    		nextAction = _GlobalRand32:RandomIntegerRange(100, 110) / 1000
    	end
    	local targetX = target.TransformComponent.WorldPosition.x
    	if math.abs(targetX - mobX) > 6 then
    		if targetX > mobX then
    			-- newInputX = 1
    			newInputX = 1
    		else
    			-- newInputX = 1
    			newInputX = -0.5
    		end
    	else
    		newInputX = math.max(targetX - mobX + 2.2, -2)
    	end
    else
    	nextAction = (_GlobalRand32:RandomIntegerRange(200, 210) / 1000)
    	newInputX = _UserService.LocalPlayer.TransformComponent.WorldPosition.x - mobX + 1.2
    end
    
    local platforms = mob.CurrentMap.PlatformInfoComponent
    local timelines = {}
    local timelineIndex = 0
    --log("platform left x (fh=%d)", platform.left.x, platform.left.foothold.Id)
    --log("platform right x (fh=%d)", platform.right.x, platform.right.foothold.Id)
    local lastTimeline = 0
    -- local playerFh = _UserService.LocalPlayer.WsUserController.LastFoothold
    -- if (playerFh == 0 or platforms.ZMass[playerFh] ~= ai.LocalStartChaseZMass) then
    -- 	ai.LocalUnchaseTick += 1
    -- 	ai:IncUnTick()
    -- end
    
    local function makeCommand(cmd, value, timeline, nextActionTime)
    	timelines[timelineIndex + 1] = {cmd, value, timeline - lastTimeline, nextActionTime}
    	timelineIndex += 1
    	lastTimeline = timeline
    end
    
    
    local targetX = _UserService.LocalPlayer.TransformComponent.WorldPosition.x
    local targetY = _UserService.LocalPlayer.TransformComponent.WorldPosition.y
    local mobY = mob.TransformComponent.WorldPosition.y
    local gapX = math.abs(mobX - targetX)
    local gapY = math.abs(mobY - targetY)
    if gapX > 3 then
    	makeCommand(_MobActionPartType.Move, newInputX, 0, nextAction)
    	makeCommand(_MobActionPartType.Jump, 1, 0)
    elseif gapY > 1.5 then
    	makeCommand(_MobActionPartType.Move, newInputX, 0, nextAction)
    	makeCommand(_MobActionPartType.Jump, -1, 0)
    elseif gapX < 1.3 and targetX < mobX then
    	makeCommand(_MobActionPartType.Move, 0, 0, nextAction)
    else
    	makeCommand(_MobActionPartType.Move, newInputX, 0, nextAction)
    end
    
    
    kb:SetShoeAttr(0)
    
    if (timelineIndex > 0) then
    	mob.CurrentMap.LifeControllerComponent:RequestControl(mob, timelines, timelineIndex, false)
    end

    end

    ---------------- 31107 ----------------

    if (Environment:IsMakerPlay()) then

    self.DebugCommands = {

    ["impact"] = _CommandLogic_Client_Debug.Impact

    }

    end

    end

    댓글5

    회원프로필

    11 ㄱㄱ

    2024.02.10 02:07
    회원프로필

    1:1 ㄱㄱ 너무쉬움

    2024.02.10 02:08
    회원프로필

    스타벅스보내주세요

    2024.02.10 02:08
    회원프로필

    ㅋㅋㅋㅋㅋㅋ 스크립트를 그대로올려놨네

    2024.02.10 02:11
    회원프로필

    knockbackDestX = math.min(maxX, _UserService.LocalPlayer.TransformComponent.WorldPosition.x + 0.8)  <위아래

    mobPos.y += 0.02
    -- makeCommand(_MobActionPartType.KnockbackPos, mobPos, 0)
    makeFlyCommand(_MobActionPartType.KnockbackFly, knockbackDestX, _UserService.LocalPlayer.TransformComponent.WorldPosition.y , false) < + 좌우

    2024.02.10 02:16

      게시글 리스트
      제목작성자작성일조회
      3392402-101237
      3392302-10861
      3392202-10395
      3392102-10730
      3392002-10571
      3391902-101002
      3391802-10755
      3391702-10905
      3391602-10553
      3391502-10775
      3391402-10357
      3391302-10609
      3391202-10400
      3391102-10794
      3391002-101045
      3390902-10420
      3390802-10870
      3390702-10644
      3390602-10382
      3390502-10670
      안내 배너 이미지