-
Posts
1,739 -
Joined
-
Last visited
Everything posted by Kernell
-
Если я правильно понял, то вот так: Skins = { 0-2, 7, 9-29, 30-41, 43-52, 53-64, 66-73, 75-76, 77-85, 87-99, 100-118, 120-122, 123-144, 145-148, 150-167, 168-189, 190-207, 209-212, 213-234, 235-238, 240-257, 258-272, 274-288, 290-312 }; g_SkinIndex = 1; function NextSkin() local iNewIndex = g_SkinIndex + 1; if iNewIndex > table.getn( Skins ) then iNewIndex = 1; end return Skins[ iNewIndex ]; end function PrevSkin() local iNewIndex = g_SkinIndex - 1; if iNewIndex < 1 then iNewIndex = table.getn( Skins ); end return Skins[ iNewIndex ]; end В таблице 0-2 придётся вручную прописать промежутки, 0, 1, 2 и т.д.
-
Не сильна будет нагрузка от простого подсчёта убийств.. Проблема в том, что во время подсчёта идёт сразу запись в файл.. На каждый выстрел - одно сохранение (2 SQL запроса).. Такие данные надо сохранять по таймеру и перед выходом игрока.
-
Не могу установить сервер на линукс
Kernell replied to gold4iter's topic in Помощь / Отчеты об ошибках
Ага, а то заддосят сервер -
Не могу установить сервер на линукс
Kernell replied to gold4iter's topic in Помощь / Отчеты об ошибках
http://linux.multitheftauto.com/ -
Не могу установить сервер на линукс
Kernell replied to gold4iter's topic in Помощь / Отчеты об ошибках
У вас конфиги лежат в корневой папке (там же где и бинарник mta-server), а должны лежать в mods/deathmatch -
Не могу установить сервер на линукс
Kernell replied to gold4iter's topic in Помощь / Отчеты об ошибках
Вы вопрос внимательно читали? Я не вижу файлов, особенно на таком "качественном" скрине. Покажите вывод ls -R /путь/до/мта (только ресурсы лучше убрать на время работы команды) -
Не могу установить сервер на линукс
Kernell replied to gold4iter's topic in Помощь / Отчеты об ошибках
Структуру папок и файлов покажите, может не туда залили всё? Вообще проверьте конфиг на наличие синтаксических ошибок, не могу поверить что он полностью стандартный и не тронутый. -
Pawno - Название редактора, Pawn - язык, Pawncc - компилятор
-
Ну не обязательно брать серверную сторону, там пример вообще без разницы в какую сторону применять.. А если не нравится вызов функции, то можно обойтись всего одной которая вернёт таблицу с нужной локализацией (или вообще всю). Ещё второй вариант, это как я говорил ранее - openFile и loadstring
-
Смотрю на код и становится страшно.. Что будет если 10 игроков начнут палить друг в друга с автоматов? Это ведь 2 запроса в SQLite на каждый вызов функции..
-
TheNormalnij, Я про выше вкурсе, поэтому и спросил "не проще ли..". То что вы делаете это лишние затраты ресурсов, лишние действия, лишний геморой. Не понимаю чем вас не устраивает вариант с обычной Lua таблицей о котором говорилось ранее. Он вроде соответствует вашим 5 требованиям.
-
А не проще ли сразу описать в отдельном Lua файле все переменные, а потом когда надо, отдать интерпретатору с помощью fileOpen и loadstring ? Да даже можно просто в meta.xml указать и использовать таблицу вроде lang[ 'en' ][ keyword ]
-
Попробуй запустить таймер после старта ресурса, и там уже создавать педов.
-
SweetyWolf, пед при каком событии создаётся?
-
А разве отключение голосования не делает переключение карты рандомным?
-
Не боишься SQL-инъекций?
-
Создайте символическую ссылку на общий internal.db Linux ln -s /путь/до/общего/internal.db /путь/куда/поместить/ссылку/на/internal.db Windows mklink C:/путь/куда/поместить/ссылку/на/internal.db C:/путь/до/общего/internal.db
-
2.1) Проверяешь существует ли пользователь с такими данными
-
Чего вы хотите? За вас логику ботов никто не будет писать. Садите бота в авто и манипулируете им
-
Написано, что вас атакуют HTTP флудом с указанного IP адреса
-
http://bugs.mtasa.com/view.php?id=7424 Нашли критичную дыру в безопасности, а в ответ получили "юзайте костыли"
-
Приветствую всех, господа В этой теме я расскажу о некоторых возможностях функции debug.setmetatable Когда я только познакомился с Lua, первым делом у меня возник вопрос "а как получить символ из строки?", кто знаком с Си или с Pawn наверное знают, что это делается путём обращения к строке по индексу, в Lua такого нет, а обращаться через sub( 1, 1 ) не очень то и удобно, но благо разработчики оставили нам возможность "перебивания" мета-таблиц для определённого типа с помощью debug.setmetatable. И так, приступим: Для начала нужно получить мета-таблицу у строки local _string_mt = debug.getmetatable( "" ); И переопределить событие __index которое вызывается при чтении индекса из таблицы function _string_mt:__index( index ) -- обратите внимание, что функция объявлена через двоеточие - это значит, что будет передаваться скрытый аргумент self который будет указывать на нашу строку if type( index ) == 'number' then -- тут всё просто, если индекс числового типа, return self:sub( index, index ); -- то возвращаем подстроку строки self end -- иначе всё необходимое для return string[ index ]; -- для базовой работы методов len, sub, gsub и т.д. end И последний шаг, применяем мета-таблицу к строкам debug.setmetatable( "", _string_mt ); Возможно многим нравится стиль конкатенации строк оператором + (плюс) как в JavaScript или в C++ (например в std::string), способ реализации выкладываю ниже Для этого мы будет использовать событие __add которое вызывается при "сложении" чего либо с чем либо, поэтому когда вы попытаетесь "сложить строку", то будет вызван этот обработчик function _string_mt:__add( str ) return self .. str; end На самом деле я бы не рекомендовал использовать это, так как в случае возникновения ошибки, вы не сможете определить её место (тут вам поможет только pcall) Таким же методом можно сделать и удаление из строки оператором - (минус) Например ("hello from russia")-("from") вернёт нам "hello russia" function _string_mt:__sub( str ) return self:gsub( str, '' ); end А вот так мы добавим возможность вызывать методы для чисел debug.setmetatable( 0, { __index = function( self, index ) return math[ index ]; end } ); Брать мета-таблицу у чисел мы не стали, так как стандартно её нет, но вообще желательно это проверить, мало ли что Теперь мы можем делать так: print( ( 12 ):random( 34 ) ); На этом пока всё. Статья была написана скорее для тех кто уже ознакомлен с понятием "мета-таблицы" в Lua, ибо на самом деле это далеко не весь их функционал, поэтому возможно имеет смысл написать урок на эту тему Если есть вопросы - задавайте, постараюсь ответить Копирование запрещено
-
Одна подруга (ник Knuckles, лидер клана FOTL) познакомила меня с MTA Race (тогда только Race был), ничего необычного, вскоре это надоело, через некоторое время (год, или два) узнаю о SA-MP сервере своего провайдера, а так как это был Role-Play сервер, то естественно это затянуло (тем более что опыта игры на РП серверах у меня не было совсем). Спустя год меня берут туда в разработчики, а потом ещё через пару недель мы с AirKite покидаем проект и поднимаем свой Smart Life, к версии 0.6.0 мы хотели перейти на MTA 1.0.1, функционал радовал, синхронизация казалась идеальной (лучше даже чем сейчас), но всёравно МТА казалась немного неудобной (хотя на самом деле причина была в FPS ), но и сильно разочаровало ещё тогда отсутствие своей анимации ходьбы у персонажей, т.е. у всех была похода от CJ (на самом деле это критично для РП проектов), ну и конечно же отсутствие поддержки русского языка в GUI. Далее я решаю забить на GTA, но спустя какое-то время узнаю о MTA 1.1 и о её особенности - юникод, появляется новый, который и привёл меня сюда
