Global API, that can be used in Strife:
- Geometry:

- Graphics:

- Keyboard:

- Render:

Strife specific API:
Callbacks (functions that get triggered automatically, when certain events occur)
Code:
Tick -- gets triggered regularly (for recurring checks an operations) Draw -- gets triggered whenever your screen is redrawn CustomGameStart -- gets triggered when you start the game AllocateEntity(uid) -- gets triggered when a new ingame object gets created DeleteEntity(uid) -- gets triggered when an ingame object gets removed SendPacket(packet) -- get triggered when a packet is send RecvPacket(packet) -- get triggered when a packet is recved
objManager (generic interface for accessing ingame objects)
Code:
sh.entities sh.players
Code:
.team .name .uid .type .isAlive .valid .hero
Code:
IHeroEntity class :
functions :
GetItem(slot)
GetAbility(slot)
GetAbilities()
GetState()
attributes :
isClientState
cliffwalking
isEntityItem
isDisarmed
isHeroEntity
isGameInfo
isShopEntity
isFamiliarEntity
evasionMelee
isSilenced
isMoving
isBitEntityInfo
adjustedAttackActionTime
isCreepEntity
isAttackNotReady
deniable
y
isCasting
attackTime
isAttacking
z
physRes
lifeSteal
power
stashAccess
isGameEntity
isEntityEffect
isAffectorInfo
team
isGadgetEntity
uid
isEntityChest
type
name
isProjectileEntity
level
mana
evasionRanged
isGameStats
health
unitwalking
isEntityAbilityAttribute
isPlayerView
healthRegen
isTeamInfo
attackSpeed
isStunned
isPowerupEntity
attackDamageMin
isHero
isEntityState
sightRange
isEntityProxyAbility
isAlive
isBuildingEntity
isBuilding
magicRes
valid
isNeutralEntity
isPerplexed
pos
isEntityCamera
isEntityAbility
x
isOrderEntity
isSlaveEntity
isShopInfo
isSpawnerEntity
baseDamage
isLinearAffector
maxHealth
isCreep
healthPercent
armor
boundsRadius
isNeutralBossEntity
isEntityTool
treewalking
criticalChance
adjustedAttackCooldown
moveSpeed
criticalMult
maxMana
canCanAttack
isUnitEntity
adjustedAttackDuration
magicArmor
attackDamageMax
manaRegen
attackRange
isHeroPetEntity
isVisualEntity
isLightEntity
isPropEntity
isEntityStateNetAccum
isShopItemInfo
isCritterEntity
isPlayer
isWaypointEntity
Code:
CEntityAbility class:
attributes :
areaCastRange
lineCastMaxRange
castTime
channelTime
maxLevel
isEntityProxyAbility
slot
castActionTime
type
name
activeChannelTime
manaCost
remainingCd
canActivate
targetRadius
coneCastRange
cdDuration
range
level
lineCastWidth
lineCastRange
coneCastWidth
Code:
Game.GetLocalPlayer() Game.MoveTo(x, y) Game.GetTickCount() Game.GetCursor() Game.DrawCircle(Vector3, number) -- Rendered Game.SendPacket(packet) hero:GetAbility(index) Game.CastSpell(SpellIindex, X, Y) Game.CastSpell(SpellIindex, Unit) Game.CastSpell(SpellIindex) Game.Chat.Send(String) Game.Courier.Start() Game.Courier.Stop() Game.SellItem(Slot) Game.BuyItem(ItemID) Game.LvlSpell(SpellID) Game.Ping(Ptype,x,y) Game.Move(x,y) Game.AttackMove(x,y) Game.Attack(unit) Game.CastItem(id) Game.CastItem(id,x,y) Game.CastItem(id,unit)
Code:
EntityManager Class :
Functions :
Game.EntityManager:GetLowest(range, vec3, team, lowerthen)
Game.EntityManager:GetEntitys(range, vec3, team)
Members:
range -- Number or it takes the basic range of your hero
vec3 -- Vector3 from where the minions are centered or it takes your current position
team -- Game.EntityManager_ALLY, Game.EntityManager_ENEMY, Game.EntityManager_ALL or if not set it set Game.EntityManager_ENEMY
lowerthen -- only return if the minion health are lower then this value [optional]
Usage ex:
Callback.Bind("Render", function()
local myEntitys = Game.EntityManager:GetEntitys(2000, Game.GetLocalPlayer().hero.pos, Game.EntityManager_ENEMY)
for i, e in pairs(myEntitys) do
Game.DrawCircle(e.pos, 200)
end
end)
Code:
Prediction Class :
Functions :
Vector3 -- Allclass.Prediction:GetPosition(Target, Range, Speed, Delay, Width, VeloMode)
Vector3 -- Allclass.Prediction:PosInTime(Target, Delay)
Number -- Allclass.Prediction:GetVeloHC(Target)
Members:
Target -- has to be a valid .hero object
Range -- Number [optional]
Speed -- Number [optional]
Delay -- Number [optional]
Width -- Number [optional]
VeloMode -- Boolean[optional]
Usage ex:
local Range = math.huge
local Speed = math.huge
local Delay = 1
local Width = 100
local VeloMode = true
Callback.Bind("Draw", function()
for i, p in ipairs(sh.players) do
local hero = p.hero
if hero and hero.valid and hero.health > 0 then
local tpp = Allclass.Prediction:GetPosition(hero, Range, Speed, Delay, Width, VeloMode)
if tpp ~= nil then
Allclass.Draw3D.Circle(tpp.x, tpp.y, tpp.z, 100)
Allclass.Draw3D.Line(hero.pos, tpp)
end
end
end
end)
Code:
Collision Class :
Functions :
Boolean, table -- Allclass.Collision:GetHeroCollision(PointA, PointB, Delay, Speed, Width)
Boolean, table -- Allclass.Collision:GetEntityCollision(PointA, PointB, Width)
Members:
PointA -- Vector3
PointB -- Vector3
Delay -- Number [optional]
Speed -- Number [optional]
Width -- Number [optional]
VeloMode -- Boolean[optional]
Usage ex:
local Width = 50
Callback.Bind("Draw", function()
local isCollision, collE = Allclass.Collision:GetEntityCollision(Game.GetLocalPlayer().hero.pos, Game.GetCursor(), Width)
Allclass.Draw3D.Line(Game.GetLocalPlayer().hero.pos, Game.GetCursor(), Width, isCollision and Graphics.RGBA(255,0,0,255) or Graphics.RGBA(0,255,0,255))
for i, e in pairs(collE) do
Allclass.Draw3D.Circle(e.pos.x, e.pos.y, e.pos.z, (Width + 10 + (e.boundsRadius*2)))
end
end)
Code:
Draw3D Class :
Functions :
Allclass.Draw3D.Line(PointA, PointB, width, color)
Allclass.Draw3D.Circle(x, y, z, radius, width, color, chordlength)
Allclass.Draw3D.Lines(points, width, color)
Allclass.Draw3D.DrawText(text, x, y, z, size, color)
Members:
PointA -- Game-Vector3
PointB -- Game-Vector3
x/y/z -- GamePosition-Number
points -- table with ScreenPos-Vector2
text -- string
size -- Number [optional]
radius -- Number [optional]
width -- Number [optional]
color -- Color Object [optional]
chordlength -- Number [optional]
Code:
Functions :
Number -- Allclass.FPS.GetExactFPS()
Number -- Allclass.FPS.GetFPS()
Allclass.DelayAction(func, delay, args)
Number -- Allclass.Utility:ComputeAASpeed(unit)
Number -- Allclass.Utility:GetVirtualHP(unit)
Code:
--Calc physical damage taking care of armor
Allclass.DamageLib:CalcDamage(unit,Damage)
--Calc magic damage taking care of magicarmor
Allclass.DamageLib:CalcMagicDamage(unit,Damage)
--Calc aa damage
Allclass.DamageLib:ComputeAADmg(unit,Target)
Members
Code:
Packet.header -- Return network headers Packet.pos -- Return the current pos in the dump Packet.size -- Return the size of the dump
Code:
Packet.Decode1() -- Return 1 byte and increases the read pos by 1 Packet.Decode2() -- Return a word and increases the read pos by 2 Packet.Decode4() -- Return a long and increases the read pos by 4 Packet.DecodeF() -- Return a float and increases the read pos by 4 Packet.Encode1(eByte) -- Encode a byte Packet.Encode2(eWord) -- Encode a word Packet.Encode4(eLong) -- Encode a long Packet.EncodeF(eFloat) -- Encode a float Packet.EncodeStr(eStr) -- Encode a string Packet.getRemaining() Packet.skip()

- (Persons who are interested in developing smth and have questions, problems or requests just drop a comment or send
or
a pm)[/*]






