Jump to content

StUNt71

Members
  • Posts

    341
  • Joined

  • Last visited

Everything posted by StUNt71

  1. Хах... экстремально. Это была критика или что вообще? Бесмысленные флуд? Если хочешь сделать замечания, то выскажи. А так от этого взрыва не отнимется здоровье. Взрыв "виден" только клиенту. Хотя сам взрыв не виден.
  2. Обычные циклы и таблицы 2, 1 хронит всю информацию о музыке. 2 это список запущенной музыки.
  3. Там всё просто. Тебя скорее всего пугают таблицы, которые я сделал. Ты сначало мой код проверь на работоспособность.
  4. А мне всё таки кто-нибудь ответит, оно работает? Я ведь не проверял даже.
  5. Лови: DOWNLOAD SCRIPT CLIENT-SIDE local marker local musics = { { {"music1.mp3", 780, -1362.09, 13.199}, {"music1.mp3", 780, -1357.8, 13.19}, {"music1.mp3", 767.4, -1360.199, 13.1}, {"music1.mp3", 773.4, -1351, 12.5}, {"music1.mp3", 773, -1369.5, 12.5} }, { {"music2.mp3", 780, -1362.09, 13.199}, {"music2.mp3", 780, -1357.8, 13.19}, {"music2.mp3", 767.4, -1360.199, 13.1}, {"music2.mp3", 773.4, -1351, 12.5}, {"music2.mp3", 773, -1369.5, 12.5} }, { {"music3.mp3", 780, -1362.09, 13.199}, {"music3.mp3", 780, -1357.8, 13.19}, {"music3.mp3", 767.4, -1360.199, 13.1}, {"music3.mp3", 773.4, -1351, 12.5}, {"music3.mp3", 773, -1369.5, 12.5} } } local playMusic = { } --====================================================================================== addEventHandler("onClientResourceStart", resourceRoot, function() bindKey ("F5", "down", showWindow) window = guiCreateWindow(15, 306, 200, 250, "DJ Panel", false) guiWindowSetSizable(window, false) guiSetVisible(window, false) on1 = guiCreateButton(25, 50, 50, 20, "On", false, window) addEventHandler("onClientGUIClick", on1, function () triggerServerEvent("startMusic", localPlayer, 1) end, false ) on2 = guiCreateButton(25, 100, 50, 20, "On", false, window) addEventHandler("onClientGUIClick", on2, function () triggerServerEvent("startMusic", localPlayer, 2) end, false ) on3 = guiCreateButton(25, 150, 50, 20, "On", false, window) addEventHandler("onClientGUIClick", on3, function () triggerServerEvent("startMusic", localPlayer, 3) end, false ) off = guiCreateButton(125, 100, 50, 20, "Off", false, window) addEventHandler("onClientGUIClick", off, function () triggerServerEvent("stopMusic", localPlayer) end, false ) marker = createMarker() -- Сам сделаешь маркер end ) --====================================================================================== function showWindow() if isElementWithinMarker(localPlayer, marker) then if guiGetVisible(window) == true then guiSetVisible(window, false) showCursor(false) elseif guiGetVisible(window) == false then guiSetVisible(window, true) showCursor(true) end end end --====================================================================================== addEvent("onMusicStart", true) addEventHandler("onMusicStart", root, function (music) for _, sound in ipairs(playMusic) do if sound then destroyElement(sound) end end for musicInfo in pairs(musics[music]) do local sound = playSound3D(unpack(musicInfo)) table.insert(playMusic, sound) end end ) --====================================================================================== addEvent("onMusicStop", true) addEventHandler("onMusicStop", root, function () for _, sound in ipairs(playMusic) do if sound then destroyElement(sound) end end end ) SERVER-SIDE addEvent("musicStart", true) addEventHandler("musicStart", root, function (music) triggerClientEvent(root, "onMusicStart", source, music) end ) --====================================================================================== addEvent("musicStop", true) addEventHandler("musicStart", root, function () triggerClientEvent(root, "onMusicStop", source) end ) P.S.: Скрипт изменил для удобности.
  6. Наверное Lil почистил, не?
  7. Чтобы удалить предыдущую машину, в elementData надо сохранять элемент машины, проверять на её наличие и удалять. vehicle = getElementData(source, "myVehicle") if vehicle then destroyElement(vehicle) end local vehicle = createVehicle(...) setElementData(source, "myVehicle", vehicle)
  8. Попробуй создать где-нибудь над игроков взрыв, который трясёт экран, но не коцает ХП, нет звука и не видим. EDIT: addEventHandler("onClientPlayerWeaponFire", root, function () if source == localPlayer then local posX, posY, posZ = getElementPosition(localPlayer) createExplosion(posX, posY, posZ + 15.0, 13) end end ) P.S.: Трясётся только камера, чем выше взрыв, тем меньше трясётся камера, но заметно хорошо когда posZ + 50.0.
  9. setPedAimTarget. Хз, мб получится.
  10. В mtaserver.conf Поставь первым клиент с фоном и звуком, мб поможет.
  11. Стоит делать много своих событий вместо функций?
  12. Не интересовался кто это, он\она.
  13. Ты? Ну, ясно. Склеивай 2 сообщения в 1. Верно. Ну это понятно, а стандартная функция есть? Как в соседнем мультиплеере. И подскажите ID объекта стрелки.
  14. Есть функция, чтобы над человеком\машиной мигала\плавала стрелочка?
  15. Как я посмотрел, да. Это стандартный тюнинг авто.
  16. math.floor (x) Возвращает наибольшее целое число, меньшее или равное x. (Округление «вниз») ---- Мне надо при делении целое число. Всё я уже нашёл решение. P.S.: Сам спросил, сам ответил.
  17. Есть функция, чтобы получить целое число при делении и остаток? Догадываюсь в math. может быть? ----------- Первое нашёл. math.fmod (x, y) Возвращает остаток от деления x на y. ----------- Целое можно и так получить: local c = (a - math.fmod(a, 10)) / 10
  18. Попробуй установить функции в этом порядке: setCameraTarget(source, player) setCameraInterior(source, getElementInterior(player)) setElementInterior(source, getElementInterior(player)) setElementDimension(source, getElementDimension(player))
  19. Установи сначало setCameraInterior такую же как и у элемента, и тогда setCameraTarget не будет лагать.
  20. Решил свою проблему другим способом.
×
×
  • Create New...