IsOOPEnabled: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 26: Line 26:
         end
         end
         player.position = player.position + player.matrix.left * 10 -- Move him 10 units left, taking into account rotation
         player.position = player.position + player.matrix.left * 10 -- Move him 10 units left, taking into account rotation
         outputChatBox(player.name .. " was moved 10 meters left as a demostration of OOP capabilities!", 180, 180, 255)
         outputChatBox(player.name .. " was moved 10 meters left as a demostration of OOP capabilities!", root, 180, 180, 255)
   else
   else
         outputChatBox("* OOP is disabled! You should like the good ol' tables.", root, 255, 140, 0)
         outputChatBox("* OOP is disabled! You should like the good ol' tables.", root, 255, 140, 0)

Revision as of 10:11, 13 September 2014

ADDED/UPDATED IN VERSION 1.4 r6855 :
This function checks whether OOP (Object Oriented Programming) is enabled in the current resource or not.

Syntax

bool isOOPEnabled ( )

Returns

Returns true or false if OOP is enabled or not. Returns nil if an error arised.

Example

Click to collapse [-]
Example
This shared (clientside and serverside) example outputs if OOP is enabled when the resource which contains it starts, and teleports a random player 10 units left if so.
local function checkOOPStatus()
   if isOOPEnabled() then
        outputChatBox("* OOP is enabled! Welcome to matrices' paradise.", root, 0, 255, 0)
        local player
        if getRandomPlayer then -- Are we executed serverside?
            player = Player.getRandom() -- Make it easy, use OOP to get a random player
        else
            local players = getElementsByType("player")
            if #players > 0 then -- Is the server empty?
                player = players[math.random(1, #players)]  -- Get a random player using player elements table
            end
        end
        if not player then
            return -- We don't have a player. Cancel further execution of this function.
        end
        player.position = player.position + player.matrix.left * 10 -- Move him 10 units left, taking into account rotation
        outputChatBox(player.name .. " was moved 10 meters left as a demostration of OOP capabilities!", root, 180, 180, 255)
   else
        outputChatBox("* OOP is disabled! You should like the good ol' tables.", root, 255, 140, 0)
   end
end
checkOOPStatus() -- Execute this at resource start

See also