rovied Posted April 8, 2016 Posted April 8, 2016 Нажимаю на форму ввода (в любое место, даже на заголовок окна) т.е. не на кнопку, а событие onClientGUIClick все равно срабатывает. Как это отключить? Решил проблему установив параметр getPropagated = false функции addEventHandler() addEventHandler("onClientGUIClick", GUILogin.button[1], onClickBtnLogin, false) было addEventHandler("onClientGUIClick", GUILogin.button[1], onClickBtnLogin)
rovied Posted April 9, 2016 Posted April 9, 2016 login: you successfully logged in Как убрать это сообщение при авторизации? В поиске не нашел должного ответа.
Kenix Posted April 10, 2016 Posted April 10, 2016 login: you successfully logged inКак убрать это сообщение при авторизации? В поиске не нашел должного ответа. Никак, они выводится через сервер. MTA10_Server/mods/deathmatch/logic/CAccountManager.cpp Строки: 839-841 https://github.com/multitheftauto/mtasa ... anager.cpp
rovied Posted April 11, 2016 Posted April 11, 2016 login: you successfully logged inКак убрать это сообщение при авторизации? В поиске не нашел должного ответа. Никак, они выводится через сервер. MTA10_Server/mods/deathmatch/logic/CAccountManager.cpp Строки: 839-841 https://github.com/multitheftauto/mtasa ... anager.cpp Большое спасибо за ответ. Видел на одном сервере при авторизации такое сообщение не выводилось. Теперь полагаю что там регистрация написана вообще без использования встроенных функций.
rovied Posted April 11, 2016 Posted April 11, 2016 Как отключить возможность писать в чат из консоли?
AMARANT Posted April 12, 2016 Posted April 12, 2016 Заблокировать команду "msg". local prohibitedCommands = {["msg"]=true} function noMsg(cmd) if prohibitedCommands[cmd] then outputChatBox("Эта команда запрещена.",source) cancelEvent() end end addEventHandler("onPlayerCommand",root,noMsg)
rovied Posted April 12, 2016 Posted April 12, 2016 Заблокировать команду "msg". local prohibitedCommands = {["msg"]=true} function noMsg(cmd) if prohibitedCommands[cmd] then outputChatBox("Эта команда запрещена.",source) cancelEvent() end end addEventHandler("onPlayerCommand",root,noMsg) Спасибо за ответ! local prohibitedCommand = {["say"] = true, ["msg"] = true, ["nick"] = true, ["me"] = true} function prohibitCmd(cmd) if (prohibitedCommand[cmd]) then outputConsole("Эта команда запрещена.") print("Player executed: " .. cmd) cancelEvent() end end addEventHandler("onPlayerCommand", getRootElement(), prohibitCmd)
rovied Posted April 16, 2016 Posted April 16, 2016 setPlayerNametagText(...) не работает с кириллицей? У меня вместо русского имени выводится __________. Если возможно то как это исправить? setElementID(...) если я игроку поставлю идентификатор с помощью этой функции, потом когда он (игрок) перезайдет на сервер ему нужно заново устанавливать идентификатор или эта функция работает как setAccountData(...)? Тот самый вопрос если при перезапуске сервера?
Kenix Posted April 16, 2016 Posted April 16, 2016 1. Делать свои неймтеги используя setElementData, хранить информацию в таблице. 2. Индификатор сбрасывается после удаления/выхода игрока из сервера. Перезапуск сервера также считается. Что ты конкретно хочешь сделать?
rovied Posted April 16, 2016 Posted April 16, 2016 1. Делать свои неймтеги используя setElementData, хранить информацию в таблице.2. Индификатор сбрасывается после удаления/выхода игрока из сервера. Перезапуск сервера также считается. Что ты конкретно хочешь сделать? Благодарю за ответ. Я уже сделал, что надо было. Просто нужно было уточнить эти вопросы, чтобы не наделать ошибок в дальнейшем. Да и как-то костыльно получается с неймтегами, брать 3д текст, делать его видимым для всех и потом атачить. Можно было просто сделать это все одной функцией.
rovied Posted April 18, 2016 Posted April 18, 2016 А функция setWeatherBlended(id) не работает? Тестировал у себя - ноль реакции, ни через минуту ни через две. Тестил на серверной и на клиентской стороне. Результат одинаковый. setWeather(id) работает нормально.
Kenix Posted April 18, 2016 Posted April 18, 2016 setWeatherBlended зависит от setMinuteDuration напрямую
rovied Posted April 19, 2016 Posted April 19, 2016 все верно, работает. Если у меня setMinuteDuration(60000) то погода изменится через час получается? Как же тогда сделать чтобы она менялась в течение 1-2 минут как указано в документации при таком setMinuteDuration?
Kenix Posted April 19, 2016 Posted April 19, 2016 Смена погоды происходит за 2 игровых часа, стандартная длительность игровой минуты 1 секунда. Ну тут только если свою погоду делать. (Используя setSkyGradient, setRainLevel ) + шейдер. На баг трекере есть запрос, можно задонатить, тогда запрос станет приоритетным: https://bugs.mtasa.com/view.php?id=4531
rovied Posted April 24, 2016 Posted April 24, 2016 Есть какая-нибудь встроенная функция чтобы получить ближайший транспорт к игроку. Или только перебором в цикле всего транспорта и getDistanceBetweenPoints3D(...)?
Kenix Posted April 24, 2016 Posted April 24, 2016 getElementsByType getElementPosition getDistanceBetweenPoints3D Через цикл.
rovied Posted April 26, 2016 Posted April 26, 2016 Если уничтожить элемент (например marker) функцией destroyElement нужно ли вместе с этим удалять и повешенный addEventHandler("onMarkerHit", marker, func) обработчик на этот элемент. Или после дестроя обработчики также удаляются?
Kenix Posted April 26, 2016 Posted April 26, 2016 При уничтожении элемента, все что связано с ним удаляется (элемент дата, события, а также дочерние элементы). Те события, которые у тебя были повешены на элемент не будут вызваны больше. Файл MTA10_Server/mods/deathmatch/logic/CElement.cpp (строка 77) Файл MTA10/mods/shared_logic/CClientEntity.cpp (строка 72) Ссылка (Сервер): https://github.com/multitheftauto/mtasa ... nt.cpp#L77 Ссылка (клиент): https://github.com/multitheftauto/mtasa ... ty.cpp#L72
rovied Posted April 30, 2016 Posted April 30, 2016 При входе в колшейп на клиентской стороне выводится сообщение function startTimerHit( hitElement ) outputChatBox("Сообщение") end Это сообщение видят все игроки. Чтобы увидел сообщение только тот кто вошел в колшейп нужно сообщение отправлять на сервере с visibleTo? Или у меня что-то не так?
rovied Posted April 30, 2016 Posted April 30, 2016 if hitElement == localPlayer then Точно! Спасибо большое)
K1parik Posted May 2, 2016 Posted May 2, 2016 Подскажите как сделать колеса у тс непробиваемыми или как отследить выстрелы по ним?
Easterdie Posted May 5, 2016 Posted May 5, 2016 https://wiki.multitheftauto.com/wiki/Ge ... heelStates при дамаге по транспорту брать статус колёс
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now