Kenix

Other Languages Moderators
  • Content count

    4,118
  • Joined

  • Last visited

Community Reputation

33 Good

7 Followers

About Kenix

  • Rank
    Russian Section Moderator
  • Birthday 31/01/96

Details

  • Location
    Russia, Saint-Petersburg
  • Occupation
    Student
  • Interests
    Creating/listening music, programming/scripting, helping.

Recent Profile Visitors

2,190 profile views
  1. https://wiki.multitheftauto.com/wiki/SetAmbientSoundEnabled
  2. Вопрос по камере

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

    Максимум что может сделать клиент это вызвать серверное событие через triggerServerEvent Но если на сервере есть функция в событии вроде loadstring , тогда можно сделать все что угодно. Также клиент может поменять элемент дату. setElementData Которая будет синхронизироваться и на сервере тоже.
  4. Скорее всего у вас создание всех UI интерфейсов происходит вместе с событием onClientResourceStart, который привязан к root, а не к resourceRoot. Именно по этому у вас все так и возникает. resourceRoot означает, что событие будет вызываться только для этого ресурса. Примечание: В вашем ресурсе может быть либо root либо getRootElement(). root это предопределенная переменная, root и getRootElement() имеют одинаковое значение.
  5. loadstring( "outputDebugString( 1 )" )(); loadstring возвращает функцию и строку ошибки (если есть). Функцию вы должны вызвать сами. На примере показ вызов функции сразу.
  6. Используйте оператор BINARY. Пример. SELECT * FROM `table` WHERE `column` = BINARY 'value'
  7. Вы можете через клиент только запустить событие вызвав функцию triggerServerEvent .
  8. Это нельзя сделать стандартными средствами МТА. Все ресурсы запускаются для всех клиентов. Придется тебе все делать самому. Через следующие функции: loadstring Через неё можно запускать Lua код на клиенте/сервере. Если хочешь сделать скачивание файлов с сервера, то нужно использовать (можно выбрать между downloadFile и triggerLatentClientEvent): downloadFile triggerLatentClientEvent
  9. Вы создаете каждый раз локальную переменную в функции, где она хранит уникальные данные для каждого игрока. Ничего не будет. У вас есть один просчет, вы вызываете dbPoll используя аргумент ожидания ( - 1 ), сервер в этот момент ожидает. Используйте каллбэк в функции dbQuery, тогда когда запрос будет получен, то вызовется каллбек функции и потом обрабатывайте его через dbPoll. Есть примеры, советую вам внимательно прочитать все, чтобы понять как работать с базами в MTA. UPD: Вот ещё ссылка, изучите
  10. Данные можете хранить в таблицах, где ключ = игрок. Либо в элемент дате. set/getElementData. (Но только без функций) После выхода из сервера не забудьте обнулять таблицу. Пример псевдо-кода: -- Таблица данных g_pPlayersData = {}; function Add( pPlayer ) -- Функция содержащая что-то. local function vFunction() return math.random( 1, 100 ); end; -- Добавляем в таблицу по индексу ключ = игрок, значение = функция. g_pPlayersData[ pPlayer ] = vFunction; end function Call( pPlayer ) -- Получаем из таблицы функцию. local vFunction = g_pPlayersData[ pPlayer ]; -- Вызываем её. Выведет число в рандоме от 1 до 100. outputDebugString( vFunction() ); end -- Добавляем при вводе команды. addCommandHandler( "test_add", function( pPlayer ) Add( pPlayer ); end ); -- Вызываем при вводе команды. addCommandHandler( "test_call", function( pPlayer ) Call( pPlayer ); end ); addEventHandler( "onPlayerQuit", root, function() -- Удаляем при выходе из сервера. g_pPlayersData[ source ] = nil; end ); По данному примеру вы можете добавлять что угодно таблицы/числа/строки/.... Вообщем не совсем понятно о чем идет речь, что вы конкретно хотите сделать?
  11. Вопрос по multipleResults (dbPoll)

    1. Вы должны использовать параметр multi_statements в dbConnect . 2. В обычном случае вы используете: local result, num_affected_rows, last_insert_id = dbPoll ( qh, -1 ) Но здесь у вас будет local multiResults = dbPoll(queryhandle, -1) for sid, statementResult in ipairs ( multiResults ) do local resultRows, num_affected_rows, last_insert_id = unpack(statementResult) -- TODO: Какой то код дальше.. end
  12. Проблема решена, проблема была в установленных читах для CS, которые не могли давать возможность играть в МТА. Скриншот проблемы Решение проблемы: 1) Удаление Jads 2) Поиск и остановка процессов InjectorServiceProject.exe 1656 Services 0 12,692 KB Injector.exe 1228 Services 0 31,448 KB
  13. Представьте всю информацию. На какой сервер вы заходите, происходит ли эта ошибка на всех серверах. Больше информации, пожалуйста.