С помощью этого ресурса можно узнать страну и город(только для России) по ип. Используется sqlite база данных ип.
Скачать: https://community.multitheftauto.com/index.php?p=resources&s=details&id=3685
Прмер:
addEventHandler( "onPlayerJoin", root, function( )
local country, countryFull = exports.geoip:getCountry( getPlayerIP( source ) )
if country == "RU" then
local city = exports.geoip:getCountryCity( getPlayerIP( source ) )
outputChatBox( "* ".. getPlayerName( source ) .." has joined from Country: ".. countryFull .." City: ".. city, 255, 100, 100 )
else
outputChatBox( "* ".. getPlayerName( source ) .." has joined from Country: ".. countryFull, 255, 100, 100 )
end
end )
Небольшой класс по работе с файлами. Стандартные функции MTA + возможность читать файл построково.
Скачать: Pastebin
Пример использования:
local file = File:new( "test.txt" )
file:open( )
--[[while true do
local line = file:readLine( )
if not line then
break
else
print( line )
end
end]]
local line = nil
repeat
line = file:readLine( )
if line then
print( line )
end
until not line
file:close( )
Все легко и просто...
local mySounds = { 'sound1.mp3', 'sound2.mp3', 'sound3.mp3' } -- тут добавляем свои названия файлов
playSound( mySounds[ math.random( 1, #mySounds ) ] ) -- #mySounds - общее число песен
Для любителей Notepad++ написал плагин с поддержкой синтаксиса MTA Lua. Так же модифицировал плагин FunctionList, для выведения списка функций MTA. Список всех функций актуален на офф релиз Mta 1.2
В архиве есть небольшое описание по установке.
Скачать http://rghost.ru/35897847
Так же рекомендую к установке такие плагины как:
MultiClipboard - сохраняет весь ваш буфер
XBrackets Lite - автозавершение ()[]{} и т.п.
Проверка текста на русский язык
function isRussianText( text )
local len = utfLen( text )
local code = nil
for i = 1, len do
code = utfCode( utfSub( text, i, i ) )
if code < 1040 or code > 1103 then -- 'А'-'Я' 'а'-'я'
if code ~= 1105 and code ~= 1025 then -- 'ё' 'Ё'
return false
end
end
end
return true
end
Сервер
client -- элемент, игрок вызваный через функцию triggerServerEvent
eventName -- имя События
source --
sourceResource --
sourceResourceRoot --
this --
Клиент
eventName -- имя События
source --
sourceResource --
sourceResourceRoot --
this --