-
Posts
619 -
Joined
-
Last visited
Everything posted by Flaker
-
есть эвент OnVehicleRespawn, ты в нем можешь поставить проверку. Например ты ставишь машине дату такую например setElementData(theVeh, "TEST", true) А в эвенте OnVehicleRespawn проверку на наличие даты ставишь: addEventHandler("onVehicleRespawn", root, function ( exploded ) if ( not getElementData(source, "TEST") ) then end end)
-
В ресурсе Mx_Master'а как рас есть возможность смены языка интерфейса. Советую его скачать и весь код проштудировать. Половина кода там это коментарии на русском языке, так что все должно быть понятно. Вот вобщем линк на ресурс: https://community.multitheftauto.com/index.php?p=resources&s=details&id=3984
-
Да, можно использовать в мультиплеере! Все стабильно работает!
-
Да есть русские описания функций. Вобще на вики сейчас немало страниц переведенных на русский язык! Спасибо Vincent'у за это!
-
Если ты про то как перекодировать, то советую использовать notepad++ В Notepad++ в верхнем меню нажми Encoding, а дальше convert to UTF-8 without BOM.
-
не не, все работает если не использовать плохие символы [ и какуюто из круглых скобок ( или ). А так спасибо тебе, Flaker. function hasBadSymbols(CheckingString) --Функция на проверку наличия в строке "плохих" символов for _,symb in ipairs( BadSymbols ) do --Перебор массива "BadSymbols" if ( string.find(CheckingString, tostring( symb ), 0, true) ) then return true end end return false --если после перемора массива функция не прервалась, то возвращаем false (В строке не обнаруженно запрещенных символов) end Вот измени функцию, все работать должно тогда)
-
del
-
Похоже у тебя username не является массивом? Возможно лучше сделать такую проверку: local username = "Valera" --Пример ника local BadSymbols = { "[", "]" } --Массив с "плохими" символами if ( hasBadSymbols(username) ) then --Проверка на наличие "плохих" символов. Если есть: print("Has") else --Если таковых нет: print ("Not") end function hasBadSymbols(str) --Функция на проверку наличия в строке "плохих" символов for _, symb in ipairs(BadSymbols) do --Перебор массива "BadSymbols" if str:find(symb) then --Если в заданной строке "str" находим символ из массива "BadSymbols" тогда возвращаем true (Тоесть запрещенные символы имеются в строке) return true end end return false --если после перемора массива функция не прервалась, то возвращаем false (В строке не обнаруженно запрещенных символов) end
-
Easier to use it at client side
-
И так для каждого пикапа делали??? Не всегда ищу легкие пути И всетаки позволю себе предложить тебе чуть более легкий способ: server: local Teleports = { --Создаем список телепортов { x=2287.11, y=2431.817, z=10.82031, pickupInt=0, pickupDim=0, teleX=238.5869, teleY=142.7303, teleZ=1003.023, rot=0, int=3, dim=0}; { x=-710, y=958, z=12.4, pickupInt=0, pickupDim=0, teleX=238.5869, teleY=142.7303, teleZ=1003.023, rot=0, int=3, dim=0}; } addEventHandler ( "onResourceStart", resourceRoot, --При старте этого ресурса проходимся по массиву Teleports и создаем телепорты(пикапы) function ( ) for _,teleport in ipairs(Teleports) do --Цикл прохода по списку --teleport в данном случае это массив. В массиве Teleports это строчка { x=, y=, z=, teleX=, teleY=, teleZ=, rot=, int=, dim=}; --При каждом проходе позиция teleport сдвигается на 1 от предыдущей local TelePickup = createPickup(teleport["x"], teleport["y"], teleport["z"], 3, 1318) --Создем пикап if ( TelePickup ) then --Если пикап создан setElementInterior ( TelePickup, teleport["pickupInt"] ) setElementDimension ( TelePickup, teleport["pickupDim"] ) setElementData ( --Записываем в его дату "TeleportData", массив с позициями телепорта TelePickup, "TeleportData", { x = teleport.teleX, y = teleport.teleY, z = teleport.teleZ, rot = teleport.rot, int = teleport.int, dim = teleport.dim } ) addEventHandler ( "onPickupHit", TelePickup, onTeleportPickupHit ) --Добавляем эвент, при входе на этот пикап end end end ) function onTeleportPickupHit(hitElement) if ( getElementType ( hitElement ) == "player" and not isPedInVehicle ( hitElement )) then local TeleportData = getElementData(source, "TeleportData") --получаем массив с позицией телепортации setElementInterior ( hitElement, TeleportData["int"] ) setElementDimension ( hitElement, TeleportData["dim"] ) setElementPosition ( hitElement, TeleportData["x"], TeleportData["y"], TeleportData["z"], true ) end cancelEvent() end Позиции пикапов "Стрелочек" берутся из массива "Teleports". Вроде все прокоментировал в скрипте. hitElement, TeleportData
-
У тебя строчки все закоментированны. "" ненадо.
-
Register в ресурсе admin в файле admin_server.lua (Строка 437 вроде) Вот код, по нему поиск можешь сделать: addCommandHandler ( "register", function ( player, command, arg1, arg2 ) local username = getPlayerName ( player ) local password = arg1 if ( arg2 ) then username = arg1 password = arg2 end if ( password ~= nil ) then if ( string.len ( password ) < 4 ) then outputChatBox ( "register: - Password should be at least 4 characters long", player, 255, 100, 70 ) elseif ( addAccount ( username, password ) ) then outputChatBox ( "You have successfully registered! Username: '"..username.."', Password: '"..password.."'(Remember it)", player, 255, 100, 70 ) outputServerLog ( "ADMIN: "..getPlayerName ( player ).." registered account '"..username.."' (IP: "..getPlayerIP(player).." Serial: "..getPlayerSerial(player)..")" ) elseif ( getAccount ( username ) ) then outputChatBox ( "register: - Account with this name already exists.", player, 255, 100, 70 ) else outputChatBox ( "Unknown Error", player, 255, 100, 70 ) end else outputChatBox ( "register: - Syntax is 'register [] '", player, 255, 100, 70 ) end end ) А login незнаю.....password..
-
protected = "true" работает исключительно на клиентские .lua файлы! только на серверные Twix, я специально даже зашел в IRC спросил) Сказали, что для client'а эта функция... Хотя очень удивлялись зачем я вобще это спрашиваю, и нахрена защищать серверную часть) Вобще я сам ее юзаю... Отлично все защищается... Вернее client скрипт качается только в буфер в клиенту, но не сохраняется на жестком диске...
-
protected = "true" работает исключительно на клиентские .lua файлы!
-
Насколько я понял вот что ты хочешь: addCommandHandler ( "o", function ( player, cmd, ... ) local message = table.concat({...}," ") local r,g,b = getPlayerNametagColor ( player ) outputChatBox( getPlayerName(player).." #BDBDBDпроизнес: #FFFFFF"..message, root, r,g,b, true) end ) Прав?
-
Слуш, как быстро то ты нашел все недоделки) Я вора как раз писал за день до открытия и пару маркеров поставил для теста просто) А дальнобойщиков вобще подругому делать будем... Там будет меню выбора груза и тд... А группа да, наша.
-
Topick Updated. Запуск в 22:15 IP сервера: 109.120.144.203:22003 IP Teamspeak: 109.120.144.203:9987
-
Никогда не понимал, и, наверно, никогда не пойму зачем открывать недоделанный сервер. Не лучше бы сначала сделать ВСЁ, а затем открыть хороший сервер, где будут реализованы все возможности, задуманные автором?! Опять выкатывается "бочка" в виде бета-теста. "Всё" - понятие растяжимое... Просто мы бы его заканчивали еще полгода.
-
Под указателем ты имеешь ввиду аргумент? Если да, то обычно передается... Попробуй так, не уверен конечно, но всетаки: function dtest () outputChatBox(getPlayerName(source) .. ": ouch!") end addEventHandler("onPlayerDamage", root, dtest) setTimer(function() removeEventHandler ( "onPlayerDamage", root, dtest ) end, 2000, 1)
-
Неудивительно) Ведь играем то в GTA San Andreas как никак... Ну вобще впринцепе согласен, название не особо оригинальное, зато звучит) Спасибо)
-
пфф фейкер ты же в реале не сможешь взять и дать кому до денег на руки, например в другой район Почему же не смогу... А зачем тогда создают столько систем электронных платежей и тд...?
-
Передача денег через банк неудобна, так как нужно ехать к банку и тд... А через UCP ты можешь отправлять игроку деньги, которые имеются у тебя на руках... Помоему удобнее и быстрее... Нет, у нас нет магазина, для покупки телефона) Мне не нравиться в телефонах то, что во-первых, их стандартный вид вертикальный, тоесть придется располагать все элементы сжато очень... И еще придется придерживаться определенного стиля, при создании интерфейса телефона, что тоже не очень удобно. У нашей UCP в основном рисованный интерфейс, располагается она в горизонтальном положении, и вполне удобна, imho... Огромное Спасибо
-
Хех, нет не он) Этот Веном вобще тут не появлялся вроде...