CocaColaBear
Members-
Posts
229 -
Joined
-
Last visited
Everything posted by CocaColaBear
-
С чем связано такое несоответствие? http://clip2net.com/s/5nflCS
-
And another questions. 1. Client elements (GUIs, Objects and etc.) are included in limit? 2. All elements of this list: https://wiki.multitheftauto.com/wiki/Element included in linit?
-
Hi all. If a create an element (createElement), it is included in limit of 65536 elements or not? Or, in this limit includes only those elements: https://wiki.multitheftauto.com/wiki/Entity P.S. Sry for my bad English :>
-
addEventHandler ( "onClientRender", root function() local x, y, z = 0, 0, 3 local mX, mY, mD = getScreenFromWorldPosition(x, y, z) if mX and mD < 40 then dxDrawText ("ТЕКСТ", mX, mY) end end ) Данный пример будет прорисовывать "ТЕКСТ" на координатах (0,0,3). Расстояние с которого это видно < 40. P.S. Не проверял данный код, но по идеи должно всё нормально быть
-
Вкратце: создаешь текст, и отображаешь его у игрока в onClientRender. Тебе понадобятся: dxDrawText getScreenFromWorldPosition
-
Если я создаю элемент через функцию createElement, то полученный элемент входит в общий лимит всех элементов или нет? Или в этот лимит, входят только Entity? https://wiki.multitheftauto.com/wiki/Entity
-
Ибо они уже не знают что добавить. Для кардинальных изменений требуется переписать огромную часть проекта.
-
Можешь взять ресурс Voice. Там есть функции, которыми ты сможешь раскидать игроков по каналам, например ид_канала = ид_фракции. https://wiki.multitheftauto.com/wiki/Resource:Voice
-
Подвох в том, что нужно правильно составлять алгоритмы решения поставленной задачи. Многие считают, что знание языка программирование гарантирует что-то, на самом деле - ничего. Максимум что вы сможете со знанием какого-либо языка - это прочитать код. Научиться составлять правильные алгоритмы - вот к чему надо стремиться.
-
Если человек арендует машину, то никто не заставит удалить его мод МТА.
-
px и py инициализированы, но нигде не используются о_О Данные строки кода высчитывают координаты относительно угла поворота игрока и устанавливают объект на них. Обычном языком, этот код будет всегда устанавливать объект на 0.8 метра перед игроком и всегда в ту сторону, в которую он смотрит.
-
Проверь, тот ли элемент ты проверяешь. Нужно проверять автомобиль, а не игрока
-
На стороне клиента используй: processLineOfSight . Вверх от игрока на единиц 200, а потом проверяй попал ли в этот промежуток какой-либо объект.
-
Ничто не мешает сделать это самому. 1. Сохраняем введенный текст в таблицу; 2. Биндим на стрелочки действия (вверх/вниз); 3. Проходимся по таблице через стрелочки (предварительно проверив, открыт ли чат у игрока). Ничего сложного.
-
Немного не так. В Lua не нужно указывать размерность массива ( в вашем случае - количество домов). Строчка House[5] = {} - индекс не обозначает размерность массива. Это уже индекс элемента. А вот последующее = {} делает данный элемент массивом. Т.е. после этой строки можно использовать House[5]["x"] = 0.1. А вот, например, House[4] не массив, поэтому если написать House[4]["x"] = 0.1, то произойдет ошибка, т.к. это не массив. P.S. Если не понятно, то попроси кого-нибудь объяснить, я не очень силен в этом
-
Почти тоже самое. Сервер: function setTextVisibleTo(player, visible) triggerClientEvent(player, "showText", root, visible) end addCommandHandler("showText", function(player, command, plName) local pl = getPlayerFromName(plName) if(pl) setTextVisibleTo(pl, true) else outputChatBox("Такого игрока нет", player) end ) Клиент: local show = false addEventHandler("onClientRender", root, function() if(show) then dxDrawText("Текст", 500, 500) end end ) addEvent("showText", true) addEventHandler("showText", getLocalPlayer(), function(visible) show = visible end ) При помощи команды /showText [Имя_игрока] показывает указаеерму игроку текст
-
local show = false addEventHandler("onClientRender", root, function() if(show) then dxDrawText("Текст", 500, 500) end end ) addCommandHandler("showText", function() show = not show end ) Показывает и скрывает текст по команде /showText
-
Событие смерти игрока - onPlayerWasterd Для объявлении массива с домами, тебе не нужно заранее определять размеры и элементы его полей. Просто при инициализации пишешь так: House = {} House[1] = {} House[1]["x"] = 123 House[1]["owner"] = "Ololosh" И т.д. P.S. Только вот House = {} не надо каждый раз писать. Всего лишь один раз, при объявлении. А для каждого нового индекса, необходимо House[index] = {}
-
Мой игровой режим будет состоять из множества скриптов, которые будут работать как единый ресурс (т.е. система автомобилей будет в одной скрипте, игроков в другом и т.д.). Так вот, если у меня некоторые события будут повторяться много раз. К примеру, событие: addEventHandler("onColShapeLeave", root, function(hitElem) end ) Вызывается множество раз в различных скриптах. Есть ли разница: использовать все так как сейчас (множество таких объявлений событий), или создать одно такое событие и туда просто вписывать функции, которые будут описаны в других скриптах? Спасибо!
-
Спасибо. Не подумал о alpha и навряд ли бы догадался
-
неужели никто не может ничего по этому поводу сказать?
-
Насчет названий для кнопок: Поищи во всех файлах данные надписи, найдешь - отредактируй. Насчет иконки: setBlipVisibleDistance(blip, 99999); Или при создании иконки есть параметр visibleDistance. Насчет dxDrawText: Он создается в рендере (т.е. при каждой смене кадра у тебя рисуется этот текст). Создай переменную которая бы хранила значение, показывать текст или нет. И при каждом создании просто проверяй это условие.
-
Я думаю так: Поставить бинд на пробел. А потом в функции бинда, через таймер в 200 мс (скорее всего сразу может не сработать, а может и нет?), проверить состояние игрока через getControlState("jump"). И если условие истинно - манипулировать.
-
Да, данный код у меня работает.
-
Чтобы стандартное сообщение из события не выводилось, нужно использовать cancelEvent() в самом ивенте
