Jump to content

Leaderboard

Popular Content

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

  1. سوي ايديت وخلي يوم يظغط الزر سوي guiGetText وتحقق ان الي مكتوب بالايديت هو كلمة السر .
    2 points
  2. @Deativated يعني ماتشوف في ناس فوق طارحه وظائف وتجي ع البارد المستريح تحط كود جاهز ؟ يعني انت كذا محترف ولا خبير ولا ايش ثانيا تعريف الي بسطر 14 غير الي بسطر 20
    2 points
  3. ((TOPIC NOT OFFICIAL! WORK IN PROGRESS(WIP))) Test Server: PROJECT IS DEAD FOR SALE IN THE CURRENT STATE Good day everyone! As a survival games lover, I've played Rust and other survival games and a few days I decided with a friend (an4rei) who loves Rust (literally, he has 2.000+ hours on Rust) to make a MTA version of the game! We never seen a survival server with no zombies, just pure survival with some PvP. For those of you who played Rust before, might already know what Rust is and what it has to offer but were is a brief introduction of the game! What is Rust? Well Rust is a normal survival game with all the basics needed for suvival. Rust is not like the normal survival games nowadays, a post apocalyptic game where you have to fight off zombies and sometimes player. You spawn as a naked guy and the only thing you have is a rock... You gather wood and other resources to make yourself a little house and and other things you require for survival. From that moment, you can decide what you want to be, either a raider with a big base, lots of friends that goes out at night and raids houses and people, or a friendly guy that just wants to have a little house and just relax by collecting wood. Crafting, scavenging and even fighting are stuff you will do during your time playing, just something normal for this game. There will be friendly and unfriendly players, but it's always better to just play with your friends, just to be safe you don't get kidnapped and get raped... What are we trying to do? We are trying to copy Rust in a way, recreating the Rust feeling in MTA. At the moment we are trying to make some objects such as guns and furnitures from Rust and include them in the server. Also, we are looking into adding as many Rust features as possible, such as the Tool Cupboard and Sleepers. We are trying to mimic the interface used by Rust but might take a while as an4rei is still learning and I am the only main scripter but still learning myself, so some scripts might seem out of place or messy, but we will get there What have we done so far? Guns: Objects: Interface: Features: Current Version: v0.3 Pre-Alpha Changelog: Leave your thoughts and feedback on what you think and on what we should add! Also, feel free to ask any questions! This is not the official topic for the server but the topic will be updated on what we are adding/changing to the server! This is just a small presentation of what we are trying to do, to see how you guys react to it and also to get some feedback. There is no fixed date on when the server will be done. Development Time: ~40hrs Progress: 55%
    1 point
  4. APPENDIX DATA SYNCHRONIZATION. What is it? MTA's synchronization methods. Optimization tips. DATA SYNCHRONIZATION 1. What is it? Since unmemorable times humanity have faced problems caused mainly due to the storage of different ideas in almost each human. But thank God, machines storage methods are different and they have the possibility of having stored the same values in more than 100 machines. Well this is great, but those values must be set by someone, and here's where the server-side and client-side can be used as example of data synchronization. The server-side store's all the values given by each client-side and give's back those values to the all the client-sides ending up into something like this ( Figure 1 ). This is a way to get the same data in all the client-side, but there's also other methods well known like P2P. Figure 1. 2. MTA's synchronization methods. Since data sync it's a base element of every multiplayer game or mod, MTA is not an exception. That's why MTA scripting interface gives us two core ways to sync the server data with the client data or client data with server data. Well this two methods are the following one's. Element Data, it consists of assigning values to an element that are being stored under a key ( the key usually being a string like "health" ). This way is being used by a great amount of scripters in MTA because it's easy to use. But there are also negative points if this way is not being used properly like saving small amount of data in just one key and syncing it with the server or client's. An example of it would be: [[--CLIENT.LUA--]] local value = 0 local function handleStart() value = getTickCount() -- WE GET THE TIME THE SERVER HAS BEEN WORKING WHEN THE RESOURCE START setElementData( localPlayer, "start_tick", value, true ) -- WE SAVE THE 'value' VARIABLE INTO THE 'localPlayer' ELEMENT WITHIN THE KEY 'start_tick' AND WE SYNC IT TO GET THIS DATA TO THE SERVER. end addEventHandler( "onClientResourceStart", getResourceRootElement( getThisResource() ), handleStart ) [[--SERVER.LUA--]] local function handleCMD( thePlayer ) local mineTick = getElementData( thePlayer, "start_tick" ) -- WE RETRIEVE THE DATA, THAT HAS BEEN SAVED INTO 'thePlayer' DATA. local resultTick = getTickCount() - mineTick -- GET HOW MUCH TIME HAS PASSED SINCE THE RESOURCE STARTED FOR THE PLAYER outputChatBox( resultTick, thePlayer ) -- PRINT INTO THE CHAT THE RESULT end addCommandHandler( "mytime", handleCMD ) -- IN CASE YOU WANT TO TRY IT SAVE THE CODE WITH THE NAME MARKED ABOVE THEM. [[--META.XML--]] <meta> <script src="server.lua" type="server"/> <script src="client.lua" type="client"/> </meta> Events, this method is the one that elementData's one bases on, which means this is a 'rawer' method which can also be faster than elementData if it's being used efficiently. An event is just a message that's being send to one or various systems, if these systems handle the message then when the message is sent to the system there's a trigger which calls the functions that are defined like a reaction to that message that has been sent. It's pretty easy to understand, just think of this. You say hello to someone, the message in this case is 'Hello' and the system where is pointed to mainly is the person, the person gets the message and handles it by calling some cognitive functions, these functions at their time trigger another message as result which in the most common case would be 'Hello' or just a strange face motion because he or she doesn't know you. Maybe you will ask yourself about what does a hello to someone have to do with Events in MTA. Well let's convert the situation above into script. We've got to define first the message by using addEvent( "Hello" ), good we have defined our message, but if we stop here then we have made some useless stuff that's not going to be used ever, that's why we have to use this message somewhere and here is when we simulate the action of saying something the message by using triggerEvent( "Hello" ) but... wait who's supposed to say the message? Let's make it look like the localPlayer was saying the message so it would be like triggerEvent( "Hello", localPlayer ), okay we have said the message but do we talk alone? Maybe but it's not pretty normal, so we must find a receptor which in this case will be a ped so we add the a ped to the game by using createPed( 0, 105, 20, 5.5 ) supposing we are located in the position 104, 20, 5.5. Okay we have the receptor now but it won't answer to our message so let's obligate him to answer us by adding a handler for the message to the ped like this addEventHandler( "Hello", thePed ), okay but this way it will do the same as we wouldn't have used addEventHandler that's why we need to pass also a function to call like an argument which in this case is going to be called 'answerToHello' and we would finish up with addEventHandler( "Hello", thePed, answerToHello ). All this and little bit more of code below for simulating an answer to hello from a person in a non-realistic way. [[--CLIENT--]] -- EVENTS addEvent( "Hello", false ) -- LET'S MAKE IT LIKE JUST THE CLIENT CAN TRIGGER IT SO WE MAKE SURE JUST WE ARE GOING TO TALK TO THE PED -- VARIABLES local thePed = createPed( 0, 105, 20, 5.5 ) -- WE ADD THE PED SO WE DON'T FEEL LONELY -- FUNCTIONS -- SAY HELLO local function sayHello() -- THIS FUNCTION WILL BE USED TO SEND UP THE MESSAGE TO THE PED triggerEvent( "Hello", thePed ) -- WE SAY HELLO TO THE PED end -- ANSWER local function answerToHello() -- WE DEFINE THE MESSAGE HANDLER SO WE MAKE SURE THE PED ANSWERS TO US outputChatBox( "Hello to you too!" ) -- THE PED GET'S THE MESSAGE AND GIVES US BACK A MESSAGE THAT WE CAN CHECK INTO THE CHAT. end -- COMMANDS addCommandHandler( "sayit", sayHello ) -- WE'VE GOT TO SAY SOMEHOW HELLO TO THE PED SO LET'S USE A COMMAND -- EVENT HANDLERS addEventHandler( "Hello", thePed, answerToHello ) 3. Optimization tips. Well both methods can be used in large development but there are some tips you can follow to make sure your script will run in an efficient way. Pack reasonable amount of data into one's element data key, don't save values like ( health, armor, money ) into different keys, compress them into an only one by using tables, by using this method we pass 3 values packed in one sync meanwhile separating each value with one key creates upon 3 different syncs which would end up in a greater amount of packets sent between the server and the client. This tip can be used for both methods [ elementData, Events ]. local basic_data = { health = 100, armor = 100, money = 100 } -- COMPRESSED PLAYER INFO setElementData( thePlayer, "main", basic_data, true ) -- WE GIVE 3 DIFFERENT VALUES TO 'main' KEY BY USING JUST A VARIABLE THAT'S A TABLE 'basic_data' triggerClientEvent( thePlayer, "onSync", thePlayer, basic_data ) -- WE SEND A MESSAGE TO THE CLIENT IN ORDER TO MAKE IT SYNC THE DATA OF THE PLAYER TO THE ONE THAT IS BEING STORED IN THE SERVER Lua is a garbage collection language so the reduce the amount of global variables as much as possible in order to make it run faster. Hope you enjoyed the tutorial, if you have any question just feel free to ask it in this post or by PM, Skype ( killer.68x ) or Email ( [email protected] ) or Discord ( Simple01#1106 ).
    1 point
  5. بسم الله الرحمن الرحيم سلام عليكم ورحمة الله وبركاته اليوم حاب اعرض وابيع سكربت https://vpsarab.net === مميزات السكربت : 1- يتوفر نظام التذاكر 2- يتوفر نظام البروفايل الشخصي 3- بساطة وسهولة ومرونة السكربت 4- محمي من جميع الثغرات تقريباً ,, === سعر السكربت : 55 $, ٢٠٦.٠٢ ريال === لمشاهدة السكربت : === https://vpsarab.net === طريقة الدفع او التسليم : ببساطة تدفع لي النصف الأول ثم اسلمك السكربت وتدفع لي النصف الآخر == ( للتواصل ) Skype: mohmmad15551 facebook: https://www.facebook.com/profile.php?id=100005505521424 gmail: [email protected] hotmail: [email protected] == ( السكربت بيكون لشخص واحد فقط !! ( أي اني لن اسلمه غير المشتري نفسه وله حريته في نشر السكربت ام لا : ) = ( تنبيه ) = عند شراء السكربت , عليك ان تربطه MySQL الخاص بك ( وعندما تواجهك مشاكل في السكربت سوف اساعدك في تصليحها ( اما عند التعديل على السكربت والملفات فهذا استثناء والسلام خير الختام
    1 point
  6. السلام عليكم ورحمة الله وبركاته كيف الحال شباب باذن الله اليوم بشرحلكم كيف تستخمون executeSQLQuery بطريقه مفصله بس اهم شي دعواتكم لي في الاختبار +_+ حق القدرات والله المستعان بس بسم الله نبدا طيب اولا executeSQLQuery هي وظيفه ثابته ما تتغير لكن فقط ما بين الاقواس هو اللي يتغير يعني انا شرحي ما اعرف اوصل المعلومه صح لكن حاولو تفهمو مني على قدر استطاعتكم +_+ نبدا باول وظيفه وهي انشاء قاعدة بيانات او بمعنى اصح تيبل executeSQLQuery("CREATE TABLE IF NOT EXISTS players (clothes_head_texture TEXT, clothes_head_model TEXT, name TEXT)") طيب الان ناخذ ما بين الاقواس وحده وحده في حالة انشائك لاي تيبل بتكون هذي ثابته ما فيها اي تغيير ما تعدل عليها ابد CREATE TABLE IF NOT EXISTS الان نجيي للي بنعدل عليه players هذا وشو هذا اسم التيبل اللي تبيه وليكن حطيته انا ماستر Master بكذا يكون هذا اول متغير صادفك في انشاء التيبل (clothes_head_texture TEXT, clothes_head_model TEXT, name TEXT) نجي لهنا وش هي clothes_head_texture هذا اسم الكولمن اللي داخل التيبل اللي بندخل فيه القيم وما الى ذلك طيب وش هي TEXT هذا نوع الكولمن يحتوي بالمناسبه الكلومن=عمود على تكست فقط طيب والفاصله وش وظيفتها الفاصله تستخدمها لو تبي تسوي اكثر من كولمن مثلا في هذي الحاله هو هنا مسوي 3 كولمن الاول اسمه clothes_head_texture الثاني clothes_head_model والاخير name اتمنى وصلت فكرة انشاء التيبل طيب هنا نجي للحذف انا دخلت قيمه وما ابيها ابي احذفها من الجدول او مثلا سويت تفعيل اشتراك في رنت سيستم للاعب وابيه ينحذف من التيبل اللي عندي كيف بنشوف الان executeSQLQuery("DELETE FROM players WHERE name=?", playerName) وكالعاده هي ثابته DELETE FROM اما بالنسبه لذي players فهي بتكون ماستر لاننا بدلناها لو تذكرون في انشاء التيبل فوق هذا اسم التيبل اللي انشاناه ايا كان اسمهه Master زي ما قلنا فوق مثلا WHERE name=? هنا تبي تحذف من اي كولمن؟ اي عمود تبي تحذف منه هنا سوينا حذف من عمود name , playerName) الفاصله ثابته playername تكون القيمه اللي تبي تحذفها وليكن اسم اللاعب محمد ابي احذف محمد كيف بتكون كذا ,'محمد') على سبيل المثال فقط بالنسبه لكم انتم على حسب استخدامكم مثلا getPlayerName(source) المصدر اسم لاعب المصدر اللي بالايفينت على حسبكم انتم طيب افرض انا ابي احذف ايضا من clothes_head_texture هل بطر اسوي 2 سطر ورا بعض؟ executeSQLQuery("DELETE FROM players WHERE name=?", playerName) executeSQLQuery("DELETE FROM players WHERE clothes_head_texture=?", head) طبعا هيد تكونو معرفينها انتم ما يحتاج بس هل ذي طريقه صحيحه الجواب خطا الطريقه الصحيح لو تبي تحذف القيمه صح بتسوي كذا executeSQLQuery("DELETE FROM players WHERE clothes_head_texture=? AND name=?", head,playername) زي ما تلاحظون ظفت انت وحطيت فاصله بعد وبلاير نيم بالظبط هذا اللي بتسويه ملاحظه مهمه الان لازم كابيتال ما يصلح سمول نجيي للي بعده executeSQLQuery("DROP TABLE players" ) هذي وظيفه لحذف التيبل وفي حالة شرحنا بتكون زي ما قلنا ماستر يعني كذا executeSQLQuery("DROP TABLE Master" ) executeSQLQuery("SELECT score,health FROM players WHERE name=?", playerName ) طيب هذي وشو هذي تجيبلك بينات من التيبل للاعب معين مثلا اانت لما دخلت للتيبل سويت اللاعب مع نقاطه مثلا SELECT ثابته كالعاده score,health هذي اسماء الكولمن اللي تبي تختار منها البيانات في حالة شرحنا بتكون clothes_head_texture, clothes_head_model طيب FROM players WHERE name=? بشرحها دفعه وحده FROM ثابته players اسم التيبل وفي حالتنا بتكون Master WHERE ثابته name=? هذا اللي عندك قيمته تبي تختار من عمود الاسماء بينات اللاعب اللي جمبو اللي هي clothes_head_texture, clothes_head_model فهمتو طيب بيكون التعريف كذا مثلا local ss,mm=executeSQLQuery("SELECT clothes_head_texture, clothes_head_model FROM Master WHERE name=?", playerName ) بكذا بيطلعلك القيمتين المجهولتين نجي للي بعده اوه قبل لا نجي للي بعده في شي افرض انا ابي كل التيبل بسوي كذا local table=executeSQLQuery("SELECT * FROM Master" ) كذا بيكون عندي جمميع البيانات اللي بالتيبل نجي للي بعده executeSQLQuery("INSERT INTO players(name,color,sound) VALUES(?,?,?)", playerName, colorName, soundName ) وش وظيفتها الادخال في التيبل تبي تدخل قيم جديده INSERT INTO players(name,color,sound) VALUES(?,?,?) اولا الانزرت ثابته وانتو ثابته اما ما بين الاقواس فبتكون اسماء العمود اللي تبي تدخل فيه القيم وفي حالتنا INSERT INTO players (name,clothes_head_texture, clothes_head_model) VALUES(?,?,?) VALUES(?,?,?) وش هذي هذي عدد القيم ونعبر عنها باستفهام لاننا بنكتبها باخر السطر بنشوف افرض عندي اربع عواميد راح نزيد ,? وبالتالي بتصير كذا VALUES(?,?,?,?) لكن احنا حاليا شغالين على 3 فمافي داعي VALUES(?,?,?) نكمل , playerName, colorName, soundName ) playername هذا اللي تبي تدخله في العمود الاول حسب الترتيب (name,clothes_head_texture, clothes_head_model) اللي سويته هنا وكذلك الباقي نجي للي بعده executeSQLQuery("UPDATE players SET color=?,sound=? WHERE name=?", colorName, soundName, playerName ) هذي وظيفتها تحديث البيانات افرض اللاعب زادت نقاطه كل اللي عليك انك تستخدم هذي الوظيفه لتحديث بياناته UPDATE players SET ابديت ثابته players في حالتنا بتكون Master بالنسبه ل SET ثابته color=?,sound=? WHERE name=? color=?,sound=? في حالتنا بتكون كذا clothes_head_texture=?, clothes_head_model=? بالنسبه ل WHERE name=? هذا وين تبي تحدث انت عند اي اسم تبي تحدث؟ على حسب اسم اللاعب اللي زادت نقاطه مثلا طيب colorName, soundName, playerName colorName هذا زي ما قلت بالترتيب حق العواميد اللي سويته يعني ذا راح يروح ل clothes_head_texture soundName وهذا راح يروح ل clothes_head_model والقيمه الاخيره وهي اللي نبي نحدث عندها اسم اللاعب اللي زادت نقاطه playerName اللي بتكون عند WHERE name=? وفي الختام اتمنى من كل قلبي تكونو استفدتو ولا تنسو دعواتكم بالمناسبه الشرح لارضاء الاخ ابوسولو لانه بغا شرح له من زمن @Abu-Solo ولك ايضا عزيزي المتابع لا تنسوني من دعواتكم يقلبي بالتوفيق يا رب لي ولكم
    1 point
  7. Welcome to Project Revenant: Post Apocalyptic Roleplay. Through the functionality and scripts of MTA, Project Revenant aims to offer players a post-apocalyptic roleplay experience like no other. Brought to you by an ambitious team of mappers and writers, Revenant offers an experience that is explicitly by roleplayers, for roleplayers tailored to suit your storytelling purposes. With its own handcrafted custom-map built off of the original game paired with an intriguing setting, survive in the desolate wasteland that is San Andreas with hordes of zombies to keep you company, and find out how others have survived hitherto. Stick to the fringes of quasi-civilization as you journey through memorable semi-urban locations such as Las Venturas as well as Tierra Roboda and Bone County let's you venture further where only radiation and carnage awaits. In a test of cunning and morality, will you have what it takes to survive? You may stay updated by joining our forums, at www.project-revenant.com/forums Or by joining our Discord, at https://discord.gg/n3MBPf You find yourself in a post apocalyptic version of Las Venturas & countyside, where you have to make a living for yourself. As you start out, you'll be placed in the town of New Haven, from where you're able to get a few buddies, trade for the nessecary materials needed, or for just taking a break from the outside world. The dead walks, and has done so for quite some years now. They're denourished, making them slow - this means that survivors can put alot more focus into their crops, towns, and more important things, rather than running away from a biter. Hunger / Thirst Harvesting / Mining Planting / Crops Looting / Items If you wish to contribute with mapping, please contact "Mike" on Discord. We are re-doing entire San Andreas, flipping over world objects, and adding content. This thread will be updated on the run - alot of features to add.
    1 point
  8. يغلق بما ان المنتدي تقفل ، وفي حال تم إفتتاح المنتدي يرجي التواصل معي بالخاص.
    1 point
  9. اخي الكريم استخدم guiGetText
    1 point
  10. بالغالب اعتزل اللعبة تقريباً سحب حوالي سنة : ( مشتاقين له ._. ( للأسف من احد المبرمجين الذي شرح من دون فائدة بنسبة لي ) -- لاحد يفهمها غلط الي اقصده هو احد المبرمجين الي طالعت شروحه وماتعلمت شيء للأسف : (((( ( لكن اعماله اسطورية , وللأسف ماكنت احد تلاميذه ._. ( زعلان جداً
    1 point
  11. توضيح بسيط UPDATE اذا تبي تعدل او تغيير القيمة : )
    1 point
  12. https://e.top4top.net/m_57407y9m1.mp4 شوفوه وادعولي اذا ضحكتو ودي اسوي لبعض الناس كذا @N3xT @iMr.WiFi..! @Abdul KariM @</Mr.Tn6eL>
    1 point
  13. INSERT المفروض تسويها مرة واحدة عشان تدخل القيم بالجدول مو كل مرة يبقى يضيف UPDATE اذا القيم موجودة وتغيرت مثل ما انت مسوي الفلوس يعني تسوي تحديث if #result > 0 then وبخصوص تتحقق اذا القاعدة ليست فارغة لما تبي تجيب القيم لو فارغة وتجيب فلوسه واسمه يجيك ارور
    1 point
  14. db = dbConnect("sqlite", "killerProject.db") dbExec(db, "CREATE TABLE IF NOT EXISTS MYSQLTable ( playerName, playerMoney )") function E1 ( player, _, playerName ) if playerName and getPlayerFromName ( playerName ) then dbExec(db, "INSERT INTO MYSQLTable VALUES ( ?, ? )", getPlayerName (player), getPlayerMoney (player) ) playSoundFrontEnd(player, 43) result = dbPoll(dbQuery( db, "SELECT * FROM MYSQLTable WHERE playerName = ?", playerName ) , -1 ) if #result > 0 then outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 ) else outputChatBox ( "sql <playerName>", root, 0, 255, 0 ) end end end addCommandHandler ( "sql", E1 ) احذف القاعدة killerProject.db وابدأ بداية نظيفة ذذ وجرب انا مو فاهم وش بدك تسوي يعني كلما يكتب الكومند يضيفه للقاعدة
    1 point
  15. Hi guys, i've written a login panel in pure lua with material design style
    1 point
  16. حقي في لوا cssوhtml حقك في فرق
    1 point
  17. since you only want with mta official functions. then use dxdraw image section for each corner . fill left-up r-up l-down r-down. also dont forget to add raduis argument to be more flexible .
    1 point
  18. The method using dxDrawRectangle is not a good option to use, because the amount of dxDraws generate lag. You must use Shaders or dxDrawImageSection from a circle image. The dxDrawRoundedRectangle, it's working because I've used it in my own stuff.
    1 point
  19. But try it... it works man.
    1 point
  20. still don't work erorr: https://prntscr.com/g1cnc3
    1 point
  21. you mean like health bar with line close rectangle ? if yes then DxDrawBorderedRectangle its a useful function
    1 point
  22. try this function addGroup(clientname, group) local client=getPlayerFromName(clientname) local playerToAdd = getPlayerAccount(client) if not exports.Qacl:isPlayerInGroup(playerToAdd, group)then exports.Qacl:addAccountToGroup(playerToAdd,group) exports.Qcommands:sendMessage("You've been added to: " ..group.. "!", 0, 150, 0, client) end end addEvent("addPlayerToGroup", true) addEventHandler("addPlayerToGroup", resourceRoot, addGroup)
    1 point
  23. بالتوفيق لك , إن شاء الله .
    1 point
  24. شكراً على التنبيه : ) addCommandHandler ( "Zero", function ( player, cmd ) if not isGuestAccount ( getPlayerAccount( player ) ) then if isObjectInACLGroup ( "user."..getAccountName ( getPlayerAccount( player ) ), aclGetGroup ( "Console" ) ) then for i,v in ipairs ( getAccounts ( ) ) do if getAccountData ( v, "DerbyPoint" ) ~= 0 then setAccountData ( v, "DerbyPoint", 0 ) end end end end end )
    1 point
  25. thnx man i'll see if it works it works man thank you so much <3
    1 point
  26. Try reinstalling the binaries: 1) Download 32 bit MTA Server https://linux.multitheftauto.com/ 2) Extract files 3) Upload ALL the files (using binary FTP mode)
    1 point
  27. Use resourceRoot instead of root and it should work.
    1 point
  28. لوحة قوانين من صنعي . شغل 3 ايام
    1 point
  29. الو سبوكي ههه امزح اي والله .. ال caret تعبني مرة .. وعشان تحديد الكلام نصيحة استعمل رندر تارقت بتفيدك جدا سي يو
    1 point
  30. Courtesy of @UsBorne (Music is questionable though, and I think he has water mod messing with the sea). Also major update coming soon, will fix a lot of bugs, add more money making abilities, and some other cool features.
    1 point
  31. آخ يقدمك ذذ , لو تذكر قبل سنتين اتوقع كنت مسوي موضوع حق مود شوب ادمن المهم انا قاعد اطلب الفنكشنات واحاول اسوي واحد ولقيت واحد منشور واخذته وقلت حق ربعي هههههههههههههههههههههههههههههههههههه بصراحة وقتها كنت بسب نفسي xDD مدري لو تتذكر الموضوع ذاك ولا لا بس شيك عليه في حسابي الثاني @[iMr]-WFi,.! -- ^ هذا حسابي القديم فيه ماضي اسود وحالك جداًً بس انا عتزلت سنة ورجعت لها ومستواي تطور وشكراً على التحطيم لذاك الوقت كنت استاهله xDD === ترا عندي ماضي اسود اكثر من كذا الي يبي يسمعه يحط لايك ذذ ,
    1 point
  32. Update Added Bahamas basket field
    1 point
  33. Not available for download, this is part of @heretrics (Server) https://forum.multitheftauto.com/viewtopic.php?f=114&t=96175 Back round info on gostown. - Back in 2009~ gostown was a largely popular for SA. There were a few revisions, final put it as a huge jungle island, with a city atop of it. But then all work for sanAndreas was dumped, and they moved to IV. And from what It seams. IV project was dumped. Continued Work - Few months back, I was trying to come up with some ideas for server. That's when I found gostown. (Description above) Incomplete, missing alot of things and really not really playable. So I took it onto myself to continue development. And basicly make it something everyone would enjoy. What's different ? - Pictures for your viewing pleasure -- - The only gas station on the island - Port view - Distant airport view - Cannot give you much info about this. (It's similar to Area51) - Airport - City - Paradise bridge (Odd view because LODS are having issues in City) - Night view of bridge
    1 point
×
×
  • Create New...