冰楓論壇

標題: gos 汎腳本問題 [打印本頁]

作者: dasddsd04    時間: 2015-9-29 16:33
標題: gos 汎腳本問題
如題

腳本 combo 都是只有 貼著對面臉上 沒有動作

有時候只有單純普攻

if GetObjectName(myHero) ~= "Vayne" then return end

require('MapPositionGOS')

VayneMenu = Menu("Vayne", "Vayne")
VayneMenu:SubMenu("Combo", "Combo")
VayneMenu.Combo:Boolean("Q", "Use Q", true)
VayneMenu.Combo:Boolean("E", "Use E", true)
VayneMenu.Combo:SubMenu("R", "Use R")
VayneMenu.Combo.R:Boolean("Enabled", "Enabled", true)
VayneMenu.Combo.R:Boolean("KeepInvis", "Keep Invisibility", true)
VayneMenu.Combo.R:Slider("KeepInvisdis", "Only if Distance <", 230, 0, 550, 1)
VayneMenu.Combo.R:Info("Separator", "Separator")
VayneMenu.Combo.R:Slider("Rifthp", "if Target Health % <", 70, 1, 100, 1)
VayneMenu.Combo.R:Slider("Rifhp", "if Health % <", 55, 1, 100, 1)
VayneMenu.Combo.R:Slider("Rminally", "Minimum Allies in Range", 2, 0, 4, 1)
VayneMenu.Combo.R:Slider("Rallyrange", "Range", 1000, 1, 2000, 10)
VayneMenu.Combo.R:Slider("Rminenemy", "Minimum Enemies in Range", 2, 1, 5, 1)
VayneMenu.Combo.R:Slider("Renemyrange", "Range", 1000, 1, 2000, 10)
VayneMenu.Combo:Boolean("Items", "Use Items", true)
VayneMenu.Combo:Boolean("QSS", "Use QSS", true)
VayneMenu.Combo:Slider("QSSHP", "if My Health % <", 75, 0, 100, 1)

VayneMenu:SubMenu("Misc", "Misc")
VayneMenu.Misc:Boolean("AutoIgnite", "Auto Ignite", true)
VayneMenu.Misc:Boolean("Autolvl", "Auto level", true)
VayneMenu.Misc:Boolean("Interrupt", "Interrupt Spells (E)", true)
VayneMenu.Misc:Boolean("AutoE", "Auto Wall Condemn", true)
VayneMenu.Misc:Key("WallTumble1", "WallTumble Mid", string.byte("T"))
VayneMenu.Misc:Key("WallTumble2", "WallTumble Drake", string.byte("U"))

VayneMenu:SubMenu("Drawings", "Drawings")
VayneMenu.Drawings:Boolean("Q", "Draw Q Range", true)
VayneMenu.Drawings:Boolean("E", "Draw E Range", true)
VayneMenu.Drawings:Boolean("WT", "Draw WallTumble Pos", true)

CHANELLING_SPELLS = {
    ["Caitlyn"]                     = {_R},
    ["Katarina"]                    = {_R},
    ["MasterYi"]                    = {_W},
    ["FiddleSticks"]                = {_W, _R},
    ["Galio"]                       = {_R},
    ["Lucian"]                      = {_R},
    ["MissFortune"]                 = {_R},
    ["VelKoz"]                      = {_R},
    ["Nunu"]                        = {_R},
    ["Shen"]                        = {_R},
    ["Karthus"]                     = {_R},
    ["Malzahar"]                    = {_R},
    ["antheon"]                    = {_R},
    ["Warwick"]                     = {_R},
    ["Xerath"]                      = {_R},
}

local callback = nil

OnProcessSpell(function(unit, spell)   
    if not callback or not unit or GetObjectType(unit) ~= Obj_AI_Hero  or GetTeam(unit) == GetTeam(GetMyHero()) then return end
    local unitChanellingSpells = CHANELLING_SPELLS[GetObjectName(unit)]

        if unitChanellingSpells then
            for _, spellSlot in pairs(unitChanellingSpells) do
                if spell.name == GetCastName(unit, spellSlot) then callback(unit, CHANELLING_SPELLS) end
            end
        end
end)

function addInterrupterCallback( callback0 )
        callback = callback0
end

