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},
["Pantheon"] = {_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
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
IOW:DisableAutoAttacks()
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
GoS:DelayAction(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)
這有點舊了
而且你一定沒更新
請服用
https://bingfong.com/thread-219273-1-1.html 本帖最後由 shing1234 於 2015-9-30 19:16 編輯
記得關閉 f7 選單的 Orbwalker
這腳本可以正常使用
V30的
頁:
[1]