Jump to content

كيف يشتغل ؟


Recommended Posts

السلام عليكم و رحمة الله و بركاته

اليوم عندي مود ساعات كله انقليزي كييف يتشغل لاني قرات الاكواد لحست مخي

--[[ 
-------------------------------------------------
original script
credits to Yakuza.Real and solidsnake and kenix
viewtopic.php?f=91&t=40132
 
-------------------------------------------------
 
booo just fix it
 
]]
exports.scoreboard:addScoreboardColumn('PlayTime')
 
local t = { }
local Groups = { "Console", "Console" }
 
function isPlayerAdmin(player)
    for k,v in ipairs ( Groups ) do
        if ( isObjectInACLGroup("user." .. getAccountName(getPlayerAccount(player)), aclGetGroup(v)) ) then
            return true
        end
    end
end
 
function checkValues( source,arg1,arg2)
    if (arg2 >= 60) then
        t[ source ][ 'min' ] = tonumber( t[ source ][ 'min' ] or 0 ) + 1
        t[ source ][ 'sec' ] = 0
    end
    if (arg1 >= 60) then
        t[ source ][ 'min' ] = 0
        t[ source ][ 'hour' ] = tonumber( t[ source ][ 'hour' ] or 0 ) + 1
    end
    return arg1, arg2
end
 
setTimer(
    function( )
        for _, v in pairs( getElementsByType( "player" ) ) do
            if (not t[ v ]) then
                t[ v ] = {
                            ["hour"] = 0,
                             ["min"] = 0,
                             ["sec"] = 0
                            }
            end
 
            t[ v ][ 'sec' ] = tonumber( t[ v ][ 'sec' ] or 0 ) + 1
            local min,sec = checkValues (
                    v,
                    t[ v ][ 'min' ] or 0,
                    t[ v ][ 'sec' ] or 0
                        )
    local hour = tonumber( t[ v ][ 'hour' ] or 0 )
 
            setElementData(
                v,
                "PlayTime",
                tostring( hour )..':'..tostring( min )..':'..tostring( sec )
            )
        end
    end,
    1000, 0
)
 