OnLoop(function(myHero)
    if IOW:Mode() == "Combo" then
       
        local target = GetCurrentTarget()
        if GetItemSlot(myHero,3153) > 0 and VayneMenu.Combo.Items:Value() and GoS:ValidTarget(target, 550) and 100*GetCurrentHP(myHero)/GetMaxHP(myHero) < 50 and 100*GetCurrentHP(target)/GetMaxHP(target) > 20 then
        CastTargetSpell(target, GetItemSlot(myHero,3153))
        end

        if GetItemSlot(myHero,3144) > 0 and VayneMenu.Combo.Items:Value() and GoS:ValidTarget(target, 550) and 100*GetCurrentHP(myHero)/GetMaxHP(myHero) < 50 and 100*GetCurrentHP(target)/GetMaxHP(target) > 20 then
        CastTargetSpell(target, GetItemSlot(myHero,3144))
        end

        if GetItemSlot(myHero,3142) > 0 and VayneMenu.Combo.Items:Value() and GoS:ValidTarget(target, 600) then
        CastTargetSpell(myHero, GetItemSlot(myHero,3142))
        end
               
        if GetItemSlot(myHero,3140) > 0 and VayneMenu.Combo.QSS:Value() and GotBuff(myHero, "rocketgrab2") > 0 or GotBuff(myHero, "charm") > 0 or GotBuff(myHero, "fear") > 0 or GotBuff(myHero, "flee") > 0 or GotBuff(myHero, "snare") > 0 or GotBuff(myHero, "taunt") > 0 or GotBuff(myHero, "suppression") > 0 or GotBuff(myHero, "stun") > 0 or GotBuff(myHero, "zedultexecute") > 0 or GotBuff(myHero, "summonerexhaust") > 0 and 100*GetCurrentHP(myHero)/GetMaxHP(myHero) < VayneMenu.Combo.QSSHP:Value() then
        CastTargetSpell(myHero, GetItemSlot(myHero,3140))
        end

        if GetItemSlot(myHero,3139) > 0 and VayneMenu.Combo.QSS:Value() and GotBuff(myHero, "rocketgrab2") > 0 or GotBuff(myHero, "charm") > 0 or GotBuff(myHero, "fear") > 0 or GotBuff(myHero, "flee") > 0 or GotBuff(myHero, "snare") > 0 or GotBuff(myHero, "taunt") > 0 or GotBuff(myHero, "suppression") > 0 or GotBuff(myHero, "stun") > 0 or GotBuff(myHero, "zedultexecute") > 0 or GotBuff(myHero, "summonerexhaust") > 0 and 100*GetCurrentHP(myHero)/GetMaxHP(myHero) < VayneMenu.Combo.QSSHP:Value() then
        CastTargetSpell(myHero, GetItemSlot(myHero,3139))
        end
               
        if VayneMenu.Combo.E:Value() then
        AutoE()
        end

        if CanUseSpell(myHero, _R) == READY and IOW:Mode() == "Combo" and GoS:ValidTarget(target, VayneMenu.Combo.R.Renemyrange:Value()) and 100*GetCurrentHP(target)/GetMaxHP(target) <= VayneMenu.Combo.R.Rifthp:Value() and 100*GetCurrentHP(myHero)/GetMaxHP(myHero) <= VayneMenu.Combo.R.Rifhp:Value() and GoS:EnemiesAround(GoS:myHeroPos(), VayneMenu.Combo.R.Renemyrange:Value()) >= VayneMenu.Combo.R.Rminenemy:Value() and GoS:AlliesAround(GoS:myHeroPos(), VayneMenu.Combo.R.Rallyrange:Value()) >= VayneMenu.Combo.R.Rminally:Value() then
        CastSpell(_R)
        end
               
        if GotBuff(myHero, "vaynetumblefade") > 0 and GoS:ValidTarget(target, 550) and GoS:GetDistance(target) > VayneMenu.Combo.R.KeepInvisdis:Value() then
        IOW:EnableAutoAttacks()
        elseif GotBuff(myHero, "vaynetumblefade") < 1 then
        IOW:EnableAutoAttacks()
        elseif GotBuff(myHero, "vaynetumblefade") > 0 and VayneMenu.Combo.R.KeepInvis:Value() and GoS:ValidTarget(target, VayneMenu.Combo.R.KeepInvisdis:Value()) and GoS:GetDistance(myHero, target) < VayneMenu.Combo.R.KeepInvisdis:Value() then
        IOWisableAutoAttacks()
        end
       
   end

        for i,enemy in pairs(GoS:GetEnemyHeroes()) do
          if Ignite and VayneMenu.Misc.AutoIgnite:Value() then
            if CanUseSpell(myHero, Ignite) == READY and 20*GetLevel(myHero)+50 > GetCurrentHP(enemy)+GetDmgShield(enemy)+GetHPRegen(enemy)*2.5 and GoS:ValidTarget(enemy, 900) then
            CastTargetSpell(enemy, Ignite)
            end
          end
        end

        if VayneMenu.Misc.AutoE:Value() then
        AutoE()
        end

        if VayneMenu.Misc.WallTumble1:Value() and GetOrigin(myHero).x == 6962 and GetOrigin(myHero).z == 8952 then
        CastSkillShot(_Q,6667.3271484375, 51, 8794.64453125)
        elseif VayneMenu.Misc.WallTumble1:Value() then
        MoveToXYZ(6962, 51, 8952)
        end

        if VayneMenu.Misc.WallTumble2:Value() and GetOrigin(myHero).x == 12060 and GetOrigin(myHero).z == 4806 then
        CastSkillShot(_Q,11745.198242188, 51, 4625.4379882813)
        elseif VayneMenu.Misc.WallTumble2:Value() then
        MoveToXYZ(12060, 51, 4806)
        end
               
if VayneMenu.Drawings.Q:Value() then DrawCircle(GoS:myHeroPos().x,GoS:myHeroPos().y,GoS:myHeroPos().z,GetCastRange(myHero,_Q),3,100,0xff00ff00) end
if VayneMenu.Drawings.E:Value() then DrawCircle(GoS:myHeroPos().x,GoS:myHeroPos().y,GoS:myHeroPos().z,GetCastRange(myHero,_E),3,100,0xff00ff00) end
if VayneMenu.Drawings.WT:Value() then
DrawCircle(6962, 51, 8952,80,1,1,0xffffffff)
DrawCircle(12060, 51, 4806,80,1,1,0xffffffff)
end
end)

