Jump to content

Flaker

Members
  • Posts

    619
  • Joined

  • Last visited

Everything posted by Flaker

  1. есть эвент OnVehicleRespawn, ты в нем можешь поставить проверку. Например ты ставишь машине дату такую например setElementData(theVeh, "TEST", true) А в эвенте OnVehicleRespawn проверку на наличие даты ставишь: addEventHandler("onVehicleRespawn", root, function ( exploded ) if ( not getElementData(source, "TEST") ) then end end)
  2. В ресурсе Mx_Master'а как рас есть возможность смены языка интерфейса. Советую его скачать и весь код проштудировать. Половина кода там это коментарии на русском языке, так что все должно быть понятно. Вот вобщем линк на ресурс: https://community.multitheftauto.com/index.php?p=resources&s=details&id=3984
  3. Да, можно использовать в мультиплеере! Все стабильно работает!
  4. Да есть русские описания функций. Вобще на вики сейчас немало страниц переведенных на русский язык! Спасибо Vincent'у за это!
  5. Если ты про то как перекодировать, то советую использовать notepad++ В Notepad++ в верхнем меню нажми Encoding, а дальше convert to UTF-8 without BOM.
  6. не не, все работает если не использовать плохие символы [ и какуюто из круглых скобок ( или ). А так спасибо тебе, 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 Вот измени функцию, все работать должно тогда)
  7. Похоже у тебя 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
  8. Flaker

    Camerastuff

    Easier to use it at client side
  9. И так для каждого пикапа делали??? Не всегда ищу легкие пути И всетаки позволю себе предложить тебе чуть более легкий способ: 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
  10. У тебя строчки все закоментированны. "" ненадо.
  11. 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..
  12. protected = "true" работает исключительно на клиентские .lua файлы! только на серверные Twix, я специально даже зашел в IRC спросил) Сказали, что для client'а эта функция... Хотя очень удивлялись зачем я вобще это спрашиваю, и нахрена защищать серверную часть) Вобще я сам ее юзаю... Отлично все защищается... Вернее client скрипт качается только в буфер в клиенту, но не сохраняется на жестком диске...
  13. protected = "true" работает исключительно на клиентские .lua файлы!
  14. Насколько я понял вот что ты хочешь: 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 ) Прав?
  15. Слуш, как быстро то ты нашел все недоделки) Я вора как раз писал за день до открытия и пару маркеров поставил для теста просто) А дальнобойщиков вобще подругому делать будем... Там будет меню выбора груза и тд... А группа да, наша.
  16. Topick Updated. Запуск в 22:15 IP сервера: 109.120.144.203:22003 IP Teamspeak: 109.120.144.203:9987
  17. Никогда не понимал, и, наверно, никогда не пойму зачем открывать недоделанный сервер. Не лучше бы сначала сделать ВСЁ, а затем открыть хороший сервер, где будут реализованы все возможности, задуманные автором?! Опять выкатывается "бочка" в виде бета-теста. "Всё" - понятие растяжимое... Просто мы бы его заканчивали еще полгода.
  18. Под указателем ты имеешь ввиду аргумент? Если да, то обычно передается... Попробуй так, не уверен конечно, но всетаки: function dtest () outputChatBox(getPlayerName(source) .. ": ouch!") end addEventHandler("onPlayerDamage", root, dtest) setTimer(function() removeEventHandler ( "onPlayerDamage", root, dtest ) end, 2000, 1)
  19. Неудивительно) Ведь играем то в GTA San Andreas как никак... Ну вобще впринцепе согласен, название не особо оригинальное, зато звучит) Спасибо)
  20. пфф фейкер ты же в реале не сможешь взять и дать кому до денег на руки, например в другой район Почему же не смогу... А зачем тогда создают столько систем электронных платежей и тд...?
  21. Передача денег через банк неудобна, так как нужно ехать к банку и тд... А через UCP ты можешь отправлять игроку деньги, которые имеются у тебя на руках... Помоему удобнее и быстрее... Нет, у нас нет магазина, для покупки телефона) Мне не нравиться в телефонах то, что во-первых, их стандартный вид вертикальный, тоесть придется располагать все элементы сжато очень... И еще придется придерживаться определенного стиля, при создании интерфейса телефона, что тоже не очень удобно. У нашей UCP в основном рисованный интерфейс, располагается она в горизонтальном положении, и вполне удобна, imho... Огромное Спасибо
  22. Хех, нет не он) Этот Веном вобще тут не появлялся вроде...
×
×
  • Create New...