Jump to content

فاّرس

Members
  • Posts

    4,805
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by فاّرس

  1. ادري, بس اطرح الاكواد كامله عشان نقدر نساعدك؟
  2. اللي اعرفه ان السكربت يخلب الوقت يظهر بالسكور؟ وهل انت محمل سكور او لا؟ اذا لا : exports.scoreboard:scoreboardAddColumn( "PlayTime" ) -- ثم تضيف الداتا setElementData(player, "PlayTime", value)
  3. isObjectInACLGroup getPlayerAccount getAccountName triggerClientEvent triggerServerEvent guiSetVisible showCursor
  4. ^ الافضل تتحقق اذا هو اختار شي من الأساس, لأن كذا لو ضغط الزر وهو ما اختار شي راح يجيب سترنق الكومبو بوكس اللي كتبته يوم سويت الفنكشن, اقصد ذا caption: A string for what the title of your combobox will be. This will be shown if no item is selected.
  5. ^ I think he wants random colors? math.random .
  6. ذي الاكواد كامله؟, اذا كامله : Superman.onJump = غير معرفه check ملف سيرفر لازم تستخدم الوظيفه
  7. الله يسلمكم من زمان م انحرجت , تنطيل احس اني اعرفك ياخي ؟
  8. مافهمت طلبك بالضبط, بس اللي فهمته انك تقدر تستخدم, setElementPosition setElementData - getElementData -- اذا احتجتها ؟
  9. "onClientPlayerChangeNick" استخدم حدث وحط اسم اللاعب باللبل زي كذا: l = guiCreateLabel( x,y,width,height,getPlayerName(localPlayer),relative)
  10. الكود الاول استخدم, getPlayerName guiSetText الكود الثاني انت مسوي نظام حفظ القتل او شي زي كذا ولا لا؟
  11. ادخل الروابط اللي عطاك وشوف كيف تسوي الكود.
  12. Syntaxشوف الـ, بالنسبه لـ انه ما يرجعه, اذا خلص الديربي سوي تحقق من الداتا ورجعه .
  13. ادخل وبتلقى مثال, جربه وشوف كيف وخذ اللي تبيه منه وكمل . https://wiki.multitheftauto.com/wiki/createPickup
  14. الموضوع مو صعب ادخل الويكي وبتلقى كل شي, ما يحتاج كل شوي موضوع تطلب شي .. https://wiki.multitheftauto.com/wiki/Cl ... Comboboxes
  15. "onClientVehicleEnter" getElementPosition "createWeapon" attachElements bindKey "fireWeapon" "setWeaponClipAmmo" "setWeaponState"
  16. اتوقع والله اعلم انه من ملف مودز, احذف كل شي فيه وجرب , C:\Program Files\MTA San Andreas 1.5\mods\deathmatch\resources
  17. كفوك الطيب, وحياك الله.
  18. حط ذا بالكلينت : setTimer (on, 1000,0, true)
  19. ^ للمعلوميه اتوقع باقي شغال بالكلينت, + مافيه ارقومنت لاعب بالكلينت.
  20. send لا مو منه, انا مو شايف اي خطأ , جرب غير سطر 155 في الكلينت وسطر 148 و 149,حط بدالهم مثلاً
  21. متأكد انك مو حاط ملفات السيرفر بالكلينت او العكس؟ سويت ريستارت للمود؟
  22. جرب كذا : --Client side # GUIEditor = { gridlist = {}, window = {}, label = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.window[1] = guiCreateWindow(215, 117, 460, 403, "اعلى 30 تواجد في السـيـرفـر", false) guiWindowSetSizable(GUIEditor.window[1], false) guiSetAlpha(GUIEditor.window[1], 1.00) guiSetVisible ( GUIEditor.window[1], false ) guiSetProperty(GUIEditor.window[1], "CaptionColour", "FF01FAB6") Gridilist = guiCreateGridList(10, 54, 436, 324, false, GUIEditor.window[1]) guiGridListAddColumn(Gridilist, "playerName", 0.5) guiGridListAddColumn(Gridilist, "PlayTime", 0.5) GUIEditor.label[1] = guiCreateLabel(-7, -45, 453, 40, "", false, GUIEditor.gridlist[1]) end ) function on(state) if state and not tonumber ( state ) and type (state) == 'boolean' then if state == true then triggerServerEvent("onTopPlayerListRequest",localPlayer,"Play Time") else return end end end addEventHandler( 'onClientResourceStart', resourceRoot,function() on(true) end) function UpdateTopList(t) guiGridListClear(Gridilist) for k,v in ipairs(t) do local row = guiGridListAddRow(Gridilist) guiGridListSetItemText(Gridilist,row,1,v["playerName"],false,false) guiGridListSetItemText(Gridilist,row,2,v["PlayTime"],false,false) end end addEvent("onClientReceiveTopListTable",true) addEventHandler("onClientReceiveTopListTable",root, function(t) UpdateTopList(t) end) function TopGui() local guiS = guiGetVisible(GUIEditor.window[1]) guiSetVisible(GUIEditor.window[1],not guiS) showCursor(not guiS) guiSetInputEnabled(not guiS) on (guiS) end bindKey("F12","down",TopGui) -- Server side # local playTime = {} function onLogin(old,current) if(current and not isGuestAccount(current))then local timeHour = tonumber(getAccountData(current,"hour"))or 0 local timeMinute = tonumber(getAccountData(current,"minute"))or 0 local timeSecond = tonumber(getAccountData(current,"second"))or 0 if(not playTime[source])then playTime[source] = { ["hour"] = 0, ["min"] = 0, ["sec"] = 0 } end playTime[source]["hour"] = timeHour playTime[source]["min"] = timeMinute playTime[source]["sec"] = timeSecond end end addEventHandler("onPlayerLogin",root,onLogin) addEventHandler ( 'onResourceStop', resourceRoot, function() for k,v in ipairs ( getElementsByType ('player') ) do local acc = getPlayerAccount(v) if(acc and not isGuestAccount(acc))then local timeHour = playTime[v]["hour"] or 0 local timeMin = playTime[v]["min"] or 0 local timeSec = playTime[v]["sec"] or 0 local name = getPlayerName(v) local nickAcc = string.gsub(name,"#%x%x%x%x%x%x","") setAccountData(acc,"hour",timeHour) setAccountData(acc,"minute",timeMin) setAccountData(acc,"second",timeSec) setAccountData(acc,"PlayerName",nickAcc) playTime[v] = nil end end end) addEventHandler ( 'onResourceStart', resourceRoot, function() for k,v in ipairs ( getElementsByType ('player') ) do local acc = getPlayerAccount ( v ) if( acc and not isGuestAccount(acc))then local timeHour = tonumber(getAccountData(acc,"hour"))or 0 local timeMinute = tonumber(getAccountData(acc,"minute"))or 0 local timeSecond = tonumber(getAccountData(acc,"second"))or 0 if(not playTime[v])then playTime[v] = { ["hour"] = 0, ["min"] = 0, ["sec"] = 0 } end playTime[v]["hour"] = timeHour playTime[v]["min"] = timeMinute playTime[v]["sec"] = timeSecond end end end) function onQuit() local acc = getPlayerAccount(source) if(acc and not isGuestAccount(acc))then local timeHour = playTime[source]["hour"] or 0 local timeMin = playTime[source]["min"] or 0 local timeSec = playTime[source]["sec"] or 0 local name = getPlayerName(source) local nickAcc = string.gsub(name,"#%x%x%x%x%x%x","") setAccountData(acc,"hour",timeHour) setAccountData(acc,"minute",timeMin) setAccountData(acc,"second",timeSec) setAccountData(acc,"PlayerName",nickAcc) playTime[source] = nil end end addEventHandler("onPlayerQuit",root,onQuit) addEvent("onTopPlayerListRequest",true) addEventHandler("onTopPlayerListRequest",root, function(text) local allAccounts = getAccounts() local sendTable = {} local data = 0 for k,v in ipairs(allAccounts) do local name = getAccountName(v) local dataHour = tonumber(getAccountData(v,"hour")) or 0 local dataMin = tonumber(getAccountData(v,"minute")) or 0 local dataSec = tonumber(getAccountData(v,"second")) or 0 if(text == "Play Time")then data = dataHour+DividiveIfMoreZero(dataMin,60)+DividiveIfMoreZero(dataSec,3600) else data = tonumber(getAccountData(v,text) or 0)or 0 end if(data>0)then table.insert(sendTable,{["playerName"] = name,["PlayTime"] = data}) end end table.sort(sendTable,function(a,b) return tonumber(a["PlayTime"] or 0)>tonumber(b["PlayTime"] or 0) end) table.setMaxIndex(sendTable,10) if(text == "Play Time")then for i=1,#sendTable do local timeString = "" local nAcc = getAccount(sendTable[i]["playerName"]) local hourS = getAccountData(nAcc,"hour") or 0 local minS = getAccountData(nAcc,"minute") or 0 local secS = getAccountData(nAcc,"second") or 0 hourS = tostring(hourS) minS = tostring(minS) secS = tostring(secS) timeString = hourS..":"..minS..":"..secS sendTable[i]["PlayTime"] = timeString end end for i=1,#sendTable do local acc = getAccount(sendTable[i]["playerName"]) local accRealName = getAccountData(acc,"PlayerName") if(accRealName and tostring(accRealName)~="false")then sendTable[i]["playerName"] = accRealName end end triggerClientEvent(client,"onClientReceiveTopListTable",client,sendTable) end) function table.setMaxIndex(t,n) if(#t>n)then while(#t>n)do table.remove(t) end end end function DividiveIfMoreZero(v,d) if(v>0)then return (v/d) end return 0 end function SavePlayTime() local players = getElementsByType("player") for k,v in ipairs(players) do if(not playTime[v]) then playTime[v] = { ["hour"] = 0, ["min"] = 0, ["sec"] = 0 } end playTime[v]["sec"] = tonumber(playTime[v]["sec"]+1) convertTime(v,playTime[v]["min"],playTime[v]["sec"]) local hour = playTime[v]["hour"] local min = playTime[v]["min"] local sec = playTime[v]["sec"] local acc = getPlayerAccount(v) if(acc and isGuestAccount(acc)==false)then setAccountData(acc,"hour",hour) setAccountData(acc,"minute",min) setAccountData(acc,"second",sec) end end setTimer(SavePlayTime,1000,1) end setTimer(SavePlayTime,1000,1) function ResetTopPlayers() local allAccounts = getAccounts() for k,v in ipairs(allAccounts) do setAccountData(v,"hour",0) setAccountData(v,"minute",0) setAccountData(v,"second",0) end outputChatBox("تم تحديث اعلى تواجد") end function resetConsoleTop(p) local accName = getAccountName(getPlayerAccount(p)) if(isObjectInACLGroup("user." .. accName, aclGetGroup("Console")))then ResetTopPlayers() else outputChatBox("هذا الخاصيه فقط لـ الكونسل",p) end end addCommandHandler("CL1",resetConsoleTop) function convertTime(source,m,s) if(s>=60)then playTime[source]["min"] = tonumber(playTime[source]["min"]+1) playTime[source]["sec"] = 0 end if(m>=60)then playTime[source]["hour"] = tonumber(playTime[source]["hour"]+1) playTime[source]["min"] = 0 end end وللمعلوميه ما بيتحدث الوقت الا كل ما تفتح اللوحه اف12, تقدر تسوي تايمر او اي شي اذا تبيه يحدث على طول ..
×
×
  • Create New...