OnProcessSpell(function(unit, spell)
    local target = GetCurrentTarget()
    if unit and spell and spell.name then
      if unit == myHero then
        if spell.name:lower():find("attack") then
                GoSelayAction(function()
                        if IOW:Mode() == "Combo" and GoS:ValidTarget(target, 850) and VayneMenu.Combo.Q:Value() then
                                local HeroPos = GetOrigin(myHero)
                                local mousePos = GetMousePos()
                                local AfterTumblePos = HeroPos + (Vector(mousePos) - HeroPos):normalized() * 300
                                local DistanceAfterTumble = GoS:GetDistance(AfterTumblePos, target)
                                                          
                                if DistanceAfterTumble < 630 and DistanceAfterTumble > 200 then
                                CastSkillShot(_Q, mousePos.x, mousePos.y, mousePos.z)
                                end

                                if GoS:GetDistance(myHero, target) > 630 and DistanceAfterTumble < 630 then
                                CastSkillShot(_Q, mousePos.x, mousePos.y, mousePos.z)
                                end
                        end
                end, spell.windUpTime*1000)
        end               
      end
  end
end)

function AutoE()
         for _,target in pairs(Gos:GetEnemyHeroes()) do
                if GoS:ValidTarget(target,1000) then
                        local enemyposx,enemyposy,enemypoz,selfx,selfy,selfz
                        local distance1=24
                        local distance2=118
                        local distance3=212
                        local distance4=306
                        local distance5=400

                        local enemyposition = GetOrigin(target)
                        enemyposx=enemyposition.x
                        enemyposy=enemyposition.y
                        enemyposz=enemyposition.z
                        local TargetPos = Vector(enemyposx,enemyposy,enemyposz)

                        local self=GetOrigin(myHero)
                        selfx = self.x
                        selfy = self.y
                            selfz = self.z
                        local HeroPos = Vector(selfx, selfy, selfz)
           
                        local Pos1 = TargetPos-(TargetPos-HeroPos)*(-distance1/GoS:GetDistance(target))
                        local Pos2 = TargetPos-(TargetPos-HeroPos)*(-distance2/GoS:GetDistance(target))
                        local Pos3 = TargetPos-(TargetPos-HeroPos)*(-distance3/GoS:GetDistance(target))
                        local Pos4 = TargetPos-(TargetPos-HeroPos)*(-distance4/GoS:GetDistance(target))
                        local Pos5 = TargetPos-(TargetPos-HeroPos)*(-distance5/GoS:GetDistance(target))

                                if MapPosition:inWall(Pos1)==true then
                                        if GoS:GetDistance(target)<=550 then
                                        CastTargetSpell(target, _E)
                                        end
                                end
                               
                                if MapPosition:inWall(Pos2)==true then
                                        if GoS:GetDistance(target)<=550 then
                                        CastTargetSpell(target, _E)
                                        end
                                end
                               
                                if MapPosition:inWall(Pos3)==true then
                                        if GoS:GetDistance(target)<=550 then
                                        CastTargetSpell(target, _E)
                                        end
                                end
                               
                                if MapPosition:inWall(Pos4)==true then
                                        if GoS:GetDistance(target)<=550 then
                                        CastTargetSpell(target, _E)
                                        end
                                end
                               
                                if MapPosition:inWall(Pos5)==true then
                                        if GoS:GetDistance(target)<=550 then
                                        CastTargetSpell(target, _E)
                                        end
                                end
                               
                end
        end
