Jump to content

طـــلــــب كودات


Recommended Posts

  
loop 
guiGridListAddRow-- تحط لك رو 
guiGridListSetItemText -- تحط لك نص الرو 
guiGridListClear--تفضي الجريد ليست لعدم تكرار الاسامي 
getAccountData --تجيب عدد الساعات 
  

:D

Link to comment
  
loop 
guiGridListAddRow-- تحط لك رو 
guiGridListSetItemText -- تحط لك نص الرو 
guiGridListClear--تفضي الجريد ليست لعدم تكرار الاسامي 
getAccountData --تجيب عدد الساعات 
  

:D

ممكن شرح و الله ما فهمت

Link to comment
وظيفة تغيير قيَم القريد لست إلى أسماء اللاعبين ..
changeGridListItemToPlayersName = function ( GridList, Column ) 
    if GridList and Column then -- Check Parematers 
        if getElementType ( GridList ) == "gui-gridlist" then -- Check The Type of ' GridList ' 
            if guiGridListClear ( GridList ) then -- Clear GridList 
                for i, v in next, getElementsByType ( "player" ) do -- Get Everything by Type ' player '  
                    local Row = guiGridListAddRow ( GridList ) -- Add Row 
                    guiGridListSetItemText ( GridList, Row, Column, getPlayerName ( v ), false, false ); -- Set New Values 
                end; -- end of ' for ' 
            end; -- end of ' clear gridlist ' 
        end; -- end of ' check gridlist type ' 
    end; -- end of ' check parematers 
end; -- end of ' function ' 

مثآل :

wnd = guiCreateWindow ( 100, 100, 400, 400, "Test", false ); -- Create Window 
grid = guiCreateGridList ( 25, 30, 350, 350, false, wnd ); -- Create Gridlist 
col = guiGridListAddColumn ( grid, "Players", 0.9 ); -- Create Column 
changeGridListItemToPlayersName ( grid, col ); -- Set Gridlist Values 

Link to comment

Client

GUIEditor = { 
    gridlist = {}, 
    window = {} 
} 
addEventHandler("onClientResourceStart", resourceRoot, 
    function() 
        GUIEditor.window[1] = guiCreateWindow(255, 157, 356, 291, "Time", false) 
        guiWindowSetSizable(GUIEditor.window[1], false) 
  
        GUIEditor.gridlist[1] = guiCreateGridList(18, 29, 171, 246, false, GUIEditor.window[1]) 
        guiGridListAddColumn(GUIEditor.gridlist[1], "Player Name", 0.9) 
        for i = 1, 6 do 
            guiGridListAddRow(GUIEditor.gridlist[1]) 
        end 
        guiGridListSetItemText(GUIEditor.gridlist[1], 0, 1, "-", false, false) 
        GUIEditor.gridlist[2] = guiCreateGridList(188, 32, 158, 243, false, GUIEditor.window[1]) 
        guiGridListAddColumn(GUIEditor.gridlist[2], "Time Server", 0.9) 
        for i = 1, 3 do 
            guiGridListAddRow(GUIEditor.gridlist[2]) 
        end 
        guiGridListSetItemText(GUIEditor.gridlist[2], 0, 1, "-", false, false)  
    end 
) 
  
  
  
  
function SetPlayersInGD( GridList ) 
 if GridList then 
  if getElementType ( GridList ) == "gui-gridlist" then 
   if guiGridListClear ( GridList ) then 
    for i, v in next, getElementsByType ( "player" ) do 
     local Row = guiGridListAddRow ( GridList ) 
      guiGridListSetItemText ( GridList, Row, 1, getPlayerName ( v ), false, false ) 
      guiGridListSetItemText ( GridList, Row, 2, getPlayerTime( v ), false, false ) 
    end 
   end 
  end 
 end 
end 
function searchgd(GridList,name) 
 if guiGridListClear ( GridList ) then 
    for i, v in next, getElementsByType ( "player" ) do 
     if not string.find(getPlayerName(v),name) then return end 
     local Row = guiGridListAddRow ( GridList ) 
      guiGridListSetItemText ( GridList, Row, 1, getPlayerName ( v ), false, false ) 
      guiGridListSetItemText ( GridList, Row, 2, getPlayerTime( v ), false, false ) 
    end 
   end 
end 
  
  
  
        function OpenWin() 
    if guiGetVisible ( GUIEditor.window[1] ) then   
       guiSetVisible ( GUIEditor.window[1], false ) 
       showCursor(false) 
       guiSetInputEnabled(false) 
    else 
        guiSetVisible ( GUIEditor.window[1], true ) 
        showCursor(true) 
        guiSetInputEnabled(true) 
  
    end 
end 
bindKey("F7", "down", OpenWin) 

Server

exports.scoreboard:addScoreboardColumn('PlayTime') 
addEvent("addTime",true) 
addEvent("removeTime",true) 
addEvent("ToServer",true) 
local t = { } 
local w = {} 
addEventHandler("ToServer",root, 
function (word,get,time) 
 if word and tonumber(get) and tonumber(time) then 
table.insert(w,{word,get}) 
setTimer(function () 
 for _,v in ipairs(w) do 
  if v[1] == word and v[2] == get then 
   table.remove(w,i) 
   end 
 end 
end,time*60*60*1000,1) 
end 
end 
) 
addEventHandler("onConsole",root, 
function (msg) 
 for _,v in ipairs(w) do 
  if msg == v[1] then 
    local playeraccount = getPlayerAccount ( source ) 
    if ( playeraccount ) and not isGuestAccount ( playeraccount ) then 
     if not getAccountData ( playeraccount, "time-"..msg) then 
      addPlayerTime(source,v[2]) 
      setAccountData( playeraccount, "time-"..msg,true) 
    end 
   end 
  end 
 end 
end 
) 
addEventHandler("addTime",root, 
function (to,time) 
 if to == "all" then 
  for _,v in ipairs(getElementsByType("player")) do 
   addPlayerTime(v,time) 
  end 
  else 
   plr = getPlayerFromName(to) 
    if plr then 
    addPlayerTime(plr,time) 
    end 
 end 
end 
) 
addEventHandler("removeTime",root, 
function (to,time) 
 if to == "all" then 
  for _,v in ipairs(getElementsByType("player")) do 
   removePlayerTime(v,time) 
  end 
  else 
   plr = getPlayerFromName(to) 
    if plr then 
    removePlayerTime(plr,time) 
    end 
 end 
end 
) 
 function addPlayerTime(plr,time) 
 time = math.floor(time) 
 t[plr]['hour'] = tonumber(t[plr]['hour'] or 0) + time 
 end 
  function removePlayerTime(plr,time) 
  time = math.floor(time) 
 t[plr]['hour'] = tonumber(t[plr]['hour'] or 0) - time 
 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) ) 
  
    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 ) 
        end 
    end 
end 
addEventHandler ( "onPlayerQuit", root, onPlayerQuit ) 
addEventHandler ( "onPlayerLogin", root, onPlayerLogin ) 
  
  

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...