View difference between Paste ID: R5nUpekg and 2bzWHBe2
SHOW: | | - or go back to the newest paste.
1
--[[
2
 
3
        Auto Carry Plugin - Pantheon Edition
4
		Author: Roach_
5-
		Version: 2.0a
5+
		Version: 2.0b
6
		Copyright 2013
7
8
		Dependency: Sida's Auto Carry: Revamped
9
 
10
		How to install:
11
			Make sure you already have AutoCarry installed.
12
			Name the script EXACTLY "SidasAutoCarryPlugin - Pantheon.lua" without the quotes.
13
			Place the plugin in BoL/Scripts/Common folder.
14
15
		Features:
16
			Combo with Autocarry
17
			Fully supports E with movement/attack disable
18
			Harass with Mixed Mode
19
			Killsteal with Q/W or W+Q
20
			Draw Combo Range
21
			Draw Critical Hit on Target
22
			Escape Artist(with Flash)
23
24
		History:
25
			Version: 2.0b
26
				Fixed Auto Potions
27
				Changed Min Mana Display in Menu
28
				Removed Auto Spell Leveler from Menu as it's not done yet
29
			
30
			Version: 2.0a
31
				Added a Toggle for for Core Combo
32
				Added an Extra Menu
33
				Added Customizable Chase Combo
34
				Added Farm with Q
35
				Added Lane Clear with E
36
				Added Auto Pots/Items
37
				Added Minimum Mana to Harass/Farm - Check
38
				Modified Menu - More customizable
39
				Modified KS only with Q
40
				Modified Harass - Working with Mixed Mode
41
				Optimised Chase Combo
42
				Rewrited some Functions
43
				-- Fully Optimised the Script
44
				
45
			Version: 1.1c
46
				Added Chase Combo
47
				Fixed a bug where E was not casting
48
				Changed Plugin Menu
49
				Added a Mini-Menu
50
				Fixed "Draw Crit Text"
51
		
52
			Version: 1.1b
53
				Auto combo after Ultimate. (With a check!)
54
				Toggle for Auto Q Harass when in enemy range , with a mana check. (You will harass them until you'll have Mana for one last Combo)
55
		
56
			Version: 1.1a
57
				Optimised Escape Artist
58
				Optimised Killsteal(You can KS with Q+W)
59
				Fixed Ultimate Bugsplat(TESTED)
60
				Fixed Mixed Mode Harass
61
				Re-wrote majority of the Functions
62
				Hopefully fixed DCT(Draw Critical Text)
63
				Changed Circle's Color(Range Circle)
64
				Speeded-Up the Script(Some FPS Drops on Escape Artist and Ultimate)
65
				
66
			Version: 1.0d
67
				Fixed Escape Artist
68
				Fixed a problem with Flash, it was flashing before Stunning the enemy
69
				Optimised Escape Artist
70
				Fully removed Auto-Ignite
71
				Fixed all the Bugsplats (TESTED)
72
				Hopefully fixed Mixed Mode Harass
73
				
74
			Version: 1.0c
75
				Real fix for E.
76
				Fixed Killsteal.
77
				Hopefully fixed OnTick bugsplat.
78
				Removed Auto-Ignite, because it exists in SAC too.
79
			
80
			Version: 1.0b
81
				Temporarily fix for E.
82
				Fixed some bugsplats on draw.
83
			
84
			Version: 1.0a
85
				First release
86
--]]
87
if myHero.charName ~= "Pantheon" then return end
88
89
local Target
90
local pEscapeHotkey = string.byte("T")
91
local pChaseComboHotkey = string.byte("N")
92
93
-- Prediction
94
local qwRange, eRange = 600, 300
95
96
local FlashSlot = nil
97
98
local SkillQ = {spellKey = _Q, range = cRange, speed = 2, delay = 0, width = 200, configName = "spearShot", displayName = "Q (Spear Shot)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = true }
99
local SkillW = {spellKey = _W, range = cRange, speed = 2, delay = 0, width = 200, configName = "AoZ", displayName = "W (Aegis of Zeonia)", enabled = true, skillShot = false, minions = false, reset = false, reqTarget = true }
100-
local UsingHPot, UsingMPot, UsingFlask = false, false, false
100+
101
102
local QReady, WReady, EReady, RReady, FlashReady = false, false, false, false, false
103
104-
        Menu = AutoCarry.PluginMenu
104+
105-
        Menu2 = AutoCarry.MainMenu
105+
local UsingHPot, UsingMPot, UsingFlask, Recall = false, false, false, false
106-
        Menu:addParam("pPlugin", "[Cast Options]", SCRIPT_PARAM_INFO, "")
106+
107-
        Menu:addParam("pCombo", "[Combo Options]", SCRIPT_PARAM_INFO, "")
107+
108-
        Menu:addParam("pAutoQ", "Auto Cast Q", SCRIPT_PARAM_ONOFF, true)
108+
109-
        Menu:addParam("pAutoW", "Auto Cast W", SCRIPT_PARAM_ONOFF, true)
109+
	Menu = AutoCarry.PluginMenu
110-
        Menu:addParam("pAutoE", "Auto Cast E", SCRIPT_PARAM_ONOFF, true)
110+
	Menu2 = AutoCarry.MainMenu
111-
        Menu:permaShow("pPlugin")
111+
	Menu:addParam("pPlugin", "[Cast Options]", SCRIPT_PARAM_INFO, "")
112
	Menu:addParam("pCombo", "[Combo Options]", SCRIPT_PARAM_INFO, "")
113-
        Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
113+
	Menu:addParam("pAutoQ", "Auto Cast Q", SCRIPT_PARAM_ONOFF, true)
114
	Menu:addParam("pAutoW", "Auto Cast W", SCRIPT_PARAM_ONOFF, true)
115-
		Menu:addParam("pChase", "[Chase Combo Options]", SCRIPT_PARAM_INFO, "")
115+
	Menu:addParam("pAutoE", "Auto Cast E", SCRIPT_PARAM_ONOFF, true)
116-
		Menu:addParam("pChaseCombo", "Use Chase Combo", SCRIPT_PARAM_ONKEYDOWN, false, pChaseComboHotkey)
116+
	Menu:permaShow("pPlugin")
117-
		Menu:addParam("pAutoCW", "Auto Cast W - Chase", SCRIPT_PARAM_ONOFF, true)
117+
118-
		Menu:addParam("pAutoCE", "Auto Cast E - Chase", SCRIPT_PARAM_ONOFF, true)
118+
	Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
119-
		Menu:addParam("pAutoCQ", "Auto Cast Q - Chase", SCRIPT_PARAM_ONOFF, true)
119+
120-
		Menu:permaShow("pChase")
120+
	Menu:addParam("pChase", "[Chase Combo Options]", SCRIPT_PARAM_INFO, "")
121-
        Menu:permaShow("pChaseCombo")
121+
	Menu:addParam("pChaseCombo", "Use Chase Combo", SCRIPT_PARAM_ONKEYDOWN, false, pChaseComboHotkey)
122
	Menu:addParam("pAutoCW", "Auto Cast W - Chase", SCRIPT_PARAM_ONOFF, true)
123-
		Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
123+
	Menu:addParam("pAutoCE", "Auto Cast E - Chase", SCRIPT_PARAM_ONOFF, true)
124
	Menu:addParam("pAutoCQ", "Auto Cast Q - Chase", SCRIPT_PARAM_ONOFF, true)
125-
        Menu:addParam("pKS", "[Kill Steal Options]", SCRIPT_PARAM_INFO, "")
125+
	Menu:permaShow("pChase")
126-
		Menu:addParam("pKillsteal", "Auto Kill Steal with Q", SCRIPT_PARAM_ONOFF, true)
126+
	Menu:permaShow("pChaseCombo")
127-
        Menu:permaShow("pKS")
127+
128-
        Menu:permaShow("pKillsteal")
128+
	Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
129
	
130-
        Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
130+
	Menu:addParam("pKS", "[Kill Steal Options]", SCRIPT_PARAM_INFO, "")
131
	Menu:addParam("pKillsteal", "Auto Kill Steal with Q", SCRIPT_PARAM_ONOFF, true)
132-
        Menu:addParam("pMisc", "[Misc Options]", SCRIPT_PARAM_INFO, "")
132+
	Menu:permaShow("pKS")
133-
        Menu:addParam("pAutoLVL", "Auto Level Spells", SCRIPT_PARAM_ONOFF, false)
133+
	Menu:permaShow("pKillsteal")
134-
        Menu:addParam("pMinMana", "Minimum Mana to Farm/Harass", SCRIPT_PARAM_SLICE, 0.4, 0.1, 0.9, 1)
134+
135-
		Menu:addParam("pEscape", "Escape Artist", SCRIPT_PARAM_ONKEYDOWN, false, pEscapeHotkey)
135+
	Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
136-
		Menu:addParam("pEscapeFlash", "Escape: Flash to Mouse", SCRIPT_PARAM_ONOFF, false)
136+
137-
		Menu:permaShow("pMisc")
137+
	Menu:addParam("pMisc", "[Misc Options]", SCRIPT_PARAM_INFO, "")
138-
		Menu:permaShow("pEscape")
138+
	-- Menu:addParam("pAutoLVL", "Auto Level Spells", SCRIPT_PARAM_ONOFF, false)
139
	Menu:addParam("pMinMana", "Minimum Mana to Farm/Harass", SCRIPT_PARAM_SLICE, 40, 0, 100, -1)
140-
		Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
140+
	Menu:addParam("pEscape", "Escape Artist", SCRIPT_PARAM_ONKEYDOWN, false, pEscapeHotkey)
141
	Menu:addParam("pEscapeFlash", "Escape: Flash to Mouse", SCRIPT_PARAM_ONOFF, false)
142-
		Menu:addParam("pH", "[Harass Options]", SCRIPT_PARAM_INFO, "")
142+
	Menu:permaShow("pMisc")
143-
        Menu:addParam("pHarass", "Auto Harass with Q", SCRIPT_PARAM_ONOFF, true)
143+
	Menu:permaShow("pEscape")
144
	
145-
		Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
145+
	Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
146
	
147-
		Menu:addParam("pFarm", "[Farm Options]", SCRIPT_PARAM_INFO, "")
147+
	Menu:addParam("pH", "[Harass Options]", SCRIPT_PARAM_INFO, "")
148-
        Menu:addParam("pFarmQ", "Auto Farm with Q", SCRIPT_PARAM_ONOFF, false)
148+
	Menu:addParam("pHarass", "Auto Harass with Q", SCRIPT_PARAM_ONOFF, true)
149-
		Menu:addParam("pFarmE", "Auto Clear Lane with E", SCRIPT_PARAM_ONOFF, false)
149+
150
	Menu:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
151-
		Extras = scriptConfig("Sida's Auto Carry Plugin: "..myHero.charName..": Extras", myHero.charName)
151+
152-
		Extras:addParam("pDraw", "[Draw Options]", SCRIPT_PARAM_INFO, "")
152+
	Menu:addParam("pFarm", "[Farm Options]", SCRIPT_PARAM_INFO, "")
153-
		Extras:addParam("pDCR", "Draw Combo Range", SCRIPT_PARAM_ONOFF, true)
153+
	Menu:addParam("pFarmQ", "Auto Farm with Q", SCRIPT_PARAM_ONOFF, false)
154-
		Extras:addParam("pDCT", "Draw Crit Text", SCRIPT_PARAM_ONOFF, true)
154+
	Menu:addParam("pFarmE", "Auto Clear Lane with E", SCRIPT_PARAM_ONOFF, false)
155
	
156-
		Extras:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
156+
	Extras = scriptConfig("Sida's Auto Carry Plugin: "..myHero.charName..": Extras", myHero.charName)
157
	Extras:addParam("pDraw", "[Draw Options]", SCRIPT_PARAM_INFO, "")
158-
		Extras:addParam("pHPMana", "[Auto Pots/Items Options]", SCRIPT_PARAM_INFO, "")
158+
	Extras:addParam("pDCR", "Draw Combo Range", SCRIPT_PARAM_ONOFF, true)
159-
		Extras:addParam("pWItem", "Auto Wooglets", SCRIPT_PARAM_ONOFF, true)
159+
	Extras:addParam("pDCT", "Draw Crit Text", SCRIPT_PARAM_ONOFF, true)
160-
		Extras:addParam("pWHealth", "Min Health % for Wooglets", SCRIPT_PARAM_SLICE, 15, 0, 100, -1)
160+
161-
		Extras:addParam("pHP", "Auto Health Pots", SCRIPT_PARAM_ONOFF, true)
161+
	Extras:addParam("pGap", "", SCRIPT_PARAM_INFO, "")
162-
		Extras:addParam("pMP", "Auto Auto Mana Pots", SCRIPT_PARAM_ONOFF, true)
162+
163-
		Extras:addParam("pHPHealth", "Min % for Health Pots", SCRIPT_PARAM_SLICE, 50, 0, 100, -1)
163+
	Extras:addParam("pHPMana", "[Auto Pots/Items Options]", SCRIPT_PARAM_INFO, "")
164
	Extras:addParam("pWItem", "Auto Wooglets", SCRIPT_PARAM_ONOFF, true)
165
	Extras:addParam("pWHealth", "Min Health % for Wooglets", SCRIPT_PARAM_SLICE, 15, 0, 100, -1)
166
	Extras:addParam("pHP", "Auto Health Pots", SCRIPT_PARAM_ONOFF, true)
167
	Extras:addParam("pMP", "Auto Auto Mana Pots", SCRIPT_PARAM_ONOFF, true)
168
	Extras:addParam("pHPHealth", "Min % for Health Pots", SCRIPT_PARAM_SLICE, 50, 0, 100, -1)
169
end
170
171
function PluginOnLoad() 
172
	-- Params/PluginMenu
173
	PluginOnLoadMenu()
174
	
175
	-- Range
176
	AutoCarry.SkillsCrosshair.range = qwRange
177
	
178
	lastAnimation = nil
179
end 
180
181
182
function PluginOnTick()
183
	if Recall then return end
184
185
	-- Get Attack Target
186
	Target = AutoCarry.GetAttackTarget()
187
188
	-- Check Spells
189
	pSpellCheck()
190
191
	-- Check if myHero is using _E
192
	if isChanneling("Spell3") then
193
		AutoCarry.CanAttack = false
194
		AutoCarry.CanMove = false
195
	else
196
		AutoCarry.CanAttack = true
197
		AutoCarry.CanMove = true
198
	end
199
200
	-- Combo, Harass, Killsteal, Escape Combo, Farm - Checks
201
	pCombo()
202
	pChaseCombo()
203
	pHarass()
204
	pKillsteal()
205
	pEscapeCombo()
206
	pFarm()
207
	
208
	-- Draw Critical Text
209
	pDrawCritText()
210
	
211
	-- Auto Regeneration
212
	if Extras.WItem and IsMyHealthLow() and Target and WGTReady then CastSpell(wgtSlot) end
213
	if Extras.pHP and NeedHP() and not (UsingHPot or UsingFlask) and (HPReady or FSKReady) then CastSpell((hpSlot or fskSlot)) end
214
	if Extras.pMP and IsMyManaLow() and not (UsingMPot or UsingFlask) and(MPReady or FSKReady) then CastSpell((mpSlot or fskSlot)) end
215
end
216
217
function PluginOnDraw()
218
	-- Draw Panth's Range = 600
219
	if not myHero.dead and Extras.pDCR then
220
		DrawCircle(myHero.x, myHero.y, myHero.z, qwRange, 0x00FF00)
221
	end
222
end
223
224
-- Animation Detection
225
function PluginOnAnimation(unit, animationName)
226
	-- Set lastAnimation = Last Animation used
227
	if unit.isMe and lastAnimation ~= animationName then lastAnimation = animationName end
228
end
229
230
-- Object Detection
231
function PluginOnCreateObj(obj)
232
	if obj.name:find("TeleportHome.troy") then
233
		if GetDistance(obj, myHero) <= 70 then
234
			Recall = true
235
		end
236
	end
237
	if obj.name:find("Regenerationpotion_itm.troy") then
238
		if GetDistance(obj, myHero) <= 70 then
239
			UsingHPot = true
240
		end
241
	end
242
	if obj.name:find("Global_Item_HealthPotion.troy") then
243
		if GetDistance(obj, myHero) <= 70 then
244
			UsingHPot = true
245
			UsingFlask = true
246
		end
247
	end
248
	if obj.name:find("Global_Item_ManaPotion.troy") then
249
		if GetDistance(obj, myHero) <= 70 then
250
			UsingFlask = true
251
			UsingMPot = true
252
		end
253
	end
254
end
255
256
function PluginOnDeleteObj(obj)
257
	if obj.name:find("TeleportHome.troy") then
258
		Recall = false
259
	end
260
	if obj.name:find("Regenerationpotion_itm.troy") then
261
		UsingHPot = false
262
	end
263
	if obj.name:find("Global_Item_HealthPotion.troy") then
264
		UsingHPot = false
265
		UsingFlask = false
266
	end
267
	if obj.name:find("Global_Item_ManaPotion.troy") then
268
		UsingMPot = false
269
		UsingFlask = false
270
	end
271
end
272
273
-- Custom Functions
274
function pCombo()
275
	if Menu.pCombo and Menu2.AutoCarry then
276
		if ValidTarget(Target) then
277
			if QReady and Menu.pAutoQ and GetDistance(Target) < qwRange then 
278
				CastSpell(SkillQ.spellKey, Target)
279
			end
280
			
281
			if WReady and Menu.pAutoW and GetDistance(Target) < qwRange then
282
				CastSpell(SkillW.spellKey, Target)
283
			end
284
			
285
			if EReady and Menu.pAutoE and GetDistance(Target) < eRange then
286
				AutoCarry.CastSkillshot(SkillE, Target)
287
			end
288
		end
289
	end
290
end
291
292
function pHarass()
293
	if Menu.pHarass and Menu2.MixedMode then
294
		if ValidTarget(Target) then
295
			if QReady and GetDistance(Target) < qwRange and (myHero.mana / myHero.maxMana) > Menu.pMinMana then 
296
				CastSpell(SkillQ.spellKey, Target)
297
				myHero:Attack(Target)
298
			end
299
		end
300
	end
301
end
302
303
function pFarm()
304
	if Menu.pFarmQ and (Menu2.LastHit) and (myHero.mana / myHero.maxMana) > Menu.pMinMana then
305
		for _, minion in pairs(AutoCarry.EnemyMinions().objects) do
306
			if ValidTarget(minion) and QReady and GetDistance(minion) <= qwRange then
307
				if minion.health < getDmg("Q", minion, myHero) then
308
					CastSpell(_Q, minion)
309
				end
310
			end
311
		end
312
	end
313
	if Menu.pFarmE and (Menu2.LaneClear) and (myHero.mana / myHero.maxMana) > Menu.pMinMana then
314
		for _, minion in pairs(AutoCarry.EnemyMinions().objects) do
315
			if ValidTarget(minion) and EReady and GetDistance(minion) <= eRange then
316
				if minion.health < getDmg("E", minion, myHero) then
317
					CastSpell(_E, minion)
318
				end
319
			end
320
		end
321
	end
322
end
323
324
function pChaseCombo()
325
	if Menu.pChaseCombo then
326
		if ValidTarget(Target) then
327
			if WReady and Menu.pAutoCW  and GetDistance(Target) < qwRange then
328
				CastSpell(SkillW.spellKey, Target)
329
			end
330
			
331
			if EReady and Menu.pAutoCE and GetDistance(Target) < eRange then
332
				AutoCarry.CastSkillshot(SkillE, Target)
333
			end
334
			
335
			if QReady and Menu.pAutoCQ and GetDistance(Target) < qwRange and isChanneling("Spell3") then 
336
				CastSpell(SkillQ.spellKey, Target)
337
			end
338
		end
339
		if not isChanneling("Spell3") then
340
			myHero:MoveTo(mousePos.x, mousePos.z)
341
		end
342
		
343
	end
344
end
345
346
function pKillsteal()
347
	if Menu.pKillsteal then
348
		for _, enemy in pairs(AutoCarry.EnemyTable) do
349
			if QReady then
350
				if ValidTarget(enemy) and GetDistance(enemy) < qwRange and enemy.health < getDmg("Q", enemy, myHero) then
351
					CastSpell(SkillQ.spellKey, enemy)
352
				end
353
			end
354
		end
355
	end
356
end
357
358
function pEscapeCombo()	
359
	if Menu.pEscape then
360
		if WReady and GetDistance(Target) < qwRange then
361
			CastSpell(SkillW.spellKey, Target)
362
			if Menu.pEscapeFlash and FlashReady and GetDistance(mousePos) > 300 and isChanneling("Spell2") then
363
				CastSpell(FlashSlot, mousePos.x, mousePos.z)
364
			end
365
		end
366
		
367
		if Menu.pEscapeFlash then
368
			myHero:MoveTo(mousePos.x, mousePos.z)
369
		end
370
	end
371
end
372
373
function isChanneling(animationName)
374
	if lastAnimation == animationName then
375
		return true
376
	else
377
		return false
378
	end
379
end
380
381
function pSpellCheck()
382
	wgtSlot = GetInventorySlotItem(3090)
383
	hpSlot, mpSlot, fskSlot = GetInventorySlotItem(2003),GetInventorySlotItem(2004),GetInventorySlotItem(2041)
384
385
	if myHero:GetSpellData(SUMMONER_1).name:find("SummonerFlash") then
386
		FlashSlot = SUMMONER_1
387
	elseif myHero:GetSpellData(SUMMONER_2).name:find("SummonerFlash") then
388
		FlashSlot = SUMMONER_2
389
	end
390
391-
-- Auto Regeneration
391+
392
	WReady = (myHero:CanUseSpell(SkillW.spellKey) == READY)
393-
    if (myHero.mana / myHero.maxMana) < Menu.pMinMana then
393+
394
	RReady = (myHero:CanUseSpell(_R) == READY)
395
	WGTReady = (wgtSlot ~= nil and myHero:CanUseSpell(wgtSlot) == READY)
396
	HPReady = (hpSlot ~= nil and myHero:CanUseSpell(hpSlot) == READY)
397
	MPReady = (mpSlot ~= nil and myHero:CanUseSpell(mpSlot) == READY)
398
	FSKReady = (fskSlot ~= nil and myHero:CanUseSpell(fskSlot) == READY)
399
400
	FlashReady = (FlashSlot ~= nil and myHero:CanUseSpell(FlashSlot) == READY)
401-
	if myHero.health < (myHero.maxHealth * (Extras.WHealth / 100)) then
401+
402
403
function pDrawCritText()
404
	if not myHero.dead and Extras.pDCT then
405
		for _, enemy in pairs(AutoCarry.EnemyTable) do
406
			if ValidTarget(enemy) then
407
				if enemy.health <= enemy.maxHealth*0.15 then
408
					PrintFloatText(enemy, 10, "Critical Hit!")
409-
	if myHero.health < (myHero.maxHealth * (Extras.pHPHealth / 100)) then
409+
410
			end
411
		end
412
	end
413
end
414
415
-- Auto Potions
416
function IsMyManaLow()
417
    if (myHero.mana / myHero.maxMana) <= (Menu.pMinMana / 100) then
418
        return true
419
    else
420
        return false
421
    end
422
end
423
424
function IsMyHealthLow()
425
	if (myHero.health / myHero.maxHealth) <= (Extras.WHealth / 100) then
426
		return true
427
	else
428
		return false
429
	end
430
end
431
432
function NeedHP()
433
	if (myHero.health / myHero.maxHealth) <= (Extras.pHPHealth / 100) then
434
		return true
435
	else
436
		return false
437
	end
438
end
439
440
--UPDATEURL=https://raw.github.com/RoachxD/BoL_Scripts/master/Common/SidasAutoCarryPlugin%20-%20Pantheon.lua
441
--HASH=D2A4E405F4D438CE222C0762EFC64C5E