end

if VayneMenu.Misc.Autolvl:Value() then  

if GetLevel(myHero) >= 1 and GetLevel(myHero) < 2 then
        LevelSpell(_Q)
elseif GetLevel(myHero) >= 2 and GetLevel(myHero) < 3 then
        LevelSpell(_E)
elseif GetLevel(myHero) >= 3 and GetLevel(myHero) < 4 then
        LevelSpell(_W)
elseif GetLevel(myHero) >= 4 and GetLevel(myHero) < 5 then
        LevelSpell(_Q)
elseif GetLevel(myHero) >= 5 and GetLevel(myHero) < 6 then
        LevelSpell(_Q)
elseif GetLevel(myHero) >= 6 and GetLevel(myHero) < 7 then
        LevelSpell(_R)
elseif GetLevel(myHero) >= 7 and GetLevel(myHero) < 8 then
        LevelSpell(_Q)
elseif GetLevel(myHero) >= 8 and GetLevel(myHero) < 9 then
        LevelSpell(_E)
elseif GetLevel(myHero) >= 9 and GetLevel(myHero) < 10 then
        LevelSpell(_Q)
elseif GetLevel(myHero) >= 10 and GetLevel(myHero) < 11 then
        LevelSpell(_E)
elseif GetLevel(myHero) >= 11 and GetLevel(myHero) < 12 then
        LevelSpell(_R)
elseif GetLevel(myHero) >= 12 and GetLevel(myHero) < 13 then
        LevelSpell(_E)
elseif GetLevel(myHero) >= 13 and GetLevel(myHero) < 14 then
        LevelSpell(_E)
elseif GetLevel(myHero) >= 14 and GetLevel(myHero) < 15 then
        LevelSpell(_W)
elseif GetLevel(myHero) >= 15 and GetLevel(myHero) < 16 then
        LevelSpell(_W)
elseif GetLevel(myHero) >= 16 and GetLevel(myHero) < 17 then
        LevelSpell(_R)
elseif GetLevel(myHero) >= 17 and GetLevel(myHero) < 18 then
        LevelSpell(_W)
elseif GetLevel(myHero) == 18 then
        LevelSpell(_W)
end

end


addInterrupterCallback(function(target, spellType)
  if GoS:IsInDistance(target, GetCastRange(myHero,_E)) and CanUseSpell(myHero,_E) == READY and spellType == CHANELLING_SPELLS and VayneMenu.Misc.Interrupt:Value() then
  CastTargetSpell(target, _E)
  end
end)



作者: qa960362    時間: 2015-9-30 19:06
這有點舊了
而且你一定沒更新
請服用
https://bingfong.com/thread-219273-1-1.html
作者: shing1234    時間: 2015-9-30 19:14
本帖最後由 shing1234 於 2015-9-30 19:16 編輯

記得關閉 f7 選單的 Orbwalker
這腳本可以正常使用
V30的


Script.rar

48.85 KB, 閱讀權限: 10, 下載次數: 27






歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