Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 17/06/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. بسم الله الرحمن الرحيم .. سلام عليكم ورحمة الله وبركاته انا سويت سيرفر في برنامج ديسكورد والسيرفر ذا متخصص في مساعدة الاكواد القصيرة والمساعدة السريعة طبعاً انت بتقول وش ذا الديسكورد ؟ طبعاً الديسكورد هو برنامج تواصل اجتماعي ينافس التيم سبيك ويمكن طرح الاكواد بكل سهولة ويسر كمثال : مميزات الدسكورد : سهولة التواصل , سهولة طرح الاكواد , بأمكانية برمجة بوتات مجانية داخل السيرفر الخاص بك طريقة دخول الدسكورد + وكتابة الاكواد + وارسال روابط الفنكشنات بسهولة ؟ الرابط دخول السيرفر : https://discord.gg/BdmJyNm السيرفر يدعم اغلب لغات البرمجة بشكل عام ويهدف لمساعدة الجميع دون استثناء أي المساعد والي بينظم مساعد في السيرفر يكتب تعليق تحت هالموضوع ويكتب مشارك .. بشرطين ": خبرة برمجية متوسطة , يكون داخل السيرفر في الختام ماهو مجبور عليك تدخل السيرفر هذا سيرفر يساعد في تطوير المبرمجين وتحسين البرمجة اتمنى تدخلو السيرفر وسلام عليكم
    1 point
  3. السلام علكم و رحمة الله و بركاته مميزات الشوتر- تقدر تعرف عدد الاعبين الي معاك بالشوتر واعلي حد للاعبين في الشوتر هو 32- تقدر تعرف اسم الي دخل الشوتر- تقدر تعرف كم من الوقت متبقي لبدأ الشوتر من جديد- تقدر تقفز من شفت [ Shift ]- تقدر تطلق الصاروخ من الموس الزر الايسر و من زر كتلر [ Ctrl ]الصور -- احداثيات مكان الشوتر-- {"الشوتر",2902.15356,-780.47516,10.98360}-- المود مكون من جزئين الاول المود و الثاني المكانتحميل المود من فايل ابلود [ File Upload ]تحميل المود من توب فور توب [ Top4Top ]تحميل المكان من فايل ابلود [ File Upload ]تحميل المكان من توب فور توب [ Top4Top ]و السلام عليكم و رحمة الله و بركاته
    1 point
  4. بدك تعمل لجروب مليتار او تيم ؟
    1 point
  5. أي حدث تبيه مثلا عند كتابة أمر أو عند ضغط زر أو أي شي ألمهم إنك تستخدمه بالطريقة الصحيحة وتتبع تعليمات الويكي ..
    1 point
  6. كلام الاخ ايكو صحيح , الحدث هذا هو الذي يقوم بمنع القتل من السكين
    1 point
  7. if ry < 0 then ry = 360 + ry end Try this. It will make sure that the rotation is positive and yet you can give it negative values. (use it directly after you updated the variable ry) EDITED
    1 point
  8. سكربت رائع عندك مشكلة بسييطة مرة المرة جاية لما تجي تسوي ماركر من نوع د حط نفاتة واطلع فوق شوي بعدين خد احدتاتياتك + موفق
    1 point
  9. setTimer(function () ------------------- -- place it here -- ------------------- -------------------- -- and remove: +1 -- setVehicleComponentRotation(vehicle, "gearflapleft", rx, ry --[[ +1]], rz) -------------------- ----------------- -- debug it!!! -- iprint("Debugging the variable ry:", ry) ----------------- end,100,90)
    1 point
  10. Lo mejor que se puede hacer para evitar el lag de los neones es creando un objeto de neon que produzca luz y con un simple shader modificar ese color si el usuario quiere otro color.
    1 point
  11. السلام عليكم السكربت رائع اهنيك عليه بالتوفيق
    1 point
  12. السلام عليكم شرف كبير ليا اني اكون اول رد عليك بالتوفيق ليك ان شاء الله
    1 point
  13. Might be also possible. But even if that is correct, not updating the ry variable will end up with the same result. ry = ry +1
    1 point
  14. vehSpawnMark = createMarker (x,y,z, "cylinder", 5, 0, 255, 203, 100 ) VehiclesTable = {} function spawnvehicle (thePlayer) if ( getElementType(thePlayer) == 'player' ) then local theVeh = getPedOccupiedVehicle(thePlayer) if ( theVeh ) then if ( VehiclesTable[thePlayer] ) then destroyElement(theVeh) VehiclesTable[thePlayer] = nil outputChatBox ("Your vehicle has been destroyed because you touched this marker", thePlayer, 0, 255, 0) return -- If u wanna give you a new vehicle after destroyed, delete this line end end local x, y, z = getElementPosition (thePlayer) local rotX, rotY, rotZ = getElementRotation (thePlayer) VehiclesTable[thePlayer] = createVehicle (411, x-10, y, z) setElementRotation (VehiclesTable[thePlayer], rotX, rotY, 90) warpPedIntoVehicle (thePlayer, VehiclesTable[thePlayer]) outputChatBox ("You successfully spawned an Infernus!", thePlayer, 0, 255, 0) end end addEventHandler("onMarkerHit", vehSpawnMark, spawnvehicle) addEventHandler('onPlayerQuit',root, function () if ( VehiclesTable[source] ) then -- If the player has a vehicle from this script. destroyElement(VehiclesTable[source]) -- Delete it. VehiclesTable[source] = nil -- Remove player value from the vehicles table. end end)
    1 point
  15. هاده شرح ممتاز بتفهم منه
    1 point
  16. https://wiki.multitheftauto.com/wiki/DxDrawText
    1 point
  17. If you look at setTimer on the wiki, you will understand, but to give you an idea local myTimer = setTimer( function(text) outputChatBox("Timer after 5 seconds: " .. text) end, 5000, 1, "myParam1") function myFunctionName(text) outputChatBox("Timer after 5 seconds: " .. text) end local myTimer = setTimer( myFunctionName, 5000, 1, "myParam1") -- function() ... end -> anonymous function -- myFunctionName -> if you already have a function you will call -- 5000 -> when should the timer start in ms, so 5000 = 5 seconds -- 1 -> how many times the timer should run, every 5 seconds | 0 = infinite -- myParam1 -> parameters you will pass to the function
    1 point
  18. Thanks, but I have tried this already, both elements stay in the same position and ignore rotation, I don't think there is a way to attach and move on marker hit...
    1 point
  19. x اتوقع ان لك مستقبل بالبرمجة x
    1 point
  20. As far as I remember, you have to edit it in the settings and it's called something transparency? Not too sure now
    1 point
  21. Did you really ban yourself? You are fantastic! https://wiki.multitheftauto.com/wiki/RemoveBan
    1 point
  22. В вашем САМПе звучит как обвинение)
    1 point
  23. На мой взгляд ценность МТА также в том, что он позволяет новичкам попробовать свои силы в программировании и игроделе. Человек без особого опыта и знаний может получить первый опыт, заинтересоваться этим (или наоборот понять что это совсем не то), сделать что-то свое. В такой простой, игровой форме гораздо интереснее учиться программировать. Завтра из этих ребят вырастут классные программеры и это, в какой-то степени, будет благодаря МТА (САМП). Каждый инструмент решает свои задачи. Если масштаб Ваших замыслов превышает возможности МТА и Вы знаете что такое Unity, UE и CE, то в чем проблема? Не стоит забивать гвозди отверткой, для этого есть молоток.
    1 point
  24. السلام عليكم ورحمه الله وبركاته, انا شفت شرح تيتي يعطيه العافيهه, بس الي ما فهمته الكولمن و كلومن 2...الخ على كود عشآن افهم اكثر executeSQLQuery أبي شرح لـ
    1 point
  25. Блин, только что читал тему и улыбнуло как 2 русских в русском разделе общались на английском X)
    1 point
×
×
  • Create New...