Jump to content

Вопросы и ответы по MTA.


Recommended Posts

а зачем сохранять все тачки если у тебя мускул? Изменил что-то - сохранил

тогда как сохранять позицию?

При выходе игрока с сервера и при выходе с автомобиля(и проверить личный ли это автомобиль)

Link to comment

Есть целая тема с ссылками на русские Lua манулы, даже с моими личными рекомендациями насчет некоторых. Там и про циклы, и про таблицы и даже про типы переменных все сказано на доступном языке. Я сам, можно сказать, по ним научился языку Lua, что и вам советую, товарищи новички.

Сначала изучите сам язык, он весьма простой, а потом уже спрашивайте о его применении с МТА функциями.

Link to comment
  
showCursor(false) 
for _, gui in ipairs(getElementsByType("gui-window")) do 
    if guiGetVisible(gui) == true then 
        showCursor(true) 
        break 
    end 
end 
-- Ну или второй вариант 
local show = false 
for _, gui in ipairs(getElementsByType("gui-window")) do 
    if guiGetVisible(gui) == true then 
        show = true 
        break 
    end 
end 
showCursor(show) 

Получается так?

------

А что эта функция возаращет и при каких условиях? isMTAWindowActive. транслейт.гугл.ру мне не помог.

Link to comment
Почему на вы? :)

И в циклах ipairs, pairs я толком не разобрался. :(

это не ПМ и читать будут другие люди, новички, опытные, поэтому "вы". А там и разбираться нечего, главное понять между ними разницу, первый пробегает только по числовым индексам таблицы, идущим по порядку, а второй - по всем индексам без исключения в хаотичном порядке (: Что придумал, то сказал, но учебник все равно на английском, а переводы хромают.

Link to comment

Процитирую свой пост на другом форуме, по-поводу iparis, paris:

Функция pairs() уникальная функция в lua, которая экспортирует ключ, значение из таблиц (массивов). Следует различать pairs() с ipairs(), так как ipairs() выдает индекс, а не название ключа, а значение остается прежним, например:

table= { numbers = 123, text = "I Love MTA" } -- Создаем новую таблицу под названием table и записываем два ключа со значениями.

for key,value in pairs(table) do print(key,value) end

Выведет:

numbers 123

text I Love MTA

Тот же пример, только с функцией ipairs():

for key,value in ipairs(table) do print(key,value) end

Выведет:

Ничего, так как нет индексов.

А теперь к примеру:

table = { } -- создаем пустую таблицу.

table[1] = 1245

table[2] = "TEXT"

for key,value in ipairs(table) do print(key,value) end

Выведет:

1 1245

2 TEXT

P.S:

Разберем код:

for theKey,thePlayer in ipairs(getElementsByType ( "player" ) ) do

при запуске цикла, создаются две переменной theKey, thePlayer, далее функция getElementsByType возвращает таблицу с игроками, где первое значение индекс, второе значение ник игрока, который записывается в переменные theKey и thePlayer, цикл будет существовать до тех пор, пока не экспортируем все значения из таблицы, которая вернула функция getElementsByType .

Link to comment
Процитирую свой пост на другом форуме, по-поводу iparis, paris:
Функция pairs() уникальная функция в lua, которая экспортирует ключ, значение из таблиц (массивов). Следует различать pairs() с ipairs(), так как ipairs() выдает индекс, а не название ключа, а значение остается прежним, например:

table= { numbers = 123, text = "I Love MTA" } -- Создаем новую таблицу под названием table и записываем два ключа со значениями.

for key,value in pairs(table) do print(key,value) end

Выведет:

numbers 123

text I Love MTA

Тот же пример, только с функцией ipairs():

for key,value in ipairs(table) do print(key,value) end

Выведет:

Ничего, так как нет индексов.

А теперь к примеру:

table = { } -- создаем пустую таблицу.

table[1] = 1245

table[2] = "TEXT"

for key,value in ipairs(table) do print(key,value) end

Выведет:

1 1245

2 TEXT

P.S:

Разберем код:

for theKey,thePlayer in ipairs(getElementsByType ( "player" ) ) do

при запуске цикла, создаются две переменной theKey, thePlayer, далее функция getElementsByType возвращает таблицу с игроками, где первое значение индекс, второе значение ник игрока, который записывается в переменные theKey и thePlayer, цикл будет существовать до тех пор, пока не экспортируем все значения из таблицы, которая вернула функция getElementsByType .

Я думал thePlayer - это не ник игрока, а элемент.
Link to comment

pairs перебирает весь хеш, а ipairs пройдётся только по числовым индексам и остановится на первом отсутствующем (т.е. 0, 1, 2, 3, 4, 6, 7 - ipairs остановится на 4 и дальше не пойдёт)

Link to comment

Какую консоль ты имеешь в виду? В ту что на F8 ошибки скриптов не выводятся, а в черную консоль сервера, запущенного на компе, выводятся только ошибки серверных скриптов. Лучше всего для выявления ошибок твоих ресурсов использовать дебаг, прописав в чат команду /debugscript 3 (при условии что ты с правами админа на сервере), при этом снизу экрана появится дебаг наподобие чата, куда будут выводиться все ошибки и предупреждения всех клиентских и серверных скриптов.

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