Jump to content

TheVadiaCool

Members
  • Posts

    12
  • Joined

  • Last visited

About TheVadiaCool

  • Birthday July 25

TheVadiaCool's Achievements

Square

Square (6/54)

0

Reputation

  1. Всех приветствую. Нашли такую проблему. У нас на проекте карта в ресурсе, то есть при старте ресурса появляются объекты и удаляется стандартная карта GTA SA. Так вот, по какой-то причине ни на один объект не падает свет. От столба, от фар света нет. Решили разобраться, по какой же причине это. Выяснили, что даже если спавнишь стандартный объект из GTA SA, например, дорогу, то на нее свет не падает, НО СВЕТ НА ЭТОМ ЖЕ ОБЪЕКТЕ НА СТАНДАРТНОЙ КАРТЕ ЕСТЬ! Так вот, почему не работает свет на других объектах? Как решить? Может быть какие-то флаги для объекта надо прописывать или что? Или свет падает только в том случае, если карта через .IPL?
  2. Да, тоже самое. Думал, что какой-то глюк винды)
  3. Вполне возможно. Буду переезжать на VDS.
  4. Я выключал почти все ресурсы, все тоже самое, не могу найти причину. ДАЖЕ если бы были циклы, то перфоманс браузер показал бы это. Я специально создал цикл и проверил - нагрузка была показана в браузере. Причину найти не могу.
  5. Здравствуйте. Столкнулся с такой ситуацией, даже не знаю, является это проблемой или нет. Дело в том, что при простое мой сервер использует 220 MHz процессора (хостинг куплен с тарифом на 1100 MHz), соответственно, в панели хостинга показывает, что процессор нагружен на 19% (220 MHz от 1100 MHz). Притом, что игроков на сервере нет. Искал причину в Resource Browser'e, но там мне показывает, что нагрузки нет ВООБЩЕ, лишь занята оперативная память. Посмотрел и внутри самой игры с помощью IPB (Ingame Perfomance Browser), но там написано, что нагрузка процессора меньше 1%. И эти 19% держатся почти постоянно, даже ночью, когда нет СОВСЕМ никакой нагрузки от игроков. Находясь в игре, это нагрузку никак не ощутить, все сообщения отправляются быстро, задержек не имеется. Скажите, пожалуйста, норма ли это? Возможно, что сервер сам по себе тратит ресурсы, просто будучи запущенным?
  6. Даже если буду делать так, то триггер будет отправляться на координаты игрока, то есть будет 2 звука
  7. Всё, спасибо Вам огромное, вопросов уж нет по данной теме. Но при написании другого скрипта, у меня возникли определённые проблемы. Не могли бы помочь? https://forum.mtasa.com/topic/125436-помогите-пожалуйста/?tab=comments#comment-981807
  8. Написал скрипт для дверей автобуса: сделал функцию открытия и закрытия дверей с соответствующим звуком. Открытие/закрытие происходит на серверной части, а звук на локальной, т.к. на серверной, как я понимаю, нет функции playSound3D. Всё работало, слышал звуки других игроков, свои тоже, позиционирование есть, но одна заметил одну проблему. Когда один игрок, который сидит в автобусе, открывает двери, то звук воспроизводится и у второго водителя на любом расстоянии. Даже на другом конце карты. На видео, прикреплённом ниже, это отчётливо слышно и видно. Код также оставлю внизу. Помогите, кто сможет. Буду благодарен. Мета: <meta> <info author="TheVadiaCool" type="script" name="BusDoors" description="Script for open doors" /> <script src="server.Lua" type="server" /> <script src="client.Lua" type="client" /> <file src="sounds/opendoors.wav" download="true" /> <file src="sounds/closedoors.wav" download="true" /> </meta> Сервер: function binds(source) bindKey(source, "2", "down", doors) end addEventHandler("onPlayerJoin", getRootElement(), binds) function doorsFunc(source) if isPedInVehicle(source) and getPedOccupiedVehicleSeat(source) == 0 then bus = getPedOccupiedVehicle(source) if getElementModel(bus) == 413 then if not getElementData(bus, "doorsOpen") then setElementData(bus, "doorsOpen", true) triggerClientEvent("openSound", getRootElement()) setVehicleDoorOpenRatio(bus, 3, 1, 2000) setVehicleDoorOpenRatio(bus, 4, 1, 2000) setVehicleDoorOpenRatio(bus, 5, 1, 2000) else setElementData(bus, "doorsOpen", nil) triggerClientEvent("closeSound", getRootElement()) setVehicleDoorOpenRatio(bus, 3, 0, 2000) setVehicleDoorOpenRatio(bus, 4, 0, 2000) setVehicleDoorOpenRatio(bus, 5, 0, 2000) end end end end addCommandHandler("doors", doorsFunc) Клиент: function playOpenDoors(source) plr = getLocalPlayer() local x,y,z = getElementPosition(plr) openDoorsSound = playSound3D("sounds/opendoors.wav", x,y,z) setSoundMaxDistance(openDoorsSound, 25) setElementDimension(openDoorsSound, 0) end function playCloseDoors(source) plr = getLocalPlayer() local x,y,z = getElementPosition(plr) closeDoorsSound = playSound3D("sounds/closedoors.wav", x,y,z) setSoundMaxDistance(closeDoorsSound, 25) setElementDimension(closeDoorsSound, 0) end addEvent("openSound", true) addEventHandler("openSound", getRootElement(), playOpenDoors) addEvent("closeSound", true) addEventHandler("closeSound", getRootElement(), playCloseDoors)
  9. Большое спасибо за ответ! Понял свою ошибку, но до сих пор не могу понять, на что влияют аргументы.
  10. Напиши мне в ВК, помогу: vk.com/thevadiacool
  11. В общем, написал скрипт на работу грузчика, основная часть написана на клиенте. Суть такая: спавнится точка, игрок встает на неё, берёт "груз", затем несёт его в здание. Суть проблемы: спавнится метка у двоих игроков в одном месте (от лица одного игрока она в одном месте и от лица того же в том же), и если её заберёт один игрок, то она пропадёт и у второго игрока и у обоих сработает хитКлиентМаркер. Кто знает, что нужно сделать, чтобы исправить это? Может быть как-то присвоить каждому игроку свой маркер или что? Пожалуйста, помогите. Скрипт и демонстрационное видео оставлю ниже. Сервер: pickup = createPickup(131.72089, -155.40170, 141.00000, 3, 1275, 0) jobBlip = createBlip(131.72089, -155.40170, 141.00000, 11, 0, 0, 0, 255) function jobCheck(source) if not getElementData(source, "job") then setElementData(source, "job", true) outputChatBox("#00FF00Вы устроились на работу грузчика.", source, 255, 255, 255, true) playerSkin = getPlayerSkin(source) setElementData(source, "skin", playerSkin) setPlayerSkin(source, 27) setTimer(function() triggerClientEvent(source, "createPickStart", source) end, 100, 1) else setElementData(source, "job", nil) outputChatBox("#00FF00Вы закончили работу грузчика.", source, 255, 255, 255, true) setPlayerSkin(source, getElementData(source, "skin")) triggerClientEvent(source, "endJ", source) end end addEventHandler("onPickupHit", pickup, jobCheck) Клиент: pickMarkers = { {141.09631, -162.59451, 141.00000}, {141.55725, -156.79323, 141.00000}, {143.05446, -150.61909, 141.00000} } putMarkers = { {145.51653, -168.54268, 142.50313}, {145.38332, -179.90881, 142.49567}, {136.64456, -175.62262, 142.50313}, {145.56894, -207.79187, 142.50313}, {136.34845, -199.31641, 142.50082}, {136.86980, -184.26260, 142.50313}, {136.42323, -167.00807, 142.50313} } zpMin = 50 zpMax = 150 function createPickMarker(source, hitPlayer, matchingDimension) local x,y,z = pickMarkers[math.random(1, #pickMarkers)][1],pickMarkers[math.random(1, #pickMarkers)][2],pickMarkers[math.random(1, #pickMarkers)][3]-1 pickMarker = createMarker(x,y,z, "cylinder", 1.5, 0, 150, 150, 155) plr = getLocalPlayer() outputChatBox("#00FF00Возьмите стройматериалы со склада.", 255, 255, 255, true) if not getElementData(source, "zp") then else local money = math.random(zpMin,zpMax) givePlayerMoney(money) outputChatBox("#00FF00Заработано: ".. money .."", 255, 255, 255, true) end if isElement(putMarker) then destroyElement(putMarker) end addEventHandler("onClientMarkerHit", pickMarker, createPutMarker) end function createPutMarker(source, hitPlayer, matchingDimension) local x,y,z = putMarkers[math.random(1, #putMarkers)][1],putMarkers[math.random(1, #putMarkers)][2],putMarkers[math.random(1, #putMarkers)][3]-1 putMarker = createMarker(x,y,z, "cylinder", 1.5, 0, 150, 150, 155) outputChatBox("#00FF00Отнесите стройматериалы в здание.", 255, 255, 255, true) if isElement(pickMarker) then destroyElement(pickMarker) end setElementData(source, "zp", true) addEventHandler("onClientMarkerHit", putMarker, createPickMarker) end addEvent("createPickStart", true) addEventHandler("createPickStart", root, createPickMarker) function endJob(source) if isElement(pickMarker) then destroyElement(pickMarker) end if isElement(putMarker) then destroyElement(putMarker) end end addEvent("endJ", true) addEventHandler("endJ", root, endJob) Мета: <meta> <info author="TheVadiaCool" type="script" name="Job" description="Gruzchik" /> <script src="server.Lua" type="server" /> <script src="client.Lua" type="client" /> </meta>
×
×
  • Create New...