Jump to content

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


Recommended Posts

Клиентская сторона. Хочу сделать вывод сообщения водителю транспорта, который въехал в колшейп. Но если в транспорте сидят два игрока включая водителя, то сообщение выводится два раза ( или более в зависимости от количества пассажиров ). Подскажите пожалуйста как это исправить?

local player = getLocalPlayer() 
function startTimerHit( hitElement ) 
    if (getElementType(hitElement) == "vehicle") then 
        local driver = getVehicleController( hitElement ) 
        if (driver == player) then 
            outputChatBox("Сообщение.") 
        end 
    end 
end 

Edited by Guest
Link to comment
addEventHandler( "onClientColShapeHit", root, 
    function( pHitElement ) 
        if getElementType( pHitElement ) == "vehicle" then 
            local pDriver = getVehicleOccupant( pHitElement, 0 ); 
             
            if pDriver and pDriver == localPlayer then 
                outputChatBox( "Сообщение." ); 
            end 
        end 
    end 
); 

Link to comment
local Something = {} 
  
function Something:Create(a, b) 
  
    local object =  
    { 
        a = a, 
        b = b 
    } 
     
    function object:Delete() 
        this = nil 
    end 
  
    setmetatable(object, self) 
    self.__index = self 
    return object 
end 
  
hello_there = Something:Create(1, 2) 
print(hello_there)                     -- 0x7efd37cc66a0 
  
hello_there.Delete() 
print(hello_there)                     -- 0x7efd37cc66a0 

Как память освободить?

Link to comment
все хотел спросить, а есть ли условные циклы в Lua?

пример:

for i = 1, #test == test1 do 
end 

Насколько мне известно - нет

if #test == test1 then 
for i = 1, #test do 
end 
end 
  

image.png

Edited by Guest
Link to comment
getElementsByType 
setElementDimension 

Отслеживай измерение игрока на клиенте, если оно изменилось, то делай цикл всех объектов и устанавливай измерение к ним.

Link to comment

Как отследить событие когда пед в транспорте летит (не находится на земле)?

getPedTask 

отслеживает только когда пед без транспорта.

Link to comment

Здравствуйте ,помогите понять, как взять правильно значение Points из таблицы. Знаю что косяк где-то сдесь

addEventHandler("onTopPlayerListRequest",root, 
function(text) 
local allAccounts = getAccounts() 
local sendTable = {} 
for k,v in ipairs(allAccounts) do 
local data = 0 
local nick = getAccountName(v) 
data = tonumber(getAccountData(v,"Points")) 
if(text == "Top Points")then  
table.insert(sendTable,{["playerName"] = nick,["Value"] = data}) 
end 
end 
triggerClientEvent(client,"onClientReceiveTopListTable",client,sendTable) 
end) 

Ошибка attempt to perform arithmetic on a nil value

Link to comment
  • 1 month later...

Почему маркер типа "corona" иногда как бы не создаётся? Сам элемент есть, но маркера не видно. Смена цвета и альфы не помогает. Лимит не превышаю. Маркер создаю на клиенте.

Link to comment
Почему маркер типа "corona" иногда как бы не создаётся? Сам элемент есть, но маркера не видно. Смена цвета и альфы не помогает. Лимит не превышаю. Маркер создаю на клиенте.

Баг, аж со времен developer preview версии клиента.

Если все таки отображение короны критично, можно воспользоваться этим ресурсом.

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

Довольно критично. Нужно сделать подобие света и прикрепить к элементу. Ресурс - то, что нужно, но attach - функцию придётся самому писать

Link to comment

Всем привет. Хотел сделать, чтобы основной чат можно было открывать еще на кнопку F6.

bindKey(client, "F6", "up", "chatbox", "say") 
  

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

Работает, но при этом команды, которые я добавлял не срабатывают. Даже стандартные (/me). Они просто прописываются в чат со слэшем. Как эту проблему решить? Может быть есть другой способ.

Link to comment

Как можно проверить что все файлы скрипта 100% загрузились? Просто делал радар, а там карта большая и бывало что функция отрисовки радара запускалась раньше, чем изображение было загружено, и появлалсь ошибка в дебаге.

Link to comment

Спасибо, а еще вопрос по поводу старта ресурсов. Есть ли способ проверить что ВСЕ ресурсы загрузились и стартовали на клиенте? Опять-таки проблема с некоторыми ресурсами, которые загружаются и стартуют позже, чем надо и с сервера срабатывают триггеры с ошибками:

Server triggered client side event "Название" but event is not added clientside

Link to comment

Такого способа нет (или я упустил). Но можешь сам в каждом таком ресурсе, который требует проверки готовности клиента, вызывать своё событие на сервере (например, onClientReady) в onClientResourceStart. Уже на сервере помечаешь этот клиент как готовый (ready[client] = true) и проверяешь где нужно.

Link to comment
  • 2 weeks later...
Всем привет. Хотел сделать, чтобы основной чат можно было открывать еще на кнопку F6.
bindKey(client, "F6", "up", "chatbox", "say") 
  

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

Работает, но при этом команды, которые я добавлял не срабатывают. Даже стандартные (/me). Они просто прописываются в чат со слэшем. Как эту проблему решить? Может быть есть другой способ.

Никто не знает? :(

Link to comment
  • 2 weeks later...

НЕ могу понять почему не срабатывает Эвент

  
function visibleLoginPanel(bool) 
    showCursor(bool) 
    guiSetVisible(BackShadow, bool) 
    showPlayerHudComponent("all", not bool) 
    showChat(not bool) 
    if bool then startLoginAnimation(math.random(3)) 
    else stopLoginAnimation() end 
end 
  
addEventHandler("onClientPlayerJoin", root, function() 
    outputChatBox("* Зашел на сервер, панель появилась") 
    visibleLoginPanel(not guiGetVisible(BackShadow)) --Открыть/закрыть логин панель в зависимости от её видимости - если её не видно, то открыть, иначе - закрыть 
end) 
  

Все работает кроме этого эвента. В чем может быть проблема? И да, это на стороне клиента

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