Jump to content

Общий мини "HELP ME" топик по скриптингу


Recommended Posts

function wfir () 
    outputChatBox("2") 
    outputChatBox(tostring(isElement( source ))) 
    outputChatBox(tostring(getElementType( source ))) 
    if source and getElementType( source ) == "player" then 
        local weapon = getPedWeapon (source) 
        outputChatBox(tostring(weapon)) 
        outputChatBox(tostring(getElementData (source, "currentweapon_1"))) 
        if weapon == 31 and getElementData (source, "currentweapon_1") == "M4A1 CCO" then 
            cancelEvent() 
            outputChatBox("222") 
        end 
    end 
end 
addEventHandler( "onWeaponFire",getRootElement(),wfir) 

Что не так? почему эвент не триггериЦа когда игрок стреляет?

Это событие вызывается только при стрельбе кастомного оружия. Используй onClientPlayerWeaponFire для отслеживания выстрелов игрока.

Link to comment

function weaponSwitch (weapon) 
    cancelEvent() 
addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer(), weaponSwitch ) 

когда стреляю пуля всё равно вылетает, как быть? что делаю не так? :o

Link to comment
  • Scripting Moderators
function weaponSwitch (weapon) 
    cancelEvent() 
addEventHandler ( "onClientPlayerWeaponFire", getLocalPlayer(), weaponSwitch ) 

когда стреляю пуля всё равно вылетает, как быть? что делаю не так? :o

Это событие нельзя отменить. Как вариант, можно использовать toggleControl для блокировки кнопки/клавиши стрельбы.

Link to comment
  • 5 weeks later...

Ребята, подскажите пожалуйста, как можно выключить консоль в игре?

С помощью toggleControl, как я понял такой возможности нет.

Link to comment

Я вот пытаюсь сделать шейдер уменьшение части тела.

Вот нашел пост где Кеникс говорит что это возможно.

3. Пишем шейдер, который уменьшает размер элемента

https://wiki.multitheftauto.com/wiki/Sh ... #Ped_morph (посмотреть и сделать на основе его, там используется уменьшение/увеличение частей всего тела, думаю можно поэкспериментировать)

Но писал в личку Ren_712 он сказал что это невозможно, т.к. нельзя с точностью изменять форму объекта. Даже в том же Ped_morph'е размер изменяется очень криво.

Так все же, возможно ли это или нет?

Link to comment
сделать его тоньше или толще можно, но что конкретно имеется в виду под "уменьшить"?

Скин полностью уменьшить в размере, без потери формы.

Хз. Мб глупость говорю пишу, но... Мб уменьшить модель и текстуру?

Link to comment
Хз. Мб глупость говорю пишу, но... Мб уменьшить модель и текстуру?

Мне в основном работать прийдется с CJ'ем, а его .dff заменить нельзя, да и если можно было, то это займет кучу памяти, что уже лучше реально залить изображения, о чем мне так кричали в англ. ветке.

Link to comment

Очень мало инфы по рейсовому режиму.

Интересно, можно ли в процессе гонок перемещать чекпойнты? Или хотя бы менять их тип (с ореола на столб помогло бы).

Link to comment
С чекпоинтами можно осуществлять любые операции, как и с элементами.

Пробовал setElementPosition и moveObject. При обратном получении координат с помощью getElementPosition координаты меняются. Но рейсовый сервер об этом не знает :shock:. Визуально чекпойнты остаются где были. И берутся машинами они где видны :(:(

Link to comment
Элемент какого типа вы редактировали?

checkpoint

Вот так написано на стороне клиента (step - метка в параметрах того чекпойнта, который я хочу двигать на запад):

local objs = {} -- для того, что будем просматривать 
addEventHandler("onClientResourceStart",resourceRoot, 
function() 
  objs = getElementsByType("checkpoint",source) 
  setTimer(function() 
    for i, object in ipairs(objs) do 
      local step = getElementData(object,"step") 
      if step then -- выбираем те чекпойнты, которые помечены "step" 
        local x,y,z = getElementPosition(object) 
        x = x - 1 
        outputChatBox ("X: " .. x ) 
        setElementPosition(object,x,y,z) 
      end 
    end 
  end,500,0) 
end) 
  

В чате числа меняются, а вот на карте ничего не происходит.

Link to comment
Элемент какого типа вы редактировали?

checkpoint

Вот так написано на стороне клиента (step - метка в параметрах того чекпойнта, который я хочу двигать на запад):

local objs = {} -- для того, что будем просматривать 
addEventHandler("onClientResourceStart",resourceRoot, 
function() 
  objs = getElementsByType("checkpoint",source) 
  setTimer(function() 
    for i, object in ipairs(objs) do 
      local step = getElementData(object,"step") 
      if step then -- выбираем те чекпойнты, которые помечены "step" 
        local x,y,z = getElementPosition(object) 
        x = x - 1 
        outputChatBox ("X: " .. x ) 
        setElementPosition(object,x,y,z) 
      end 
    end 
  end,500,0) 
end) 
  

В чате числа меняются, а вот на карте ничего не происходит.

Значит маркеры не связаны родственными связями с чекпоинтами, попробуйте искать маркеры, проверить всю их элементдату, возможно, поможет

Link to comment
Подскажите как можно сделать рестарт определенного ресурса на сервере например каждый час?

Таймер и restartResource в другом ресурсе.

А зачем тебе это? Скорее всего есть вариант получше.

Link to comment
Подскажите как можно сделать рестарт определенного ресурса на сервере например каждый час?

Таймер и restartResource в другом ресурсе.

А зачем тебе это? Скорее всего есть вариант получше.

проблема такая. нашел тут один ресурс на открытие частей транспорта. и все бы хорошо, но иногда он перестает работать. анимация и звуки проигрываются, а двери не открываются. а поскольку знаний в луа у меня 0,08% то исправить или написать свой не могу. а рестарт всегда помогал :lol:

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...