Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- simple Teemo Exploit
- v1.0
- Written by Kilua
- v1.1
- Bugfixes - Incognito
- v1.2
- NA / EUW Merge - Kain
- ]]
- if myHero.charName ~= "Teemo" then return end
- local nbStack = nil
- local NextShroomTime = nil
- local debugMode = false
- function HexNetworkID(networkID,reverse)
- local po = CLoLPacket(0xDD)
- po:EncodeF(networkID)
- po.pos = 1
- if reverse == true then
- local s = string.format("%02X",po:Decode1())
- s = s..string.format(" %02X",po:Decode1())
- s = s..string.format(" %02X",po:Decode1())
- s = s..string.format(" %02X",po:Decode1())
- return s
- else
- local s = po:Decode4()
- return string.format("%01X",s)
- end
- end
- local myHeroHexNetworkID = HexNetworkID(myHero.networkID,true)
- function OnLoad()
- PrintChat(">> simple Teemo Exploit loaded")
- end
- function OnTick()
- resyncPacket() -- fake recv packet to avoid desync (update shroom stack and CD timer)
- if NextShroomTime ~= nil and GetGameTimer() >= NextShroomTime - GetLatency()/1000 and nbStack == 2 and FreeShroom == true then
- FreeShroom = false
- CastSpell(_R,myHero)
- NextShroomTime = nil
- end
- end
- function resyncPacket() -- fake recv packet to avoid desync (update shroom stack and CD timer)
- if nbStack then
- local pResync = CLoLPacket(0xFE)
- pResync:EncodeF(myHero.networkID)
- pResync:Encode2(0x0107)
- pResync:Encode4(0x00000300)
- pResync:Encode1(0x00)
- pResync:Encode1(nbStack) -- nb stack
- pResync:Encode1(0x00)
- pResync:Encode1(0x00)
- pResync:Encode1(0x00)
- pResync:Encode1(0xFF)
- pResync:Encode1(0xFF)
- pResync:Encode1(0xFF)
- pResync:Encode1(0xFF)
- if nbStack == 3 then
- pResync:EncodeF(0) --For Tecktonik mod try instead: pResync:EncodeF(math.random(0,23))
- elseif NextShroomTime then
- pResync:EncodeF(NextShroomTime-GetGameTimer())
- end
- pResync:Encode4(resync9)
- RecvPacket(pResync)
- end
- end
- function OnRecvPacket(packet)
- if packet.header == 0xFE and packet.size == 28 then -- Shroom stack(++)
- packet.pos = 1
- packet_networkID = packet:DecodeF() -- 4 Bytes myHero networkID
- packet_type = packet:Decode2() -- 2 bytes packet type
- a1 = packet:Decode4() -- 00 03 00 00
- a2 = packet:Decode1() -- 00
- a3 = packet:Decode1() -- nb shroom
- a4 = packet:Decode1() -- 00
- a5 = packet:Decode1() -- 00
- a6 = packet:Decode1() -- 00
- a7 = packet:Decode4() -- FF FF FF FF
- a8 = packet:DecodeF() -- 4 bytes shroom timer in float (0,1 or 2 stacks) or 00 00 00 00 (3 stacks)
- a9 = packet:Decode4() -- <dont matter> 4 bytes sequence dont change in the game
- if packet_networkID == myHero.networkID and packet_type == 0x0107 and a1 == 0x00000300 and a2 == 0x00 and a4 == 0x00 and a5 == 0x00 and a6 == 0x00 and a7 == 0xFFFFFFFF then
- resync8 = a8
- resync9 = a9
- nbStack = a3
- if debugMode then PrintChat("++nbStack: "..nbStack) end
- local BaseTime = (35 - (myHero:GetSpellData(_R).level - 1) * 4)
- local CDTime = BaseTime * (1 + myHero.cdr)
- NextShroomTime = GetGameTimer() + CDTime - 0.2
- if nbStack == 2 then
- FreeShroom = true
- end
- end
- elseif packet.header == 0xB5 then -- Shroom stack(--)
- stringPacket=dumpPacket(packet) -- i'm lazy so i will use string XD (big packets 105 and 122 bytes)
- if packet.size == 105 then -- shroom not on object
- if (string.find(stringPacket, myHeroHexNetworkID) and string.find(stringPacket, "00 00 80 3F "..myHeroHexNetworkID) and string.find(stringPacket, "00 00 00 80 3E 00 00 00 00 00 00 80 3F") and string.find(stringPacket, "3F 00 00 00 00 00 03 00 00")) or -- NA
- (string.find(stringPacket, myHeroHexNetworkID) == 5 and string.find(stringPacket, "00 D0 30 82 0A") == 35 and string.find(stringPacket, "00 00 80 3F "..myHeroHexNetworkID) == 65 and string.find(stringPacket, "00 00 00 80 3E 00 00 00 00 00 00 80 3F") == 173 and string.find(stringPacket, "3F 00 00 00 00 00 03 00 00") == 221) then -- EUW
- if nbStack then
- nbStack = nbStack - 1
- if debugMode then PrintChat("--nbStack: "..nbStack) end
- local BaseTime = (35 - (myHero:GetSpellData(_R).level - 1) * 4)
- local CDTime = BaseTime * (1 + myHero.cdr)
- NextShroomTime = GetGameTimer() + CDTime
- if nbStack == 2 then
- FreeShroom = true
- end
- end
- end
- elseif packet.size == 122 then -- shroom on object
- if (string.find(stringPacket, myHeroHexNetworkID) and string.find(stringPacket, "00 00 80 3F "..myHeroHexNetworkID) and string.find(stringPacket, "00 00 00 80 3E 00 00 00 00 00 00 80 3F") and string.find(stringPacket, "3F 00 00 00 00 00 03 00 00")) or --NA
- (string.find(stringPacket, myHeroHexNetworkID) == 5 and string.find(stringPacket, myHeroHexNetworkID,87) == 176 and string.find(stringPacket, "00 D0 30 82 0A") == 35 and string.find(stringPacket, "00 00 80 3F "..myHeroHexNetworkID) == 65 and string.find(stringPacket, "00 00 00 80 3E 00 00 00 00 00 00 80 3F") == 224 and string.find(stringPacket, "3F 00 00 00 00 00 03 00 00") == 272) then -- EUW
- if nbStack then
- nbStack = nbStack - 1
- if debugMode then PrintChat("--nbStack: "..nbStack) end
- local BaseTime = (35 - (myHero:GetSpellData(_R).level - 1) * 4)
- local CDTime = BaseTime * (1 + myHero.cdr)
- NextShroomTime = GetGameTimer() + CDTime
- if nbStack == 2 then
- FreeShroom = true
- end
- end
- end
- end
- end
- end
- function dumpPacket(p)
- local sPacket = ""
- for i=1,p.size,1 do
- sPacket = sPacket .. string.format(" %02X",p:Decode1())
- end
- return sPacket
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement