Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 17/11/17 in all areas

  1. Hello, We, the eXo-Reallife team, would like to release a module that is also used on our server. It is a pathfinding module developed by Jusonex and StiviK. The module uses the A * algorithm. (https://en.wikipedia.org/wiki/A*_search_algorithm) We use this for our GPS: Why did we develop a module for this and did not simply write a script? This has a very simple reason. The module calculates the routes in your own threads, which has the advantage that it is much faster than a script, and secondly, you can calculate how much routes as you want side by side. This will not cause any lags etc.! What are the features of the module? The module can load several graphs / nodes side by side The module calculates the routes in its own threads Very useful API functions (such as findNodeAt or getNodeNeighbors) What are the main features? int loadPathGraph (String pathToGraphFile) This function loads the graph from the given file and returns a GraphId which you need for all other functions. If something does not work, false is returned. bool findShortestPathBetween (int graphId, float startX, float startY, float startZ, float endX, float endY, float endZ, function callback) This function finds the shortest route between the points. (Unfortunately, no vectors can be handed over!) The callback function is called when the calculation is finished. As an argument, either a table is returned that contains all nodes, or false if no route is found. bool unloadPathGraph (int graphId) You can use this function if you no longer need and want to unload the graph, it returns true if everything is fine, false if an error has occurred. You will find all the other functions that are included in our documentation. Why is the eXo team releasing all this? Well, that has the simple reason, we want to share our work with others and not just keep it for us! We hope we can enrich you with it and vlt. Even help! Where can I download the module? The whole module is open-source and can be viewed in our GitHub organization. It's released under the MIT License. GitHub organization: https://github.com/eXo-MTA Repository: https://github.com/eXo-MTA/ml_pathfind Download the module (Windows / Linux): https://github.com/eXo-MTA/ml_pathfind/releases Nodes of all roads in SA: https://github.com/eXo-MTA/ml_pathfind/blob/master/test/sa_nodes.json If you find any mistakes or suggestions, you can simply create a new issue and we will look into it. So now that's it, have fun with the module! - StiviK and the eXo-Reallife team (Original thread in German: https://www.mta-sa.org/thread/36365-release-mta-sa-pathfinding-module/?postID=407938#post407938)
    1 point
  2. السلام عليكم ورحمة الله وبركاتة انشاء الله طيبين اليوم رجعت لكم بمود جديد والي هو مود توزيع الفلوس علي جميع الاعبين اتوقع المود منشور بس انا سويتة بفكرتي الخاصة وتصميمي الخاص صورة للمود : - لتغير زر فتح الوحة من ملف " Settings.lua " التحميل *Sailor الاهدائات : - iPrestege MR.GRAND Abu Solo iMr.WiFi..! #Himoo MR.S3D MR.SAAD MR.StoRm N3xT #Soking #BroSs AboOoD.Boy
    1 point
  3. أستعمل هالوظيفة : callRemote وأتصل بالسيرفر الآخر ولازم كل السيرفرين يكون معهم نفس المود وسوى فنكشن داخل هالمود ونفذ أرقمنتاته عشان يجي في الجريد ليست للسيرفر الآخر كمثال : اللاعب الاول رسل للاعب الثاني وكلهم في سيرفرين مختلفين والمود في كل السيرفرين راح يجيب الايبي سيرفر حق اللاعب الثاني ويسوي اتصال للمود حقه ويستعمل فنكشنه عشان يضيف في قاعدة البيانات او مباشرة الى الجريد ليست واذا بالقاعدة البيانات بيسوي تحديث ويحطها بالجريد ليست واذا مباشرة فواضحة يضيف رو في الجريد ليست ويشتغل الوضع شوي معقد بس لما تتعلم أكثر راح تعرف له ويكون سهل عليك إن شاء الله
    1 point
  4. https://free-gg.com/s7Hp2i لا هنتو خشو ذا الرابط اي 30 شخص يخش هذا الموقع مضمون يعطيك حساب ماين كرافت لما 30 شخص يخش على الرابط https://free-gg.com/s7Hp2i @Abu-Solo @N3xT
    1 point
  5. عساه جاك حساب بس؟ https://free-gg.com/gmcFWj يلآ خشو
    1 point
  6. طيب انا مو عارف اسويها تقدر تسويها لي ؟؟ ض
    1 point
  7. dgsDxEditSetMaxLength not work if paste text through dgsDxGUISetText
    1 point
  8. You can make the flashing pipe (| - pipe) invisible when ReadOnly is true?
    1 point
  9. جرب تسوي اوت بوت شات بوكس في التايمر وتزيد الوقت اكثر على الاقل 30 ثانية عشان يمكن تدخل والوقت خلص بالفعل .. واذا كنت بسيرفر محلي المود بينطفي والتايمر بيوقف فعشان كذا لازم تجربه بسيرفر بخادم او تقدر تستعمل طريقة روك الي ذلنا عليها والي هي تجيب الريل تايم وتسوي تايم ستامب
    1 point
  10. مود رائع صراحه بالذات اني محب للانمي - اتمنى تستمر واعذرني ع التاخير بالرد مشغول وشكرا ع الاهداء ي قلبي نبي نشوفك بـ سكربتات جديده إن شاء الله بالتوفيق <3
    1 point
  11. يا شعب المنتدي وينكم نايمين صلو علي الحبيب محمد صلي الله عليه وسلم
    1 point
  12. i'm sure, it didn't work if you cancel it afer you check line of sight. Syncing seems fine with blowVehicle on client side, i even reconnected and vehicle stayed destroyed.
    1 point
  13. yea, true Explosions are forced to be sync. Last thing: (clientside only) bool createExplosion ( float x, float y, float z, int theType [, bool makeSound = true, float camShake = -1.0, bool damaging = true ] ) Set damaging to false after recreation. P.s. car explosions might look different.
    1 point
  14. addEventHandler("onClientExplosion",root,function(x,y,z,type) if getElementType(source) == "vehicle" or getElementType(source) == "player" or getElementType(source) == "ped" then local tX,tY,tZ = getElementPosition(source); if not isLineOfSightClear(x,y,z,tX,tY,tZ,true,false,false,true) then cancelEvent(); end end end); funny is that when it cancels it, it just deletes grenade or explosion before it explodes but when someone else is near that is in sight it still explodes and even those that are not in sight but are near explosion still explodes.
    1 point
  15. You could do something like this local inputEnabled = false addEventHandler("onClientKey", root, function() if (inputEnabled) then cancelEvent() end end) You can just toggle the inputEnabled var in your script
    1 point
  16. @Matevsz Why don't you start with learning how to interact with a table? Your table structure is incorrect created based on the data that is inside it. Either put more data inside each item(sub table) or make each item the value(number) and not a sub-table. If you do not understand about a word of what I just said, start this: Or boring, but useful: http://lua-users.org/wiki/TablesTutorial
    1 point
  17. -- server-side function showcountry() local flag = exports.admin:getPlayerCountry ( source ) if flag then setElementData(source,"Country",":admin/client/images/flags/"..flag..".png") else flag = "N/A" end end addEventHandler("onPlayerJoin",getRootElement(),showcountry) Add this on scoreboard client-side elseif column.name == "Country" then dxDrawImage( topX+theX, y+s(1), 16, 11, content, 0, 0, 0, cWhite, drawOverGUI ) tell me if there is a problem.
    1 point
  18. زمان وقت اصدارات mta القديمه كنت تقدر تبدع وتسوي اي مود ويشتغل .. زي الانمي يعني ادخل شوف في يوتيوب كان في سيرفر اسمه tensi war لي انمي ناروتو + دراجون بول شوف المودات كل شخصيه ولها الجتسو حقها مهارتها بالضبط .. كنت تقدر تركب اي شي بحيث يطلعلك شي ممتاز ، لاكن الان احنا في مختبر مب ابداع
    1 point
  19. وعليكم السلام سكربت خرافي عندي اقتراحات بسيطة بس 1- ضيف اصوات التنقيات 2- ضيف في زر 8 انك لما تضغط تنقل واحد داخل الماركر اليك وأنت تروح مكانه وبيكون السكربت افضل وشكراً على الأهداء
    1 point
  20. سكربت جميل بالتوفيق يا عسل +_+
    1 point
  21. ما شاء الله ، متعوب عليه .
    1 point
  22. واصل ي بطل المود جميل جدا من شكله, بس لو تسوي فيديو عشان نفهم اكثر يكون احسن ماشاء الله عليك
    1 point
  23. giveWeapon(root, 38, 8000, false) -- انت اكيد بتكون عامل ربط بين الرصاص ونوع اسلاح في اللوحة ولكن روح على كود اعطاء السلاح وحط قيمة فالس وبس , ما رح يطلع السلاح بيدو وقتها
    1 point
  24. Video and no, it is not dxDrawLine3D
    1 point
  25. لا مو مثله هو عبارة عن مكتبة نفس الجيو وليس الجيو اديتور بس على شكل الدي اكس ماشوف له شعبية كبيرة في سيرفرات اغلب استخدامه بين المبرمجين
    0 points
  26. i actually found better way doing this. addEventHandler("onClientVehicleDamage",root,function(attacker,wep,loss,x,y,z,tyreid) if (wep == 63 or wep == 51 or wep == 19) then cancelEvent(); local aX,aY,aZ = getElementPosition(attacker); local tX,tY,tZ = getElementPosition(source); iprint(isLineOfSightClear(tX,tY,tZ,aX,aY,aZ,true,false,false,true),aX,aY,aZ,tX,tY,tZ) if isLineOfSightClear(tX,tY,tZ,aX,aY,aZ,true,false,false,true) then blowVehicle(source,true); end end end); had to cancel event first though, otherwise it's already too late to cancel it after you checked if line of sight is clear.
    0 points
×
×
  • Create New...