Leaderboard
Popular Content
Showing content with the highest reputation on 24/12/16 in Posts
-
Hi there. Oh, what is that? The holidays are here again? Yep, it looks like they are, so that means the usual stuff. We are going to give you guys & gals a heads up on what has been happening in MTA's world this whole year. And if you are one of those well informed types who does not need a recap, you still might want to give this post a read, as there will be more than that later on! 2016 in Recap Near the end of January, we released a bugfix release for MTA:SA 1.5.x - Multi Theft Auto: San Andreas 1.5.2. Among a few other things, that version had and improved the server app compatibility for Linux server hosters and fixed some desync issues. In July, we started offering a new way of promotion for server owners who wanted to gain more players quickly. Namely, one of the top positions in the ingame server browser for a week in an exchange for a small fee. We felt it was a good way to not only ensure that our Project's financial needs are balanced, but also to allow some smaller but ambitious servers to try and get the player base they were always seeking for. In August and September, we made significant changes to our forums, including a switch to a new forum software. There were a bunch of issues found afterwards (such as keeping the users login states), but we managed to fix most of them. Following that, we were featured in an article on the Rock Paper Shotgun, which was pondering the popularity of multiplayer mods for GTASA, even long after its original release. You can find the full article on the RPS website. And finally, on 20th of October, Multi Theft Auto: San Andreas 1.5.3 was released. This was a large release that could as well have been labelled as a next major release, but was not as it was still compatible with the 1.5 series. A bunch of interesting MTA:SA-related YouTube videos from this year Current player counts and version fragmentation statistics Type Amount of players Date / Time Recent peak number of concurrent unique players 27111 players 2016.12.23 (at 17.30 GMT) Highest recorded number of concurrent unique players 27111 players 2016.12.23 (at 17.30 GMT) Recent number of daily unique players 124981 players 2016.12.23 (Friday) Highest recorded number of daily unique players 142785 players 2016.09.04 (Sunday) Recent number of monthly unique players 554757 players November, 2016 Highest recorded number of monthly unique players 626167 players August, 2016 Yes, to our surprise, there was a new concurrent unique player count record set literally on the day we were gathering these stats for you. MTA:SA Version or series Percentage of players using that version or series as of 23rd of December, 2016 1.5.3 95.20% 1.5.2 1.5.1 1.5 3.60% 0.09% 0.09% 1.4.x 0.67% 1.3.x 0.28% 1.0.x + 1.1.x + 1.2.x 0.07% It looks like more people decided to use newer versions of the mod than the last year. *** As for the future, we have been working on the next release, which will contain mostly bugfixes and compatibility tweaks. However, we did some work on new features as well, such as Custom Train Tracks, which we hope to be finished soon. We also want to look into improving streaming, raising the limits and making it possible to add new IDs for things, but this will be tricky. Nonetheless, it would be great to see those features working in MTA:SA one day as, for example, they would allow server owners to use bigger and better custom maps with new vehicles working correctly for all players. That's it for now. Happy Holidays and Best Wishes for 2017 from the MTA Team!6 points
-
@SalwadoR, ну дык хорошо же что делают так с таймерами, если люди не могут ничего сами сделать, и даже не пытаются научиться, пусть их сервера глючат и раздражают игроков. Это на самом деле хороший процесс, хороший для мта, каждый выдаст пяток админок, каждый админ приведет пару человек в мта. Десятки и сотни таких серверов, сотни и тысячи новых игроков Вообще-то там можно обойтись и без короутин. Ну и в простом релуте, одна из двух задач лишняя. Отдельное время релута каждой точке, тоже можно сделать, просто люди сделали по своим возможностям, в одной строчке) Там в релуте, ещё веселая штука с вероятностью выпадения, многие ведь думают что циферка за вероятность отвечает, а там ещё и положение в таблице имеет значение.2 points
-
Do you want some good :~ for no money? Make your request here, the most voted request it's gonna be created and released to the community. ( If the scripts needs design, the design it's gonna be done by ceGUI ) Requirements: Don't request gamemodes. Don't request expensive scripts. Don't request scripts that need modelling. Be sure what you decide.1 point
-
السلام عليكم ورحمة الله وبركاته يمكنكم الان تعلم لغة الاس كيو ال عن طريق هذا الموقع http://www.w3schools.com/sql/default.asp في لغات كثيرة PHP HTML اتمنى قد اكون وفيت وكفيت1 point
-
Those are the requirements of Steam to add game there. I don't think MTA:SA has a poor finance to afford 100$ to add their game to Steam. MTA already claims those four clauses that Steam has stated. This made me curious too, adding MTA:SA to Steam store would raise up knowledge and fame of the game ten times more.. Did i say something wrong?1 point
-
1 point
-
local Access = { ["None"] = true, ["*-*"] = true, } function warpAll(player) local account = getPlayerAccount(player) if not account or isGuestAccount(account) then return false end if not (Access[getAccountName(account)]) then return false end --You can output an error here as well, as long as you use return to stop the function. for i, player in ipairs(getElementsByType("player")) do local x,y,z = getElementPosition(player) setElementPosition(player,x+math.random(-3,3),y+math.random(-3,3),z) end end addCommandHandler("warpall",warpAll) Here yah go, enjoy.1 point
-
سويت موضوع جديد ’ تصويري لـ البحرين .. http://www.mtaarabs.com/vb/showthread.php?p=7873#post7873 جميع الحقوق محفوظة : سعد الغامدي/ مجتمع العرب1 point
-
1 point
-
1 point
-
1 point
-
استخدم هذي الوظيفه function getPlayerFromAccount ( accnt ) if accnt and type ( accnt ) == 'string' then for i, v in ipairs ( getElementsByType ( 'player' ) ) do if ( getAccountName ( getPlayerAccount ( v ) ) == accnt ) then return v; end end end return false end1 point
-
1 point
-
Here's the link! https://mega.nz/#!W8U2XL6D Decryption key : !DcroNZf4Xk6OAevHYcoZuMObM1ZKiC6iBv03ZhZGdec Now im going to play some watch dogs 2... and before you ask NO i will not convert the map from it because its not possible YET1 point
-
اولا يا غالي setPedArmor هو سيرفر فقط ثانيا بالكلنت لما تسحب فلوس لا تحط اللاعب قبل الرقم فبيكون كذا takePlayerMoney(5000) فانت لازم تستخدم تراقر عشان تحط للاعب درع1 point
-
1 point
-
I think he said something about comboBox no checkBox ^ أعتقد هو قال عن الكومبو بوكس مو التشيك بوكس1 point
-
local visible = false local stream = false local availableRadios = false local search = false local sound = false local ls, rs = false local x, y = guiGetScreenSize() local sx, sy = x/1440, y/900 local faded = true local user_settings = {radio_id = nil} ------------------------------------------------------------------------------------------------------------------------- local radio_categories = { [1] = { name = "Bulgaria", abbreviation = "BG" }, [2] = { name = "Russia", abbreviation = "RU" }, [3] = { name = "Czech Republic", abbreviation = "CZ" }, [4] = { name = "Slovakia", abbreviation = ""}, [5] = { name = "Poland", abbreviation = "PL"} } ------------------------------------------------------------------------------------------------------------------------- local radios = { [1] = { { name = "Radio Fresh", url = "http://193.108.24.21:8000/fresh_low"}, { name = "Radio The Voice", url = "http://31.13.223.148:8000/thevoice.mp3"}, { name = "Radio City", url = "http://149.13.0.81:80/city64" }, { name = "Radio FM+", url = "http://193.108.24.21:8000/fmplus"}, { name = "Radio N-Joy", url = "http://live.btvradio.bg/njoy.mp3" }, { name = "Radio Melody", url = "http://live.btvradio.bg/melody.mp3"}, { name = "Radio NRJ", url = "http://149.13.0.81:80/nrj128" }, { name = "Radio Star FM", url = "http://pulsar.atlantis.bg:8000/starfm.m3u"}, { name = "Z-Rock Radio", url = "http://live.btvradio.bg/z-rock.mp3"}, { name = "BG Radio", url = "http://149.13.0.81:80/bgradio128"}, { name = "Darik Radio", url = "http://darikradio.by.host.bg:8000/S2-128.m3u" }, { name = "Radio Focus", url = "http://online.focus-radio.net:8100/sofia"}, { name = "Radio Magic FM", url = "http://31.13.223.148:8000/magicfm.mp3"}, { name = "Radio Jazz FM", url = "http://46.10.150.123:80/jazz-fm.mp3"}, { name = "Radio BNR Horizont", url = "http://stream.bnr.bg:8002/horizont.mp3"}, }, [2] = { { name = "Radio Europa Plus", url = "http://ep128server.streamr.ru:8030/ep12" }, { name = "Radio Record", url = ""}, { name = "Trancemission", url = ""}, { name = "Record EDM", url = ""}, { name = "Pirate Station", url = ""}, { name = "VIP House", url = ""}, { name = "Record Hardstyle", url = ""}, { name = "Record Dancecore", url = ""}, { name = "Record Breaks", url = ""}, { name = "Record Chill-Out", url = ""}, { name = "Record Dubstep", url = ""}, { name = "Super Disco 90-х", url = ""}, { name = "Radio Pump", url = ""}, { name = "Radio Medliak FM", url = ""}, { name = "Radio Gop FM", url = ""}, { name = "Radio Russian Mix", url = ""}, { name = "Radio Yo! FM", url = ""}, }, [3] = { {name = "Radio Evropa 2", url = "http://icecast4.play.cz:80/evropa2-64.mp3" }, }, [4] = { {name = "Radio Expres", url = "http://85.248.7.162:8000/64.mp3" }, }, [5] = { {name = "Radio Party", url = "http://s3.radioparty.pl:8000/rp.mp3" }, } } local radio_indexing = {} ------------------------------------------------------------------------------------------------------------------------- function createGUI() local radioname = false local radiolocation = false radioPanel = guiCreateWindow(x/2-345/2, y/2-410/2, 345, 410, "Online Radio (R)", false) availableRadios = guiCreateGridList(20, 50, 300, 300, false, radioPanel) guiGridListSetSortingEnabled(availableRadios, false) local column1 = guiGridListAddColumn(availableRadios, "Radio name:", 0.6) local column2 = guiGridListAddColumn(availableRadios, "Radio location:", 0.3) local playbtn = guiCreateButton(19, 355, 150, 50, "Play Radio", false, radioPanel) local stopbtn = guiCreateButton(171, 355, 150, 50, "Stop Radio", false, radioPanel) search = guiCreateEdit(22, 21, 299, 26, "", false, radioPanel) -- Load the radios from the main table(temp) and reference them from the index. for category_id, category in pairs(radios) do local category_name = getRadioCategoryNameById(category_id) for radio_id, radio in ipairs(category) do local radio_name = "N/A" if (radio.name) then radio_name = radio.name; end -- Permanent id local id = #radio_indexing + 1 radio_indexing[id] = {__index = radios[category_id][radio_id], __newindex = radios[category_id][radio_id]} setmetatable(radio_indexing[id], radio_indexing[id]) radios[category_id][radio_id].id = id; radios[category_id][radio_id].cat_id = category_id; local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, radio_name, false, false) guiGridListSetItemText(availableRadios, row, column2, category_name, false, false) guiGridListSetItemData(availableRadios, row, column1, id) end end --[[ for id = 1, #BG do local radio = BG[id] local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, radio, false, false) guiGridListSetItemText(availableRadios, row, column2, "Bulgaria", false, false) end local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, "", false, false) guiGridListSetItemText(availableRadios, row, column2, "", false, false) for id = 1, #RU do local radio = RU[id] local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, radio, false, false) guiGridListSetItemText(availableRadios, row, column2, "Russia", false, false) end local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, "", false, false) guiGridListSetItemText(availableRadios, row, column2, "", false, false) for id = 1, #CZ do local radio = CZ[id] local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, radio, false, false) guiGridListSetItemText(availableRadios, row, column2, "Czech Republic", false, false) end local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, "", false, false) guiGridListSetItemText(availableRadios, row, column2, "", false, false) for id = 1, #SK do local radio = SK[id] local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, radio, false, false) guiGridListSetItemText(availableRadios, row, column2, "Slovakia", false, false) end local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, "", false, false) guiGridListSetItemText(availableRadios, row, column2, "", false, false) for id = 1, #PL do local radio = PL[id] local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, column1, radio, false, false) guiGridListSetItemText(availableRadios, row, column2, "Poland", false, false) end ---]] if (visible) then showCursor(true) end guiSetVisible(radioPanel, visible) addEventHandler("onClientGUIClick", stopbtn, radioList, false) addEventHandler("onClientGUIClick", playbtn, radioList, false) addEventHandler("onClientGUIDoubleClick", availableRadios, radioList, false) addEventHandler("onClientGUIChanged", search, onSearchBarChanged) addEventHandler("onClientGUIClick", stopbtn, stopRadio, false) addEventHandler("onClientGUIClick", playbtn, playRadio, false) addEventHandler("onClientGUIDoubleClick", availableRadios, playRadio, false) if isEventHandlerAdded("onClientRender", root, drawNoSoundText) == false then addEventHandler("onClientRender", root, drawNoSoundText) end end addEventHandler("onClientResourceStart", resourceRoot, createGUI) function retrieveAllRadiosFromIndex(r_index) guiGridListClear(availableRadios) local r_index = r_index or radio_indexing for k, v in ipairs(r_index) do if (r_index[k].id) then local id = r_index[k].id local radio = r_index[k] local category_name = getRadioCategoryNameById(radio.cat_id) local radio_name = "N/A" if (radio.name) then radio_name = radio.name; end local row = guiGridListAddRow(availableRadios) guiGridListSetItemText(availableRadios, row, 1, radio_name, false, false) guiGridListSetItemText(availableRadios, row, 2, category_name, false, false) guiGridListSetItemData(availableRadios, row, 1, id) end end end function searchForRadioNameFromIndex(name) if not (name) then return end local radio_indexes = {} for k, v in pairs(radio_indexing) do local radio = radio_indexing[k] if (radio.name) then local radio_name = string.lower(radio.name) local name = string.lower(name) if string.find(radio_name, name, 1) then table.insert(radio_indexes, radio); end end end return radio_indexes end function getRadioCategoryNameById(id) if (id) then if (radio_categories[id] and radio_categories[id].name) then return radio_categories[id].name; end end return "N/A"; end function getRadioByPermId(perm_id) if not (perm_id) then return end return radio_indexing[perm_id]; end function getRadioURLByPermId(perm_id) if (perm_id) then local radio = getRadioByPermId(perm_id) if (radio) and (radio.url) then return radio.url, true end end return "N/A", nil end ------------------------------------------------------------------------------------------------------------------------- function stopRadio() if sound then stopSound(sound) sound = nil end removeEventHandler("onClientRender", root, drawSoundBars) removeEventHandler("onClientRender", root, drawRadioName) if isEventHandlerAdded("onClientRender", root, drawNoSoundText) == false then addEventHandler("onClientRender", root, drawNoSoundText) end end ------------------------------------------------------------------------------------------------------------------------- function playRadio() stopRadio() refreshRadio() removeEventHandler("onClientRender", root, drawNoSoundText) if isEventHandlerAdded("onClientRender", root, drawSoundBars) == false then addEventHandler("onClientRender", root, drawSoundBars) end if isEventHandlerAdded("onClientRender", root, drawRadioName) == false then addEventHandler("onClientRender", root, drawRadioName) end end ------------------------------------------------------------------------------------------------------------------------- function refreshRadio() if sound then stopSound(sound) sound = nil end local id = user_settings.radio_id if (id) then local url, bool = getRadioURLByPermId(id) if (url and bool) then sound = playSound(url) if isElement(sound) then setSoundVolume(sound, 0.5) end end end end ------------------------------------------------------------------------------------------------------------------------- function openRadioGUI() if (guiGetVisible(radioPanel) == false) then guiSetVisible(radioPanel, true) showCursor(true) else guiSetVisible(radioPanel, false) showCursor(false) end end bindKey( "R", "down", openRadioGUI) ------------------------------------------------------------------------------------------------------------------------- function isEventHandlerAdded(sEventName, pElementAttachedTo, func) if type(sEventName) == 'string' and isElement(pElementAttachedTo) and type(func) == 'function' then local aAttachedFunctions = getEventHandlers(sEventName, pElementAttachedTo) if type(aAttachedFunctions) == 'table' and #aAttachedFunctions > 0 then for i, v in ipairs(aAttachedFunctions) do if v == func then return true end end end end return false end ------------------------------------------------------------------------------------------------------------------------- function drawRadioName() local radioName = guiGridListGetItemText(availableRadios, guiGridListGetSelectedItem(availableRadios), 1) if not faded then return end if isPlayerMapVisible() then return end dxDrawText(radioName, x*0.01302083+1, y*0.9713+1, x*0.2546875+1, y*1+1, tocolor(0, 0, 0, 255), 0.9*sy, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText(radioName, x*0.01302083, y*0.9713, x*0.2546875, y*1, tocolor(255, 255, 255, 255), 0.9*sy, "bankgothic", "center", "center", false, false, false, false, false) end ------------------------------------------------------------------------------------------------------------------------- function drawNoSoundText() if not faded then return end if isPlayerMapVisible() then return end dxDrawText("Radio Off", x*0.01302083+1, y*0.9713+1, x*0.2546875+1, y*1+1, tocolor(0, 0, 0, 255), 0.9*sy, "bankgothic", "center", "center", false, false, false, false, false) dxDrawText("Radio Off", x*0.01302083, y*0.9713, x*0.2546875, y*1, tocolor(255, 255, 255, 255), 0.9*sy, "bankgothic", "center", "center", false, false, false, false, false) end ------------------------------------------------------------------------------------------------------------------------- function drawSoundBars() if sound then ls, rs = getSoundLevelData(sound) end if (ls ~= false) then if not faded then return end if isPlayerMapVisible() then return end dxDrawRectangle(x*0, y*1, x*0.004583, y*0.11852*(ls/-230768), tocolor(0, 128, 255, 255)) dxDrawRectangle(x*0.00583, y*1, x*0.004583, y*0.11852*(ls/-150768), tocolor(0, 128, 255, 255)) dxDrawRectangle(x*0.01167, y*1, x*0.004583, y*0.11852*(ls/-190768), tocolor(0, 128, 255, 255)) dxDrawRectangle(x*0.0175, y*1, x*0.004583, y*0.11852*(ls/-90768), tocolor(0, 128, 255, 255)) dxDrawRectangle(x*0.023, y*1, x*0.004583, y*0.11852*(ls/-120768), tocolor(0, 128, 255, 255)) dxDrawRectangle(x*0.029167, y*1, x*0.004583, y*0.11852*(ls/-60768), tocolor(0, 128, 255, 255)) dxDrawRectangle(x*0.035, y*1, x*0.004583, y*0.11852*(ls/-90768), tocolor(0, 128, 255, 255)) dxDrawRectangle(x*0.04083, y*1, x*0.004583, y*0.11852*(rs/-75768), tocolor(0, 128, 255, 255)) dxDrawRectangle(x*0.0471875, y*1, x*0.004583, y*0.11852*(ls/-132571), tocolor(0, 128, 255, 255)) dxDrawRectangle(x*0.0525, y*1, x*0.004583, y*0.11852*(ls/-182571), tocolor(0, 128, 255, 255)) end end ------------------------------------------------------------------------------------------------------------------------- addEventHandler('onClientScreenFadedIn', root, function() faded = true end) addEventHandler('onClientScreenFadedOut', root, function() faded = false end) ------------------------------------------------------------------------------------------------------------------------- function onSearchBarChanged() if not isElement(source) then return end local newText = guiGetText(source) if (newText ~= "") then return retrieveAllRadiosFromIndex(searchForRadioNameFromIndex(newText)); else retrieveAllRadiosFromIndex() end end ------------------------------------------------------------------------------------------------------------------------- function radioList(btn, state) if (state ~= "up") then return end local row, col = guiGridListGetSelectedItem(availableRadios) local perm_id = guiGridListGetItemData(availableRadios, row, 1) perm_id = tonumber(perm_id) if (perm_id) then local url = getRadioURLByPermId(perm_id) if (url) then user_settings["radio_id"] = perm_id else user_settings["radio_id"] = nil end end end Here you go, I've re-organized your 'table'. You can now add the rest of the URLs there. Line 211-229, also added the search functionality for you, rest is the same as usual. Happy holidays buddy, enjoy!1 point
-
First of all, I would put the loops that populate the gridlist inside a function that takes an argument, which is the "search" string that you get from the editbox. Use the event onClientGUIChanged to call this function with the GUI text from the editbox, clear then re-populate the list that matches with the string (string.find as Simple said)1 point
-
So since you created this topic (June) you still have no idea how to reset a counter? That means you are just lazy to do anything. Also a tip, when you forget your password on a forum account, try to use "Forgot my password" link to recover it, don't need to create different accounts every time you need help.1 point
-
Anytime =) ============================ افضل لو تحط اسئلتك هنا MTAARABS.COM لان انا و سعد و سعود و نكست و برستيج دايما هنا يعني اكبر المبرمجين وهناك دقيقة و ارد لاني عايش هناك انما هنا ادخل كل اسبوع1 point
-
انت مركب مود GreenZone او مركب بداية محمية لذلك شيل ملفات ال Greenzone من البداية وشيل اي مود حماية منطقة من القتل و السيارات واذا ما انحلت فرمت السيرفر و ركب تحديث تاني1 point
-
1 point
-
--------لو عندك ازرار تغيير اللغة استخدم هذا الكود addEventHandler("onClientGUIClick",root,function() if source == Arabic then guiSetText(YourButtonOrLabelName,"Register") elseif source == English then guiSetText(YourButtonOrLabelName,"انشاء حساب") end end ) ----- YourButtonOrLabelName = حط اسم النافذة او اسم الزرار او اسم الليبل اللي تبي كلامه يتغير ! انا سويتلك مثال بسيط فوق واذا تبيه اول ما يضغط علي الـ CheckBox addEventHandler("onClientGUIClick",root,function() if guiCheckBoxGetSelected(GUIEditor.checkbox[1]) == true then guiSetText(YourButtonOrLabelName,"حياكم الله في السيرفر") elseif guiCheckBoxGetSelected(GUIEditor.checkbox[2] == true then guiSetText(YourButtonOrLabelName,"Welcome to the server") end end) + انت حاط موضوعك في القسم الغلط لازم يكون في قسم البرمج @1 point
-
addEventHandler("onClientGUIClick",root,function() if guiCheckBoxGetSelected(GUIEditor.checkbox[1]) == true then guiSetVisible( GUIEditor.window[1], true) end end)1 point
-
1 point
-
Good luck for the Most liked script And merry chirsmats u nab simple01 jajaja1 point
-
@SalwadoR, ну во-первых наверное количество файлов может влиять, возможно что-то хранится в памяти без сжатия(ну типа как raw) или с легким сжатием(в этом то случае и должно от кол-ва больше зависеть). Во-вторых что касаемо бпан, то у них col файлы редкость, поэтому если проверять с файлами, то начинать с col, да и замены там же в основном на машины. В-третьих, маппинга точно меньше чем на твоем 500мб. Ну и если я не ошибаюсь, то у меня кушало ~1,3-1,4гб на wasteland. К слову отметить, это исключительно. Мог бы сказать что может что-то с защитой, но дело в том что сам замечал(на других серверах) проблемы что кеш маленький, а жрет много. А ну и от винды может зависеть ещё. Как-то проверял антивирусы, касперский жрал на xp 250-400мб, на 7 x86 150-250мб, на 7 x64 500-800мб. Ну это наверно единственный случай у меня, когда на 7 x86 что-то жрало меньше чем на xp. Ну а с x64, тема известная, все 32битное, потенциально может в два раза больше жрать на 64. В тестах кстати смотреть нужно, не на свой специфичный контент(оптимизацию, уже давно в красную книгу занесли), а просто на контенты серверов которые жрут больше чем весит кеш, и те которые жрут +-кеш. Не хочу никак дразнить, издеваться, но похоже есть какая-то специфика dayz, т.к. они всегда жрут много больше, и достичь <1гб, вообще кажется чем-то весьма тяжелым.1 point
-
Однажды kenix рассказал мне что такое coroutine теперь я эту пихаю куда попало. Но вот в релуте ей самое место1 point
-
1 point
-
I am struggling with lags, going to try your guide and will post the results later, thanks!1 point
-
Пример запроса, где: field1, field2 - Поля, которые нужны тебе после выборки users - Название таблицы, откуда делаем выборку nick - Поле, по которому ведем поиск SELECT field1, field2 FROM users WHERE nick = ? LIMIT 1 Для работы используем db функции ( dbConnect, dbQuery, dbPoll ): https://wiki.multitheftauto.com/wiki/Se ... _functions Урок примера работы с базой данной: https://forum.multitheftauto.com/viewtopic.php?f=153&t=374821 point
-
admin panel uses the information supplied by this website: http://software77.net/geo-ip/ If it shows as US there, then it's probably because a block of IPs has only recently been transferred to a UK ISP.1 point
-
Your server details has been sent to your email. Its not a problem, he is only admin there not server owner he is allowed to request for free mta server.1 point
