-
Posts
681 -
Joined
-
Last visited
-
Days Won
4
Everything posted by TheNormalnij
-
Через мташный компилятор.
-
Экстрасенсы в отпуске! Кинь имя ошибки.
-
Как сделать, чтоб Warning'и не выводились в log
TheNormalnij replied to iron015's topic in Помощь / Отчеты об ошибках
Написать скрипт правильно))) -
Кроме как делать это через серверную функцию, есть вариант?
-
Где ты видел, чтобы я шутил, иронизировал? Ты мне не в праве что-либо приказывать, лучше бы сам помолчал. Меня дико бесит, когда лица с интеллектуальной недостаточностью пытаются, чтобы всё сделали за них. В этом нет обучения и приобретения какого-либо практического опыта от проделанной работы. А может тебе ещё помочь срыгнуть и поменять подгузники?
-
Абсолютно любого нет. Можно брать только из текстур.
-
Не стоит делать такие выводы друг мой, я всего лишь прошу помощи. Я не прошу чтоб ты взял со своего кармана дал мне денег, а по мере возможности помог мне. 1) Ты мне не друг. 2) Время - деньги. Лучше его потратить на тех, кто реально этого заслуживает и пытается сам решить проблему. 3) Тут тебе никто ничего не должен.
-
http://segfault.kiev.ua/smart-questions-ru.html Исследовав темы, созданные топикстартером, легко понять, что он не пытается уважать сообщество.
-
setClipboard
-
Максимум кинуть ссылку в буфер можно
-
Надо делать триггер на сервер с клиента.
-
У тебя утечка памяти в 11 строке. Тут можно было бы даже простую элементдату использовать. Событие попытки входа в авто можно отменять в onVehicleStartEnter, так целесообразнее. Использовать здесь onResourceStop? Скорее всего ты не понимаешь, что хочешь, переформулируй вопрос.
-
aclrequest команда в консоли
-
Флуд. Тупость топикстартера убила: Название темы. регесрации ( от слова насрать, верно? ). Заглавные буквы не нужны Запятые не нужны. помогитееее ( от этого все решается быстрее ) Поисковики не нужны Включать голову не надо
-
Используя спавнменеджер и прямые руки. Если в гейммоде есть edf, то всё ставится из редактора карт.
-
После загрузки моего кода, надо было перезайти.
-
Редактировать фриром не нужно. Достаточно лишь создать ресурс со следующим содержимым. -- server addEventHandler ( 'onPlayerJoin', root, function ( ) setPlayerName( source, getPlayerName( source ):gsub('#%x%x%x%x%x%x', '') ) end ) addEventHandler ( 'onPlayerChangeNick', root, function ( _, newNick ) local freeNick, replaces = newNick:gsub('#%x%x%x%x%x%x', '') -- Cкорее всего событие будет срабатывать при каждом вызове функции setPlayerName -- Сделана проверка на количество замен по паттерну if replaces ~= 0 then setPlayerName( source, freeNick ) end end ) UPD, если вы используете сторонний ресурс вывода в чат, закоментируйте onPlayerChat в фрироме ( --[[ ]] )
-
Wtf?! Все делается на клиенте, задается приоритет обработчика. И wasEventCancelle давно существует. Правильно продумайте систему и все будет ок
-
Отменяя событие on*Damage и высчитывая урон вручную
-
Да, но автор ресурса должен был сам это прописать.
-
local messages = {} addEvent ( "livetext", true ) local function removePlayerMessage( player ) messages[player] = nil end local function onPlayerQuitWithMessage( ) removePlayerMessage( source ) end addEventHandler ( "livetext",root, function( ) messages[source] = getElementData( source, 'mess' ) addEventHandler( 'onClientPlayerQuit', source, onPlayerQuitWithMessage ) setTimer( removePlayerMessage, 6000, 1, source ) end ) addEventHandler( "onClientRender", root, function( ) local x,y,z = getElementPosition( localPlayer ) for player, text in pairs( messages ) local px,py,pz = getElementPosition( player ) local distance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) if distance <= 10 then local sx,sy = getScreenFromWorldPosition ( x, y, z+0.95, 0.06 ) if not sx then return end -- local scale = --1/(0.3 * (distance / 30)) dxDrawBorderedText ( text, sx, sy - 30, sx, sy - 30, tocolor(255,255,255,255), 1.5, "arial", "center", "bottom", false, false, false ) end end end ) Я предположил, что надо создать над игроком-источником события 'livetext' какой-то текст. Т.е. на серверной стороне указать игрока. Текст сообщения правильно было бы указывать в событии, а не элемент дате. Выравнивать сообщеняи можно с dxGetTextWidth.
-
Текст не элемент, его через attachElement нельзя прицепить. Во-вторых, используются глобальные переменные, которые могут использоваться в нескольких копиях обработчика onClientRender. Вот пример, как я раньше рисовал текст над авто. local carsCost = {} local renderState = false addEvent( 'showCarCost', true ) addEventHandler( 'showCarCost', root, function() carsCost[source] = tostring( getElementData( source, 'cost' ) ) if not renderState then renderState = true addEventHandler( 'onClientRender', root, renderCarCost ) end end ) function renderCarCost() local x, y, z = getElementPosition( localPlayer ) renderState = false for car, cost in pairs( carsCost ) do local vX, vY, vZ = getElementPosition( car ) local sX, sY = getScreenFromWorldPosition( vX, vY, vZ + 1, 0, false ) local dis = getDistanceBetweenPoints3D( x, y, z, vX, vY, vZ ) if sX and dis < 11 then dxDrawText( cost , sX, sY, 30, 10, nil, 3, 'arial' ) elseif dis > 11 then carsCost[car] = nil end renderState = true end if not renderState then removeEventHandler( 'onClientRender', root, renderCarCost ) end end
-
Смотря какие данные нужно запаковать. В основном надо будет использовать string.char, string.byte