function onPlayerQuit ( )
    local playeraccount = getPlayerAccount ( source )
    if ( playeraccount ) and not isGuestAccount ( playeraccount ) then
        local sValue = getElementData( source,'PlayTime' )
    local hour = tonumber( t[ source ][ 'hour' ] or 0 )
    local min = tonumber( t[ source ][ 'min' ] or 0 )
    local sec = tonumber( t[ source ][ 'sec' ] or 0 )
        setAccountData ( playeraccount, "PlayTime-hour", tostring(hour) )
        setAccountData ( playeraccount, "PlayTime-min", tostring(min) )
        setAccountData ( playeraccount, "PlayTime-sec", tostring(sec) )
        setAccountData ( playeraccount, "PlayTime", tostring(sValue) )
        local row = executeSQLQuery ( "SELECT * FROM TopTime WHERE serial = ?", getPlayerSerial ( source ) )
        if ( #row ~= 0 ) then
            executeSQLQuery("UPDATE TopTime SET hour = ?, min = ?, scou = ? WHERE serial = ?", tostring ( t [ source ] [ "hour" ] ), tostring ( t [ source ] [ "min" ] ), tostring ( t [ source ] [ "sec" ] ), tostring ( getPlayerSerial ( source ) ) )
        end
    end
    t[ source ] = nil
end
 
function onPlayerLogin (_, playeraccount )
    if ( playeraccount ) then
        local time = getAccountData ( playeraccount, "PlayTime" )
        local hou = getAccountData ( playeraccount, "PlayTime-hour")
        local min = getAccountData ( playeraccount, "PlayTime-min")
        local sec = getAccountData ( playeraccount, "PlayTime-sec")
        if ( time ) then
            setElementData ( source, "PlayTime", time )
            t[ source ]["hour"] = tonumber(hou)
            t[ source ]["min"] = tonumber(min)
            t[ source ]["sec"] = tonumber(sec)
        else
            setElementData ( source, "PlayTime",0 )
            setAccountData ( playeraccount, "PlayTime",0 )
            t[ source ]["hour"] = 0
            t[ source ]["min"] = 0
            t[ source ]["sec"] = 0
        end
    end
end
addEventHandler ( "onPlayerQuit", root, onPlayerQuit )
addEventHandler ( "onPlayerLogin", root, onPlayerLogin )
 
addEventHandler ( "onPlayerLogout", root, function ( acc )
    local sValue = getElementData( source,'PlayTime' )
    local hour = tonumber( t[ source ][ 'hour' ] or 0 )
    local min = tonumber( t[ source ][ 'min' ] or 0 )
    local sec = tonumber( t[ source ][ 'sec' ] or 0 )
    setAccountData ( acc, "PlayTime-hour", tostring(hour) )
    setAccountData ( acc, "PlayTime-min", tostring(min) )
    setAccountData ( acc, "PlayTime-sec", tostring(sec) )
    setAccountData ( acc, "PlayTime", tostring(sValue) )
    local row = executeSQLQuery ( "SELECT * FROM TopTime WHERE serial = ?", getPlayerSerial ( source ) )
    if ( #row ~= 0 ) then
        executeSQLQuery("UPDATE TopTime SET hour = ?, min = ?, scou = ? WHERE serial = ?", tostring ( t [ source ] [ "hour" ] ), tostring ( t [ source ] [ "min" ] ), tostring ( t [ source ] [ "sec" ] ), tostring ( getPlayerSerial ( source ) ) )
    end
    t[ source ]["hour"] = 0
    t[ source ]["min"] = 0
    t[ source ]["sec"] = 0
end )
 
addEventHandler("onResourceStart", resourceRoot, function ()
    for k,v in ipairs ( getElementsByType ( "player" ) ) do
        if not ( isGuestAccount ( getPlayerAccount ( v ) ) ) then
            if ( getAccountData ( getPlayerAccount ( v ), "PlayTime" ) ) then
                local hou = getAccountData ( getPlayerAccount ( v ), "PlayTime-hour")
                local min = getAccountData ( getPlayerAccount ( v ), "PlayTime-min")
                local sec = getAccountData ( getPlayerAccount ( v ), "PlayTime-sec")
                if not ( t [ v ] ) then
                    t[ v ] = {
                        ["hour"] = 0,
                        ["min"] = 0,
                        ["sec"] = 0
                    }
                end
                t[ v ]["hour"] = tonumber(hou)
                t[ v ]["min"] = tonumber(min)
                t[ v ]["sec"] = tonumber(sec)
            end
        end
    end
end)
 
addEventHandler("onResourceStop", resourceRoot, function ()
    for k,v in ipairs ( getElementsByType ( "player" ) ) do
        if not ( isGuestAccount ( getPlayerAccount ( v ) ) ) then
            local sValue = getElementData( v,'PlayTime' )
            local hour = tonumber( t[ v ][ 'hour' ] or 0 )
            local min = tonumber( t[ v ][ 'min' ] or 0 )
            local sec = tonumber( t[ v ][ 'sec' ] or 0 )
            setAccountData ( getPlayerAccount ( v ), "PlayTime-hour", tostring(hour) )
            setAccountData ( getPlayerAccount ( v ), "PlayTime-min", tostring(min) )
            setAccountData ( getPlayerAccount ( v ), "PlayTime-sec", tostring(sec) )
            setAccountData ( getPlayerAccount ( v ), "PlayTime", tostring(sValue) )
            local row = executeSQLQuery ( "SELECT * FROM TopTime WHERE serial = ?", getPlayerSerial ( v ) )
            if ( #row ~= 0 ) then
                executeSQLQuery("UPDATE TopTime SET hour = ?, min = ?, scou = ? WHERE serial = ?", tostring ( t [ v ] [ "hour" ] ), tostring ( t [ v ] [ "min" ] ), tostring ( t [ v ] [ "sec" ] ), tostring ( getPlayerSerial ( v ) ) )
            end
        end
    end
end)
 
function setPlayerTime ( Player, Type, Hour )
    if ( Type == "-" ) then
        t[ Player ][ "hour" ] = t [ Player ][ "hour" ] - tonumber ( Hour )
    else
        t[ Player ][ "hour" ] = t [ Player ][ "hour" ] + tonumber ( Hour )
    end
end
 
function getPlayerHours ( Player )
    return t [ Player ][ "hour" ] or 0
end
 
addCommandHandler("giveTimeacc", function ( player, _, accname, time )
    if ( accname ) then
        if ( time ) then
            if ( tonumber ( time ) <= 600 ) then
                if not ( isGuestAccount ( getPlayerAccount ( player ) ) ) then
                    if ( isPlayerAdmin ( player ) ) then
                        if ( getAccount ( tostring ( accname ) ) ) then
                            setAccountData ( getAccount ( tostring ( accname ) ), "PlayTime-hour", tostring ( time ) )
                            for k,v in ipairs ( getElementsByType("player") ) do
                                if not ( isGuestAccount ( getPlayerAccount ( v ) ) ) then
                                    if ( getAccountName ( getPlayerAccount ( v ) ) == tostring ( accname ) ) then
                                        t [ v ] [ "hour" ] = tonumber ( time )
                                    end
                                end
                            end
                            outputChatBox("* ok", player, 255, 255, 0, true)
                        else
                            outputChatBox("* No Account With This Name !", player, 255, 0, 0, true)
                        end
                    else
                        outputChatBox("* You Are Not Admin !", player, 255, 0, 0, true)
                    end
                else
                    outputChatBox("* Please Login To Use This Command !", player, 255, 0, 0, true)
                end
            else
                outputChatBox("* U Can't Give Time More 100 Hour !", player, 255, 0, 0, true)
            end
        else
            outputChatBox("* Please Write a Hour !", player, 255, 0, 0, true)
        end
    else
        outputChatBox("* Please Write Name of Account !", player, 255, 0, 0, true)
    end
end)
 
addCommandHandler("TimeF", function ( player, _, enable, time )
    if ( enable ) then
        if ( time ) then
            if ( tonumber ( time ) <= 100 ) then
                if not ( isGuestAccount ( getPlayerAccount ( player ) ) ) then
                    if ( isPlayerAdmin ( player ) ) then
                        if ( enable == "true" ) then
                            if ( getElementData ( resourceRoot, "enabledTwaged" ) == true ) then
                                for k,v in ipairs ( getAccounts () ) do
                                    setAccountData ( v, "getatime", false )
                                end
                                setElementData ( resourceRoot, "hoursTwaged", tonumber ( time ) )
                                outputChatBox ("* Ok !", player, 255, 255, 0, true)
                            else
                                setElementData ( resourceRoot, "enabledTwaged", true )
                                 for k,v in ipairs ( getAccounts () ) do
                                    setAccountData ( v, "getatime", false )
                                end
                                setElementData ( resourceRoot, "hoursTwaged", tonumber ( time ) )
                                outputChatBox ("* Ok !", player, 255, 255, 0, true)
                            end
                        else
                            setElementData ( resourceRoot, "enabledTwaged", false )
                        end
                    else
                        outputChatBox("* You Are Not Admin !", player, 255, 0, 0, true)
                    end
                else
                    outputChatBox("* Please Login To Use This Command !", player, 255, 0, 0, true)
                end
            else
                outputChatBox("* U Can't Give Time More 100 Hour !", player, 255, 0, 0, true)
            end
        else
            outputChatBox("* Please Write a Hours !", player, 255, 0, 0, true)
        end
    else
       
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...