Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Client side
- local cTimer = { }
- function onUserClick ( points, achievements, account )
- local row, col = guiGridListGetSelectedItem ( source )
- if ( row and col and row ~= -1 and col ~= -1 ) then
- local slc = guiGridListGetItemText ( source, row, col )
- local timeSpent = getElementData ( tostring ( slc ), 'timeSpent' )
- for i, v in pairs ( label ) do
- guiSetText ( v, 'Requesting...' )
- end
- guiSetText ( label_account, "Account name: " .. callServerFunction ( 'getAccountName', getPlayerAccount ( slc ) ) or 'N/A' )
- guiSetText ( label_Serial, "Serial: " .. callServerFunction ( 'getPlayerSerial', slc ) or 'Invalid serial' )
- guiSetText ( label_Country, "Country: " .. callServerFunction ( 'exports.admin:getPlayerCountry', slc ) or 'N/A' )
- cTimer [ localPlayer ] = setTimer (
- function ( )
- guiSetText ( label_timespent, "Time online: " .. tostring ( math.floor ( timeSpent / 60 ) ) .. " hours and " .. math.floor ( timeSpent % 60 ) .. " minutes" )
- guiSetText ( label_Ping, "Ping: " .. callServerFunction ( 'getPlayerPing', slc ) )
- guiSetText ( label_achievements, "Achievements Unlocked: " .. getPlayerAchievements ( slc ) )
- guiSetText ( label_points, "NPG Points: " .. getPlayerPoints ( slc ) )
- end,
- 50, 0 )
- else
- if ( isTimer ( cTimer [ localPlayer ] ) then
- killTimer ( cTimer [ localPlayer ] )
- end
- guiSetText ( label_account, "Account name: No player selected" )
- guiSetText ( label_Ping, "Ping: No player selected" )
- guiSetText ( label_Serial, "Serial: No player selected" )
- guiSetText ( label_points, "NPG Points: No player selected" )
- guiSetText ( label_timespent, "Time online: No player selected" )
- guiSetText ( label_achievements, "Achievements Unlocked: No player selected" )
- guiSetText ( label_Country, "Country: No player selected" )
- end
- end
- function callClientFunction(funcname, ...)
- local arg = { ... }
- if (arg[1]) then
- for key, value in next, arg do arg[key] = tonumber(value) or value end
- end
- loadstring("return "..funcname)()(unpack(arg))
- end
- addEvent("onServerCallsClientFunction", true)
- addEventHandler("onServerCallsClientFunction", resourceRoot, callClientFunction)
- function callServerFunction(funcname, ...)
- local arg = { ... }
- if (arg[1]) then
- for key, value in next, arg do
- if (type(value) == "number") then arg[key] = tostring(value) end
- end
- end
- triggerServerEvent("onClientCallsServerFunction", resourceRoot , funcname, unpack(arg))
- end
- -- Server side
- function callServerFunction(funcname, ...)
- local arg = { ... }
- if (arg[1]) then
- for key, value in next, arg do arg[key] = tonumber(value) or value end
- end
- loadstring("return "..funcname)()(unpack(arg))
- end
- addEvent("onClientCallsServerFunction", true)
- addEventHandler("onClientCallsServerFunction", resourceRoot , callServerFunction)
- function callClientFunction(client, funcname, ...)
- local arg = { ... }
- if (arg[1]) then
- for key, value in next, arg do
- if (type(value) == "number") then arg[key] = tostring(value) end
- end
- end
- triggerClientEvent(client, "onServerCallsClientFunction", resourceRoot, funcname, unpack(arg or {}))
- end
Advertisement
Add Comment
Please, Sign In to add comment