Jump to content

CocaColaBear

Members
  • Posts

    229
  • Joined

  • Last visited

Everything posted by CocaColaBear

  1. С чем связано такое несоответствие? http://clip2net.com/s/5nflCS
  2. 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?
  3. 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 :>
  4. 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. Не проверял данный код, но по идеи должно всё нормально быть
  5. Вкратце: создаешь текст, и отображаешь его у игрока в onClientRender. Тебе понадобятся: dxDrawText getScreenFromWorldPosition
  6. Если я создаю элемент через функцию createElement, то полученный элемент входит в общий лимит всех элементов или нет? Или в этот лимит, входят только Entity? https://wiki.multitheftauto.com/wiki/Entity
  7. Ибо они уже не знают что добавить. Для кардинальных изменений требуется переписать огромную часть проекта.
  8. Можешь взять ресурс Voice. Там есть функции, которыми ты сможешь раскидать игроков по каналам, например ид_канала = ид_фракции. https://wiki.multitheftauto.com/wiki/Resource:Voice
  9. Подвох в том, что нужно правильно составлять алгоритмы решения поставленной задачи. Многие считают, что знание языка программирование гарантирует что-то, на самом деле - ничего. Максимум что вы сможете со знанием какого-либо языка - это прочитать код. Научиться составлять правильные алгоритмы - вот к чему надо стремиться.
  10. Если человек арендует машину, то никто не заставит удалить его мод МТА.
  11. px и py инициализированы, но нигде не используются о_О Данные строки кода высчитывают координаты относительно угла поворота игрока и устанавливают объект на них. Обычном языком, этот код будет всегда устанавливать объект на 0.8 метра перед игроком и всегда в ту сторону, в которую он смотрит.
  12. Проверь, тот ли элемент ты проверяешь. Нужно проверять автомобиль, а не игрока
  13. На стороне клиента используй: processLineOfSight . Вверх от игрока на единиц 200, а потом проверяй попал ли в этот промежуток какой-либо объект.
  14. Ничто не мешает сделать это самому. 1. Сохраняем введенный текст в таблицу; 2. Биндим на стрелочки действия (вверх/вниз); 3. Проходимся по таблице через стрелочки (предварительно проверив, открыт ли чат у игрока). Ничего сложного.
  15. Немного не так. В Lua не нужно указывать размерность массива ( в вашем случае - количество домов). Строчка House[5] = {} - индекс не обозначает размерность массива. Это уже индекс элемента. А вот последующее = {} делает данный элемент массивом. Т.е. после этой строки можно использовать House[5]["x"] = 0.1. А вот, например, House[4] не массив, поэтому если написать House[4]["x"] = 0.1, то произойдет ошибка, т.к. это не массив. P.S. Если не понятно, то попроси кого-нибудь объяснить, я не очень силен в этом
  16. Почти тоже самое. Сервер: 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 [Имя_игрока] показывает указаеерму игроку текст
  17. local show = false addEventHandler("onClientRender", root, function() if(show) then dxDrawText("Текст", 500, 500) end end ) addCommandHandler("showText", function() show = not show end ) Показывает и скрывает текст по команде /showText
  18. Событие смерти игрока - onPlayerWasterd Для объявлении массива с домами, тебе не нужно заранее определять размеры и элементы его полей. Просто при инициализации пишешь так: House = {} House[1] = {} House[1]["x"] = 123 House[1]["owner"] = "Ololosh" И т.д. P.S. Только вот House = {} не надо каждый раз писать. Всего лишь один раз, при объявлении. А для каждого нового индекса, необходимо House[index] = {}
  19. Мой игровой режим будет состоять из множества скриптов, которые будут работать как единый ресурс (т.е. система автомобилей будет в одной скрипте, игроков в другом и т.д.). Так вот, если у меня некоторые события будут повторяться много раз. К примеру, событие: addEventHandler("onColShapeLeave", root, function(hitElem) end ) Вызывается множество раз в различных скриптах. Есть ли разница: использовать все так как сейчас (множество таких объявлений событий), или создать одно такое событие и туда просто вписывать функции, которые будут описаны в других скриптах? Спасибо!
  20. Спасибо. Не подумал о alpha и навряд ли бы догадался
  21. неужели никто не может ничего по этому поводу сказать?
  22. Насчет названий для кнопок: Поищи во всех файлах данные надписи, найдешь - отредактируй. Насчет иконки: setBlipVisibleDistance(blip, 99999); Или при создании иконки есть параметр visibleDistance. Насчет dxDrawText: Он создается в рендере (т.е. при каждой смене кадра у тебя рисуется этот текст). Создай переменную которая бы хранила значение, показывать текст или нет. И при каждом создании просто проверяй это условие.
  23. Я думаю так: Поставить бинд на пробел. А потом в функции бинда, через таймер в 200 мс (скорее всего сразу может не сработать, а может и нет?), проверить состояние игрока через getControlState("jump"). И если условие истинно - манипулировать.
  24. Чтобы стандартное сообщение из события не выводилось, нужно использовать cancelEvent() в самом ивенте
×
×
  • Create New...