User:DracoBlue/DGTAsa: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 1: | Line 1: | ||
==Implementation== | ==Implementation== | ||
<syntaxhighlight lang="lua">function inheritsFrom( baseClass ) | <syntaxhighlight lang="lua">function inheritsFrom( baseClass ) | ||
local new_class = {} | local new_class = {} | ||
local class_mt = { __index = new_class } | local class_mt = { __index = new_class } | ||
| Line 47: | Line 47: | ||
end | end | ||
module("GTAsa") | |||
--- | |||
-- The GTAElement | |||
-- @class table | |||
-- @name GTAElement | |||
GTAElement=inheritsFrom(nil) | GTAElement=inheritsFrom(nil) | ||
GTAElement.ID=nil | GTAElement.ID=nil | ||
function GTAElement:className() return "GTAElement" end | function GTAElement:className() return "GTAElement" end | ||
--- | |||
-- Get Element's `key`-Data | |||
-- @param key string Key of data | |||
-- @return Content | |||
function GTAElement:getData(key) | |||
return getElementData(self.ID,key) | |||
end | |||
--- | |||
-- Set Element's `key`-Data | |||
-- @param key string Key of data | |||
-- @param value Value to set. | |||
function GTAElement:setData(key,value) | function GTAElement:setData(key,value) | ||
setElementData(self.ID,key,value) | setElementData(self.ID,key,value) | ||
end | end | ||
--- | |||
-- Get current Position of the Element | |||
-- @return x, y, z | |||
function GTAElement:Position() | function GTAElement:Position() | ||
return getElementPosition(self.ID) | return getElementPosition(self.ID) | ||
end | end | ||
--- | |||
-- The GTAPlayer | |||
-- @name GTAPlayer | |||
GTAPlayer=inheritsFrom(GTAElement) | GTAPlayer=inheritsFrom(GTAElement) | ||
function GTAPlayer:className() return "GTAPlayer" end | function GTAPlayer:className() return "GTAPlayer" end | ||
--- | |||
-- Give a specific amount of ammo of a weapon to the player | |||
-- @param w_id int WeaponID | |||
-- @param ammo int Amount of Ammo | |||
function GTAPlayer:giveWeapon(w_id,ammo) | function GTAPlayer:giveWeapon(w_id,ammo) | ||
giveWeapon(self.ID,w_id,ammo) | giveWeapon(self.ID,w_id,ammo) | ||
end | end | ||
--- | |||
-- Get current ping of the player | |||
-- @return int value | |||
function GTAPlayer:Ping() | function GTAPlayer:Ping() | ||
return getPlayerPing(self.ID) | return getPlayerPing(self.ID) | ||
end | end | ||
--- | |||
-- Get current name of the player | |||
-- @return string name | |||
function GTAPlayer:Name() | function GTAPlayer:Name() | ||
return getClientName(self.ID) | return getClientName(self.ID) | ||
end | end | ||
--- | |||
-- Get current rotation of the player | |||
-- @return float value | |||
function GTAPlayer:Rotation() | function GTAPlayer:Rotation() | ||
return getPlayerRotation(self.ID) | return getPlayerRotation(self.ID) | ||
end | end | ||
--- | |||
-- Get current amount of health points of player | |||
-- @return int Health of the player | |||
function GTAPlayer:Health() | function GTAPlayer:Health() | ||
return getPlayerHealth(self.ID) | return getPlayerHealth(self.ID) | ||
end | end | ||
--- | |||
-- Set players current health points | |||
-- @param val int New amount of health a player has | |||
-- @return If it was possible | |||
function GTAPlayer:setHealth(val) | function GTAPlayer:setHealth(val) | ||
return setPlayerHealth(self.ID,val) | return setPlayerHealth(self.ID,val) | ||
end | end | ||
--- | |||
-- Let a player die by the hand of an attacker | |||
-- @param attacker ID of the attacker | |||
-- @param weapon The weapon the attacker used | |||
-- @param bodypart The bodypart, which was hit | |||
-- @return bool True if it was possible | |||
function GTAPlayer:die(attacker,weapon,bodypart) | function GTAPlayer:die(attacker,weapon,bodypart) | ||
return killPlayer(self.ID,attacker,weapon,bodypart) | return killPlayer(self.ID,attacker,weapon,bodypart) | ||
end | end | ||
--- | |||
-- Check wether player is dead or not | |||
-- @return bool True if the player is dead | |||
function GTAPlayer:isDead() | function GTAPlayer:isDead() | ||
return isPlayerDead(self.ID) | return isPlayerDead(self.ID) | ||
end | end | ||
--- | |||
-- Check wether player is alive or not | |||
-- @return bool True if the player is alive | |||
function GTAPlayer:isAlive() | function GTAPlayer:isAlive() | ||
return not isPlayerDead(self.ID) | return not isPlayerDead(self.ID) | ||
end | end | ||
--- | |||
-- Check wether player is ducked or not | |||
-- @return bool True if the player is ducked | |||
function GTAPlayer:isDucked() | function GTAPlayer:isDucked() | ||
return isPlayerDucked(self.ID) | return isPlayerDucked(self.ID) | ||
Latest revision as of 21:44, 1 June 2007
Implementation
function inheritsFrom( baseClass )
local new_class = {}
local class_mt = { __index = new_class }
function new_class:create()
local newinst = {}
setmetatable( newinst, class_mt )
return newinst
end
if nil ~= baseClass then
setmetatable( new_class, { __index = baseClass } )
end
-- Implementation of additional OO properties starts here --
-- Return the class object of the instance
function new_class:class()
return new_class
end
-- Return the super class object of the instance
function new_class:superClass()
return baseClass
end
-- Return true if the caller is an instance of theClass
function new_class:isa( theClass )
local b_isa = false
local cur_class = new_class
while ( nil ~= cur_class ) and ( false == b_isa ) do
if cur_class == theClass then
b_isa = true
else
cur_class = cur_class:superClass()
end
end
return b_isa
end
return new_class
end
module("GTAsa")
---
-- The GTAElement
-- @class table
-- @name GTAElement
GTAElement=inheritsFrom(nil)
GTAElement.ID=nil
function GTAElement:className() return "GTAElement" end
---
-- Get Element's `key`-Data
-- @param key string Key of data
-- @return Content
function GTAElement:getData(key)
return getElementData(self.ID,key)
end
---
-- Set Element's `key`-Data
-- @param key string Key of data
-- @param value Value to set.
function GTAElement:setData(key,value)
setElementData(self.ID,key,value)
end
---
-- Get current Position of the Element
-- @return x, y, z
function GTAElement:Position()
return getElementPosition(self.ID)
end
---
-- The GTAPlayer
-- @name GTAPlayer
GTAPlayer=inheritsFrom(GTAElement)
function GTAPlayer:className() return "GTAPlayer" end
---
-- Give a specific amount of ammo of a weapon to the player
-- @param w_id int WeaponID
-- @param ammo int Amount of Ammo
function GTAPlayer:giveWeapon(w_id,ammo)
giveWeapon(self.ID,w_id,ammo)
end
---
-- Get current ping of the player
-- @return int value
function GTAPlayer:Ping()
return getPlayerPing(self.ID)
end
---
-- Get current name of the player
-- @return string name
function GTAPlayer:Name()
return getClientName(self.ID)
end
---
-- Get current rotation of the player
-- @return float value
function GTAPlayer:Rotation()
return getPlayerRotation(self.ID)
end
---
-- Get current amount of health points of player
-- @return int Health of the player
function GTAPlayer:Health()
return getPlayerHealth(self.ID)
end
---
-- Set players current health points
-- @param val int New amount of health a player has
-- @return If it was possible
function GTAPlayer:setHealth(val)
return setPlayerHealth(self.ID,val)
end
---
-- Let a player die by the hand of an attacker
-- @param attacker ID of the attacker
-- @param weapon The weapon the attacker used
-- @param bodypart The bodypart, which was hit
-- @return bool True if it was possible
function GTAPlayer:die(attacker,weapon,bodypart)
return killPlayer(self.ID,attacker,weapon,bodypart)
end
---
-- Check wether player is dead or not
-- @return bool True if the player is dead
function GTAPlayer:isDead()
return isPlayerDead(self.ID)
end
---
-- Check wether player is alive or not
-- @return bool True if the player is alive
function GTAPlayer:isAlive()
return not isPlayerDead(self.ID)
end
---
-- Check wether player is ducked or not
-- @return bool True if the player is ducked
function GTAPlayer:isDucked()
return isPlayerDucked(self.ID)
end
Usage
p = GTAPlayer:create() p.ID=source; p:setHealth(p:Health()-10)