Jump to content

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


Recommended Posts

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

Я вижу что происходит но суть уловить не могу...

function someFunc() 
local x,y,z = getElementPosition(myElement) 
triggerServerEvent("myServerEvent",localPlayer,x,y,z) 
end 

function someServerFunc(x,y,z) 
outputChatBox("X: "..tostring(x)..", Y: "..tostring(y)..", Z: "..tostring(z)) 
end 
addEvent("myServerEvent",true) 
addEventHandler("myServerEvent",root,someServerFunc) 

Как я понял то первый скрипт выполняется на стороне клиента, а второй на сервере.

Мы можем запустить функцию с помощью например:

addCommandHandler("getpos1", someFunc) 

на клиенте!

Она возьмет данные и сохранит их в переменные x,y,z.

Ну а на стороне сервера вроде все ясно вроде

someServerFunc(x,y,z) получает данные и пишет в чат!

А вот дальше для меня темнота особенно на строчке с триггером! =( Не могу понять порядок аргументов и их работу =(

Link to comment

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

https://wiki.multitheftauto.com/wiki/TriggerServerEvent

Link to comment

  
local function checkSpeedometer() 
    if (exports['roleplay-vehicles']:isPlayerRealInVehicle(localPlayer)) then 
        if (not isVisible) then 
            enableSpeedometer() 
        end 
    else 
        if (isVisible) then 
            disableSpeedometer() 
        end 
    end 
end 

че не так тут

указывает на 90строчку

Link to comment
if (exports['roleplay-vehicles']:isPlayerRealInVehicle(localPlayer)) then

5b4e8d442387.png

Переведи ошибки.

Вообще в подобных мульти-ресурсных модах есть ресурс, который отвечает за инициализацию всего остального. Поищи у себя ресурс с словами init/main/ ... что там еще быть то может... я бы сказал "или что-то такое", но, к твоим знаниям английского, этого говорить бесполезно...

Link to comment
]] 
  
local function round(num, idp) 
    local mult = 10^(idp or 0) 
    return math.floor(num * mult + 0.5) / mult 
end 
  
addEventHandler("onResourceStart", resourceRoot, 
    function() 
        local accResource = getResourceFromName("roleplay-accounts") 
        if (accResource) then 
            outputServerLog("Initializing account resource.") 
            startResource(accResource) 
             
            local waitTime = 3500+round(math.random(0, 5000), -2) 
             
            outputServerLog("Full start coming up in " .. waitTime .. " ms.") 
            setTimer(function() 
                outputServerLog("Full start beginning now.") 
                for i,v in pairs(getResources()) do 
                    if (getResourceName(v):find("roleplay-")) and (getResourceName(v) ~= "roleplay-accounts") then 
                        if (getResourceState(v) == "loaded") then 
                            if (not startResource(v)) then 
                                outputServerLog("Failed start up of " .. getResourceName(v) .. ". Please investigate.") 
                            end 
                        end 
                    end 
                end 
            end, waitTime, 1) 
        else 
            shutdown("Didn't find a required resource 'roleplay-accounts' from the server. Shutting down...") 
        end 
    end 
) 

Link to comment
что непонятно во фразе экспортирование в НЕЗАПУЩЕННЫЙ ресурс "название"?

bf2286a92d.jpg

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

Link to comment
корочь спасиб ясно понятно короче забей на вопрос

Что-то хочет что-то сделать в НЕ ЗАПУЩЕННОМ ресурсе.

Теперь спроси у ученых как исправить эту проблему. Решение в словах ведь не лежит.

Link to comment
корочь спасиб ясно понятно короче забей на вопрос

Что-то хочет что-то сделать в НЕ ЗАПУЩЕННОМ ресурсе.

Теперь спроси у ученых как исправить эту проблему. Решение в словах ведь не лежит.

да пофиг я 2 файла удалил и норм ошибок нету :D

Link to comment
да пофиг я 2 файла удалил и норм ошибок нету :D

Интересный у тебя метод решения проблем. Наверное удалил файлы которые и вызывали ошибку? Таким методом можно вообще саму МТА удалить..

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

Поэтому такого человека нельзя садить за комп. Так же как и тебе не стоит лезть в разработку игровых режимов не зная принципов работы МТА.

Ты пытаешься вызвать функцию которая находится в ресурсе, но этот ресурс не запущен, поэтому доступа к его памяти у тебя нет!

Link to comment
, если buttonName == guiGetText( shopGUI.кнопки[ i ] ) then 

[2015-01-31 12:07:55] предупреждение: GTImodshop\gui.lua:429: Bad argument @ 'guiGetText' [ожидается gui-элемента на аргумент 1, got nil] вылетает когда жму кнопки=> ( color ) (wheels) и тд.

Link to comment
  • Other Languages Moderators
, если buttonName == guiGetText( shopGUI.кнопки[ i ] ) then 

[2015-01-31 12:07:55] предупреждение: GTImodshop\gui.lua:429: Bad argument @ 'guiGetText' [ожидается gui-элемента на аргумент 1, got nil] вылетает когда жму кнопки=> ( color ) (wheels) и тд.

Функция хотела получить первым аргументом гуи элемент, а вместо этого ничего не получила.

Link to comment
, если buttonName == guiGetText( shopGUI.кнопки[ i ] ) then 

[2015-01-31 12:07:55] предупреждение: GTImodshop\gui.lua:429: Bad argument @ 'guiGetText' [ожидается gui-элемента на аргумент 1, got nil] вылетает когда жму кнопки=> ( color ) (wheels) и тд.

Функция хотела получить первым аргументом гуи элемент, а вместо этого ничего не получила.

и как сделать чтоб получила )

Link to comment
, если buttonName == guiGetText( shopGUI.кнопки[ i ] ) then 

[2015-01-31 12:07:55] предупреждение: GTImodshop\gui.lua:429: Bad argument @ 'guiGetText' [ожидается gui-элемента на аргумент 1, got nil] вылетает когда жму кнопки=> ( color ) (wheels) и тд.

Функция хотела получить первым аргументом гуи элемент, а вместо этого ничего не получила.

и как сделать чтоб получила )

Не понимаю того, что написано, но если сказать по факту, то вот этот shopGUI.кнопки[ i ] должно быть GUI-элементом (кнопка, лабел, окно и т.д.), который существует, когда ты вызываешь событие.
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...