Jump to content

N1kS

Members
  • Posts

    200
  • Joined

  • Last visited

Everything posted by N1kS

  1. Мб может кто то поделится кодом, чтобы находить совпадения с guiEdti'a и gridlist'om? Ну тоесть имеется огромный список карт и нужно сделать поиск, чтобы все не перебирать.
  2. Спасибо, но нет. Уже разобрался. Возможно кому то пригодится: нужно исправлять dxscoreboard_exports.lua файл, а именно строки 3-7.
  3. local Object, timer1, x, y, z; function createObjectF (player) local veh = getPedOccupiedVehicle (player) x, y, z = getElementPosition (veh) timer1 = setTimer(function() Object = createObject ( 2002, x, y, z ); setElementCollisionsEnabled ( Object, false ); attachElements ( Object, veh, 0.62, 2.25, 0.18); setTimer(function() destroyElement(Object) end, 100, 1) end, 500, 0); end addCommandHandler("createobject", createObjectF); function recreateObjectF() destroyElement(Object); killTimer(timer1); end addCommandHandler("destroyobject", recreateObjectF); Тогда вот так.
  4. Не сильно понял логику скрипта, но если вам нужно, чтобы создавался объект приаттаченный к вашему ТС, то это будет выглядеть так: local Object; function createObjectF (player) local veh = getPedOccupiedVehicle (player) local x, y, z = getElementPosition (veh) Object = createObject ( 2002, x, y, z ) setElementCollisionsEnabled ( Object, false ) attachElements ( Object, veh, 0.62, 2.25, 0.18) end addCommandHandler("createobject", createObjectF); function recreateObjectF() destroyElement(Object) end addCommandHandler("destroyobject", recreateObjectF); Команда "createobject" создает объект и аттачит его к ТС, команда "destroyobject" удаляет объект с вашего ТС.
  5. Помогите разобраться с ресурсом scoreboard. Не вижу смысла писать свой ресурс для кнопки таб, т.к давно существует данный ресурс. Вопрос в следующем - нужно полностью перевести его, все то неплохо, но не могу перевести строчки "Name и "Ping". Нашел след. функцию: function scoreboardAddColumn( name, width, friendlyName, priority, textFunction, fromResource ) Нашел, где она применяется с использованием слов "Name" и "Ping": scoreboardAddColumn( "name", 200, "Name" ) scoreboardAddColumn( "ping", 40, "Ping" ) Изменил на: scoreboardAddColumn( "name", 200, "Имя" ) scoreboardAddColumn( "ping", 40, "Пинг" ) Реакции - ноль. Более детально: строчки "Name" и "Ping" отображаются по нажатию кнопки таб. Нужно перевести их на русский язык.
  6. У меня ваше окно появляется только при наборе команды, не при конекте. Что касается кнопки, то добавьте 2 переменных и чуть чуть измените координаты, у меня все работает так, как вы хотите. local window, button; addEventHandler("onClientResourceStart", resourceRoot, function() window = guiCreateWindow(0, 0, 640, 480, "Desktop Params", false) guiWindowSetMovable(window, true) guiWindowSetSizable(window, true) button = guiCreateButton(320, 20, 25, 15, "x", false, window) guiSetFont(button, "default-bold-small") guiSetProperty(button, "NormalTextColour", "FFFF0505") guiSetVisible(window, false) guiSetVisible(button, false) end) addCommandHandler("show", function() if not guiGetVisible(window) then guiSetVisible(window, true); guiSetVisible(button, true); showCursor(true) else guiSetVisible(window, false); guiSetVisible(button, false); showCursor(false) end end)
  7. Необходимо было написать функцию динамической телепортации по маркерам, возможно кому то пригодиться.
  8. Подскажите пожалуйста, имеется массив, необходимо создать функцию удаления всех элементов и обнулить их. Все элементы удаляются, но не обнуляются. local GUI = { button = {}, checkbox = {}, window = {}, label = {}, edit = {}, label = {} }; function destroyGUI() for i, v in pairs(GUI) do for i, v in pairs(v) do if(v)then destroyElement(v); v = nil; end end end showCursor(false); end С чего я взял, что они не обнуюятся? Т.к есть эвент: addEvent("destroyQuestionGUI", true); addEventHandler("destroyQuestionGUI", getRootElement(), destroyGUI); Данный эвент тригериться с сервера, когда игрок покидает маркер и после того, как я покидаю маркер получаю в дэбаг ошибку: Bad 'element' pointer @ 'destroyElement'(1) --В нашем случае номер строки с ошибкой: 15.
  9. Еще вопрос: имеется бинд функции под кнопку Enter. Хочу предотвратить попытку сесть в ближайшее авто, после использование кнопки. Скрипт на клиенте выполняется. Делаю, не помогает. addEventHandler("onClientVehicleStartEnter", root, cancelEvent);
  10. Нужно не уничтожить, а сделать невидимым.
  11. local marker = createMarker(542.09765625, -1292.869140625, 17.2421875); function markerParams(source) setElementVisibleTo(marker, source, false) outputChatBox("ydalen"); end addCommandHandler("qqqqq", markerParams); Не пропадает, хоть убей.
  12. function destroyGUI() if (GUI.window[1]) then destroyElement(GUI.window[1]); showCursor(false); end end Имеется данная функция. Она выполняется в 2 случаях: если игрок жмет guiButton "нет" или покидает маркер. Все работает, но проблема в следующем: когда окно закрыто с помощью кнопки "нет" и игрок покидает маркер, то в дебаг выводиться сообщением, что поинтер функции destroyElement равен нулю. Подскажите пожалуйста, мб проверку неправильную сделал. Работать то все работает, но хотелось бы избежать мусора в дебаге.
  13. Функция: string fileRead ( file theFile, int count ) Выводит текст в строку не смотря на то, как он храниться в файле. Можно ли как то сохранить структуру ентеров?
  14. value есть номер строки. Выводит текст определенного номера строки. При выводе всей таблицы в цикле результат не меняется, спасибо.
  15. Собственно сабж. Пробовал и utf8 и cp1251. Может быть кто то сталкивался. Вывожу командой: function testDB(source, cmd, value) local qh = dbQuery(mta_db, "SELECT text FROM test"); local table = dbPoll(qh, -1); outputChatBox(table[ tonumber(value) ].text, source); end addCommandHandler("testdb", testDB);
  16. Это условие полностью неверно и никогда не будет выполнятся т.к переменная pickupID это число, ид пикапа, а ты проверяешь на строку "id" . Я не понимаю зачем тебе это условие нужно ..Вообщем как всегда копипаст без разбора кода и что он собственно делает. Заканчивайте уже с этим. Вам же хуже. Да уже разобрался давно, спасибо) if(pickupType == "vehiclechange" and vehicleModel == 425) then Скажите пожалуйста, как вытащить из meta.xml длительность карты?
  17. Хочу сделать определенное действие, если игрок берет пикап в race и его авто меняется на NRG-500, но почему то это не работает... Из вики: onPlayerPickUpRacePickup Параметры int/string pickupID, string pickupType, int vehicleModel pickupID: номер пикапа при синтаксисе MTA:Race (начиная с 1) или атрибут "id" пикапа в случае синтаксиса DM. pickupType: тип пикапа. Может быть "nitro", "repair" или "vehiclechange". vehicleModel: если тип пикапа - vehiclechange, то это - модель нового транспортного средства, которую он устанавливает. Source Source - игрок, подобравший пикап. Функция: function _f5(pickupID, pickupType, vehicleModel) if(pickupID == "id" and pickupType == "vehiclechange" and vehicleModel == 522) then outputChatBox("ok", source) end end addEvent("onPlayerPickUpRacePickup", true) addEventHandler("onPlayerPickUpRacePickup", root, _f5) Если же делаем так, то получаем "ok" при въезде на любой пикап, но мне нужно именно при смене на NRG-500: function _f5(pickupID, pickupType, vehicleModel) outputChatBox("ok", source) end addEventHandler("onPlayerPickUpRacePickup", root, _f5)
  18. При логине, если игрок админ, смодер или модер, в зависимости его ник добавляется в определенную таблицу. Он то добавляется, но talbe.remove только по номеру ячейки, так? Так вот как мне определенный ник удалять при логауте?
  19. Да все почти готово, мне бы только удалять из таблиц их и все. Все же вопрос остается актуальным. Никто не подскажет что ли?
  20. Да все почти готово, мне бы только удалять из таблиц их и все. Все же вопрос остается актуальным.
  21. Собственно начал делать скрипт, который отображает всех админов онлайн, сделал команду для дебага, но она выводит не то, что нужно... local Moderators = {} local SuperModerators = {} local Admins = {} --логин function _f1() local acc = getAccountName(getPlayerAccount(source)) if(isObjectInACLGroup("user."..acc,aclGetGroup("Admin"))) then table.insert(Admins, getPlayerName(source)) elseif(isObjectInACLGroup("user."..acc,aclGetGroup("SuperModerator"))) then table.insert(SuperModerators, getPlayerName(source)) elseif(isObjectInACLGroup("user."..acc,aclGetGroup("Moderator"))) then table.insert(Moderators, getPlayerName(source)) end end addEventHandler("onPlayerLogin", root, _f1) --логаут function _f2() local acc = getAccountName(getPlayerAccount(source)) if(isObjectInACLGroup("user."..acc,aclGetGroup("Admin"))) then table.remove(Admins, getPlayerName(source)) elseif(isObjectInACLGroup("user."..acc,aclGetGroup("SuperModerator"))) then table.remove(SuperModerators, getPlayerName(source)) elseif(isObjectInACLGroup("user."..acc,aclGetGroup("Moderator"))) then table.remove(Moderators, getPlayerName(source)) end end addEventHandler("onPlayerLogout", root, _f2) function _f3() outputChatBox(table.concat(Admins, ", "), source) end addCommandHandler("qqq", _f3) Но после логаута не удаляет из таблицы. Как я понял - из таблицы удаляет только по номеру, но как задавать каждому залогиневшемуся номер в таблице? Помогите с этим, пожалуйста.
×
×
  • Create New...