killer100 Posted August 7, 2011 Share Posted August 7, 2011 И вообще я считаю, что юзать лишние скобки в условиях в lua - моветон Я с Вами категорически согласен, коллега. И когда он говорил, что это его скрипт, я понял, что это не его скрипт. да это не мой скрипт, мне дали его ещё давно не рабочий, но я как то не пользовался им, но недавно решил его использовать а, он не рабочий, а в луа не очень понимаю, вот и решил обратится за помощью сюда, потому что знаю, тут есть хорошие скриптеры. Link to comment
MX_Master Posted August 7, 2011 Share Posted August 7, 2011 Лично я использую многим неизвестный редактор UEStudio со своей личной подсветкой синтаксиса, поэтому проблем со скобками у меня нет. Бывает, канеш, иногда забуду поставить then или do, но не более Link to comment
SweetyWolf Posted August 8, 2011 Share Posted August 8, 2011 Привет всем. Народ, подскажите пожалуйста, вот такой код должен работать: while getControlState ( "horn" ) == true do outputChatBox ( "1" ) end Я его вставляю прямо так (без функции) в клиентский скрипт, а он чего та не пашет. Может кто знает в чем проблема? Link to comment
Tren Posted August 8, 2011 Share Posted August 8, 2011 Можно узнать свернул ли игрок игру ( и развернул ) с помощью новых event'ов onClientMinimize и onClientRestore? с использованием outputChatBox конечно . Я пытался что-то сделать ничего не случилось или error.( В LUA я новичёк ).Если кто может скрипт написать , буду благодарен. Link to comment
Fro_ST Posted August 8, 2011 Share Posted August 8, 2011 SweetyWolf, вот к примеру, может тебе подойдёт local horn = false addEventHandler( 'onClientRender', root, function( ) if isPedInVehicle(getLocalPlayer( )) then if getControlState ('Horn') and horn == false then outputChatBox('Ты жмешь на Сигналку') horn = true setTimer(function() horn = false end, 1000, 1) end end end ) Link to comment
_Vincent_ Posted August 8, 2011 Share Posted August 8, 2011 Сколько будет MTA-серв на Linux при 16 игроках жрать ресурсов? если мод типа freeroam, то 32 МБ ОЗУ и крошечку от проца если полноценный ДМ/ТДМ, то в два раза больше Звучит очень хорошо Тогда следующий вопрос - есть ли какой-либо путь расчета трафика за день, отличный от практического? Link to comment
MX_Master Posted August 8, 2011 Share Posted August 8, 2011 Можно узнать свернул ли игрок игру ( и развернул ) с помощью новых event'ов onClientMinimize и onClientRestore? с использованием outputChatBox конечно . Я пытался что-то сделать ничего не случилось или error.( В LUA я новичёк ).Если кто может скрипт написать , буду благодарен. Надеюсь, вы понимаете, что версия клиента должна быть не ниже той, в которой эти события были добавлены. Это клиентские события, поэтому в клиенте - добавить обработчики для этих событий, в которых будут эти данные передаваться серверу с помощью triggerServerEvent. И только на сервере после получения этих данных можно outputChatBox. Пример может позже дам. Сколько будет MTA-серв на Linux при 16 игроках жрать ресурсов? если мод типа freeroam, то 32 МБ ОЗУ и крошечку от проца если полноценный ДМ/ТДМ, то в два раза больше Звучит очень хорошо Тогда следующий вопрос - есть ли какой-либо путь расчета трафика за день, отличный от практического? Я не знаю не одного человека, который бы вел такую статистику, чтобы потом ее кому-то сказать. А дополнительный трафометр (да еще и под линукс - у меня) для отдельной программы ставить никто не будет. У тебя же онлайн будет не всегда 16, поэтому - тока практически каждый у себя может вычислить согласно своему моду и среднему онлайну. Link to comment
lil Toady Posted August 8, 2011 Author Share Posted August 8, 2011 Трафик сильно зависит и от скриптов. Какой-нибудь тяжелый, но очень плохо написанный мод может и удвоить твой трафик. Link to comment
Arisu Posted August 8, 2011 Share Posted August 8, 2011 Я не знаю не одного человека ни. Раз уж зашла речь о трафике. Хочется поинтересоваться, какой размер имеют таблицы в lua, или исходя из чего их размер берется. Например, если через element data я синхронизирую табличку { ["cursorVisible"] = true/false, ["chatActive"] = true/false, ["gameWindowActive"] = true/false, ["voiceChat"] = true/false } между всеми игроками (иконка над головой - что делает игрок), то какой объем трафика будет проходить между сервером и игроками? Сколько байт будет "весить" такая таблица? А если выкинуть из нее текстовые индексы и заменить просто на {true/false, true/false, true/false, true/false} ? Предполагается что element data меняется только при изменении переменных в этой таблице. Предполагается, что я делаю весьма глобальный ресурс и хочу как можно сильнее сократить передаваемые между игроками/сервером данные, но при этом не уходить от простоты и удобства реализации. Link to comment
lil Toady Posted August 8, 2011 Author Share Posted August 8, 2011 На каждую переменную 1 байт - её тип + Строка: 2 байта длинна + 2 байта на каждый символ Логические переменные по 1 биту Так что в твоём случае: "cursorVisible" = 1 + 2 + 13*2 "chatActive" = 1 + 2 + 10*2 "gameWindowActive" = 1 + 2 + 16*2 "voiceChat" = 1 + 2 + 9*2 4 булина = 4 + 4/8 В итоге: 29 + 23 + 35 + 21 + 4 + 1/2 = 112.5 байтов В админке, для таких вещей, я сделал небольшую функцию: function enum ( args, prefix ) for i, v in ipairs ( args ) do if ( prefix ) then _G[v] = prefix..i else _G[v] = i end end end Использовать так: enum ({ "SYNC_CURSOR", "SYNC_CHAT", "SYNC_WINDOW", "SYNC_VOICE" }, "s" ) -- префикс менять для каждого enum'а { [SYNC_CURSOR] = true/false, [SYNC_CHAT] = true/false, [SYNC_WINDOW] = true/false, [SYNC_VOICE] = true/false } И получается что в каждом ключе у нас строка их 2ух байт. И читается легко и размер меньше. Либо если использовать без префикса то будет просто числовой ключ, что в итоге еще на 2 байта меньше. Link to comment
MX_Master Posted August 9, 2011 Share Posted August 9, 2011 О том, что числовые индексы занимают меньше места чем строковые, можно было бы догадаться и самому (: Link to comment
Arisu Posted August 9, 2011 Share Posted August 9, 2011 Боьшое спасибо. Если так, то я думаю, даже если поместить вообще все данные игрока в элемент дату, получится не больше килобайта данных на минуту игры Ах да, и с энумами попробую что нибудь сделать, думаю на первых порах не понадобится, но в будущем может. О том, что числовые индексы занимают меньше места чем строковые, можно было бы догадаться и самому (: Об этом я и так догадывался, разве что хотел убедиться еще раз. Link to comment
MX_Master Posted August 10, 2011 Share Posted August 10, 2011 Только русский может три раз наступить на грабли, чтобы убедиться, что это грабли. Был такой старый анекдот с этим заключением. Link to comment
Other Languages Moderators Disinterpreter Posted August 12, 2011 Other Languages Moderators Share Posted August 12, 2011 Здрасте! Подскажите как сделать чтоб при движение ACL пользователя (допустим админа) при приближение админа к объекту объект твигался я чет немогу вникнуть в это. Может кто поможет написать начало или типо того? Link to comment
_Vincent_ Posted August 12, 2011 Share Posted August 12, 2011 Я один не могу с билдом 2896 подключиться к серверу на 2896? Мне говорит, что "different branches: client 4 server 0" или как-то так) Link to comment
MX_Master Posted August 12, 2011 Share Posted August 12, 2011 Здрасте! Подскажите как сделать чтоб при движение ACL пользователя (допустим админа) при приближение админа к объекту объект твигался я чет немогу вникнуть в это. Может кто поможет написать начало или типо того? писать во флудилке такие задачи - моветон Я один не могу с билдом 2896 подключиться к серверу на 2896?Мне говорит, что "different branches: client 4 server 0" или как-то так) фиксед Link to comment
SweetyWolf Posted August 13, 2011 Share Posted August 13, 2011 Народ, а подскажите пожалуйста: можно ли сделать, чтобы переменная была доступна из всех файлов ресурса? А то я делаю перевод своего мода на английский, перевод в XML файлах. И было не плохо загрузить перевод в одном lua файле в каждом ресурсе. Link to comment
Antibird Posted August 13, 2011 Share Posted August 13, 2011 Немного не понял вопроса. Если чтобы переменная была доступна из всех файлов ресурса?, то любая переменная и так доступна "из любого файла со скриптом" в пределах одного ресурса. Если нужно иметь "общую" переменную для нескольких ресурсов сразу, то рекомендуют использовать call( ), например. Или в качестве такой переменной использовать elementData: setElementData( ), getElementData( ) для чтения/изменения значения переменной. Link to comment
SweetyWolf Posted August 13, 2011 Share Posted August 13, 2011 о, спасибо, а я что то думал, что переменная не доступна со всех файлов одного реусра. Link to comment
Kernell Posted August 13, 2011 Share Posted August 13, 2011 lil Toady уже писал, что ресурсы независимы и общаются они между собой благодаря экспортам. Вопрос к Лилу: то что через экспорты не передаются функции (в таблицах) это баг или специально так сделано? Link to comment
lil Toady Posted August 13, 2011 Author Share Posted August 13, 2011 Это ограничение с которым мы ничего не можем сделать, нельзя передавать функции между независимыми луа машинами. Link to comment
MX_Master Posted August 13, 2011 Share Posted August 13, 2011 у меня 1 ресурс является сборником инструментов, из него другие ресурсы просто читают файлы - файловыми функцияи и затем loadstring(...). Особенно это полезно, если имеешь дело с какими-то классами, которые со временем дорабатываешь и все остальные ресурсы пользуются этим доработанным вариантом. Иными словами работает это все как include'ы Насколько я знаю, можно упаковать функцию в байт-код, передать ее любым способом другим ресурсам и затем снова превратить в функцию Link to comment
_Vincent_ Posted August 13, 2011 Share Posted August 13, 2011 Билд клиент/сервер 2996, логинюсь админом, открываю чат, пишу туда, открываю консоль и там: [21:05:33] CHAT: [u1tra]^Vincent: trololo [u1tra]^Vincent: trololo Дублированное сообщение. Баг или фича? P.S. Гейммод - play. Link to comment
xDevice Posted August 13, 2011 Share Posted August 13, 2011 Прошу помощи. Есть таблица в БД, в ней иды и координаты объектов. Как сделать чтобы эти объекты создавались? Точнее интересует даже не это, есть запрос, как из переменной извлечь данные, полученные запросом, да при чём ещё в цикле? код запроса: local lol = exports.sql:query_assoc( "SELECT * FROM `droped`" ) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now