Jump to content

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


Recommended Posts

Допустим у меня есть скрипт с названием Re_a.zip а мне необходимо чтобы после onPlayerWaster открывалось Gui окно из скрипта gui_s.zip , т.е срабатывала функция из gui_s.zip , вроде возможно но не шарю.

Link to comment
Допустим у меня есть скрипт с названием Re_a.zip а мне необходимо чтобы после onPlayerWaster открывалось Gui окно из скрипта gui_s.zip , т.е срабатывала функция из gui_s.zip , вроде возможно но не шарю.

юзать экспорт функции

Link to comment
Допустим у меня есть скрипт с названием Re_a.zip а мне необходимо чтобы после onPlayerWaster открывалось Gui окно из скрипта gui_s.zip , т.е срабатывала функция из gui_s.zip , вроде возможно но не шарю.

юзать экспорт функции

вспомнил.. там export:name:function и т.д у мя на форуме в уроке как работать через customblip есть пример

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

Можно, но не совсем как тебе хочется и достаточно замысловато. Нужно постоянно мониторить кол-во оставшихся патронов в обойме в каждом слоте игрока. Как только остается 1 патрон в каком-то слоте, нужно отключать возможность стрелять. Включить возможность стрелять нужно, если игрок вручную перезарядился или в слоте появилось другое оружие.

Если устраивает, могу просто дать список событий и функций, дальше уже запилишь (:

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

Можно, но не совсем как тебе хочется и достаточно замысловато. Нужно постоянно мониторить кол-во оставшихся патронов в обойме в каждом слоте игрока. Как только остается 1 патрон в каком-то слоте, нужно отключать возможность стрелять. Включить возможность стрелять нужно, если игрок вручную перезарядился или в слоте появилось другое оружие.

Если устраивает, могу просто дать список событий и функций, дальше уже запилишь (:

Спасибо за идею. Дальше сам разберусь)

Link to comment

в идеале это, конечно, будет в комбинации с собственным hud'ом, который вместо оставшегося патрона будет показывать 0, да и любые другие значения патронов будет показывать на 1 меньше.

Link to comment

Как можно проверить что введенный в ГУИ-элемент текст является целым числом, а не например строкой. А также как проверить что в этом элементе не ввели пустой текст. guiGetText(myGUI)~=false не работает почему-то.

Link to comment
Как можно проверить что введенный в ГУИ-элемент текст является целым числом, а не например строкой. А также как проверить что в этом элементе не ввели пустой текст. guiGetText(myGUI)~=false не работает почему-то.
local INPUT = tonumber(GUI_TEXT) 
if INPUT == math.floor(INPUT) then 
    -- INPUT это целое число 
else 
    -- INPUT не целое число 
end 

но это не совсем точно, но сработает. Также есть в сети функции, где каждый символ строки проверяется

Link to comment

Спасибо. И еще такой вопрос: Может кто замечал, но иногда событие "onClientMarkerHit" успевает срабатывать два раза. Это конечно редко происходит, но все же. Когда мне надо отобразить ГУИ при входе в маркер, то я решаю эту проблему проверкой guiGetVisible. Но вот в остальных случаях когда мне нужно к примеру дать денег вошедшему, то никакие проверки не приходят в голову. Так вот есть ли способ проконтролировать одиночное вхождение в маркер? Может как-то остановить игрока или что... Подскажите кто знает :)

Link to comment

Ну запоминаем в какую-нибудь переменную, что он вошел в маркер, а если событие опять вдруг происходит, чекаем эту переменную, если в ней что-то есть, то ничего не делаем.

local hit = false 
addEventHandler( 'onClientMarkerHit', yourMarkerElement, function( elem, dim ) 
  --если игрок попал в маркер и он в правильном измерении и в переменной hit ничего нет, то 
  if elem == localPlayer and dim and not hit then 
    --через 250мс переменная очистится 
    hit = setTimer( function() hit = false; end, 250, 1 ) 
    --далее твой код 
  end 
end ) 

Edited by Guest
Link to comment
addEventHandler( 'onClientMarkerHit', yourMarkerElement, -- yourMarkerElement элемент маркер 
    function( elem, dim ) 
        if elem == localPlayer then -- Если игрок вошедший в маркер это локальный игрок то 
            -- код 
        end 
    end  
) 

Link to comment

Причина многократных срабатываний не в МТА, а в самой ГТАСА. Маркер, который не был уничтожен, он просто респавнится. Игрок может стоять на нем, когда он взят, маркер зареспавнится и снова событие вызывается. Попробуй еще другие типы маркеров.

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...