Leaderboard


Popular Content

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

  1. 43 points
    Multi Theft Auto: San Andreas 1.5.6 is released Today the MTA team is delighted to announce the release of MTA:SA 1.5.6. You will receive an automatic update soon, but if you don't have MTA installed, you can get it from the home page . There are many changes and improvements across the board, but one feature stands out as being especially exciting: custom animations! This has been a feature on our radar for many years, and @Saml1er was the one who decided to make what many have considered a dream, a reality. Take a quick look at this video of custom animations in action to get a glimpse of what's possible: Changes This release includes many additions, improvements, and fixes. Find the complete set of changes, and more information about the improvements listed below, in the 1.5.6 release notes. If you'd like to keep on top of all the things we're working on, why not watch or star our GitHub repository? Here is a heavily cut-down selection of features and fixes. Highlights: New features Ordered roughly by reverse chronological order New languages Bulgarian, Indonesian and Chinese (Traditional) (a3217) New server console feature for arrow command history (#274 by myonlake) New ACL property ModifyOtherObjects.resourceName for one resource only (6614d) New element functions getElementAngularVelocity, setElementAngularVelocity (#73 by lex128) New chat function clearChatBox (#215 by CrosRoad95) New vehicle functions getVehicleRespawnPosition, getVehicleRespawnRotation, setVehicleRespawnRotation (#334, #338 by l0nger) New goggle effect parameter "noiseEnabled" parameter to setCameraGoggleEffect (#324 by samr46) New drawing function dxDrawCircle (#266 by CrosRoad95, Saml1er) New jetpack functions setPedWearingJetpack, isPedWearingJetpack (#243 by Dezash) New element function getElementsWithinRange (de149) New GUI functions guiWindowIsMovable, guiWindowIsSizable, guiEditGetMaxLength, guiEditIsMasked (#272, #255 by FileEX) New fire function extinguishFire (#207 by CrosRoad95, #252 by myonlake, also 7838b) New world functions getPedsLODDistance, setPedsLODDistance, resetPedsLODDistance (#231 by CrosRoad95) New GUI scrollbar functions guiMemoSetVerticalScrollPosition, guiMemoGetVerticalScrollPosition (#248 by myonlake) New GUI functions guiMemoIsReadOnly, guiEditIsReadOnly (#236 by FileEx) New special property "underworldwarp" (#208 by CrosRoad95, #222 by myonlake) New vector support for collision functions (#217 by myonlake, #163 by Pawelo / 4O4) New animations functions setPedAnimationSpeed, engineLoadIFP, engineReplaceAnimation (Saml1er, with some help from Icensow, raw data loading courtesy of #247 by samr46) New colshape function isInsideColShape (#195 by tederis) New vehicle function for client-sided setVehicleHandling (#192 by Renkon) New world sound parameter to setWorldSoundEnabled to stop sound immediately (44844) New ped weapon function isPedReloadingWeapon (#149 by Neproify) New debug hooks pre/postEventFunction added to addDebugHook (#126) New event parameter "deleted" add to onResourceStop (98502) New vehicle function isVehicleWheelOnGround (#146 by ZReC) New command reloadacl (#131 by Timic) Enable switching camera view mode for trains (#125 by ZReC) New encode functions encodeString, decodeString (#184 by SDraw) New pickup events onPickupLeave & onPlayerPickupLeave (#176 by emre1702) New account functions getAccountIP, getAccountsByIP, getAccountsByData & setAccountName (#164 by emre1702) Highlights: Bug fixes and tweaks getChatboxLayout now works as advertised (#254 by myonlake) Return 2 vectors for ele:getBoundingBox (#305 by Pirulax, #332 by Addlibs) Fix inconsistencies in reading userdata in Player functions (#308 by Addlibs) Improve debug info for garbage collected files (#312 by Dezash) Fix crashes with account functions when using empty strings (faa57) Missing bShallow for server-side water (#240 by myonlake) Fix spawnPlayer rotation not working properly (#258 by myonlake) Fix false elements in getElementsWithinRange (#300 by Sergeanur) Removal of the /whowas command (0cffa) Improve connect to disconnect you less frequently (7fc29) Make connect port argument default to 22003 (d698b) Fix many bugs related to animations, jetpack and choking (#229 by myonlake) getVehicleType not being consistent server/client side (b08f3) Fix custom CEGUI skins accidentally breaking dxDrawRectangle (4e57a) Ignore colorcodes while tabbing in chatbox (#238 by Timic) Various bind tweaks, please tell us if something is broken (by emre1702) Fix empty string in getVehicleNameFromModel (instead of false) (#219 by emre1702) Weather blending improvements (#204 by emre1702) Fix 'stream_title' meta tag when the playback is started (#206 by Sergeanur) Fix problems when using a controller with more than 7 axes (382a3) Console no longer displays an error message when pressing the key of a disabled MTA control (23dad) Fix crash caused by calling client-side setPlayerNametagShowing with a ped (554a2) Fix server crash on server-window resize (becf0) Download This release is backwards compatible with the older 1.5.x releases (1.5.5, 1.5.4, all the way to 1.5). However, if you would like to take advantage of all of these useful changes, you will need to go and download the update! Servers: binaries are available, and don't forget to update your default resources. What's next? We're continually working on new features and fixes for MTA. If you're happy to report bugs and crashes do try out our Nightly release stream. You can do this by going into Settings -> Advanced -> Auto updater -> Update build type. Change to "nightly" and hit "Check for update now". Only do this if you like crashing and like filling out bug reports. We're also working on a brand new community: we want your suggestions, ideas and feedback! If you have any questions or would just like to chat with the community, do check out our official Discord server. We have channels for scripting, general support (bugs), mod development, and many more! Thank you! Thank you very much to the following community members for their work towards this release: Addlibs, ArranTuna, CrosRoad95, Dezash, Dutchman101, Einheit-101, emre1702, FileEX, forkerer, Icensow, jlillis, l0nger, lex128, lopezloo, MIKI785, myonlake, Neproify, Pawelo / 4O4, Pirulax, Renkon, samr46, SDraw, Sergeanur, tederis, Timic3, ZReC, and many others who helped document on the wiki, reported bugs, and helped out with issues. (If your name is missing or you want to change your entry above, please PM @qaisjp) You could be on this list! We're always on the lookout for new contributors. Contribute on GitHub, and chat with us on Discord. Finally, everyone, please give a 👋 to the newest maintainer of Multi Theft Auto: @Saml1er. Until next time, The MTA Team
  2. 38 points
    Happy Spring Break! We have got a new release for you - Multi Theft Auto: San Andreas 1.5.4! This release includes security updates for the server that protect both you and us, so we recommend all server owners to upgrade as soon as possible - see the steps below for tips on that. Failure to do so may affect your server's visibility on the Master Server List in the ingame server browser. Aside from security fixes, there are some feature updates in this version for the client as well, so regular players are more than welcome to update. What do you need to do to upgrade your server properly Stop your server, then upgrade your server binaries like usual. You can also upgrade your server resources if you use any of the default MTA:SA ones. Start your server, and when it is running, stop your server again (This will step will ensure mtaserver.conf is upgraded) Edit your mtaserver.conf file, and find <owner_email_address> (it should be just below the <servername> parameter) and insert a valid e-mail address that we can use to contact you, should there be an issue with your server. This e-mail address IS NOT visible publicly and will only be used for means listed earlier. That is, only if those occur. Save the mtaserver.conf file, then start your server again. Release Highlights Authorized Serial Account Protection is now enabled by default. To put it simply, this feature prevents players from logging in to an account on the server if their serial differs from the serial associated with that account. Naturally, this feature is configurable so you can restrict it to specific account groups and you can authorize more than just one serial for a specific account. You can also disable this in the mtaserver.conf file if you are sure you do not need the feature. Database Credentials Protection is now enabled by default. passwordHash() & passwordVerify() can now be used to store and verify passwords securely and efficiently fetchRemote() now supports parallel downloads with the queue name parameter setWorldSpecialPropertyEnabled() now has settings for "sniper moon", "random foliage" and "extra air resistance" New scripting functions: get/setVehicleLODDistance() setElementDimension() now supports element omnipresence, which means that an element can be in all dimensions at once fixes for weapons/fists desync Corona markers should now have a correct attach offset position SQLite or MySQL no longer makes the server freeze if the connection is lost (#9520) Goggles no longer stay after player was killed (#9477) updates for CEF and other dependencies and redists fakelag command for testing sync issues fixes for some crashes and improvements for error handling for installation and startup issues removed max password length limit for server account passwords added server option to allow locally modified (gta3.img) vehicles added world special property "extraairresitance" to remove speed limiter on certain road sections (#7546) resource pack: various changes in acpanel, editor, freeroam, killmessages, playerblips, race and webbrowser ... plus more! A complete list of changes can be found here (recommended read) and here (incomplete, from r10623 upwards). List of changes to the resource pack can be found here (starting from and including Oct 29, 2016 upwards). Want to download MTA:SA 1.5.4? Click here to download the build for Win 7+. Looking for a legacy build for XP/Vista? You can download it here. Or you can click here to go to our home page. Once there, click the Download button at the top center of the page, then choose your build and you are set. Linux server packages are also available. This release is backwards compatible with the 1.5.3 (also 1.5.2, 1.5.1 and 1.5). If you use these versions, then you may as well upgrade to the newest one. Credits for this release: 4O4, Arran, Dutchman101, einheit-101, Fernando, lopezloo, Necktrox, next, Noki_, qaisjp, ZReC ^ (Have you contributed to MTA:SA 1.5.4's source code/resources pack but were not mentioned in the above list? PM @jhxp with a link to your contribution and you will be added ASAP) ^ Oh, and did you know that we have got our very own Discord server now? Click here for details on how to join our server. Take care. -- MTA Team
  3. 27 points
    Hi there! Time sure flies fast, doesn't it? It has been a while since the last post from us so we would like to give you an update on what has been going on recently with MTA:SA. We have got two highlights for you this time. The community Do you remember our Community website? It has served us well over the years but has also caught some rust in the process. Therefore, we would like to re-visit it and improve your experience with discovering and publishing resources. Our plan is to build a new community website from the ground up using modern technologies, and we would like to hear from you what you would like to see on the new platform. Please respond to this thread with your ideas and suggestions. Technically inclined users can take a look at the first pass of our specification document. Development progress As for the mod itself, we have received many pull requests (patch contributions) on our GitHub from open source contributors lately. One of such contributions is a brand new feature: custom IFP animations support, coming from one of our community members, Saml1er. He managed to get this to work nicely in MTA:SA, while ensuring that our coding standards are met so we could include it without too much hassle. Saml1er even made a video which showcases what this feature is all about. You can find it below: We intend this to be a part of our upcoming 1.5.6 release which we hope will come soon, but you can try it out now by using a nightly build: https://nightly.mtasa.com/ Tips for using this can be found on our wiki: https://wiki.multitheftauto.com/wiki/EngineLoadIFP That's all for now. Take care and enjoy the summer! — MTA Team
  4. 24 points
    Summer is over, but fear not, we have got a new release for you - Multi Theft Auto: San Andreas 1.5.5! This release is focused on bugfixes (most notably, some popular crashes were fixed with help from @Dutchman101 - eg. this one, code cleanups and under-the-hood improvements for developers (migration to a Docker-based environment and support for VS2017 and GCC-6). It may look like it is not much of an update, but the amount of such smaller changes should be a good incentive to update. In other news, we have enabled some additional forum account security features for your convenience - namely a possibility to set a security question(s) for the account and support for Authy and Google Authenticator two-factor authentication. You can enable them in your Account Security settings. Release Highlights updated CEF elements and fixed red/blue color swap issue with Intel VGAs added 'localhost' to the hardcoded CEF whitelist modified launch patcher to work with more exe variants added black outline option for chat text fixed #4166 ("Engine Sounds of other Helicopters and planes missing unless you get in a Helicopter or plane.") fixed #9681 ("Unable to hear proper engine sounds when sitting in car as passenger") fixed #3944 ("Radio titles do not always show.") fixed #8590 ("createEffect with some effects places it's sfx sounds to position 0,0,0") added guiGetCursorType(), isResourceArchived(), getDevelopmentMode(), setDevelopmentMode() (used to be client-only, now it's also server-side), debugSleep(), setVehicleModelExhaustFumesPosition(), getVehicleModelExhaustFumesPosition() improved client connections through firewalls fixed FOV setting not updating censored onClientConsole for login command potentially fixed crouchbug resource pack: various changes in admin, editor, freeroam, headshot, ipb, joinquit, killmessages, play, and realdriveby ... plus more! A complete list of changes can be found here (recommended read) and here (incomplete, from r11302 upwards). List of changes to the resource pack can be found here (starting from and including Apr 22, 2016 upwards). Want to download MTA:SA 1.5.5? Click here to download the build for Win 7+. Looking for a legacy build for XP/Vista? You can download it here. Or you can click here to go to our home page. Once there, click the Download button at the top center of the page, then choose your build and you are set. Linux server packages are also available. This release is backwards compatible with other 1.5-based builds (1.5.4, 1.5.3, 1.5.2, 1.5.1 and 1.5). However if you still use these versions, why not upgrade to the newest one? It works just as good, or even better. Community credits for this release: AboShanab, Arran, CrosRoad95, Dezash, Dutchman101, emre1702, Gothem, lopezloo, Necktrox, qaisjp, Sergeanur, ZReC ^ Have you contributed to MTA:SA 1.5.5's source code/resources pack but were not mentioned in the above list (or maybe you would like to modify your entry above eg. change your nickname or add a link to your Twitter/Github)? PM @jhxp with a link to your contribution (for missing entries only) and you will be added ASAP ^ See y'all. -- MTA Team
  5. 23 points
    Hi there. The Winter Holidays are here, so as usual we have got a new recap and status update post for you. Here is the summary of what has happened this year. 📰 2018 in Recap We made efforts towards the new release through the first half of the year, so there was not much to talk about. There was an incompatibility issue with the 360 Total Security software which we advised you about and later in the year, there was a similar issue with McAfee. Late July, we have asked you about your thoughts about refreshing the community.mtasa.com portal. We have received some interesting feedback from you and we are still thinking about ways of implementing it, while considering our current resources. Also in July, we have migrated our bug tracking services to GitHub Issues, making it easier to track specific issues and link them to GitHub commits and pull requests. This has also allowed us to clean up our bug tracker - the old system had nearly 8000 tracked issues, some of which were 13 years old or so. On 7th of September, we have released Multi Theft Auto: San Andreas 1.5.6. This release added support for custom IFP animations among other things, like fixing the input and FPS lag reported by some of our users. Then a few days later, we have advised you to upgrade your MTA:SA servers to the latest version due to a server crash exploit that was discovered. There were some additional issues with this hotfix that were spotted later, but they have been all fixed within few days. If you have not yet upgraded your servers though, we still urge you to do so. 📺 A bunch of interesting MTA:SA-related YouTube videos from this year nX_ Vol.18 - CodeNX™ - 첫 장 - video by ElCrowMvs / map by nX [GTA:DM] Wonder - Interstellar - by Wonder MTA [MTA] Vice City - Map Preview #1 (JStreamer v3) - by Liberty City Roleplay Multi Theft Auto - Tactics - by LoG4nTG Multi Theft Auto - MTA CIT / GTA SA - San Andreas Police Department's 7th Anniversary (Dance Show) - video by PeteyFTW / server: CIT Multi Theft Auto San Andreas Fail + Funny moments #1 - by Mr. Green Gaming Multi Theft Auto: San Andreas - MTA DD - Map: Orgazm Cross - video by Game Master / map by Orgazm MTA:SA Fast And Furious Paradise Trailer ! - by SDRIFTER Abdlmounaim 📈 Current player counts and version fragmentation statistics Type Amount of players Date / Time Recent peak number of concurrent unique players 30625 players 2018.12.16 (at 16.30 GMT) Highest recorded number of concurrent unique players 34653 players 2018.02.03 (at 17.30 GMT) Recent number of daily unique players 150390 players 2018.12.01 (Saturday) Highest recorded number of daily unique players 185818 players 2018.02.03 (Saturday) Recent number of monthly unique players 605834 players November, 2018 Highest recorded number of monthly unique players 805903 players January, 2018 Player counts were just slightly lower than last year, but we have also had some nice peak values at the beginning of the year. Good to see that there is still an interest in old but great games. MTA:SA Version or series Percentage of players using that version or series as of 24th of December, 2018 1.6.0 (alpha) 0.05% 1.5.6 97.20% 1.5.5 2.00% 1.5.4 (and older) 0.40% 1.4.x 0.20% 1.3.x 0.15% Similar to last year, two of our most recent releases are used by over 99% of our player base. It means that there is little fragmentation between our releases and that players in general upgrade to the newest release once it is available. Also, there seems to be some interest in the newest alpha version as well - that is nice too. 📟 Status updates Community-wise, our Discord has expanded this year - currently we have got 10 language-specific sections available for you there, as well as the active as usual English ones. We have also opened a new forum section recently to keep appeals for global game bans in one place. Over the next few weeks we intend to refresh our forum rules to better suit the current forum needs. As for mod's development, we will continue working on the next release. We are thinking of integrating a new version of the client installer to reduce amount of issues encountered when installing MTA:SA (as well as to make it easier to investigate the remaining ones). We will also consider adding new features provided by our community members, such as editing collisions and adjusting surface properties by CrosRoad95. That's it for now. 🎄❄Happy Holidays and all the best to you in 2019! 🎉✨ -- MTA Team
  6. 22 points
    Hello. This is my new custom window system with widgets. Just rewrited window system, including this custom GUI widgets: - Scroll Panes - Buttons (+ buttons with images) - Progress Bars (automatic checking for vertical or horizontal using its size, square is horizontal) - Scroll Bars (same as progress bars) - Custom Themed Edit Boxes, Memo Boxes, new widget - Number Boxes (support mouse scrolling) - Check Boxes - Combo Boxes - Tab Panel with tabs - Labels - Dialog Boxes - Tooltips - Loading Circles - Table Views (Grid Lists) Here I've just used only OOP coding style, just copy this one lua file in your projects, and start this resource automatically, because this file getting directories from main resourcename, and using files without copying. Screenshots Video: Example - Login Panel. Author - Estet (DK). Tutorial of installation: Download (GitHub) Wiki Documentation Thank you.
  7. 22 points
    Thisdp's DirectX Graphical User Interface System ( MTASA 2D+3D DxLIB ) This dxlib provide dx gui functions and events to make it easier to use and alternative to change the style more flexibly. Warning: Old function name like dgsDxGUI*/dgsDx* are no longer supported after 3.4, please change your functions and events name 'dgsDxGUI*'/'dgsDx*' have been changed to 'dgs*' Final Version: 3.99 Features: 1. Update Check(DGS will notice you if there is a higher version, and you can choose to ignore it or disable it in the config file) Update Command: "updatedgs" 2. Dx GUI Types: Window Edit Box Button Grid List Image Scroll Bar Scroll Pane Text Label Tab Panel Ellipse Detect Area (EDA) Detect Area Radio Button Combo Box Check Box Memo 3D Interface 3D Text Media Browser Browser 3. Edit/Memo rewrite ( You can no longer find the problems in dgs, the problems which exist in cegui) 4. Detect Area is efficient when checking whether your cursor is in a complicated shape. 5. Debug Mode , Command: "debugdgs" 6. You can apply shader to the dxgui ( Compatible with some resources like Objec tPreview ). 7. Include CMD, Command: "cmd" ( For more help, please input "help" in the CMD ) 8. Memo rewritten. 9. OOP Class. 10. Render Target Failure Check ( Warns when there's no enough video memory to create render target ). 11. DGS assembles cegui, you can find the similar feeling when scripting with dgs. 12. 48-hour-response service, your suggestions and bug report will be dealt with in 48 hours ( or less, like 12 hours ? ) 13. Custom Style system 14. Built-in shader plugin 15. More properties 16. Built in multi-language support Notice:Do not close your server or stop the script when it is updating. Wiki: https://wiki.multitheftauto.com/wiki/Dgs ( Still Working In Process ) Auto Completion For N++ (Thanks To Ahmed Ly): http://www.mediafire.com/file/m6dm7815d5dihax/Lua.zip Discord Server: https://discord.gg/QEs8q6W Download DGS : https://github.com/thisdp/dgs Notice: Need acl rights to call fetchRemote. To Contact Me , Get into the discord server. I have abandoned skype. My server is based on DGS , if you want to see the exact effect of dgs ( not best, my design is bad ). Please have a look. IP: lfd.thisdp.com If you want to sell your script which involves DGS, please exclude DGS from your price. HurtWorld Backpack Panel(Example) DGS Network Monitor(Built-in)
  8. 20 points
    السلام عليكم ورحمة الله وبركاته أقدم لكم اليوم أخر مشاريعي وأفضلها بالنسبة لي وأصعبها, حيث استغرق مني هذا العمل الضخم 20 يوم و 1600 سطر وهو عبارة عن لوحة أدمنية خارجية تمكنك من التحكم بالسيرفر بدون تشغيل اللعبة والدخول للسيرفر, وبالنسبة لي سيكون مفيد جداً وأسرع C# - LUA : لغات البرمجة : مقطع توضيحي للبرنامج : ملاحظات أولاً : لا تغير اسم السكربت ولا ما راح يشتغل البرنامج ثانياً : السكربت يحتاج صلاحيات ادمن ثالثاً : للتعديل على القروبات أو الصلاحيات راجع ملف الميتا التحميل : اضغط هنا للتبليغ عن الأخطاء أو الاقتراحات أو المشاكل تفضل بالأسفل أو الرسائل الخاصة مع تحياتي لكم
  9. 19 points
    It's official, MTASA has been bought and we are becoming SAMP. Future MTASA builds will be closed source and half the features removed. Have a nice day!
  10. 18 points
    السلام عليكم ورحمة الله وبركاته اليوم رجعتلكم بمود لسيرفرات الزومبي والي هو مود ال hud المود كما هو قدامكم خصائص جديدة : - معرفة البنق والفبس - معرفة الوقت الحقيقي - لوق فلوس - قولد تحت الفلوس عن طريق داتا الي انت تحددها - لما تعشق السلاح يكتبلك Reloading - نجوم جديدة مكان القديمة - شريط الدم يكون علي حسب الستات حقت الدم حقتك يعني لو خليت دمك 200 يظبط عليه ____________________________________________ الحين نيجي للأهدائات @*RayaN-Alharbi. @Abdul KariM @Rakan# @#,+( _xiRoc[K]; > @#StrOnG_,) @KhaledAlamri @MR.SAMSUNG @iMr.WiFi..! @سعد الغامدي @iPrestege @#Soking @Default#^ @Ahmed Ly @MR.TOUNSI @Master_MTA @#Mr.Pop @!#NssoR_) @The Killer @N3xT @Abu-Solo @AbU - W6N @MR.Mosa @Mr.Mostafa @#[K]iLLeR<3 @#[K]aTakuRI-,? @TAPL @Sha67 @shwaeki @EH10 @</Mr.Tn6eL> @ALw7sH ______________________________________________________ الان وقت التحميل Hud _______________________________________________________ ويلا مع السلامة
  11. 17 points
    A simple script of dressable characters and deformable faces. You can move every vertex of the head with a simple displacement shader. The script is in test state right now, I'll create a new editor later. Hope you like it.
  12. 16 points
    مرحبا لقد قمت بإطلاق الاصدار الجديد من لوحة الادمنية العربية بعد ان لاحظت ان معظم الاعضاء يقومون بإستخدام لوحات الادمنية العربية القديمة التي مر عليها الدهر من دون اي تحديثات او حماية وكما انها غير مؤمنه كـ اي لوحة ادمنية حديثة الإنشاء,( وبالمناسبة انني هولندي ولا اتحدث اللغة العربية ) وكما انني بذلت الكثير من جهدي حتي اقوم بنقل الترجمة العربية من اللوحات العربية القديمة الي هذه اللوحة حديثة الصنع وكل ما اريده هو ان اقوم بإفادة اصحاب السيرفرات الذين يستخدمون لوحة الادمنية العربية القديمة وكما انه يمكنك ان تري اخر تحديثات لوحة الادمنية من خلال : https://github.com/multitheftauto/mtasa-resources/commits/master/[admin]/admin وإذا كان لديك صاحب سيرفر يستخدم لوحة الادمنية العربية القديمة رجاء اخبره بهذا الموضوع لكي يقوم بتحميل النسخة الحديثة من اللوحة العربية لتحميل اللوحة العربية DOWNLOAD:https://community.mtasa.com/?p=resources&s=details&id=14837 واذا كان هناك خطأ في ترجمة اللوحة رجاء اخبرني " لقد تمت ترجمة الموضوع من قبل نصور " ENG: I'm here releasing a new Arabic-translated admin panel from today's version (september 2017) after I noticed all community circulating AR panels were outdated as hell. As they pose serious security risks, eventhough I'm not Arabic, I felt it of such importance that I've spent a long time transferring translations from older circulating panels to this most up-to-date Admin panel. I'm helping a huge amount of server owners with this, because most will just use a Community version that is outdated because of the great time to invest in translating yourself. Ofcourse, you'll also benefit from new features and updates made to Admin recently, (look here: https://github.com/multitheftauto/mtasa-resources/commits/master/[admin]) both for this reason and security I advise you inform all server owners you know about this release and suggest they update if they're using Arab panels. If you spot any translation issues, please leave a reply. Main view example; (updated 24/09/2018)
  13. 16 points
    السلام عليكم ورحمة الله وبركاتة لقد تم إضافة خاصية حماية الحساب قبل فتره بسيطة وتم إنشاء هذا الموضوع لمن لم يلاحظ وجود هذه الخاصية او لمن لايعرف طريقة إستخدامها حتي ! اولأ طريقة تفعيل هذه الحماية عن طريق إتباع الخطوات التالية : Account Settings الذهاب الي ومن ثم كما موضح في الصورة ومن ثم سيطلب منك إدخال الباسورد الحالي لحسابك ومن ثم سيفتح لك هذه النافذه والان اصبح لديك 3 خيارات وسأقوم بشرح كل واحده منهم Authy: تقوم بإرسال كود سري لهاتفك ومن ثم سيطلب المنتدي منك إدخال هذا الكود السري في المنتدي لتتمكن من فتح حسابك Google Authenticator: يجب عليك تحميله علي هاتفك ومن ثم سيعطيك كود سري وسيطلب منك المنتدي هذا الكود السري لتتمكن من فتح حسابك Security Questions: اسئلة الامان ( لاداعي لشرحها لأنها معروفة ) ملاحظة مهمة : عند تفعيل اي واحده منهم سيسألك المنتدي عن الكود السري من وقت لأخر وهذا لا يعني ان هناك شخص قد قام بإختراق حسابك , هذا فقط للتأكد من انك انت صاحب الحساب الاصلي وحتي في حال تم إختراق حسابك من اي عضو اخر لاتقلق لأن حسابك سيكون بأمان ولن يستطيع فعل اي شي الا بعد ان يقوم بإدخال الكود السري الذي يتم إرساله لك تم تثبيت الموضوع لفترة مؤقتة واتمني لكم التوفيق
  14. 15 points
    السلام عليكم اليوم جبتلكم سكربت بسيط لان لي زمان ما نزلت سكربتات وهو سكربت حركات GTA V تقريبا كاملة والسكربت انا مش مسوي الحركات ولاكن قمت ببرمجتها للعبة فقط ادري ان السكربت مش متعوب عليه يعني ولاكن في ناس تدور عليه من زمان بعض الصور: ____________________________________________________________________ الباقي جربوه بأنفسكم كـ السقوط النزول من السيارة ركوب السيارة المشي القفز إلخ _____________________________________________________________ رابط التحميل لا إله الا الله محمد رسول الله _________ ملاحظة * السكربت مش مشفر _______________________________ الي يبي يشيل الحقوق بكيفه _________________________________________________ :الاهدائات @#,xiRocKyz @+1HidroNex @Aln3mani @Abu-Solo @[T]|O|[P]George @Mr.Mostafa @#[K]iLLeR<3 @!#NssoR_) @TAPL @KillerX @MARIY @MrKAREEM @Tete omar @MR.GRAND @iMr.WiFi..! @MR.TOUNSI @SuperX @#StrOnG_,) @MR.Mosa @Abdul KariM @Saud'Faisal @N3xT @*AnGeL @Trefeor _________________________________________________ ويلا مع السلامة
  15. 15 points
    السلام عليكم ورحمة الله وبركاته معليش عالجودة (النت %$#@)ء material designصممته بنمط ال البرمجة كلها بلوا 100% مافي تدخلات بلغات ثانية
  16. 14 points
    Hello there! You found Dystopia: The Incident, an original sandbox post-apocalyptic RPG. Keep reading below and you’ll find out more... Server: mtasa://46.105.109.59:22008 Discord: https://discord.gg/Zs5bWSX Current version: alpha 0.75, check out details here DOWNLOAD (0.75 alpha) Key concepts Food and water are scarce and you need to be on the move to stay alive. Inventory size is limited, forcing you to prioritize. Vehicles require constant maintenance. Faction camps, bases, shanty towns and other encounter zones all over San Andreas. Exploration is rewarded. World is densely populated with NPCs and who you choose to kill matters. Environment is harsh and punishes the weak and the dumb. Moral decisions to be made. End goal. Roleplay friendly. Designed to be also enjoyable as a single-player experience. Setting 2000: A series of catastrophic earthquakes smashed the cities and countryside of San Andreas. In the aftermath, the whole state found itself separated from mainland. Fear and selfishness roamed free, pushing society into chaos. In the heart of San Fierro, one of the largest cities of San Andreas, government-sponsored Zombotech Corporation was researching biological weapons in its underground facility. The labs were heavily damaged by the cataclysm and a deadly infectious agent escaped in the streets. While emergency services struggled to contain the disaster and minimize collateral damage, death was spreading unnoticed. 2001: The Establishment evacuated survivors of the outbreak in the barricaded city of Las Venturas but infection spread inside the fence. They nuked the city and placed San Andreas under strict military quarantine. Nobody gets in, nobody gets out. They dubbed the disaster ‘The Incident’ to minimize its amplitude, media soon went silent and survivors were forgotten. 2007: 6 years passed and things have not become better. Regular people picked things up from where the government left them and started to organize. This is a tough new world, populated with the full spectrum of humanity: resilient survivors, vicious bandits, cannibalistic raiders, oppressive military forces and the rest of the loons. No line between good and bad was ever so ill-defined. San Andreas is ruled with an iron hand by Governor Skinner, who took office only six days after the Incident. His armed forces fight to control the territory, herding men into the new Refugee Camp. Resources are scarce and many dropped the last remnants of morality when they faced starvation. Violent clans and factions fight over the remains, establishing turfs or just trying to stay alive. Militias fight for supremacy, idealists work to maintain civilization and everybody else just struggles to survive another day in an increasingly suffocating world. As it became evident that the government has no rescue plan for them, despair started to crumble the minds of the few sane left. All attempts to flee San Andreas are met with airstrikes. But there must be ways to escape this place... What you can experience right now Explore a detailed post-apocalyptic map with many encounter zones. Plenty of NPCs, both friendlies and baddies. Dynamic faction and spawn system. More than 40 missions already in the game. Detailed inventory with more than 100 items to be found and used. Basic needs, stamina, infection, various other modifiers like pain, bleeding, exhaustion or inebriation. Innovative looting mechanic. Four zombie types, with different behavior. Scavenge the world for materials to build settlements or to use simple crafting and cooking. Upgrade and drive rugged vehicles across the wasteland and engage in vehicular combat. Trade, recruit and discover parts of the story by chatting with NPCs. Experience dark humor and some strong themes (16+). Simple interface, consistent graphic style. What still needs to be done The current gamemode version is alpha 0.75. Required for beta: skills and abilities implementation, npc traffic, karma system and map completion (now >90%). Once the project hits beta and the core is completed we’ll start focusing exclusively on the missions and story. Seeking friends for the end of the world Want to jump onboard and take part in the development? Great, join our Discord server using the link on top (the recommended approach) or PM me here. We're always looking for like-minded developers. Wanted: scripters, mappers, storytellers, 3D artists and testers. However, keep in mind that we're not looking to monetize this project in any way. We’ve used the work of many MTA community members and the gamemode will be shared alike with the community when completed. You will gain full credit for your work but no other type of compensation. Share your thoughts We do love suggestions and implement all good fitting ones, so don’t be shy and tell us what you think about this project, using the channels highlighted above. The answer is guaranteed and we'll also give full credit for any original ideas. Media 100+ development screenshots here (I suppose this is what you were looking for from the beginning, instead of reading a wall of text) Thanks for reading! Watch this space for fresh information and media.
  17. 14 points
    addEventHandler + group elements I noticed that some people like to add 10000000000000000 addEventHandlers for each element, while you probably only need 1 addEventHandler. Using ONE addEventHandler on a group of elements? Answer: local group = createElement("groupMyCutePeds") -- Create a custom element and save it in to the variable <group>. -- Create 3 peds. local ped1 = createPed(120, 5540.6654, 1020.55122, 1240.545) local ped2 = createPed(120, 5541.6654, 1021.55122, 1240.545) local ped3 = createPed(120, 5542.6654, 1022.55122, 1240.545) -- Set the parent of the 3 peds. setElementParent(ped1, group) setElementParent(ped2, group) setElementParent(ped3, group) -- Add an addEventHandler and use the <group> as <attachedTo> element. addEventHandler("onPedWasted", group, -- "onPedWasted" = serverside. "onClientPedWasted" = clientside. function () outputChatBox("One of my cute peds just died. ;'( No exceptions!") end) Code is untested, but the method is tested. Syntax for functions in example createElement syntax element createElement ( string elementType, [ string elementID = nil ] ) setElementParent syntax bool setElementParent ( element theElement, element parent ) addEventHandler syntax bool addEventHandler ( string eventName, element attachedTo, function handlerFunction, [ bool getPropagated = true, string priority = "normal" ] ) DO NOT disable getPropagated getPropagated: A boolean representing whether the handler will be triggered if the event was propagated down or up the element tree (starting from the source), and not triggered directly on attachedTo (that is, handlers attached with this argument set to false will only be triggered if source == this). If you disable this, children of the <group> element are not included. Make use of the element tree Element tree For applying addEventHandlers to elements created by the resource: Use: resourceRoot / getResourceRootElement For applying addEventHandlers to elements created by scripts of the resource: Use: getResourceDynamicElementRoot For applying addEventHandlers to elements created by maps of the resource: Use: getResourceMapRootElement I hope your code will be without... print(10^10^10^10) -- Print here: https://www.lua.org/cgi-bin/demo ...addEventHandlers in the future.
  18. 14 points
    Hello. Another year is coming to an end, so that means that just like the last year, we have got a new recap and status update post for you. For now, lets summarise all the interesting things that happened this year. 2017 in Recap Late April, we have released Multi Theft Auto: San Andreas 1.5.4. The release introduced an important change and extra security features for server owners, as well as some bugfixes. Around the same time, we have announced a public launch of our Discord server in order to improve communication with our player base. Since then, over 2350 users have visited it and chatted with us. We have also opened regional sections in it to cater to our international users. Then, in October, we have released Multi Theft Auto: San Andreas 1.5.5. Under the hood changes were the highlight of this release, however there was quite a lot of them. Near the release of 1.5.5, we have enabled some 2-factor authentication options for our forums. You can find them in your Forum Account's Settings page. More recently, we have been featured in Polish leading gaming network's (GRYOnline.pl) video about multiplayer mods for GTA series (the video is only in Polish unfortunately, subtitles are not available). Quite a lot of footage was dedicated to history and present of MTA and the mod was cited as one of the major possible inspirations for Rockstar's GTA:Online mode in GTA V. A bunch of interesting MTA:SA-related YouTube videos from this year MTA:SA The Fate Of The Furious - Havana Race (Recreation) [MTA:SA] Character Customization & 3D GUI MTA:SA-SAAF Dogfight Gameplay #2 by [TC]Joseph [UWS] United We Stand 15-13 [CLAY] Clay Team | MTA:SA ClanWar | With Rematch [MTA SA]: Graffiti System MTA - PUBG | BATTLEGROUNDS PRIMEIRA PARTIDA DO CANAL Current player counts and version fragmentation statistics Type Amount of players Date / Time Recent peak number of concurrent unique players 32068 players 2017.11.04 (at 17.30 GMT) Highest recorded number of concurrent unique players 32068 players 2017.11.04 (at 17.30 GMT) Recent number of daily unique players 156247 players 2017.12.26 (Tuesday) Highest recorded number of daily unique players 173585 players 2017.12.23 (Saturday) Recent number of monthly unique players 654399 players November, 2017 Highest recorded number of monthly unique players 668997 players January, 2017 Just like last year, there were new records for unique daily player count fairly recently. MTA:SA Version or series Percentage of players using that version or series as of 26th of December, 2017 1.5.5 97.60% 1.5.4 1.30% 1.5.3 0.30% 1.5.2 0.30% 1.4.x 0.33% 1.3.x 0.17% Very good. Two most recent releases from this year are used by nearly 99% of our player base. The newer the version, the better and more secure it is. *** Work continues on the next release. We have added some new scripting functions such as ones requested in #9562 (contributed by emre1702), as well as did some tweaks to already existing ones. Also did a fix for a memory leaks in the audio part of the Client and a bunch of other changes too. Think that's all for now. Best Wishes for 2018 from the MTA Team!
  19. 14 points
    كيف حالكم ان شاء الله بخير وطلع فيه اخطاء والى اخره Guieditor Online قبل فترة نزل موضوع عن قبل 3 او 4 ايام تقريبا قررت اسوي واحد ببرنامج الفجوال بيسك ويكون دقيق نوعا ما من ناحية الاحداثيات او الى اخره والنتيجة طلعت كالأتي طبعا اللوحة هذي تختار فيها مقاسات شاشتك باللعبة بحيث راح تفتح لوحة ثانية تصمم فيها وتفتح لك قائمة يوم تضغط كلك يمين ( زي السكربت نفسه ) تختار منها الي تبي تسويه نافذة , زر , الخ (Window) طبعا الي بالرصاصي الي الحين بتشوفونه راح تكون النافذة النتيجة بتكون output وبعد ماتضغط كلك يمين وتظهر لك القائمة وتضغط طبعا الي مسويه حاليا فقط النوافذ والزر والباقي بيكون سهل بأذن الله فـ ابي رأيكم اكمل ولا اكنسل ع الفكرة مع السبب واذا كملت ان شاء الله راح اخليه يدعم الدي اكس ويكون شبيه لحق اللعبة بالضبط اعطونا ارائكم واقتراحاتكم تحت وبالتوفيق للجميع
  20. 14 points
    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)
  21. 13 points
    A poor demonstration of custom face morphing
  22. 13 points
    Presented By With more than 3 years of work I decided to publicly release my map conversions, I had dropped my previous listings due to some "Issues" however, they're back. ---------------------------------------------------------------------------------------------- Download Streaming Quality - 8/10 Get's the job done, awesome all around, but some places are better than others ---------------------------------------------------------------------------------------------- Download Streaming Quality 7/10 Beats VC in other places, very poor in others; as well as a huge FPS drop in the first island (Issues are rockstars fault) ---------------------------------------------------------------------------------------------- Download Streaming Quality 9/10 Beats both VC and LC ---------------------------------------------------------------------------------------------- Vehicle testing gridmap Download Streaming Quality 10/10 Perfecto ---------------------------------------------------------------------------------------------- Download Streaming Quality 7/10 Decent all around Might be a tad laggy due to the high poly and Russian nature of this map Extremely detailed for a user created map ------------------------------------------------- Download streaming quality 10/10 Test bed used when making Jstreamer 2.0, incomplete but very very light weight ------------------------------------------------- OBJs (Rebranded JStreamer) Required for all maps JStreamer 3.0 is a complete rewrite of JStreamer 2.0 with this new update you get more features, better streaming and quicker loading times. Any bugs can be posted here Questions or discussions can be either posted in this topic or here --- If you want to support my work, please donate https://www.paypal.me/BlueJayL
  23. 13 points
    Hi! Following the community discussion in our forums, we have created an official Discord server quite a while ago, as an alternative (and maybe a full replacement in the future) to our current IRC channels. We kept it in under the radar while we were fine tuning things, but we believe we can now present it to you guys. All MTA players and fans are welcome to join our Discord server (though please behave while you are in there ). You can join it by using this link: https://mtasa.com/discord What is Discord? Discord is a hybrid of IRC, an Instant Messenger and a Voice Chat software. It incorporates the most important features of these elements into a handy and multiplatform app which you can run on your desktops, smartphones or tablets. Why is it cool? Compared to IRC, it offers a built-in chat history buffer, so even if you are offline, you can still catch up with what happened in the channels then. IRC also offers that, but only through an IRC Bouncer that you either need to pay for, or have someone host it for you. It also has a modern look and features such as URL embedding (regular websites, but also pictures and videos), handy syntax colouring for pasted code snippets, emojis (also custom ones), chat messages reactions, Steam integration and more. What can I find while I am there? We currently have some channels created, including: #general - for general MTA and offtopic chats #scripting - for Lua scripting-related queries #support - for any problems related to MTA:SA client or server #announcements - for all important messages from us as well as some others. We are still thinking of how to put our Discord server into its full potential, so we may add more channels soon. Can I have Discord app installed and/or running on several of my devices concurrently? Can I use more than one server? Sure, absolutely. It will sync the messages automatically. And yes, you can add more servers than just our one. How do I join it? Hey, we have mentioned that already. Just click the link below and follow the instructions: https://discord.gg/RygaCSD or https://mtasa.com/discord I have a suggestion about the Discord... Okay, let us know. As usual, we are open for suggestions. Just post in this topic or hit us up directly on Discord. Hope to see you there! -- MTA Team
  24. 13 points
    كيف حالكم عساكم بخير , مثل ماهو واضح بالعنوان سويت سكربت بسيط تستفيدون منه مع وظائف مفيدة السكربت مسويه من شهر ونص تقريبا وحبيت اليوم اطرحه xml وهو بديل للسكل لكن يحفظ المعلومات في ملف ونخش على الوظائف لكن حبيت افصل الوظائف عشان تكون سهلة الاستخدام وماتلخبط executeSQLQuery طبعا اقدر ادمجهم بوظيفة وحده مثل ملاحظة جميع الوظائف استخدامها يكون في السيرفر سايد والسكربت مشفر فقط لحفظ الحقوق https://up.top4top.net/downloadf-968v8aeg1-zip.html : الرابط طبعا سويت سكربتين واستخدمت اغلب الوظائف فيهم السكربت الاول عبارة عن رسالة ترحيب تحطها بنفسك وبس تدخل السيرفر تظهر لك طريقة الاستخدام موضحة في السكربت https://up.top4top.net/downloadf-968zk7wb2-zip.html : الرابط السكربت الثاني عبارة عن اي كلمة تكتبها بالشات راح يحفظها وتقدر تتحكم وطريقة الاستخدام موضحة في السكربت https://up.top4top.net/downloadf-968jcuf83-zip.html: الرابط ملاحظة : ملف الاكس ام ال راح يكون سيرفر سايد بمعنى انه ماراح يظهر للاعب الي يدخل السيرفر او الى اخره الملف بيظهر في مجلد السكربت فقط يعني كأنك مسوي داتا بيس خاصة ماراح تظهر الا بالسكربت اي استفسارات او ملاحظات حط ردك تحت , اتمنى السكربت نال اعجابكم ولاتنسونا من صالح دعائكم وهذا والله اعلم , والسلام عليكم ورحمة الله وبركاته
  25. 13 points
    Debugging Do you know what debugging is? You might think you do, but unfortunately (in my opinion) only ~15% of the scripters in the community do know the full definition of it. Many people think that debugging code is the same as looking in to the Debug Console and waiting for warning + errors to show up. That's indeed debugging and yet it never provide all information you need to build your scripts. It only can say what goes wrong at a certain line. With other words, the Debug Console by default will only show a limited amount of mistakes you have made in your code. So what is next? You fixed all warnings and errors and yet it doesn't work. You start with making your code visible! I guess 70% would think: Making code visible? Ehhh how??? Let me write it down a little bit different: By using Debug Information making the behaviour of the code visible. I guess 50% would think: Eh what? behaviour of code????? Let me give you an example. Example: (1) outputDebugString("the script has started") -- < this is a debug line if true then outputDebugString("code works here") -- < this is a debug line else outputDebugString("code shouldn't be working here") -- < this is a debug line end Debug console "the script has started" "code works here" The debug console is NOT information for players, it is information for YOU developers! BTW this is a debug line outputDebugString("test") -- < this is a debug line In this case it is just a piece of code that shows information in the debug console. Example: (2) local playerName1 = "snake1" local playerName2 = "cow" if playerName1 == playerName2 then outputDebugString("players playerName1 and playerName2 do share the same name. Name: " .. tostring(playerName1)) -- < this is a debug line else outputDebugString("players playerName1 and playerName2 do NOT share the same name. playerName1: " .. tostring(playerName1) .. ", playerName2: " .. tostring(playerName2)) -- < this is a debug line end Debug console "players playerName1 and playerName2 do NOT share the same name. playerName1: snake1, playerName2: cow" Easy isn't? The concept behind this debug method is to see what the code does / doesn't execute. Is this method handy? It is actually the very basic of debugging, for code that doesn't contain any errors/warnings. I would say it is handy and it is a very powerful method too. It is also handy for people who do not know how to script. If you want people to help you with your code, but you do not know what is wrong with it. You can add those debug lines and point out to where the code stops working. This will make it more efficient for you and the scripter to work out the problem, because the scripter knows where to look. How much debug lines do you have to add to your script? 1? 10? 100? 1000? You could start with around 100 debug lines and as you learn how to script, you can reduce it to 10+ debug lines. Too much debug lines are not always good, because they will give you too much information and it will cost time to manually filter them. So I recommend you to remove some of them afterwards. When you are finished with the tested code, you can remove 90+% of them. Feel free to disable them instead of removing them, if you know that you are going to need them again. For complex code, I use around 25 debug lines, SO DON'T HOLD BACK! Render events It is strongly recommended to remove debug lines that are executed on onClientRender/render events when you are finished with your code. Because that can have influence on the smooth fps.(It will not drop much of the fps, but it can make it feel unsmooth) Clearing the debug console? /cleardebug Know your tools: outputDebugString -- Show a message on the Debug Console bool outputDebugString ( string text, [ int level=3, int red=255, int green=255, int blue=255 ] ) --- outputConsole -- Show a message on the F8 panel. bool outputConsole ( string text ) -- client bool outputConsole ( string text, [ element visibleTo=getRootElement() ] ) -- server --- inspect -- Convert one mixed value to a string. string inspect ( mixed var ) --- print -- Show a message on the terminal / serverwindow / Debug Console. bool print ( string var1[, string var2, string var3...] ) --- tostring() -- Convert a value in to a string. (but for objects/elements, inspect works better) --- iprint -- Show a message on the terminal / serverwindow / Debug Console (convert multiple mixed values automatic to string, no need for tostring or inspect) bool iprint ( mixed var1[, mixed var2, mixed var3...] ) --- outputChatBox -- You can also debug with outputChatBox (even though it is less efficient) bool outputChatBox ( string text [, int r=231, int g=217, int b=176, bool colorCoded=false ] ) -- client bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] ) -- server Debug message levels 0: Custom message 1: Error message 2: Warning message 3: Information message (default) Addition by @Hale https://wiki.multitheftauto.com/wiki/OutputDebugString Advanced tools: local line = debug.getinfo(1).currentline -- get the line of the script where the code has been executed. 1 = current function. (can be useful if you want to get the line where this function has been called from) https://www.lua.org/pil/23.1.html WIKI MTA: WIKI MTA debugging tutorial/information. https://wiki.multitheftauto.com/wiki/Debugging
  26. 12 points
    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://mta-slipe.com. Our Discord Our Github The project is still in Alpha, and since it is open source anyone is welcome to contribute
  27. 12 points
    السلام عليكم رجعت بعد فترة طويلة من تنزيل المودات وبما ان رمضان قرب فحبيت اسوي سكربت بسيط للسيرفرات والسكربت مسويه علسريع علشان لاحد ينتقده فيديو للمود : معليش علي جودة الفيديو مب حلوة والحين المود انه يجيب الفانوس مع الاغنية والتأثيرات كل دقايق الي انت تحددها من ملف c.lua في اول المود حاط متغير اسمه mins غيره لعدد الدقايق الي تبيه انت ولا نطول عليكم والسكربت غير مشفر للأفادة رابط تحميل المود : رمضان كريم علي الكل ____________________________________________________ الاهدائات : @KillerX @SuperX @Abdul KariM @!#NssoR_) @Rakan# @TAPL @DABL @Kareem Amer @ALBANDER. @iMr.WiFi..! @#Soking @Master_MTA @#StrOnG_,) @NX_CI @[T]|O|[P]George @ibrahim# @[AcM] - Major . @#,xiRocKyz @+Source|>
  28. 12 points
    Hi! I am Ciastuuś(Ciastuus) and today I present the construction system, which is visible in the film below. One day I came up with the idea of creating something that was not there. Namely, we wanted to create a server based on Rustie, but due to lack of time and limitations, we created a demonstration script that will exist on the server that we will open if we find the time. What can the script do? We will answer this question! Building on a designated area Creating all available elements visible in the video Removing manually created items Destroying elements by hitting a vehicle or shooting it with a gun And many more in subsequent versions! The visible zone has been modeled in its entirety, and checking whether an element is in the zone is part of the script. Same as effects. The effects are part of modeling and scripting them. If you have an idea what to add, please write in a comment, thank you! Credits: * Ciastuus(me) * Vagos * x0nx * xS3nd * Kavp * ... more
  29. 12 points
    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.mtasa.com/index.php?p=resources&amp;s=details&amp;id=15749 now (open source). Topic locked because this practice isn't allowed on the forums Arabic translation (not by me): هذا السكربت تمت سرقته من السيرفر الخاص بي عن طريق سرقة ملف الكلاينت الغير مشفر من مجلد المودات أثناء اللعب هناك, وبالصدفة هذا السكربت خاص بسيرفري لذلك استغليت الفرصة وقمت بنشر السكربت في الكوميونيتي بدلاً من تظاهر شخص بعمل ليس له, هذا السكربت يعمل بالسيرفر لعدة سنين حالياً https://community.mtasa.com/index.php?p=resources&amp;s=details&amp;id=15749 : ( تحميل السكربت ( مفتوح المصدر .هذا الموضوع مغلق لأن هذا التصرف ممنوع في المنتدى
  30. 12 points
    بسم الله الرحمن الرحيم السلام عليكم ورحمه الله وبركاته.. كيفكم جميعاً؟ ان شاء الله تكونون طيبين [UIKit] راح يتم الإعلان عن مكتبة واجهة المستخدم الحديثة تحت أسم -: التي هي من تطوير عربي بالكامل تحت طاقم مكون من 3 أفراد الا وهم @iMr.WiFi..! @H25 @#,xiRocKyz المكتبة تم تطويرها خلال اسبوع.. وتعتبر أقل مكتبة استهلاكاً للرام والذاكرة وهذا ماحرصنا عليه في المكتبة وكذلك التصميم الجيد للمكتبة الذي يعطي جمالية للمستخدم المكتبة ولا ننسى التأثيرات الجيدة -: وهنا صور توضح المكتبة وخصائصها وكذلك بعضاً من مميزاتها -: وهنا فيديو على اليوتيوب يظهر تأثيرات المكتبة -: (هذه هي كائنات المكتبة الحالية (سيتم أضافة الكثير مستقبلاً سيتم أضافة جميع كائنات الجيو في المكتبة بشكل فريد من نوعه بأذن الله تعالى.. وما يميز مكتبتنا بقلة الأستهلاك أو حتى يمكن الاطلاق عليها بعديمة الأستهلاك ..وفي الختام نتمنى ان تضعو أجابةً للأستطلاع اعلاه وكذلك وضع الاقتراحات سيتم نشر المكتبة في القريب العاجل
  31. 12 points
    اليوم بشرح الوضائف الجديدة الخاصة بالاكاونت { getAccountByID , getAccountID , getAccountIP , getAccountsByData , getAccountsByIP , setAccountName } بسم الله نبدأ x[ getAccountByID ]x شرح الوضيفة \ Explain the function This function returns the account with the specific ID. / تقوم الوضيفة بإرجاع الحساب عبر الايدي او المعرف الخآص به السانتكس \ Syntax account getAccountByID ( int id ) id = The ID to get account from / الآيدي الي تبي تجلب فيه الحساب عن طريقة العائدات / Returns Returns account associated with specified ID. Returns false if invalid arguments were specified or there is no account with this ID. / ارجاع الحساب المرتبط بالمعرف او الإيدي ,إرجاع قيمة منطقية بـ فولس إذا كان الحساب غير موجود مثآل \ Examble addCommandHandler("getAccount", -- نسوي امر جديد function (player, cmd, id) id = tonumber(id) -- نجلب الايدي من الامر local account = getAccountByID(id) -- نجيب الحساب من الايدي if account then -- نتحقق ان الحساب موجود او لا outputChatBox("The name of the account with that ID is: "..getAccountName(account), player) -- اخراج نص بـ أسم الحساب الي جبناه else -- اذا الحساب مو موجود outputChatBox("There is no account with this ID.", player) -- اخراج نص بـ ان لا يوجد حساب يمتلك هذا الاي دي end end) x[ getAccountID ]x شرح الوضيفة \ Explain the function This function retrieves the ID of an account. / تستخدم هذه الوضيفة لجلب الآيدي او المعرف الخاص بالحساب السانتكس \ Syntax int getAccountID ( account theAccount ) theAccount = The account you wish to get the ID of. / الحساب الذي تريد جلب الآيدي او المعرف الخاص به العائدات / Returns Returns a int containing the account's ID, false if the account does not exist or an invalid argument was passed to the function. / ارجاع رقم انتقر او رقم صحيح يحتوي ع ايدي الحساب المُدخل, إرجاع قيمة منطقية بـ فولس إذا كان الحساب غير موجود مثآل \ Examble function outputOnLogin ( previous_account, current_account, auto_login ) --when a player logs in / لما الاعب يسجل دخول outputConsole("["..getAccountID(previous_account).."] "..getAccountName(previous_account).." Logged into ["..getAccountID(current_account).."]"..getAccountName(current_account)) -- announce it into the console / استخراج نص للكونسل بـ أيدي حسابة القديم و الجديد end addEventHandler("onPlayerLogin",getRootElement(),outputOnLogin ) --add an event handler / اضافة حدث x[ getAccountIP ]x شرح الوضيفة \ Explain the function This function retrieves the IP-address of an account. / تستخدم هذي الوضيفة لجلب عنوان الايبي ادريسس للحساب المحدد السانتكس \ Syntax string getAccountIP ( account theAccount ) theAccount = The account you wish to get the IP of. / الحساب الذي تريد جلب الايبي ادريسس الخاص به العائدات / Returns Returns a string containing the account's IP, false if the account does not exist or an invalid argument was passed to the function. / إرجاع سلسلة نصية تحتوي على عنوان الايبي ادريسس للحساب المُدخل, إرجاع قيمة منطقية بـ فولس إذا كان الحساب غير موجود مثآل \ Examble function outputOnLogin ( previous_account, current_account, auto_login ) --when a player logs in / عند تسجيل دخول الاعب outputDebugScript(getPlayerName(source).."logged into his account with IP "..getAccountIP(previous_account)) -- announce it into the debugscript / إخراج نص للدي بق بـ عنوان الاإيبي ادريس للحساب إو الاعب end addEventHandler("onPlayerLogin",getRootElement(),outputOnLogin ) --add an event handler / اضافة حدث x[ getAccountsByData ]x شرح الوضيفة \ Explain the function This function returns a table containing all accounts with specified dataName and value (set with setAccountData). / تقوم هذه الوضيفة بإرجاع جدول يحتوي على جميع الحسابات التي تمتلك على داتا محددة ( setAccountData ) :تم تعينها بإستخدام وضيفة السانتكس \ Syntax table getAccountsByData ( string dataName, string value ) dataName = The name of the data / اسم الداتا value = The value the dataName should have / اشتراط ان تكون قيمة الداتا العائدات / Returns Returns table containing the accounts associated with specified value at dataName. Returns false if invalid arguments were specified. / جدول يحتوي على الحسابات المرتبطة بالقيمة المحددة في الداتا, إرجاع قيمة منطقية بـ فولس إذا تم تحديد ارقمنات غير صالحة مثآل \ Examble addCommandHandler("accountsbydata", function (player) -- add Command / إضافة امر local account = getPlayerAccount(player) -- Set the variable to the player account / تعين المتغير بـ حساب الاعب setAccountData(account, "test", "hello") -- Set the data and the value set on the account / وضع داتا معينة وقيمة لها على الحساب local accounts = getAccountsByData("test", "hello") -- Set the variable to the table containing the accounts associated with dataName and valueData / تعين المتغير بجدول يحتوي على الحسابات المرتبطة بالداتا والقيمة الخاصة بها outputChatBox(getAccountName(accounts[1]), player) -- The output text that contains the first account in the table / إخراج نص يحتوي على إول حساب في الجدول end) x[ getAccountsByIP ]x شرح الوضيفة \ Explain the function This function returns a table containing all accounts that were logged onto from specified IP-address. / تقوم هذه الوضيفة بإرجاع جدول يحتوي على كافة الحسابات التي تم تسجيلها من عنوان الإيبي ادريس المحدد السانتكس \ Syntax table getAccountsByIP ( string ip ) ip = The IP to get accounts from / الإيبي ادريس المراد الحصول على الحسابات المسجلة به العائدات / Returns Returns table containing the accounts associated with specified IP-address. Returns false if invalid arguments were specified. / تقوم هذه الوضيفة بإرجاع جدول يحتوي على الحسابات المرتبطة بعنوان الايبي ادريس المحدد, إرجاع قيمة منطقية بـ فولس اذا تم تحديد ارقمنات غير صالحة مثآل \ Examble addCommandHandler("getAccounts", -- add Command / إضافة امر function (player, cmd) local ip = getPlayerIP(player) -- Set the variable to the player IP / تعين المتغير بـ إيبي الاعب local accounts = getAccountsByIP(ip) -- Set the variable to the table containing the accounts associated with IP / تعين المتغير بجدول يحتوي على الحسابات المرتبطة بالإيبي المسجل بها outputChatBox("You have " .. #accounts .. " accounts.", player) -- Output text in the number of recorded accounts in player IP-address / إخراج نص بعدد الحسابات المسجلة في إيبي ادريس الاعب end) x[ setAccountName ]x شرح الوضيفة \ Explain the function This function sets the name of an account. / تقوم هذه الوضيفة بتحديد اسم الحساب المحدد السانتكس \ Syntax bool setAccountName ( account theAccount, string name [, bool allowCaseVariations = false] ) theAccount = The account you wish to change the name./الحساب الذي تريد تعين الاسم له name = The new name.. / الإسم الجديد للحساب allowCaseVariations = Whether the username is case sensitive (if this is set to true, usernames "Bob" and "bob" will refer to different accounts) العائدات/ Returns Returns a true if the account name was set, false if an invalid argument was specified. / تقوم هذه الوضيفة بإرجاع قيمة منطقية بـ ترو إذا تم تعين اسم الحساب, إرجاع قيمة منطقية بـ فولس اذا تم تحديد ارقمنات غير صالحة مثآل \ Examble addCommandHandler("changeaccountname", function(player, _, oldname, newname) -- add Command / اضافة امر if not oldname or not newname then -- Verify that the oldname and newname value exist / تحقق من وجود قيمة oldname و newname return end local account = getAccount(oldname)-- Set the variable to the account whose name will be changed / تعين المتغير بـ الحساب المراد تغير اسمه if not account then -- Verify that the specified account exists / تحقق من وجود الحساب المحدد return end setAccountName(account, newname) -- Set the specified account name to the newname / وضع إسم الحساب المحدد إلى الـ newname end) الحمد لله وصلنآ إلى نهاية الشرح إتمنى انه اعجبكم وماكان صعب عليكم الإهداءات/ Dedications @KhaledAlamri @#َxLysandeR @!#NssoR_) @#_iMr,[E]coo @#StrOnG_,) @iMr.WiFi..! @بويكا @Master_MTA @N3xT @#DRAGON!FIRE @[T]|O|[P]George @MrKAREEM @ccz @killerProject @#DesTroeyR @Rakan# @الباقي بالقلب
  32. 11 points
    I created a complex first person movement script with weapons and custom animations. This is the first version of it.
  33. 11 points
    السلام عليكم ورحمة الله وبركاته كيف الحال شباب باذن الله تكونو بخير المهم ما اطول عليكم اليوم مثل مافي العنوان اصدار اول مكتبة عربية مفتوحة المصدر المكتبة خاصه بي المهم المكتبه خصائصها: 1-انشاء نافذه 2-انشاء زر 3-انشاء سكرول بار 4-انشاء-بروجرس بار 5-انشاء ايديت بوكس 6-انشاء ميمو 7-انشاء ليبل 8-انشاء جريد لست(ملاحظة الجريد لسا حاليا لا تدعم السكرول بار الافقي ولكن تدعم الراسي وكما انها لا تتوفر فيها كم خاصيه)ا 9-انشاء شيك بوكس 10-انشاء راديو بوتون 11-انشاء صورة 12- انشاء تاب بانل 13-فنكشناتها مماثله لفنكشنات اللعبه تقريبا مثال guiCreateWindow-->gui dxCreateWindow-->dx 14-افكت للزر 15- المكتبة تتوفر على نظام تحديث يمكنك ان تجعل التحديث تلقائي كل 5 ايام يتم التحقق من نزول اصدار جديد او لا هذا الطبيعي اذا اردت التغيير على الاعدادات يمكنك ذلك عن طريق الملف update/update.lua وباقي الخصائص اكتشفوها مع نفسكم الملفات غير مشفره للافاده عيوبها ملاحظه (اخطط لدعمها في المستقبل باذن الله هيا وجميع الالمنتات الباقيه)ل 2-لا تدعم كومبو بوكس كما قلت اعلاه 4- لا تدعم سكرول بان لا ارى له اهميه لذلك لا اخطط لاضافته ----------------------------- لتحديث المكتبة اكتب في اف 8 updateM.M فقط ----------------- في حالة اكتشاف اي بق او اي اقتراح للتطوير من اداء المكتبة يرجى الرد هنا في حالة اردت معرفة الفنكشنات المتاحه للعمل عليها فقط ادخل على meta.xml وستجدني واضع لها export كلها في حالة اردت معرفة طريقة استخدامها فقط ادخل الى الملف elements واضغط على الملف المراد معرفة الفنكشن الذي يحتويه --------------------------------------------- لتحميل المكتبة من github-----> https://github.com/Master-MTA/M.M ستجد زر اخضر اسمه clone or download اضغط عليه وحمل بصيغة zip ------------------------------------- اريد من شخص ان ينشا صفحه في الويكي باسم المكتبه M.M ويضع فيها الفنكشنات --------------------------------- ملاحظه سيتم توفير محرر خاص بالمكتبة باذن الله في المستقبل ولكن سيكون مدفوع وغير مجاني محرر اعني به مثل guiEditor ------------------- @KillerX @N3xT @SuperX @MR.TOUNSI @all مب عارف اجيب اسماءكم بالمنتدى كله حاطط تشكيله باسمه ههه ولا عبد الكريم ولا احد عارف اكتبه @!#NssoR_) يا ليت لا تنقله لقسم المساهمات لان قسم العربيه هو اكثر شي مشاهده ويا ليت تثبته لفتره +_+
  34. 11 points
    Download: https://community.mtasa.com/?p=resources&s=details&id=15260 The best vehicle reflection shader around, unique: takes no FPS toll. It looks close to real ENB and it has rewritten effects which uses techniques to avoid performance toll like all circulating shaders suffer from; f.e, it creates reflection based purely on GTA default surface materials. @Ren_712, the most recognized FX/shader developer around MTA, assisted with rewriting the effect not long ago, but has never released it. Until now, it was a resource private to me based on a custom order I gave to Ren_712. It took weeks of development to get it to it's current appearance and a few months to perfect it, as it's tricky to try recreate ENB with MTA FX and make the reflection appear more qualitative than existing ones, while also scrapping any performance toll. I may be claiming it's ''the best'' around, but it's for you to judge: https://imgur.com/a/U8MLN. I am convinced that it is due to several factors: it looks deeper/has a qualitative reflection (almost) simulating ENB, eliminating GPU performance toll while doing that (the appearance) even better than preceding released shaders (which did take a toll), making it the ultimate combination. Open spoiler for sample images of reflection effect: Some will like the ENB resemblance, and others will find the reflection too shiny or deep. You can modify that easily and adapt it to your wishes using the variables in client_carshader.lua. The intensity, brightness, deepness and visibility of the reflection can be tweaked in there, so you can make a ''custom'' version just like ENB's get edited and released as custom ENB. You can make it look differently (more than just less prominent effect) while retaining the optimized techniques it uses against lag. It's possible to simulate the lightest possible shader that doesn't look ''extremely reflective''.
  35. 11 points
    Currently I'm working on a new map editor with more features and a more user friendly UI however a major thing I'd like to see is what you (The Community) want to see added in the editor. If you respond with a feature request please state the name of the feature or tool as well as a brief description; I'll be posting some screen shots of what the new tool will look like as soon as I have the basic functionality done.
  36. 11 points
    وعليكم السلام ورحمة الله وبركاته الله يبارك فيكم جميعاً, وعقبالكم إن شاء الله وأسأل الله أن أكون عند حسن ظنكم, تحياتي ينقل للقسم العام
  37. 11 points
    Hello, today I'm honored to present you my latest, biggest and coolest project a program called mini admin which allows you to control your MTA directly just log in to your console account this project took from me 20 days, 1600 line of codes (LUA & C#). and have fun with the features, A tutorial video : Tips: 1. don't change the resource name. 2. give the resource admin permissions ( resource.miniadmin ). 3. If you want to edit the groups etc.. ( meta.xml ). 4. If you have a bug or an idea feel free to PM me. Download: http://www.mediafire.com/file/9x2k4dbzllejs0e/C%23.zip Have a nice day.
  38. 11 points
    يسعدني بانك من اول الردود لى موضوعي شكرا على تعليق الرائع من انسان اروع @Master_MTA @!#NssoR_) @#[K]iLLeR<3 @TAPL @KillerX @MR.Mosa @ععيونككء اخخر امممأليء ^ @#SnpêŘ @Tete omar @*AnGeL @iMr.WiFi..! @Abu-Solo @MR_Mahmoud @N3xT @Trefeor @Rakan# @Dr.Marco
  39. 10 points
    Render events enchanting 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:
  40. 10 points
    بسم الله الرحمن الرحيم الصلاة والسلام على اشرف الانبياء والمرسلين نبينا محمد عليه افضل الصلاة واتم التسليم, اما بعد: أقدم لكم دورتي لـ تعلم لغة برمجة لوا.. ملاحظة: توجد مشكلة في الدرس الثاني الا وهي صغر الخط, وتم حلها ولن تتكرر في الدروس القادمة باذن الله تعالى MTA الدورة لا تتوجه لـلعبة ولكنها تتكلم عن البرمجة بشكل عام بالاضافة لتعليم وتدريس في لغة لوا اذا كان فيه نوع من الاقبال والتفاعل سأتخصص بـ برمجة ام تي ايه بالاضافة لبرمجة الديسكورد وشرح بعض اللغات الاخرى دمتم سالمين في أمان الله..
  41. 10 points
    زي ماهو واضح بالعنوان في لعبة قديمة كنت العبها على البلايستيشن وكانت ممتعة نوعا ما ف الي حاب يفتح سيرفر ويتيمز بقيم مود جديد لعل وعسى يستفيد منه شرح مختصر تصادم سيارات طبعا فيه حلبات او مضمار سباق زي مانقول وتتسابق مع ناس تحاول انك تفوز او ماتخلي احد يصدمك wreckfest اللعبة اسمها طبعا الدمج بيكون على حسب السرعة الي تمشي فيها واللعبة فيها نظام تعديل يعني كفرات ضد الانزلاق ونيترو وتقدر تزود السيارة وتركب صدامات كل الي ذكرته قابل انك تسويه باللعبة بسهولة تامه , القيم سهل انك تسويه بس راح تحتاج مصمم مابات يصمم لك وتقدر تضيف غرف او بمعنى تخلي كل ماب منعزل عن الثاني طبعا راح تحتاج الدمنشن عشان تفرد الاعبين بمعنى اصح لو فيه 30 لاعب يلعبون بماب معين واللعبة بدأت وجا زيادة 5 لاعبين يحتاجون يلعبون في نفس الماب انت هنا تحط الماب والاعبين بدمنشن معين وتبدأ اللوبي تستخدم الوظيفة الي طرحتها سابقا عشان تجيب دمنشن فارغ وبس والله , طبعا انا كان ودي اسوي القيم بس قدر الله ماشاء فعل والي عنده زيادة على الفكرة او فكرة احسن يحطها عشان يستفيد الجميع وبالتوفيق ان شاء الله
  42. 10 points
    السلام عليكم ورحمه الله وبركاتة اليوم الشرح عن فنكشن مهم ومعظم المبرمجين ما يدور عنوا executeBrowserJavascript صفحة الويكي | Wiki Page : https://wiki.multitheftauto.com/wiki/ExecuteBrowserJavascript اولا : ما هو معني الفانكشن ؟؟ html الفنكشن عبارة ينفذلك امر من لغه الجافا سكريبت علي صفحة اكيد ما فهمت شئ بوضحلك ------------------------------------------------------------------------------------- ملاحظات لاستخدام الفانكشن : 1 - اول واهم شئ انك تكون عارف شوية للجافا سكريبت 2 - لا يمكنك استخدام الوظيفة الا مع الصفحات المحلية يعني مينفعش تعمل الوظيفة دي مع صفحة جوجل مثلا 3 - يجب ان تعلم ان الفانكشن لا يشتغل الا علي الصفحات المحلية المعرفة في الميتا لنتعتبر ان اسم صفحتك call.html meta.xml اذن هنستدعيها كدا في ملف الميتا <file src="call.html" /> تقوم باستدعاء الصفحة داخل السكريبت حقك ( في ملف الكلنت طبعا لانوا متصفح ) url = "http://mta/"..getResourceName(getThisResource()).."/call.html" وبكدا url = رابط صفحتك ( call.html اللي هي ) اولا : تنشا متصفح yourBrowser = guiCreateBrowser(...) ثانيا : تحمل الرابط لما المتصفح يتنشا addEventHandler( "onClientBrowserCreated", theBrowser, -- ايفينت عبارة عن اول ما المتصفح يتنشا يحصل الفنكشن function( ) -- فنكشن loadBrowserURL( source, url ) -- تحميل رابط الصفحة حقتنا end -- انهاء الفنكشن ) -- اغلاق الايفينت ------------------------------------------------------------------------------------- بس لازم تعرف شرح الساينتكس بتاع الفنكشن bool executeBrowserJavascript ( browser webBrowser, string jsCode ) webBrowser : المتصفح بتاعك jsCode : كود الجافا سكريبت بتاعك ( الوظيفة لو الارقيومنات بتاعتها صحيحة بترجعلك قيمة وهي ترو ولو العكس او حطيت متصفح فية رابط موقع غير محلي بيرجعلك فولس) : ملحوظة _____________________________________________________ تمام كدا فهمنا الساينتكس ونشوف شوية امثلة المثال الاول :اظهار اسم الاعب عند كتابة 1 في اف 8 call.html <html> <p id = "msg"> hello </p> </html> client.lua( او ايا كان اسمة المهم انوا يكون ملف كلينت ) local jsCode = 'var p = document.getElementById("msg") ; p.innerHTML = "hello" + " '.. getPlayerName(localPlayer)..'"' local screenWidth, screenHeight = guiGetScreenSize( ) local window = guiCreateWindow( 0, 0, screenWidth-200, screenHeight-300, "Web Browser", false ) local browser = guiCreateBrowser( 0, 28, screenWidth-200, screenHeight-300, true, false, false, window ) local theBrowser = guiGetBrowser( browser ) addEventHandler( "onClientBrowserCreated", theBrowser, function( ) loadBrowserURL( source, "http://mta/"..getResourceName(getThisResource()).."/call.html" ) end ) addCommandHandler( '1' , function( ) executeBrowserJavascript( theBrowser , jsCode ) end ) المثال الثاني : اخراج الكلام الموجود في مربع الكتابة بتاع صفحة الويب علي شات اللعبه call.html <html> <input id='edit' ; type='text' /> </html> client.lua local jsCode = [[ var editBox = document.getElementById( 'edit' ) function onPressEnter() { if( event.keyCode == 13 ) { mta.triggerEvent("output",editBox.value) } } editBox.addEventListener("keypress", onPressEnter ) ]] local screenWidth, screenHeight = guiGetScreenSize( ) local window = guiCreateWindow( 0, 0, screenWidth-200, screenHeight-300, "Web Browser", false ) local browser = guiCreateBrowser( 0, 28, screenWidth-200, screenHeight-300, true, false, false, window ) local theBrowser = guiGetBrowser( browser ) addEventHandler( "onClientBrowserCreated", theBrowser, function( ) loadBrowserURL( source, "http://mta/"..getResourceName(getThisResource()).."/call.html" ) end ) addEventHandler( 'onClientBrowserDocumentReady' , theBrowser , function() executeBrowserJavascript(source,jsCode) end ) addEvent( 'output' , true ) addEventHandler( 'output' , root , function( msg ) outputChatBox(msg) end ) _______________________________________________________________________________________________________ المثال الثالث : عبارة عن انشاء وتغير لون الماركر من خلال صفحة ويب داخل اللعبه call.html <html> <p id = "msg"></p> <script> function func() { var c = event.keyCode if( c != 44 && c != 45 ) { if( c < 48 || c > 57 ) { event.returnValue = false } } if( c == 13 ) { mta.triggerEvent( 'createMarker' , document.getElementById("edit_Box").value ) } } function func2() { var c = event.keyCode if( c != 44 ) { if( c < 48 || c > 57 ) { event.returnValue = false } } if( c == 13 ) { mta.triggerEvent( 'changeMarker' , document.getElementById("color_Box").value ) } } </script> <strong><em>Enter Marker Position Here !! : </em></strong><input id = "edit_Box" style = "color:red" ; type = 'text' size = "50" onkeypress = "func()"> </input> <hr> <p id = "msg2"></p> <strong><em>Enter Marker Color Here !! : </em></strong><input id = "color_Box" style = "color:orange" ; type = 'text' size = "50" onkeypress = "func2()"> </input> </html> client.lua local screenWidth, screenHeight = guiGetScreenSize( ) local window = guiCreateWindow( 136, 131, 824, 468, "Web Browser", false ) local browser = guiCreateBrowser( 0, 28, screenWidth-200, screenHeight-300, true, false, false, window ) local theBrowser = guiGetBrowser( browser ) guiSetVisible( window , not guiGetVisible(window) ) visible = guiGetVisible(window) showCursor(visible) guiSetInputEnabled(visible) _Markers = { } addEventHandler( "onClientBrowserCreated", theBrowser, function( ) loadBrowserURL( source, "http://mta/"..getResourceName(getThisResource()).."/call.html" ) end ) setDevelopmentMode(true,true) addEvent( 'createMarker' , true ) addEventHandler( 'createMarker' , root , function( position ) if( #position == 0 ) then executeBrowserJavascript( theBrowser , 'document.getElementById("msg").innerHTML = "<b><i><u>يرجي كتابة احداثيات الماركر</u></i></b>" ; document.getElementById("msg").style.color="red"' ) if( isTimer( ti ) ) then killTimer( ti ) end ti = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg").innerHTML = "" ; document' ) return end local pos = split( position , ',' ) mark = createMarker( pos[1] , pos[2] , pos[3] , 'cylinder' , 1 ) if( isElement(mark) and getElementType(mark)=='marker' ) then if( type( pos ) == 'table' and #pos == 3 ) then executeBrowserJavascript( theBrowser , 'document.getElementById("msg").innerHTML = "<b><i><u>تم انشاء الماركر بنجاح</u></i></b>" ; document.getElementById("msg").style.color="green"' ) if( isTimer( ti ) ) then killTimer( ti ) end ti = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg").innerHTML = "" ; document' ) _Markers[#_Markers+1] = mark else executeBrowserJavascript( theBrowser , 'document.getElementById("msg").innerHTML = "<b><i><u>يرجي كتابة احداثيات صحيحة</u></i></b>" ; document.getElementById("msg").style.color="red"' ) if( isTimer( ti ) ) then killTimer( ti ) end ti = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg").innerHTML = "" ; document' ) return end else executeBrowserJavascript( theBrowser , 'document.getElementById("msg").innerHTML = "<b><i><u>يرجي كتابة احداثيات صحيحة</u></i></b>" ; document.getElementById("msg").style.color="red"' ) if( isTimer( ti ) ) then killTimer( ti ) end ti = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg").innerHTML = "" ; document' ) return end end ) addEvent('changeMarker',true) addEventHandler( 'changeMarker' , root , function( color ) if( #color == 0 ) then executeBrowserJavascript( theBrowser , 'document.getElementById("msg2").innerHTML = "<b><i><u>يرجي كتابة لون الماركر</u></i></b>" ; document.getElementById("msg2").style.color="red"' ) if( isTimer( t2 ) ) then killTimer( t2 ) end t2 = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg2").innerHTML = "" ; document' ) return end RGB = split(color,',') if( _Markers[#_Markers] and isElement( _Markers[#_Markers] ) and getElementType( _Markers[#_Markers] ) == 'marker' ) then if( type( RGB ) == 'table' and #RGB == 3 and tonumber(RGB[1])<=255 and tonumber(RGB[1])>=0 and tonumber(RGB[2])<=255 and tonumber(RGB[2])>=0 and tonumber(RGB[3])<=255 and tonumber(RGB[3])>=0 ) then executeBrowserJavascript( theBrowser , 'document.getElementById("msg2").innerHTML = "<b><i><u>تم تغيير لون الماركر بنجاح</u></i></b>" ; document.getElementById("msg2").style.color="green"' ) setMarkerColor( _Markers[#_Markers] , RGB[1] , RGB[2] , RGB[3] ) if( isTimer( t2 ) ) then killTimer( t2 ) end t2 = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg2").innerHTML = "" ; document' ) return else executeBrowserJavascript( theBrowser , 'document.getElementById("msg2").innerHTML = "<b><i><u>يرجي التأكد من البيانات</u></i></b>" ; document.getElementById("msg2").style.color="red"' ) if( isTimer( t2 ) ) then killTimer( t2 ) end t2 = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg2").innerHTML = "" ; document' ) return end else executeBrowserJavascript( theBrowser , 'document.getElementById("msg2").innerHTML = "<b><i><u>قم بأنشاء المأركر اولأ</u></i></b>" ; document.getElementById("msg2").style.color="red"' ) if( isTimer( t2 ) ) then killTimer( t2 ) end t2 = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg2").innerHTML = "" ; document' ) return end end ) bindKey( 'f7' , 'down' , function( ) guiSetVisible( window , not guiGetVisible(window) ) visible = guiGetVisible(window) showCursor(visible) guiSetInputEnabled(visible) end ) addCommandHandler( '1' , function( ) local x , y , z = getElementPosition( localPlayer ) setClipboard( x..','..y..','..z ) end ) addCommandHandler( '2' , function( ) if( _Markers[#_Markers] and isElement( _Markers[#_Markers] ) and getElementType( _Markers[#_Markers] ) == 'marker' ) then destroyElement( _Markers[#_Markers] ) _Markers[#_Markers] = nil local just = { } for i , data in pairs( _Markers ) do if( data ) then table.insert( just , data ) end end _Markers = just data = nil ; just = nil end end ) _______________________________________________________________________________________________________ >> { لأي استفسار تفضل في التعليقات في الاسفل } << ____________________________________ المصادر ____________________________________ https://wiki.multitheftauto.com/wiki/ExecuteBrowserJavascript https://www.w3schools.com/js/ https://wiki.multitheftauto.com/wiki/OnClientBrowserDocumentReady https://wiki.multitheftauto.com/wiki/OnClientBrowserCreated ______________________________________________ من قاموا بمساعدتي Who helped me ______________________________________________ @IIYAMA @botder ______________________________________________ الاهداءات @Master_MTA @!#DesTroyeR_,) @Default#^ @#,xiRocKyz @NX_CI @TOUNSI | ا̍ڸــڛۣــ؏ــٰٱ̍دہ @DABL @Kareem Amer والباقي في القلب
  43. 10 points
    Olá pessoal. Fiz um vídeo bem detalhado sobre os painéis CEGUI, abordando algumas das principais dúvidas e também algumas propriedades que podem ajudar muito na hora de criar um painel GUI. Recomendo que assistam com fones de ouvido, ou então que ativem as legendas no YouTube. Críticas, sugestões, opiniões, perguntas relacionadas ao vídeo, podem fazer por aqui ou então deixar nos comentários do vídeo. (Deu muitíssimo trabalho de produzir o vídeo, deixe seu like neste post e no vídeo. Se puder, se inscreva no canal e acompanhe a página Lord Henry Entertainment no facebook.) Links e funções que aparecem no vídeo em ordem de aparição: http://static.cegui.org.uk/docs/0.8.7/ guiGetScreenSize guiCreateWindow guiCreateButton http://static.cegui.org.uk/static/WindowsLookProperties.html guiSetProperty http://static.cegui.org.uk/static/WindowsLookProperties.html#FrameWindow http://static.cegui.org.uk/static/WindowsLookProperties.html#Button isMouseOnGUICloseButton Standard_GUI_Font_Names guiSetEnabled guiSetAlpha guiEditSetReadOnly guiEditSetMasked Tenham todos uma boa semana.
  44. 10 points
    Hello, We recently discovered a vulnerability within MTA Server, as a result of which a specially crafted application could crash your server. The issue has been fixed and we urge all server owners and hosters to update immediately. Getting the update Linux: https://linux.mtasa.com/ Windows x64: https://nightly.mtasa.com/?mtasa_x64-1.5.6-rc-latest Re-download the full installer from http://mtasa.com for the regular x86 server Server versions affected: - 1.5.6 for Windows (32bit & 64 bit) and Linux - if downloaded yesterday or earlier - 1.5.5 and older for Windows and Linux Versions not affected: - 1.5.6 for Windows (32bit & 64 bit) and Linux - if downloaded today (build 14489) - MTA:SA Clients
  45. 10 points
    بسم الله الرحمن الرحيم سلام عليكم ورحمة الله وبركاته ,, حبيت اطرح شرح executeSQLQuery مفصل وكامل ان شاء الله . لكثرة الاعضاء الغير فاهمين له او الجاهلين له بسم الله نبدأ .. executeSQLQuery = عبارة عن قاعدة في سيرفرك dbConnect = عبارة عن قاعدة متصلة بالخادم او بالملف اولاً بننشئ كود الاتصال لو كنت بتستعمل dbFunctions test_db = dbConnect( "sqlite", "file.db" ) -- عبر ملف test_db = dbConnect( "mysql", "dbname=frank;host=1.2.3.4", "username", "password", "share=1" ) -- عن طريق الاتصال بالخادم .: ) فالنفترض انه عندنا القاعدة بهذا الشكل : { } فاضي صحيح ؟ طيب عشان ننشئ تيبل وندرج فيه المعلومات , بنحتاج نكتب هالكود : local result1 = executeSQLQuery ( "CREATE TABLE IF NOT EXISTS players (name TEXT, money TEXT, health TEXT)" ) local qh = dbQuery( test_db, "CREATE TABLE IF NOT EXISTS players (name TEXT, money TEXT, health TEXT)" ) -- نسوي الأمر local result2 = dbPoll( qh, -1 ) -- ونطلع النتيجة if ( result1 and result2 ) then print ( "Success to create tables" ) -- نكتب في الديبق نجاح في انشاء الجداول end -- CREATE TABLE IF NOT EXISTS players (name TEXT, money TEXT, health TEXT) -- الترجمة : -- players اصنع جدول اذا ماكان فيه جدول بأسم -- والأعمدة هي : -- name, money, health بيطلع الناتج في القاعدة ~> { players = { } } ^ الجدول حق players فاضي نبي نضيف عليه قيمة مثلا .. local result31 = executeSQLQuery ( "INSERT INTO players(name,money,health) VALUES(?,?,?)", 'wifi','1000','100' ) local qh2 = dbQuery( test_db, "INSERT INTO players(name,money,health) VALUES(?,?,?)", 'wifi','1000','100' ) -- نسوي الأمر local result41 = dbPoll( qh, -1 ) -- ونطلع النتيجة if ( result31 and result41 ) then print ( "Success to insert values" ) -- نكتب في الديبق نجاح في ادخال القيم end -- INSERT INTO players(name,money,health) VALUES(?,?,?) -- الترجمة : -- أدخال الى player -- والأعمدة هي : -- name, money, health -- والقيم : -- ?,?,? == 'wifi', '1000', '100' ملاحظة مهمة جداً : عند وضع سهم داخل الأمر او اي عملية SQL استبداله بالارقمنت خارج العملية كمثال : ("?,?",'wifi','1000') -- الاستفهام الاول بيستبدل بوايفاي -- والاستفاهم الثاني بيستبدل برقم ألف ("?,'1000'",'wifi') -- الاستفهام الاول بيستبدل بوايفاي ^ أتمنى تكون وضحت : بيطلع الناتج في القاعدة ~> { players = { { name='wifi', money='1000', health='100' } } } لو نبي نضيف قيمة ثانية بأسم نصور مثلاً وجا بروس قال انا الي ابي اصير القيمة وتضاربو وبعدين صار بروس القيمة ونصور راح .. كذا نسوي : local result3 = executeSQLQuery ( "INSERT INTO players(name,money,health) VALUES(?,?,?)", 'BrosS','-1000','10' ) local qh3 = dbQuery( test_db, "INSERT INTO players(name,money,health) VALUES(?,?,?)", 'BrosS','-1000','10' ) -- نسوي الأمر local result4 = dbPoll( qh, -1 ) -- ونطلع النتيجة if ( result3 and result4 ) then print ( "Success to insert values" ) -- نكتب في الديبق نجاح في ادخال القيم end -- INSERT INTO players(name,money,health) VALUES(?,?,?) -- الترجمة : -- أدخال الى player -- والأعمدة هي : -- name, money, health -- والقيم : -- ?,?,? == 'BrosS', '-1000', '10' بيطلع الناتج في القاعدة ~> { players = { { name='wifi', money='1000', health='100' }, { name='BrosS', money='-1000', health='10' }, } } طيب لو نبي نجيب فلوس واي فاي كيف ؟ بهذي الطريقة : local result5 = executeSQLQuery ( "SELECT money FROM players WHERE name=?", 'wifi' ) local qh4 = dbQuery( test_db, "SELECT money FROM players WHERE name=?", 'wifi' ) -- نسوي الأمر local result6 = dbPoll( qh, -1 ) -- ونطلع النتيجة if ( result5 and result6 ) then print ( "Success to select values" ) -- نكتب في الديبق نجاح في تحديد القيم print ( result5, result6 ) -- راح يطبع لنا فلوس واي فاي -- Result : -- 1000 end -- SELECT money FROM players WHERE name=? -- الترجمة : -- تحديد عامود money -- من جدول players -- اين القيمة المطابقة في عامود name -- والقيم : -- ? = 'wifi' شكل التحديد في القاعدة ~> -- > = التحديد -- ? = أين -- == = يطابق { >players = { { ?name=='wifi', >money='1000', health='100' }, { name='BrosS', money='-1000', health='10' }, } } -- توضيح اكثر { >players = { -- نحدد التيبل الي نريده { ?name='wifi', >money='1000', health='100' }, -- ? نحدد القيمة الي نريدها< + الي نبحث عنها { name='BrosS', money='-1000', health='10' }, } } مثال اخر لو نبي نجيب هيلث بروس : local result7 = executeSQLQuery ( "SELECT health FROM players WHERE name=?", 'BrosS' ) local qh5 = dbQuery( test_db, "SELECT health FROM players WHERE name=?", 'BrosS' ) -- نسوي الأمر local result8 = dbPoll( qh, -1 ) -- ونطلع النتيجة if ( result7 and result8 ) then print ( "Success to select values" ) -- نكتب في الديبق نجاح في تحديد القيم print ( result5, result6 ) -- راح يطبع لنا دم بروس -- Result : -- 10 end -- SELECT money FROM players WHERE name=? -- الترجمة : -- تحديد عامود money -- من جدول players -- اين القيمة المطابقة في عامود name -- والقيم : -- ? = 'BrosS' الآن لو نبي نعدل على فلوس واي فاي او هلث بروس شلون ؟ بهذه الطريقة . : local result9 = executeSQLQuery ( "UPDATE players SET health='5' WHERE name=?", 'BrosS' ) local qh6 = dbQuery( test_db, "UPDATE players SET health='5' WHERE name=?", 'BrosS' ) -- نسوي الأمر local result10 = dbPoll( qh, -1 ) -- ونطلع النتيجة if ( result9 and result10 ) then print ( "Success to edit values" ) -- نكتب نجاح في تعديل القيم end -- UPDATE players SET health='5' WHERE name=? -- الترجمة : -- تحديث جدول player -- تحديد عامود health='القيمة الجديدة' -- اين القيمة المطابقة في عامود name -- والقيم : -- ? = 'BrosS' النتيجة او الطريقة في القاعدة ~> -- > = التحديد -- ? = أين -- ! = تعديل -- == = يطابق { >players = { { name='wifi', money='1000', health='100' }, { ?name=='BrosS', money='-1000', !health='10' }, } } -- Result : { players = { { name='wifi', money='1000', health='100' }, { name='BrosS', money='-1000', health='5' }, } } ثم بروس صار دمه مره قليل وراح بروس المستشفى وعالجه نصور لكن للأسف مات ونبي نحذفه من الجدول شلون ؟ local result11 = executeSQLQuery ( "DELETE FROM players WHERE name=?", 'BrosS' ) local qh7 = dbQuery( test_db, "DELETE FROM players WHERE name=?", 'BrosS' ) -- نسوي الأمر local result12 = dbPoll( qh, -1 ) -- ونطلع النتيجة if ( result11 and result12 ) then print ( "Success to delete values" ) -- نكتب نجاح في حذف قيمة end -- DELETE FROM players WHERE name=? -- الترجمة : -- حذف من players -- اين القيمة المطابقة في عامود name -- والقيم : -- ? = 'BrosS' النتيجة او الطريقة في القاعدة ~> -- > = التحديد -- ? = أين -- ! = حذف -- == = يطابق { >players = { { name='wifi', money='1000', health='100' }, !{ ?name=='BrosS', money='-1000', health='5' }, } } -- Result : { players = { { name='wifi', money='1000', health='100' }, } } ثم فجأه واي فاي حزن لأن بروس مات وقال بيستقيل , وصار مافي اي قيمة باقية شلون نحذف الجدول ؟ local result7 = executeSQLQuery ( "DROP TABLE players" ) local qh8 = dbQuery( test_db, "DROP TABLE players" ) -- نسوي الأمر local result8 = dbPoll( qh, -1 ) -- ونطلع النتيجة if ( result7 and result8 ) then print ( "Success to drop table" ) -- نكتب نجاح في حذف الجدول end -- DROP TABLE players -- الترجمة : -- حذف جدول players تنبيه مهم : الترجمة ليست حرفية انما بالمعنى فقط او للتوضيح بنسبة لغة البرمجة المشاركون في المسرحية : @!#NssoR_) @#BrosS @iMr.WiFi..! من فضلكم تصفيق حار من اجلهم .. اعتذر اذا اشركت احدكم وماكان وده يشارك .. او العكس " الشرح مقدم على يد : واي فاي الحكمة من القصة لا تسلب حق غيرك لو كان في ابسط او اصغر الاشياء لأن بيجي شخص بيسلب حقك في اسوء او اكبر الاشياء وفي الختام اتمنى الشرح افادكم ولو قليل وتفهمون ان شاء الله وتقولون الله يرحمك ي بروس 📋
  46. 10 points
    FEATURES Compatible with all gamemodes. A monitor that allows the user to view the drone's camera. First person / Third person drone monitor. /drone - starts drone /droned - stops drone MEDIA https://community.multitheftauto.com/index.php?p=resources&s=details&id=13056
  47. 10 points
    السلام عليكم ورحمة الله وبـركـاته بـعد التـحيـة ,, أعرض لكم قائـمة المجسمات والـأبراج لبعض الدول العربية . ابغـا أخد رأيـكم فيـهـا نبدا علا بـركـة اللـه الـسعـودية -1 دوار المياه برج الرياض برج التلفزيون برج البيت قريـبا برج Al faisaliah الكويـت برج ال Wassil وبااقي اشياء اخررئ .... لـيـبيـا برج الـفاتح فـنـدق كورنـتـيا منـارة بـنغازي قلـعة السريا الحمراء الساعة العثمانية لبـدة الاثرية مصر نحتـاج اقتراحات اخرئ .. دبـي نحتـاج اقتراحات اخرئ .. علـم ،وضع رفـرفة خفيفة لأي صورة تضعـها ----------------- سيتم تعديل المكتبة في القريب العاجل وإضـافة دول اخرئ مع إضـافة روابط التـحميل ,,
  48. 10 points
    بسم الله الرحمن الرحيم سلام عليكم ورحمة الله وبركاته كما هو موضح بالعنوان حاب اعرض لكم جريد ليست من تصميمي الشخصي ( احترافي ) المهم ماعلينا بالطويلة نعرض الجريد ليست : اتمنى تعرضون رأيكم عن الجريد ليست من 10 واذا في اخطاء او شيء زي كذا قولو لي وان شاء الله اصححها طبعاً شكر خاص لتنطيل ..
  49. 10 points
    السلام عليكم ورحمه الله وبركاتة كيف الحال أهل الخير , في هذا اليوم يشرفني اني ادعوكم جميعاً لحفل إفتتاح سيرفر شيوخ العرب - هوامير وهذي بطاقة الدعوة مع العلم انه سيتم إقامة فعاليات ومسابقات ، وتوزيع فلوس , ورتب وشكراً لكم
  50. 9 points
    Welcome to SARS's official topic of 2018. Like many other existing communities in MTA, we as well created SARS with a goal. Our goal is to make a community where the players of the server can have a good time without being inappropriately treated by players or admins. Where an admin would be punished the same way as a player, and vice versa. In this server, equality between players and admins exist. Admins of the server are in charge of two things: dealing with players, their reports, and problems they encounter. They're also in charge of other duties such as dealing with housing requests, and gangs and groups management. Dealing with gang/groups levels, rewards, etc. Admins in the server found guilty of any kind of abuse of their ability will be kicked out the clan immediately. Player reports are dealt with differently. We punish some players differently than others. For example, if you're new to the server, and you broke a rule, you would be warned, and told to read the rules found by pressing F1. Other players, such as official gang members or official group members, already aware of the server rules will be disciplined in other ways such as being admin-jailed, kicked or banned from the server as their punishment if found guilty in the report. Online admins are on duty 24/7. If they witness anyone rulebreaking, they should take actions immediately. Any admin witnessed not doing their job can be reported via the report-system on the server. If you wish to contact an admin in-game, call one from the main-chat. Only if you have something important to speak about we will warp to you. Introducing the banks. This is where all of the player's money is stored when they log off the server or when they deposit all their money. They can visit any bank in Los Santos, San Fierro or Las Venturas in order to see what they've in their bank, or if they wish to deposit or withdraw a certain amount. They can also visit local ATMs, anywhere in the city. Click below to see the interior of the banks. https://imgur.com/a/ha1YeFX Introducing the justice system. This is where criminals are sentenced when caught and arrested by police officers in the game. The maximum wanted level they can reach is 66. The seconds is based on how much wanted level you had at the time of the arrest. Criminals, don't worry. You have the ability to jail-break your friends out. But, please be very careful. Police wardens/and nearby local police units are advised as soon as you trespass into the prison area. Be on the lookout, police wardens will shoot on sight. There are spotlights activated as soon as you trespass into the prison area as you will be shown below. Criminals have to work their way around the prison area in order to get inside the building. They can either break the fence off the side, use a vehicle for a lift, or parachute from the Los Santos bank into the prison area. As soon as you have worked your way inside, you will make your way to the red door. When you get close enough, the red door will be triggered. You have to do the job quickly, as soon as the cops receive the message, there will be many spawning as Police Warden. That is the quickest police unit, trained to stop jail-breaks. Fight them off and work your way inside the building. https://imgur.com/a/ZQRFnTJ If you have worked your way into the building, you will be in the room below. Make your way to the gate, wait patiently while it opens and continues. When you pass the first gate, there is going to be another gate you will have to open. The 2nd gate opens faster than the 1st one. After the 2nd gate, there will be a 3rd gate to the right, that gate won't be openable by jail-breakers. That is the gate the cops will go through it. You have to secure that gate with assistance and make sure you're not caught from there. Continue your way to the left, the 4th gate. When you go through the 4th gate, which opens extremely fast, wake your way to the 5th gate. When you reach the 5th's gate room, there will be two more ways you can enter. The left will be to jail-break criminals, and the right will be to visit criminals. Make your way to the left side gate, run all the way down to the end of the hall, you will see a grey gate and a red gate. To open the cells, and the red gate, you have to get inside the room to the left and work your way to the two red buttons to trigger the gates. https://imgur.com/a/CNV2eAo As a civilian, you can do many things. There are many things to spawn as a Civilian. You can choose what profession you want to act as. There is many to choose from, such as Trucker, Pilot, Taxi Driver, Hobo, Limo Driver, Bus Driver, Mechanic, and so much more. As a Civilian, you do not get wanted level unless you attack other classes, or carry illegal weapons. As a Civilian, you have to play by the role you're spawned as. For example, if you're spawned as Trucker, and you're in an unknown city killing cops or randomly attacking criminals, you will be admin-jailed. As a Civilian you should always play as the profession you're spawned as. Introducing the criminal side on the server. They are many criminal spawns on the server. From arms dealer to drugs dealer, a pickpocket, carjacker, and a lot more. You can sell weapons, sell drugs, rob money from players, steal personal vehicles, and a lot more. From the image below, that is the main criminal activity of the server. It's called a store robbery. Many criminals/official gang members are there most o the times, waiting for cops to arrive to start a massive war between cops and criminals. You can be part of that. Choose what side you want to fight as. Blue or red. Introducing the server's official gangs. Each organization in the server prove themselves every day on the server, and they show who is the best of the best. They have turf wars, rob each others gang safes, and sometimes hosted by the server, gang war tournaments. Gang war tournaments are sometimes hosted by the server to prove which gang is the best. They also receive rewards from the gang war tournament. Introducing below all of the abilities you, together with your gang members can participate in as an official gang member of the server. Introducing bank robberies, gang robberies, turf wars, store robberies, and more. Introducing the bank-robbery system. Only Official Gangs of the server have access to robbing the banks. If you wish to become part of an Official Gang, you have to apply for them at http://sarsrpg.us/index.php?/forums/forum/139-server-gangs-companies/. This bank-robbery system is based on cracking the code. When the system keypad pops up upon you hovering over it, you will be given a random number. You have to work your way around to cracking that code. So for example, if the code is 50.000, the code of that number will be something in between. But it won't always be the same, it is randomized every time you open the keypad. So for you to know what number it is, you have to keep guessing out numbers, and you will know if you are close to the number because the keypad will notice you when the number is more or less, as it'll say: "HIGHER" or "LOWER." There are 5 doors in total. You have to get through 4 in order to reach the safe room. Inside the safe room, you will be able to crack the safes in order for your gang and people assisting the bank robbery to get rewarded. The safe room won't be shown below, that is something you've to discover in-game for yourself. https://imgur.com/a/y9GRUBc Introducing the gang-robbery system for official gang members. Gang members have the ability to rob other gang's safes and take their gang money in order to earn money for their own gang. In order to gang rob, both gangs need to have $1M stored and have 3 online gang members to start the gang rob process. After that, you crack the code and go deliver the package for the money. In the other side, we also have the turfing system. It brings out gang members out into the open world. They fight together with other gang members in order to keep their territory or claim another. If your gang and gang members have what it takes to fight multiple gangs at once, come out into the open world. But keep your eyes open, you can get hit with anything anytime when you least expect it. Fight together with your Gang, and hold it down to get rewarded. If you lose, you can always try to take it back over and over. Work in progress. Forums: http://sarsrpg.us/ MTA:SA Server IP: mtasa://79.137.33.163:9905