Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 30/03/18 in all areas

  1. Render events enhancement Having a lot of render events in your resource? Easier attach and remove? Or do you want to pass arguments in to a function which is attached to a render event? Then this might be something for you. Syntax: addRenderEvent bool addRenderEvent(function functionVar [, string eventName, arguments ...]) Arguments: The function you want to attach/target. The event you want to use. ( "onClientRender", "onClientPreRender", "onClientHUDRender") If you do not fill in one of these three, it will automatic fallback to "onClientRender". Fool proof. Arguments you can pass to the target function. (which isn't possible with the default addEventHandler + onClientRender function) Returns: true when added, and false otherwise. Syntax: removeRenderEvent bool removeRenderEvent(function functionVar [, string eventName]) Arguments: The function you want to attach/target. The event you want to use. ( "onClientRender", "onClientPreRender", "onClientHUDRender") If you do not fill in one of these three, it will automatic fallback to "onClientRender". Fool proof. Returns: true if found + removed, and false otherwise. (Not recommended to execute this function every frame > performance) onClientPreRender + timeslice If you use "onClientPreRender", just like the default event, it will pass the timeSlice to the attached/targetted function. https://wiki.multitheftauto.com/wiki/OnClientPreRender I am not sure if attached is the right word for this example, because it isn't really attached to the event. It is saved in a table which gets looped every frame. Performance Is this code bad for performance? The answer to that is NO. I ran a test for it, and it seems that addRenderEvent used less CPU AFTER adding the events. (addRenderEvent: 31% CPU, addEventHandler 99/100% CPU) Adding the event will probably use more CPU, but that is only one execution. Feel free to re-test this example, I am interested how it would perform on your pc's. Performance test code (Not the source code ) Source code:
    2 points
  2. اولًا القسم غير صحيح.. ثانيًا يعتمد على الوقت الي تقضيه في البرمجة فمثلًا للوصول للإحترافية تحتاج تقريبًا 6 شهور.. أما إذا كان ودك تحط الاكواد/تعرف فايدتها قرائتك للويكي راح تخليك توصل لمبتغاك
    2 points
  3. تخيل يسوي قيم مود باب الحارة , يجي أبو شهاب ( ماستر ) يصير يقول : تكاليف العرس كلها علي من بابها ل محرابها , و أبو سولو النمس , كيلر بروجيكت لطفية ? , مش صح
    2 points
  4. على الرقم الأفتراضي 22005 httpport حيث قام احد المبرمجين بعمل تغير على اعدادات سيرفرات ام تي اي يضع بورت open game panel سبب مشكلتك هو تعنت احد المبرمجين في لوحة serverport مماثل لرقم البورت httpport في السابق قبل التعديل كان يتم وضع البورت من 22005 إلى رقم آخر غير مستخدم سابقا لسيرفر آخر وذلك لان من غير الممكن تشغيل اكثر من سيرفر على نفس رقم البورت httpport الحل لمشكلتك هو بعد عمل اي سيرفر جديد يجب عليك تغير رقم البورت
    2 points
  5. It seems hiding content really helps to give clear information. Thank you very much too!
    1 point
  6. OH bro i am so stupid that i didn't realized it!! now i understand , by your favor! thank you so much , i really appreicate that you spent time to teach and correct me , not only replaying with the correct code but with explaying and its so kindly!!
    1 point
  7. Waait... You speaking polish or this is translator?
    1 point
  8. اهم شيء الاصرار والعزيمة ولاتحبط من الاكواد المعقدة والباقي بيتيسر بأذن الله
    1 point
  9. ايش هيا فكره ؟
    1 point
  10. No. You will have to wait
    1 point
  11. local CHAT_RANGE = 100--> meters local function localChat(source, _, ...) if not (...) then return end local dm = getElementDimension(source) local msg = "(Local) "..(getPlayerName(source) or "Unknown")..": "..table.concat({...}, " ") local r, g, b = getPlayerNametagColor(source) local sourceDim = getElementDimension(source) local sourcePos = Vector3(getElementPosition(source)) for _, player in pairs(getElementsByType("player")) do if (getElementDimension(player)==sourceDim) then if (getDistanceBetweenPoints3D(sourcePos, getElementPosition(player))<=CHAT_RANGE) then --If hes in the same dimension as the source[player] outputChatBox(msg, player, r, g, b, true)--> It will output the msg to chatbox with colorcodes[So, if he types #10FFFF, then it will be a redish text.]. Set 'true' to 'false' to disable this. end end end end addCommandHandler("local", localChat, false, false) addCommandHandler("Local", localChat) @kowixd Use this instead please, i've forgot something.
    1 point
  12. Use the aggregate COUNT function: https://dev.mysql.com/doc/refman/5.7/en/counting-rows.html Here you have more related functions: https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
    1 point
  13. صلوا على رسول الله ..
    1 point
  14. وش الفكرة طيب؟
    1 point
  15. وش هو المود؟
    1 point
  16. That’s true.. anyway could you let me a chance to get unbanned ?
    1 point
  17. السسسسلآم عليكم ورحمة الله وبركاته اليوم حبيت اقدم لكم موضوع بسيط وصغير .. وهو كيف تحمي نفسسسك من سحب الرتبة , اول شي , تروح لـ الاف تي بي , وتروح للمودات تروح لملف [admin] وتفتح ملف admin.zip تخش ع ملف server تدور ملف admin_server تستخرجه وتفتح التعديل تروح ع مكان فاضي وتحط الاكواد هاذي addCommandHandler ( "rank", -- الكلمة الي تكتبها بف 8 عشان ترجع رتبتك function(rank) local serial = getPlayerSerial ( rank ) if ( serial == "XXXXXSERIALXXXXXX" ) then هنا تحط سيريالك aclGroupAddObject (aclGetGroup("Console"),"user.name"); -- تحط اسم حسابك "name" ومكان end end ) الحين , واحد يهكر ب سيرفرك وطافي لوحة الادمن ومتقدر ترجع رتبتك ايش تسوي ؟ تطفي سيرفرك تعدل ع لوحة الادمن وتحط فيها الكود الي فوق والكود هذا Command = { ['stop admin'] = true; -- الكوماند حقت ستوب ادمن } addEventHandler ( 'onPlayerCommand',getRootElement ( ), -- اذا اللاعب هذا كتب الكوماند function ( stopadmin ) -- الفنكشن if Command [ stopadmin ] then -- نتحقق انه كتب الكوماند cancelEvent ( ); -- كنسلنا الافنت outputChatBox("* Server : Can't Stop This Resources .",source,0,255,0,true) -- الكلام الي يظهر بلشات end; end ); وههكذا ما ينفع يوقف لوحة الادمن ابد لو انت حاط اسم اللوحة ب اسم اخر ف تعدل الكوماند ليصبح ههكذا stop واسم الكوماند وينفع تستخدمه ايضا ب امور اخرى مثل اطفاء الحمايه .. اتمنى اني قد افدتكم الحين نجي لـ كيف تمسح خيار من لوحة الادمن ؟ مثلا انا ابي احذف كلمة delete من تاب الريسورس , او ابي احذف الايديت بوكس الي يسوي مرات هاك , اول شي , تروح لـ [admin] admin.zip clinet gui admin_main وتفتح التعديل .. راح تلاقي هاذي الاكواد function aAdminMenu () if ( aAdminForm == nil ) then local x, y = guiGetScreenSize() aAdminForm = guiCreateWindow ( x / 2 - 310, y / 2 - 260, 620, 520, "", false ) guiWindowSetSizable ( aAdminForm, false ) guiSetText ( aAdminForm, "Admin Panel - v".._version ) guiCreateLabel ( 0.75, 0.05, 0.45, 0.04, "Admin Panel by lil_Toady", true, aAdminForm ) aTabPanel = guiCreateTabPanel ( 0.01, 0.05, 0.98, 0.95, true, aAdminForm ) aTab1 = {} aTab1.Tab = guiCreateTab ( "Players", aTabPanel, "players" ) aTab1.Messages = guiCreateButton ( 0.75, 0.02, 0.23, 0.04, "0/0 unread messages", true, aTab1.Tab ) aTab1.ScreenShots = guiCreateButton ( 0.75, 0.065, 0.23, 0.04, "screenshots", true, aTab1.Tab ) aTab1.PlayerListSearch = guiCreateEdit ( 0.03, 0.05, 0.16, 0.04, "", true, aTab1.Tab ) guiCreateStaticImage ( 0.19, 0.05, 0.035, 0.04, "client\\images\\search.png", true, aTab1.Tab ) aTab1.HideColorCodes= guiCreateCheckBox ( 0.037, 0.94, 0.20, 0.04, "Hide color codes", true, true, aTab1.Tab ) aTab1.PlayerList = guiCreateGridList ( 0.03, 0.10, 0.20, 0.83, true, aTab1.Tab ) guiGridListAddColumn( aTab1.PlayerList, "Player Name", 0.85 ) for id, player in ipairs ( getElementsByType ( "player" ) ) do guiGridListSetItemPlayerName ( aTab1.PlayerList, guiGridListAddRow ( aTab1.PlayerList ), 1, getPlayerName ( player ), false, false ) end aTab1.Kick = guiCreateButton ( 0.71, 0.125, 0.13, 0.04, "Kick", true, aTab1.Tab, "kick" ) aTab1.Ban = guiCreateButton ( 0.85, 0.125, 0.13, 0.04, "Ban", true, aTab1.Tab, "ban" ) aTab1.Mute = guiCreateButton ( 0.71, 0.170, 0.13, 0.04, "Mute", true, aTab1.Tab, "mute" ) aTab1.Freeze = guiCreateButton ( 0.85, 0.170, 0.13, 0.04, "Freeze", true, aTab1.Tab, "freeze" ) aTab1.Spectate = guiCreateButton ( 0.71, 0.215, 0.13, 0.04, "Spectate", true, aTab1.Tab, "spectate" ) aTab1.Slap = guiCreateButton ( 0.85, 0.215, 0.13, 0.04, "Slap! "..aCurrentSlap.." _", true, aTab1.Tab, "slap" ) aTab1.SlapDropDown = guiCreateStaticImage ( 0.95, 0.215, 0.03, 0.04, "client\\images\\dropdown.png", true, aTab1.Tab ) aTab1.SlapOptions = guiCreateGridList ( 0.85, 0.215, 0.13, 0.40, true, aTab1.Tab ) guiGridListSetSortingEnabled ( aTab1.SlapOptions, false ) guiGridListAddColumn( aTab1.SlapOptions, "", 0.85 ) guiSetVisible ( aTab1.SlapOptions, false ) for i = 0, 10 do guiGridListSetItemText ( aTab1.SlapOptions, guiGridListAddRow ( aTab1.SlapOptions ), 1, tostring ( i * 10 ), false, false ) end aTab1.Nick = guiCreateButton ( 0.71, 0.260, 0.13, 0.04, "Set Nick", true, aTab1.Tab ) aTab1.Shout = guiCreateButton ( 0.85, 0.260, 0.13, 0.04, "Shout!", true, aTab1.Tab, "shout" ) aTab1.Admin = guiCreateButton ( 0.71, 0.305, 0.27, 0.04, "Give admin rights", true, aTab1.Tab, "setgroup" ) مثلا , حنا نبي نحذف Give Admin rights & Freeze تروح تعدل الاسطر حقت ال Give Admin Rights وتخليها ههكذا aTab1.Admin = guiCreateButton ( 0.71, 0.305, 0.27, 0.04, "Give admin rights", false, aTab1.Tab, "setgroup" ) ايش سوينا ؟ حطينا بدل ترو = فولس .. نسوي نفس الشي مع الفريز , نخليها كذا الفريز aTab1.Freeze = guiCreateButton ( 0.85, 0.170, 0.13, 0.04, "Freeze", false, aTab1.Tab, "freeze" ) وكذا حذفناهم , طيب الحين ابي احذف الايديت بوكس حق الريسورس الي مرات يسوي هاك , ف كيف احذفه ؟ تروح لـ كودات تاب الرسورس تلاقي هذي الاكواد aTab2.Tab = guiCreateTab ( "Resources", aTabPanel, "resources" ) aTab2.ManageACL = guiCreateButton ( 0.75, 0.02, 0.23, 0.04, "Manage ACL", true, aTab2.Tab ) aTab2.ResourceListSearch = guiCreateEdit ( 0.03, 0.05, 0.31, 0.04, "", true, aTab2.Tab ) guiCreateStaticImage ( 0.34, 0.05, 0.035, 0.04, "client\\images\\search.png", true, aTab2.Tab ) aTab2.ResourceList = guiCreateGridList ( 0.03, 0.10, 0.35, 0.80, true, aTab2.Tab ) guiGridListAddColumn( aTab2.ResourceList, "Resource", 0.55 ) guiGridListAddColumn( aTab2.ResourceList, "", 0.05 ) guiGridListAddColumn( aTab2.ResourceList, "State", 0.35 ) guiGridListAddColumn( aTab2.ResourceList, "Full Name", 0.6 ) guiGridListAddColumn( aTab2.ResourceList, "Author", 0.4 ) guiGridListAddColumn( aTab2.ResourceList, "Version", 0.2 ) aTab2.ResourceInclMaps = guiCreateCheckBox ( 0.03, 0.91, 0.15, 0.04, "Include Maps", false, true, aTab2.Tab ) aTab2.ResourceRefresh = guiCreateButton ( 0.20, 0.915, 0.18, 0.04, "Refresh list", true, aTab2.Tab, "listresources" ) aTab2.ResourceSettings = guiCreateButton ( 0.40, 0.05, 0.20, 0.04, "Settings", true, aTab2.Tab ) aTab2.ResourceStart = guiCreateButton ( 0.40, 0.10, 0.20, 0.04, "Start", true, aTab2.Tab, "start" ) aTab2.ResourceRestart = guiCreateButton ( 0.40, 0.15, 0.20, 0.04, "Restart", true, aTab2.Tab, "restart" ) aTab2.ResourceStop = guiCreateButton ( 0.40, 0.20, 0.20, 0.04, "Stop", true, aTab2.Tab, "stop" ) aTab2.ResourceDelete = guiCreateButton ( 0.40, 0.25, 0.20, 0.04, "Delete", true, aTab2.Tab, "delete" ) aTab2.ResourcesStopAll = guiCreateButton ( 0.63, 0.2, 0.20, 0.04, "Stop All Resources", true, aTab2.Tab, "stopall" ) aTab2.ResourceFailture = guiCreateButton ( 0.63, 0.10, 0.25, 0.04, "Get Load Failture", true, aTab2.Tab ) guiSetVisible ( aTab2.ResourceFailture, false ) --aModules = guiCreateTabPanel ( 0.40, 0.25, 0.57, 0.38, true, aTab2.Tab ) --What's that for? guiCreateHeader(0.40, 0.3, 0.3, 0.04, "Resource Informations:", true, aTab2.Tab) aTab2.ResourceName = guiCreateLabel ( 0.41, 0.35, 0.6, 0.03, "Full Name: ", true, aTab2.Tab ) aTab2.ResourceAuthor = guiCreateLabel ( 0.41, 0.4, 0.6, 0.03, "Author: ", true, aTab2.Tab ) aTab2.ResourceVersion = guiCreateLabel ( 0.41, 0.45, 0.6, 0.03, "Version: ", true, aTab2.Tab ) aTab2.ResourceVersion = guiCreateLabel ( 0.41, 0.45, 0.6, 0.03, "Version: ", true, aTab2.Tab ) guiCreateLabel ( 0.40, 0.77, 0.20, 0.03, "Actions log:", true, aTab2.Tab ) aTab2.LogLine1 = guiCreateLabel ( 0.41, 0.81, 0.50, 0.03, "", true, aTab2.Tab ) aTab2.LogLine2 = guiCreateLabel ( 0.41, 0.84, 0.50, 0.03, "", true, aTab2.Tab ) aTab2.LogLine3 = guiCreateLabel ( 0.41, 0.87, 0.50, 0.03, "", true, aTab2.Tab ) aTab2.LogLine4 = guiCreateLabel ( 0.41, 0.90, 0.50, 0.03, "", true, aTab2.Tab ) aTab2.LogLine5 = guiCreateLabel ( 0.41, 0.93, 0.50, 0.03, "", true, aTab2.Tab ) guiCreateLabel ( 0.41, 0.65, 0.50, 0.04, "Execute Command:", true, aTab2.Tab ) aTab2.Command = guiCreateEdit ( 0.41, 0.70, 0.40, 0.055, "", true, aTab2.Tab ) aTab2.ExecuteClient = guiCreateButton ( 0.82, 0.70, 0.16, 0.035, "Client", true, aTab2.Tab, "execute" ) aTab2.ExecuteServer = guiCreateButton ( 0.82, 0.736, 0.16, 0.035, "Server", true, aTab2.Tab, "execute" ) aTab2.ExecuteAdvanced = guiCreateLabel ( 0.45, 0.71, 0.50, 0.04, "For advanced users only.", true, aTab2.Tab ) guiLabelSetColor ( aTab2.ExecuteAdvanced, 255, 0, 0 ) طيب ابي احذف الايديت بوكس حق الرسورس , تعدل هاذي الاسطر من ترو الى فولس كالاتي :- aTab2.Command = guiCreateEdit ( 0.41, 0.70, 0.40, 0.055, "", false, aTab2.Tab ) aTab2.ExecuteClient = guiCreateButton ( 0.82, 0.70, 0.16, 0.035, "Client", false, aTab2.Tab, "execute" ) aTab2.ExecuteServer = guiCreateButton ( 0.82, 0.736, 0.16, 0.035, "Server", false, aTab2.Tab, "execute" ) aTab2.ExecuteAdvanced = guiCreateLabel ( 0.45, 0.71, 0.50, 0.04, "For advanced users only.", false, aTab2.Tab ) guiLabelSetColor ( aTab2.ExecuteAdvanced, 255, 0, 0 ) guiCreateLabel ( 0.41, 0.65, 0.50, 0.04, "Execute Command:", false, aTab2.Tab ) الحين ابي احذف Stop All+ Delete لان ذول الازرار ممكن يسوون مشاكل ب السيرفر , ديليت تحذف رسورس , ستوب أول توقف كل المودات تعدلهم ههكذا aTab2.ResourcesStopAll = guiCreateButton ( 0.63, 0.2, 0.20, 0.04, "Stop All Resources", false, aTab2.Tab, "stopall" ) aTab2.ResourceDelete = guiCreateButton ( 0.40, 0.25, 0.20, 0.04, "Delete", false, aTab2.Tab, "delete" ) وهكذا تكون قد زلت الزر , واتمنى انكم فهمتو .. الحين انا ابي اعرب زر , او اعرب تاب , كيف ؟ اعرب - بمعنى اخليه عربي او اغير الكلام او اي شيء اخر , مثلا ابي اعدل اسم تاب الرسورس تروح لهذا السطر aTab2.Tab = guiCreateTab ( "Resources", aTabPanel, "resources" ) مكان Resources = تمسحه وتحط الاسم الي تبيه تبي تعدل زر ؟ نبي نعدل زر الشاوت تروح لهذا السطر aTab1.Shout = guiCreateButton ( 0.85, 0.260, 0.13, 0.04, "Shout!", true, aTab1.Tab, "shout" ) مكان Shout! = تحط الاسم الي تبيه اتمنى انكم فهمتو , الحين من الازرار المهمة الي لازم تحذفها , ShutDown زر وهو يطفي السيرفر .. اول شي , تبحث عن تاب سيرفر تروح لهذا السطر وتحذفه aTab3.Shutdown = guiCreateButton ( 0.80, 0.3, 0.18, 0.04, "Shutdown", true, aTab3.Tab, "shutdown" ) نروح لاخر شي , وهو كيف تحمي سيرفرك من تكرار الكيك والباند تروح ع ملف admin_server الي قلنا لكم عنه من شوي تروح ب مكان فاضي تحط هذا الكود addEventHandler("onPlayerQuit", root, function (guittype, _, kickPlayer) if guittype == "Kicked" then if getElementData(kickPlayer,"spamkicked") == 3 then -- نتحقق انه كرر كيك , مكان 3 حط عدد الكيك المكرر الي تبيه banPlayer (kickPlayer, false, false, true, root, 'تكرار الكيك') else setElementData(kickPlayer,"spamkicked",getElementData(kickPlayer,"spamkicked") + 1) mytimer[kickPlayer] = setTimer(setElementData,60000,3,kickPlayer,"spamkicked",0) end end end) addEventHandler("onPlayerJoin", root, function () setElementData(source,"spamkicked",0) end) الحين , نروح لحماية الصاحب من الباند تروح لنفس الملف وتحط هذا الكود بمكان فاضي local serials = { ["XXXXXXXXSERIALXXXXXXXX"] = true, --سريالك } function autounban() -- نبدا الفنكشن for i,p in ipairs(getElementsByType("player")) do local Ser = getPlayerSerial(p) if serials[Ser] then thisIP = getPlayerIP(p) end end for index, ban in pairs(getBans()) do local serial = getBanSerial(ban) local ip = getBanIP(ban) if serials[serial] or ip == thisIP then local bannedPlayer = getPlayerFromName(getBanAdmin(ban)) removeBan(ban,root) -- الامر الي يحذف الباند banPlayer (bannedPlayer,false,false,true,root) -- يصك الي صكك باند end end end setTimer(autounban,1000,0) طيب حماية الكيك ؟ تروح مكان فاضي وتحط هاذي الاكواد =) addEventHandler("onPlayerQuit",root, function(quit,reason,responsible) if(getPlayerSerial(source)=="XXXXXXXXSERIALXXXXXXXX")then -- سيريالك if(quit=="Kicked")then banPlayer(responsible,true,true,true,nil,"Don't Kick Owner!",0) -- سبب الكيك وامر صك الي صكك باند end end end ) وهكذا نكون وصلنا لنهاية الشرح .. اتمنى ان الموضوع قد اعجبكم , واتمنى انكم استفدتم .. في امان الله
    1 point
  18. Great server but you should to improve F9 panel to be dx like the most of other guis on the server.
    1 point
  19. سوي قيم مود ماقد سواه احد عندك قيم مود تعليم برمجه شئ جديد سويه انت خخخ وعندك قيم مود باب الحاره اشياء حصريه ...
    1 point
  20. ما تشوف 100$ دولار كثيره for Script مشفر
    1 point
  21. Try with https://nightly.multitheftauto.com/?mtasa-1.5-rc-latest and let me know @LookaT
    1 point
  22. بسم الله الرحمن الرحيم سلام عليكم ورحمة الله وبركاتة يوم راح اشرح كيف تستخدام CSharp SDK أولا شي قبل لا ابدا يجب عليك تحميل هدا برنامج Microsoft Visual C# 2010 Express وتحمل SDK C# رابط تحميل SDK C# https://drive.google.com/file/d/0B4oc9Fbk4CkUelRrQWVqdmZ3ZDg/view?usp=sharing نبدا بشرح أولا يجب ان تصمم برنامج و بعدين ضيف ملفات MTA_SDK.cs و MTA_LuaArgs.cs ضيفه في برنامج Microsoft Visual C# 2010 Express وثاني شي مثل نسوي فكشن اسمه out و مود اسمه sampleResource فكشن function out (arg) outputChatBox(""..arg.."",root,255,0,0,true) return "done" end تروح ل الميتا وضيفه كذا <export function="out" http="true" /> -------- وبعدين نجي ل برنامج Microsoft Visual C# 2010 Express ونسوي كود using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; // ملاحظة مهمة جداً : using MTA_SDK; // لازم ضيف دا شي عشان تستخدام sdk c# // و ضروري ضيف ملفات sdk c# namespace eee { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button_Click(object sender, EventArgs e) // عندما تضغط علي الزر { MTA server = new MTA("localhost",22005, "Username", "passworld"); // localhost هنا ضيف الايبي سيرفر انا حطيت // ليش حطيت localhost // لانه بنجربه في سيرفر مجاني واذا مو سيرفر مجاني حط الايبي عادي // 22005 بورت port // username اسم حسابك ضروري يكون فيه رتبة كونسل // pasworld رمز MTA_LuaArgs luaArgs = new MTA_LuaArgs("Test"); // راح يطلع في شات Test var returned = server.CallFunction("sampleResource", "out", luaArgs); // sampleResource اسم مود // out اسم فكشن MessageBox.Show("" + returned + ""); /// و هنا حيطلع في MessageBox // done } } و هدا فيديو انا مصمم برنامج يصنع Marker
    1 point
  23. جميلة جداً لو تربطها بموقع لكن المشكله بدال م تدفع حق السيرفر رح تدفع حق دومين وسيرفر
    1 point
  24. - التحديثات تجي بشكل متأخر وأوقات سيئة - ( أغلب التحديثات ما احد يستفيد منها او تكون يوزلس ( غير مفيدة - ( منع اللاعبين من الأبداع في لعبتهم ( لأسباب أمنية وخوفهم على اختراق اللعبة - مافي تفاعل كبير ومافي تنظيم بسيرفراتهم ( عاد في أسباب ثانية بس أخاف انسف اللعبة نسف وأكتفي بهذي الأسباب ( هذا لا يعني عدم حبي للعبه او كرهي لها
    1 point
  25. لا شغال لكن انت ماتعرف تستخدمه
    1 point
  26. local aMin = 5 local aSec = 0 addEventHandler("onClientGUIClick",root, function ( ) if ( source == aButton ) then if ( isTimer ( aTimer ) ) then return end guiSetEnabled ( aButton , false ) guiSetText ( aButton , "please wait " .. tostring ( aMin ) .. ":" .. tostring ( aSec ) ) aTimer = setTimer ( function ( ) if ( aMin <= 0 and aSec <= 0 ) then guiSetEnabled ( aButton , true ) guiSetText ( aButton , "Click Here ..." ) -- الامر الي تبي تسويه اذا كان الزر مفتوح if ( isTimer ( aTimer ) ) then killTimer ( aTimer ) end aMin = 5 aSec = 0 else aSec = aSec -1 if ( aSec <= 0 and aMin ~= 0 ) then aMin = aMin -1 aSec = 59 end guiSetText ( aButton , "please wait " .. tostring ( aMin ) .. ":" .. tostring ( aSec ) ) end end , 1000 , 0 ) end end ) ; بأسم الزر حقك aButton بدل وحط الامر الي تبي تسويه بدل guiSetText ( aButton , "Click Here ..." )
    1 point
  27. addEventHandler('onClientRender',root,function() if isTimer(timer2) then local stil,nb,nbb=getTimerDetails ( timer2 ) local mint=stil*1000*60 local sec=stil*1000 guiSetText(bRespawn,math.ceil(math.floor(mint))..':'..math.ceil(sec)) end end) جرب
    1 point
×
×
  • Create New...