
Antibird
Members-
Posts
177 -
Joined
-
Last visited
Everything posted by Antibird
-
LUA создавался как язык для работы с базами данных (поправьте, если наврал), так что миллион полей в таблице - это не так уж и много, переварит. У самого такая же система.
-
Божественно! Давно напрашивалось.
-
@ Kernell, нет. В настройках GTA так и называется "mouse look". Зажимаешь клавишу и крутишь камеру, при этом мышь перестает работать штурвалом/рулем. @ MX_Master, со времен dp версий не видел, где ж она есть-то? В Binds действительно есть все, кроме сабжа. Немного не понял, чем будет отличаться от того, что есть сейчас.
-
Ой, раз уж про SAMP речь зашла. В SA есть в настройках управления преполезнейшая фишка, mouse look называется. Работает в SAMP, напрочь отсутствует в binds MTA. Неужели никто не рулит мышой свои инфернусы и AT400? =) Печалит, что на мантисе все глухо, штука то нужная.
-
1. Всегда будет возвращать upper, разве нет? 2. При желании можно еще больше "схлопнуть" код: function math.clamp ( value, lower, upper ) value = tonumber( value ) lower = tonumber( lower ) upper = tonumber( upper ) if value and lower and upper then return value < lower and lower or value > upper and upper or value end return false end 3. А зачем вообще? , когда можно как написано в 6 строчке? Чуточку длиннее по синтаксису, но зато без вызова функции.
-
Именно. А было бы здорово иметь возможность сохранять подобные вещи в качестве скриншотов.
-
Just in case, math.round is not a lua native function. See: Useful Functions. Also, if you have 9,99 do you wish it to become 10 or 9? Shall the float be dropped or the result is to be rounded?
-
Не, не вру, работает. Предполагаю, кстати, что раньше клиентов обделили file функциями по соображениям безопасности. Но мы ведь за мирный атом, не так ли. P.S. Спасибо, MX_Master, что подробно расписал всю эту тему.
-
В принципе с учетом появления "File functions" для клиентов в версии 1.1, передавать можно все, что угодно. Прочитать графику на сервере, переслать строку на клиент (по частям, если все сразу не влезет), создать файл, записать и сохранить как png. А потом уже использовать. Поправьте, если вру, но ведь не обязательно графику (и не только) прописывать в meta.xml, чтобы иметь возможность работать с ней, достаточно пути к файлу?
-
Both strings and tables lua.org
-
Для подобных вещей существуют События. В данном случае нужно одно под названием OnMarkerHit, в принципе по ссылке есть рабочий пример, так что можно его приспособить под собственные цели.
-
I doubt u do. Forgiven anyway.
-
2 lines are needed guiSetProperty( gui-window, "HorizontalAlignment", "Centre") guiSetProperty( gui-window, "VerticalAlignment", "Centre")
-
Респавн и сохранение данных игрока
Antibird replied to Disinterpreter's topic in Помощь / Отчеты об ошибках
1. На OnPlayerLogin, например, привязать один спавн, на onPlayerWasted - другой. 2. Банально при смерти игрока в табличку записать, сколько у него чего и где припасено ( GetPedTotalAmmo и список слотов - этого достаточно будет?). А на респауне - отдать обратно. -
Совершенно верно. Не считая нагрузки на сеть.
-
Don't bother calculating guiSetProperty( window, "VerticalAlignment", "Centre" ) guiSetProperty( window, "HorizontalAlignment", "Centre" )
-
Карта ведь - обычный *map файл? 1. Я бы скриптик написал одноразовый и команду прицепил, чтобы из консоли сервера запускать. -> Открыть *map: xmlLoadFile() -> Пошерстить по всем нодам, у каждой найти атрибут posZ, вычесть сколько требуется и записать по новой. -> Сохранить 2. *xml можно открыть в excel и там, соответственно, поковырять.
-
Nope, resources can not share the same variable, each may have a variable "A = 1" for example, but changing it in any resource won't affect others, those are different variables just named similar. Call( ) is a basic way how resources communicate.
-
In theory, if you do some manipulations to parent element, same is done to it's children. UNTESTED addEventHandler( "onResourceStart", resourceRoot, function() setVehiclesFrozen( root, true ) end ) resourceRoot and root are predefined variables. Have a look at MTA element tree explanation to make it clear what the code above do.
-
1. You need to get random values and put em into setSkyGradient() and setWaterColor() 2. You need a timer to cycle it every 5 minutes ( 300000 milliseconds) So what comes straight on my mind is: (didn't test) setTimer( function() setSkyGradient( math.random( 0, 255 ), math.random( 0, 255 ), math.random( 0, 255 ), math.random( 0, 255 ), math.random( 0, 255 ), math.random( 0, 255 ) ) setWaterColor( math.random( 0, 255 ), math.random( 0, 255 ), math.random( 0, 255 ) ) end , 300000, 0 )
-
Errm, you confuse me. Is there something I don't know about ipairs() ... =/ I guess "name" is integer and "desc" is "userdata: table:someHexNumber" in your case. Should be like: function forCicles() guiGridListClear (GUIEditor_Grid[1]) for _, v in ipairs(questList) do row = guiGridListAddRow ( GUIEditor_Grid[1] ) guiGridListSetItemText ( GUIEditor_Grid[1], row, qName, tostring(v[1]), false, false ) guiGridListSetItemText ( GUIEditor_Grid[1], row, qDesc, tostring(v[2]), false, false ) guiGridListSetItemText ( GUIEditor_Grid[1], row, qMedals, v[3], false, true ) guiGridListSetItemText ( GUIEditor_Grid[1], row, qCash, v[4], false, true ) --// etc end end
-
Thank you for reply. Now I wonder, if player activity still remains possible outside the border, may I suggest it being extended like 3 - 4 times without bringing any major problems or desync or what ever can this lead to? I mean, if 95% of people don't use that space at all, is there a need to limit if the least 5% can't crash the game doing their business there? Can a boat spawned far away affect the server/gameplay stability for those staying closer? From what I remember it was all "Ok" for "dp" versions at least and the game was very playable. I apologies, I possess no knowledges in cpp, neither familiar with MTA sources and I can only try to guess how the MTA itself works behind the scene of LUA scripting. I'd of course be very pleasured to hear if the limit could be made less strict one day.
-
I see your irony. Sure, no one in the whole MTA community needs this except of that poor guy, shame on him moaning for useless things. EDIT: Sure, I agree this has the least priority. All my hope is about this is not just thrown away. it's all Ok keeping it behind for a time.
-
Несколько моментов применительно к MTA. В случае, если имеются несколько файлов со скриптами, глобальная переменная, объявленная в одним из них, "видна" (доступна) и во всех остальных. Если в каком-то файле переменная объявлена как локальная, из других файлов, грубо говоря, она не видна, как если бы ее и не объявляли вовсе. файл script1.lua x1 = 1 --глобальная переменная. local x2 = 2 --локальная. файл script2.lua outputChatBox( x1 ) --> "1" outputChatBox( x2) --> "nil" -- нет её! Но это частный случай. В общем принцип то же, но вместо отдельных файлов выступают области видимости переменных. Вообще есть пример вот тут, вроде бы все четко и лаконично изложено. Но на всякий случай: x = 1 --задали переменную x и присвоили её значение 1 do --Объявляем блок print( x ) --Чему равна переменная x? Равна 1. Она у нас пока одна, глобальная x = 2 --изменили x, теперь равно 2 print( x ) --> 2, логично. local x = 3 --объявили локальную переменную x, она "действует" только внутри блока do ... end print( x ) --> 3, ибо если есть локальная переменная, именно её значение и получим, даже если есть "одноименные" глобальные end --Закрываем блок. print( x ) --> снова 2, так как локальная переменная x "осталась в блоке" и вне блока "не видна". -- А вот глобальная x никуда не делась и в последний раз ей присвоили значение 2, что и получили. Вместо блоков могут быть другие конструкции, function() --например, функция. local x = 5 for i, v in ipairs( ) do -- или итераторы local y = 6 print( x ) --> 5 end print( y ) --> "nil", нету никакой y, она только в for .. do .. end существует. end print(x) --> "nil", теперь и x тоже нет, она "осталась" в теле функции. В общем суть одна. Переменная, объявленная локальной в теле одной из этих конструкций вне конструкции не существует.
-
Hello there. This was discussed some time ago. Still, what is so crucial about having a 8192 limit for elements. No objects/vehicles/pickups can be created behind the border in any way (server-side). It's something concerning syncing? The question is can I have any minor chance the border could be extended? (In case I report on bugtracker, I suppose report to be closed because "things will never be changed"?) Please, do not ask what do I need it for. I know there's a lot of space. I know I can use interiors and dimensions. I know Z is not limited. Once again, I'd just want to make it clear why is it made so and will it make any sense if I report. Thank you and sorry for being so annoying.