Leaderboard
Popular Content
Showing content with the highest reputation on 03/05/19 in all areas
-
بأختصار المود يستخدم لأظهار ايقونه تكشف القنابل و موقعها، المود مسويه قبل 6 سنوات وما عاد استخدمه ولذلك قررت مشاركته: المود غير مشفر: https://community.multitheftauto.com/?p=resources&s=details&id=160213 points
-
Well, a simple script that show on the screen a grenade indicator, i made it 6 years ago and i no longer uses it so i decided to share it. Download: https://community.multitheftauto.com/?p=resources&s=details&id=160212 points
-
The first question basically depends on whether your players will tolerate lag (hint: GUI is supposed to be responsive). If it's something like GUI, it's best to update it on the client as if it was received by the server but set a timer to revert the GUI to server-state unless you hear back an acknowledgement event from the server (i.e. that the operation was executed without error) (don't unconditionally accept any sync event, in addition to any procedural checks (making sure the data is in valid format, etc) and so on, always safeguard and send back a kind of not-acceptable acknowledgement event when the event isn't accepted by the server for, among other, anti-cheat purposes). For stuff which could give an unfair advantage or other bonuses/cheats like godmode, it would definitely be better to run the request by the server and back before any client changes are actually shown. Instead of instant change, you could show a spinning progress icon until you hear an acknowledgement event from the server (i.e. that the operation was executed without error) Higher ping will make GUIs seem less responsive if you run it by the server before actually making changes visible. Additionally, make sure to saveguard the server from accepting illegitimate sync events, so clients can't change their--or others'--data on a whim. Refreshing GUI for players in same colshape would be best done on client receive sync packet, individually per player if possible, or refresh the whole list when one player's data changes.2 points
-
بسم الله الرحمن الرحيم الصلاة والسلام على اشرف الانبياء والمرسلين نبينا محمد عليه افضل الصلاة واتم التسليم, اما بعد: أقدم لكم دورتي لـ تعلم لغة برمجة لوا.. ملاحظة: توجد مشكلة في الدرس الثاني الا وهي صغر الخط, وتم حلها ولن تتكرر في الدروس القادمة باذن الله تعالى MTA الدورة لا تتوجه لـلعبة ولكنها تتكلم عن البرمجة بشكل عام بالاضافة لتعليم وتدريس في لغة لوا اذا كان فيه نوع من الاقبال والتفاعل سأتخصص بـ برمجة ام تي ايه بالاضافة لبرمجة الديسكورد وشرح بعض اللغات الاخرى دمتم سالمين في أمان الله..1 point
-
Slipe is an open source framework that enables anyone to write scripts for MTA:San Andreas in C# instead of Lua, wrapping all MTA elements and classes and including some .NET Core namespaces. It is based on CSharp.Lua by Yang Huan. Slipe features: Runs on Windows and Linux Built in continuous deployment support with (GitHub) webhooks Object oriented wrappers for all MTA elements Async/await for MTA functions that use callbacks C# style Http requests, sockets and XML methods. Use Visual Studio and its Intellisense Type safety You can find more information about the project on https://prod.mta-slipe.com. Our Discord Our Github The project is still in Alpha, and since it is open source anyone is welcome to contribute1 point
-
في البداية هذا الفنكشن يُستعمل لفتح باب الكراج مثل الكراج الي امام محل البيتزا بيكون ايديه 8 وحشرح عليه function garage() if isGarageOpen( 8 ) then -- يتحقق من أنو الكراج مفتوح setGarageOpen( 8 , false) -- يغلق الكراج else -- اذا كان مو مفتوح setGarageOpen( 8 , true ) -- يفتح الكراج اذا كان مفتوح end end addCommandHandler('opengarage', garage) -- الامر الي تفتح او تغلق باب الكراج فيه1 point
-
ببساطة الدايمنشن هو بعد مثلاً انت بتكون في البعد 0 وكل اللاعبين لو في شخص صار ببعد ثاني حيكون هذا مختفي عن اللاعبين function setDimension(thePlayer, commandName, dimensionID) local dimensionID = tonumber(dimensionID) -- يحول الدايمنشن لـ قيمة رقمية if (dimensionID >= 0 and dimensionID <= 65535) then -- يتأكد انو مايحطها اكثر من الي موجود او اقل setElementDimension(thePlayer, dimensionID) -- يسوي بُعد اللاعب هو الي يبيه outputChatBox("You're now in"..dimensionID, thePlayer) -- يكتب له في الشات باي بعد هو حالياً else outputChatBox("Invalid dimension ID (0-65535).", thePlayer) -- اذا هو حاط اكثر من المفروض او اقل end end addCommandHandler("setdimension", setDimension, false, false) -- الامر الي يستعمله -- لما يكتب الامر بيكتب بعده الدايمنشن عشان يشتغل1 point
-
@majqq The basic The most safest way is like php does it. Sending an instruction to serverside. Serverside updates the list and send it back. During the proces the browser is refreshing the page, which is more or less freezing the interface. This instruction is not the whole list of items. But it contains the identifiers of the items that are going to change + how they are going to change. Enchantments It is not idealistic to freeze the interface. In case of multiple users editing the same data. If your players have good internet, then you might not even need an enchantment. But be warned, enchantments on top of sync items between server and multiple clients is complex. You can update the clientside data first. Instruction: Item with id 253. Move to index 30. Clientside Do the instruction Send the instruction to serverside Serverside Do the instruction IF successful sync instruction (other clients) ELSE If different outcome (A different client updated something before you did) Resend list to clientside (you) sync instruction (other clients) ELSE Resend list to clientside (you) or undo instruction in case of not making any other changes.1 point
-
1 point
-
function guiCreateButton(x3, y3, width3, height3, titleBarText3, relative3 , Wnd) local mainBackground3 = guiCreateStaticImage ( x3, y3, width3, height3, "pic.png", relative3 , Wnd) local mainBackgroundLabel3 = guiCreateLabel ( -0.2, 0.1, 700, 100, " "..titleBarText3, true, mainBackground3 ) guiSetFont ( mainBackgroundLabel3, guiCreateFont ( "Font1.ttf", 10 ) ) -- الخطوط . guiSetEnabled ( mainBackgroundLabel3, false ) return mainBackground3 end1 point
-
سيرفر جميل ورائع , ومن أفضل السيرفرات الي لعبت بها حرب العصابات .1 point
-
function guiCreateButton(x3, y3, width3, height3, titleBarText3, relative3 , Wnd) local mainBackground3 = guiCreateStaticImage ( x3, y3, width3, height3, "YourPhoto.png", relative3 , Wnd) -- اسم الصورة local mainBackgroundLabel = guiCreateLabel(0, 0, 0, 0, titleBarText2, false, mainBackground2) guiSetEnabled ( mainBackgroundLabel3, false ) return mainBackground3 end ضيف هذا الكود في الفري روم " كلينت " ولا تنسى تضيف الصورة بالمود والميتا . @MR.AsaD1 point
-
أ، ب، ت، ث، ج، ح، خ، د، ذ، ر، ز، س، ش، ص، ض، ط، ظ، ع، غ، ف، ق، ك، ل، م، ن، هـ، و، ي تصير لي جارية ؟1 point
-
This script has been stolen from a server by taking the uncompiled client.lua from the client resources directory while playing there. As this happens to be my server, I took this opportunity to publish the script on community rather than having someone else show off with work that isn't theirs. Said server has been running this script for a couple of years already. You can download the resource at https://community.multitheftauto.com/index.php?p=resources&s=details&id=15749 now (open source). Topic locked because this practice isn't allowed on the forums Arabic translation (not by me): هذا السكربت تمت سرقته من السيرفر الخاص بي عن طريق سرقة ملف الكلاينت الغير مشفر من مجلد المودات أثناء اللعب هناك, وبالصدفة هذا السكربت خاص بسيرفري لذلك استغليت الفرصة وقمت بنشر السكربت في الكوميونيتي بدلاً من تظاهر شخص بعمل ليس له, هذا السكربت يعمل بالسيرفر لعدة سنين حالياً https://community.multitheftauto.com/index.php?p=resources&s=details&id=15749 : ( تحميل السكربت ( مفتوح المصدر .هذا الموضوع مغلق لأن هذا التصرف ممنوع في المنتدى1 point
-
1 point
-
الله ياخذ عمري علي العيساوي اعتقد الاغنية من 2009 اظن ان الكثير اذ سمعها راح يتذكر النغمة الي بالبداية1 point
-
0 points
