TriggerHappy
...
- Reaction score
- 341
Trackables
TriggerHappy187
Current Version v1.01
This is a little library i made that extends the functions of trackables... and thats about it.
What is a trackable?
A trackable is a model displayed in the game, similiar to a special effect.
It stands out by being able to detect whenever the mouse moves over this model, and when the mouse clicks it.
Problems are that we cannot delete, move or hide a trackable again. - Katana
Credits
- KaTTaNa - For CreateTrackableZ
Changelog
Version 1.01
- Inlined Functions
- New Function ClearTrackableData
Functions - 9 Total
JASS:
JASS:
JASS:
Library
JASS:
library TrackableSystem
globals
private constant gamecache TRACK_DATA = InitGameCache("TrackableSystem.w3v")
endglobals
private function H2I takes handle h returns integer
return h
return 0
endfunction
private struct Data
real x
real y
real f
real z
static method create takes real x, real y, real f, real z, trackable t returns Data
local Data d = Data.allocate()
set d.x = x
set d.y = y
set d.f = f
set d.x = x
call StoreInteger(TRACK_DATA, I2S(H2I(t)), "", d)
return d
endmethod
endstruct
function ClearTrackableData takes nothing returns nothing
call FlushGameCache(TRACK_DATA)
endfunction
function CreateTrackableEx takes string trackableModelPath, real x, real y, real f returns trackable
local trackable t = CreateTrackable(trackableModelPath, x, y, f)
local Data d = Data.create(x,y,f,0,t)
return t
endfunction
function GetTrackableX takes trackable t returns real
return Data(GetStoredInteger(TRACK_DATA, "", I2S(H2I(t)))).x
endfunction
function GetTrackableY takes trackable t returns real
return Data(GetStoredInteger(TRACK_DATA, "", I2S(H2I(t)))).y
endfunction
function GetTrackableZ takes trackable t returns real
return Data(GetStoredInteger(TRACK_DATA, "", I2S(H2I(t)))).z
endfunction
function GetTrackableFacing takes trackable t returns real
return Data(GetStoredInteger(TRACK_DATA, "", I2S(H2I(t)))).f
endfunction
function GetTrackableLoc takes trackable t returns location
local Data d = GetStoredInteger(TRACK_DATA, "", I2S(H2I(t)))
return Location(d.x, d.y)
endfunction
function CreateTrackableZ takes string s, real x, real y, real z, real f returns trackable
local destructable d = CreateDestructableZ(039;OTip039;,x,y,z,0.00,1,0)
local trackable tr = CreateTrackableEx(s,x,y,f)
call RemoveDestructable(d)
set d = null
return tr
endfunction
function CreateTrackablePlayerZ takes player p, string s, real x, real y, real z, real f returns trackable
local destructable d = CreateDestructableZ(039;OTip039;,x,y,z,0.00,1,0)
local string path = ""
if GetLocalPlayer() == p then
set path = s
endif
call RemoveDestructable(d)
set d = null
return CreateTrackable(path,x,y,f)
endfunction
function CreateTrackablePlayer takes player p, string trackableModelPath, real x, real y, real facing returns trackable
local string path = ""
if GetLocalPlayer() == p then
set path = trackableModelPath
endif
return CreateTrackableEx(path, x, y, facing)
endfunction
endlibrary
Enyjoy!