Jump to content

Flaker

Members
  • Posts

    619
  • Joined

  • Last visited

Everything posted by Flaker

  1. Он хочет что бы dx текст переносился при наличии символа "\n" в нем
  2. есть атрибут WordWrap в функции dxDrawText wordBreak: if set to true, the text will wrap to a new line whenever it reaches the right side of the bounding box. If false, the text will always be completely on one line. это знаю, но текст будет переноситься, если слово не влазит, а я допустим хочу каждое слово с новой строки, слова разные по величине Готового нету в паблике... Сделай сам... Это не сложно
  3. есть атрибут WordWrap в функции dxDrawText wordBreak: if set to true, the text will wrap to a new line whenever it reaches the right side of the bounding box. If false, the text will always be completely on one line.
  4. https://wiki.multitheftauto.com/wiki/FindRotation Объясни поконкретнее... Что ты вобще хочешь?
  5. Дык вон же, человек выше даже код скинул с этой функцией! https://wiki.multitheftauto.com/wiki/SetElementAlpha
  6. Ну еклмн... Для чего на комьюнити выкладывал( Людям даже поискать лениво!
  7. Никто за тебя не будет редактировать целый ресурс! И если ты хочешь, что бы тебе помогали быстро и четко, то описывай проблемму конкретно... Вобщем ладно... Я тебе могу описать алгоритм, но если ты совсем новичок, то с этим ресурсом (Код которого ты скинул) ты врядли разберешься... Хотя... Алгоритм примерно такой: в каком либо событии: 1) Получаешь машину игрока (https://wiki.multitheftauto.com/wiki/GetPedOccupiedVehicle) 2) Узнаешь какую станцию он хочет включить 2) Далее шлешь данные на сервер triggerServerEvent ( "createSound", root, StationID, theVehicle) 3) На сервере принимаешь все это дело и отсылаешь всем клиентам addEvent ( "createSound", true ) addEventHandler ( "createSound", root, function ( id, theVehicle) if ( theVehicle ) then triggerClientEvent(root, "createSoundClient", root, id, theVehicle) end end ) 4) На клиенте принимаешь опять все это и создаешь 3D звук addEvent ( "createSoundClient", true ) addEventHandler ( "createSoundClient", root, function ( id, theVehicle ) local x, y, z = getElementPosition(theVehicle) local sound = playSound3D(id, x, y, z ) attachElements ( sound, theVehicle ) end ) P.S. Об этом есть множество топиков на форуме... Стоит только поискать)
  8. Что читать умеешь, это неплохо... Объекты в разных дименшинах вобще не будут взаимодействовать... Лаги вызывают не дименшны...
  9. Небольшая поправочка: 'Available client side from 1.3.1' да уж... Я древний) Не успеваю следить за этим уже( Аналогов для клиента конечно же нету...? ладно что нибудь придумаю может быть Работает она на клиенте оказывается! (с версии 1.3.1) Кстати, вот тебе функция нахождения ближайшего vehicle: --Функция получения ближайшего vehicle: function getNearestVehicle(elem, minDist) local X, Y, Z = getElementPosition( elem ) local curDist = minDist local curVehicle for _,veh in ipairs(getElementsByType('vehicle')) do local posX, posY, posZ = getElementPosition( veh ) local vehDist = getDistanceBetweenPoints3D ( posX, posY, posZ, X, Y, Z ) if ( vehDist < curDist ) then curDist = vehDist curVehicle = veh end end end --пример использования addEventHandler("onClientPlayerVehicleEnter",root,function() local nearestVehicle = getNearestVehicle(source, 100) end)
  10. Для проверки бега используется контрол: sprint Make the player sprint Нужно перебрать все машины ( получаешь их с помощью getElementsByType ) и находишь ближайшую (проверяешь расстояние до каждой, и находишь минимальное). Просто проверяешь state двух клавишь (getKeyState) p.s. warpPedIntoVehicle - это серверная ф-ция!!!
  11. На сколько я знаю такой фичи нет... Это самому написать проще простого... Алгоритм примерно такой... (допустим для repeat-x) Получаем размер экрана curwidth = 0 -это текущее положение по x дальше в цикле while (curwidth < ширины экрана) рисуем картинку в координате x равной curwidth curwidth = curwidth + ширина картинки Вот и все вобщем то) Так же и по y можно...
  12. Отслеживаем выстрел: https://wiki.multitheftauto.com/wiki/OnClientWeaponFire В аргументах эвента OnClientWeaponFire позиция попадания есть, оттуда ее вытаскиваешь Дальше создать тросс можно с помощью функции DxDrawMaterialLine3D https://wiki.multitheftauto.com/wiki/DxDrawMaterialLine3D Рисуем примерно так: В рендере узнаем координаты игрока и рисуем до позиции попадания выстрела. Далее двигаем объект на заданые координаты. https://wiki.multitheftauto.com/wiki/MoveObject
  13. dxТекст не приатачишь в рендере надо каждый раз позицию объекта получать
  14. Flaker

    Points send

    If u want create stats system(with integration at web), then i recommend u to use MySQL databases for this, else u can use this functions: https://wiki.multitheftauto.com/wiki/CallRemote https://wiki.multitheftauto.com/wiki/FetchRemote
  15. Там про надписи над объектом ничего нет Ну как нет то? Все есть! Главное уметь искать! Ладно, упрощю тебе задачу: Получаем позицию объекта: https://wiki.multitheftauto.com/wiki/GetElementPosition Получаем позицию этого объекта на экране: https://wiki.multitheftauto.com/wiki/GetScreenFromWorldPosition Рисуем текст: https://wiki.multitheftauto.com/wiki/DxDrawText
  16. Посмотри примеры к этой функции: https://wiki.multitheftauto.com/wiki/GetPedBonePosition Там все что надо для этого есть.
  17. As example: local w, h = guiGetScreenSize ( ) addEventHandler("onClientRender",root, function() dxDrawText ( getPlayerName(localPlayer), 500, 500, w, h, tocolor ( 255, 0, 0, 255 ), 1, "default") end ) advise you to read wiki https://wiki.multitheftauto.com/wiki/DxDrawText
  18. Yeah probably I'll report it right now But what do you recommend me to make it spawn on quit event? https://wiki.multitheftauto.com/wiki/SetTimer https://wiki.multitheftauto.com/wiki/RespawnVehicle p.s. Default respawn pos is vehicle's creation position.
  19. а ты не можеш дать ссылку на эти работы? Нет никаких ссылок на эти работы! С чего ты вобще взял, что они в паблике есть?
  20. Вот этот чел по таким делам главный: http://vk.com/jesusonfire Я все у него спрашиваю обычно...
  21. Ужасный код... Очень тяжело понять, что либо в нем! У меня нет желания твой код штрудировать, в попытках найти ошибку алгоритма, так что я тебе более, имхо, оптимальный вариант написал: function spawnZombiesAroundCoords(x,y,z) --Функция Спавна зомбей math.randomseed (getTickCount()) local zombList = {} for i = 1, 50 do local posX, posY, posZ = getRandomCoordsNearPoint(x, y, z) local curnpc = createPed ( math.random (50,100), posX, posY, posZ, math.random ( 0,360 ) ) table.insert(zombList, curnpc) end return zombList end function getRandomCoordsNearPoint(x, y, z) --Получение рандомных координат local rndX = x + math.random(-20, 20) local rndY = y + math.random(-20, 20) return rndX, rndY, z end function deleteZombiesFromTable(zmbTable) --Удаление зомби из таблицы for _,zombi in ipairs(zmbTable) do if (isElement(zombi)) then destroyElement( zombi ) end end end
×
×
  • Create New...