in a new repertory create:
1file called speedhack.fss with this code in it:
Code:
include("offsets.inc")
include("functions.inc")
include("player.inc")
---------------------------------------------------------------------------------
-- ; The control window
---------------------------------------------------------------------------------
function window_open()
gui = OpenGui("Homemade TEle",500,950)
Sleep(100)
list_cr = AddList(gui,7,10,486,900)
go_TP = AddButton(gui," TP ",2,920,30,30)
ExitOnGuiClose(gui)
end
OpenConsole()
SetConsoleTitle("Console")
window_open()
wow_ready = 0
while wow_ready == 0 do
PrintConsole("Waiting for World of Warcraft! [")
i = 1
while 1 do
PrintConsole(".")
hWnd = FindWindowByExe("WoW.exe")
if hWnd > 0 then
if Process.GetVersion(hWnd) == _WOW_VERSION then
PrintConsoleLine("] ready")
wow_ready = 1
break
end
i = i + 1
if i > 10 then
PrintConsoleLine("] failed.")
PrintConsoleLine("Make sure World of Warcraft is running!")
break
end
Sleep(100)
end
end
tn = toon.init(hWnd)
while tn == nil do
Sleep(5000)
PrintConsoleLine("Retrying ...")
tn = toon.init(hWnd)
end
tn:refresh()
PrintConsoleLine("X="..tn.x)
PrintConsoleLine("Y="..tn.y)
PrintConsoleLine("Z="..tn.z)
PrintConsoleLine("speed="..tn.speed)
PrintConsoleLine("tracking="..tn.tracking)
PrintConsoleLine("ressources="..tn.ressources)
resultat = WriteDword(tn.hWnd,tn.ptr_internal_tracking,255)
resultat = WriteDword(tn.hWnd,tn.ptr_internal_ressources,255)
resultat = WriteFloat(tn.hWnd,tn.ptr_internal_speed,20)
end
a file called offsets.inc with this code:
Code:
-- ; 9.6.2005 Fixed by Outlaw for WoW 1.5.0
-- ; WoW 1.5.0
_WOW_VERSION = "1, 5, 0, 4442"
-- ; NPC HOOK
_npc_hook_addr = "46F810"
-- ; FUNCTIONS
_function_GetPlayerPtr = "45D480"
-- ; PLAYER OFFSETS
_player_unit_struct = "8"
_player_hitpoints = "1E98"
_player_mana = "1E9C"
_player_maxmana = "18"
_player_maxhp = "18"
_player_current_xp = "27B0"
_player_max_xp = "27B4"
-- // _player_alive = "20F5" -- // does not work
-- // _player_form = "2096" -- // does not work
-- // _player_combo = "2FB1" -- // does not work
-- // _player_level = "1EC8" -- // works but not needed
_player_rage = "4"
_player_energy = "8"
_player_facing = "93C"
_player_internal_z = "4"
_player_internal_y = "4"
_player_internal_x = "4"
_player_targetID = "94BF58"
_player_playerID = "9413C8"
-- ; NPC OFFSETS
_npc_id = "4C0"
_npc_id2 = "4C4"
_npc_hp = "354"
_npc_level = "548"
_npc_faction = "54C"
_npc_x = "10"
_npc_y = "14"
_npc_z = "18"
_npc_facing = "1C"
_player_internal_speed = "9A4"
_player_internal_tracking = "2DB8"
_player_internal_ressources = "2DBC"
a file called functions.inc with this code:
Code:
---------------------------------------------------------------------------------
-- ; WoW functions by Outlaw
---------------------------------------------------------------------------------
function GetPlayerPtr(hWnd)
register = Asm.FastCall(hWnd,_function_GetPlayerPtr,"0x10","0x818358",Asm.Ptr(_player_playerID),0)
return register.eax
end
---------------------------------------------------------------------------------
-- ; WoW functions
---------------------------------------------------------------------------------
function ClearTarget()
SendKeys(hWnd,"{ENTER}")
Sleep(10)
SendKeys(hWnd,"/script ClearTarget();")
Sleep(10)
SendKeys(hWnd,"{ENTER}")
end
function TargetEnemy()
SendKeys(hWnd,"{ENTER}")
Sleep(10)
SendKeys(hWnd,"/script TargetNearestEnemy();")
Sleep(10)
SendKeys(hWnd,"{ENTER}")
end
function UpdateStats()
SetEditBoxText(lb_mkill,mobs_killed)
SetEditBoxText(lb_xpearn,earned_exp)
SetEditBoxText(lb_died,timesdied)
SetEditBoxText(lb_time,SinceTimeStamp(bottimer)/1000/60)
end
function Output(str,dest)
if dest == _CONS then
Console.PrintLine(str)
else
if dest == _FILE then
WriteNewLine(log, "["..os.date("%I:%M %p").."] "..str)
else
Console.PrintLine(str)
WriteNewLine(log, "["..os.date("%I:%M %p").."] "..str)
end
end
end
and a last file called player.inc with this code:
Code:
---------------------------------------------------------------------------------
-- ; player.inc
---------------------------------------------------------------------------------
toon = {}
toon.__index = toon
function toon.init(hWnd)
local t = {}
setmetatable(t,toon)
PrintConsole("Initializing Toon! [")
i = 1
while 1 do
-- ; Calculations to defeat DMA by Outlaw
PrintConsole(".")
baseptr = GetPlayerPtr(hWnd)
t.hWnd = hWnd
t.ts_Battleshout = 0
t.ptr_unit_struct = HexSub(baseptr,_player_unit_struct)
t.ptr_hitpoints = HexAdd(t.ptr_unit_struct,_player_hitpoints)
t.ptr_mana = HexAdd(t.ptr_unit_struct,_player_mana)
t.ptr_maxmana = HexAdd(t.ptr_mana,_player_maxmana)
t.ptr_maxhp = HexAdd(t.ptr_hitpoints,_player_maxhp)
t.ptr_current_xp = HexAdd(t.ptr_unit_struct,_player_current_xp)
t.ptr_max_xp = HexAdd(t.ptr_unit_struct,_player_max_xp)
t.ptr_combo = HexAdd(t.ptr_unit_struct,_player_combo)
t.ptr_form = HexAdd(t.ptr_unit_struct,_player_form)
t.ptr_alive = HexAdd(t.ptr_unit_struct,_player_alive)
t.ptr_rage = HexAdd(t.ptr_mana,_player_rage)
t.ptr_energy = HexAdd(t.ptr_rage,_player_energy)
t.ptr_facing = HexAdd(t.ptr_unit_struct,_player_facing)
t.ptr_internal_z = HexSub(t.ptr_facing,_player_internal_z)
t.ptr_internal_y = HexSub(t.ptr_internal_z,_player_internal_y)
t.ptr_internal_x = HexSub(t.ptr_internal_y,_player_internal_x)
t.ptr_internal_speed = HexAdd(baseptr,_player_internal_speed)
t.ptr_internal_tracking = HexAdd(baseptr,_player_internal_tracking)
t.ptr_internal_ressources = HexAdd(baseptr,_player_internal_ressources)
if ReadDword(hWnd,t.ptr_hitpoints) > 30 and ReadDword(hWnd,t.ptr_hitpoints) < 10000 and ReadFloat(hWnd,t.ptr_facing) > -1 and ReadFloat(hWnd,t.ptr_facing) < 7 then
PrintConsoleLine("] ready")
PrintConsoleLine("basptr="..baseptr)
t:refresh()
break
else
i = i + 1
if i > 50 then
PrintConsoleLine("] Failed.")
PrintConsoleLine("Make sure you have logged your toon in!")
return nil
end
end
Sleep(100)
end
return t
end
function toon:refresh()
self.hp = ReadDword(self.hWnd,self.ptr_hitpoints)
self.mana = ReadDword(self.hWnd,self.ptr_mana)
self.maxmana = ReadDword(self.hWnd,self.ptr_maxmana)
self.maxhp = ReadDword(self.hWnd,self.ptr_maxhp)
self.energy = ReadDword(self.hWnd,self.ptr_energy)
self.rage = ReadDword(self.hWnd,self.ptr_rage)
self.TargetID = ReadDword(self.hWnd,_player_targetID)
self.hoverID = ReadDword(self.hWnd,self.ptr_hover_id)
self.playerID = ReadDword(self.hWnd,_player_playerID)
self.xp = ReadDword(self.hWnd,self.ptr_current_xp)
self.maxxp = ReadDword(self.hWnd,self.ptr_max_xp)
self.combo = ReadDword(self.hWnd,self.ptr_combo)
self.form = ReadDword(self.hWnd,self.ptr_form)
self.alive = ReadDword(self.hWnd,self.ptr_alive)
self.x = ReadFloat(self.hWnd,self.ptr_internal_x)
self.y = ReadFloat(self.hWnd,self.ptr_internal_y)
self.z = ReadFloat(self.hWnd,self.ptr_internal_z)
self.speed = ReadFloat(self.hWnd,self.ptr_internal_speed)
self.tracking = ReadDword(self.hWnd,self.ptr_internal_tracking)
self.ressources = ReadDword(self.hWnd,self.ptr_internal_ressources)
self.facing = ReadFloat(self.hWnd,self.ptr_facing)
self.ptrAttacker = nil
self.hp_percent = 100 / self.maxhp * self.hp
self.mana_percent = 100 / self.maxmana * self.mana
end
function toon:GetAttackerPtr()
PrintConsole("looking up attacker ...")
ptr = nil
-- wait to make sure the server sends a Target
count = 100
while self.TargetID == 0 and count > 0 do
Sleep(1)
self.TargetID = ReadDword(hWnd,_player_targetID)
count = count - 1
end
if self.TargetID ~= 0 then
ptr = NpcIDToPtr(hWnd,self.TargetID)
Npc = GetNpcData(hWnd,ptr)
if Npc.hp > 0 and Npc.hp <= 100 then
self.ptrAttacker = ptr
end
end
PrintConsoleLine(" done.")
return ptr
end
function toon:GetDistance(x,y)
return GetDistance(self.x,self.y,x,y)
end
function toon:setCorpseLoc()
self.corpsex = self.x
self.corpsey = self.y
end
function toon:GetCorpseLoc()
return self.corpsex,self.corpsey
end
function toon:GetLoc()
return self.x,self.y
end
Launch World of Warcraft , and than laucnh speedhack.fss
To change your speed change this part of the code(in the speedhack.fss file) :
Code:
resultat = WriteFloat(tn.hWnd,tn.ptr_internal_speed,20)
change the 20 in an other number to change your speed, 7 is the normal walk speed.
If you want to take teh tracking options off, just delete these 2 lines of code in the speedhack.fss file:
Code:
resultat = WriteDword(tn.hWnd,tn.ptr_internal_tracking,255)
resultat = WriteDword(tn.hWnd,tn.ptr_internal_ressources,255)
_________________
I DO NOT TAKE CREDIT FOR MY INFO.
I am a member of a exploit guild and post it here because i like this site and want to help it.
Last edited by tault_Broden on October 1st, 2005, 3:18 pm, edited 1 time in total.
|