Jump to content

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


Recommended Posts

  • Other Languages Moderators
красные, синие, зееные и т.д. линии на картинке, что это и как это использовать?

f1df71318c28.png

красными выделен как бы сам объект (хз как по другому назвать), а зеленые и синии, я думаю, для ориентации в пространстве.

Link to comment
красные, синие, зееные и т.д. линии на картинке, что это и как это использовать?

f1df71318c28.png

красными выделен как бы сам объект (хз как по другому назвать), а зеленые и синии, я думаю, для ориентации в пространстве.

попоробнее, как их создавать?

Link to comment

Красными выделены границы объекта (bounding box), остальные "палочки" это оси (вобще их 3 должно быть, на скрине вижу только две). Всё это называется Gizmo.

Link to comment
Красными выделены границы объекта (bounding box), остальные "палочки" это оси (вобще их 3 должно быть, на скрине вижу только две). Всё это называется Gizmo.

да это понятно все. Как мне такую же запилить? конкретно хочу из такой штуки лазер на оружие приделать.

Link to comment

Всего лишь один простой вопрос, ответьте пожалуйста:

Можно ли сделать так, чтобы чемодан в руках держался нормально и при беге все время был в руке как в SA:MP, а не закреплен только в одной точке и неподвижен?

Link to comment
Как сделать так, чтобы клиентская функция вызывалась спустя 0.5 секунды после вызова серверной функции?

Сам по суди: расстояние между клиентом и сервером всегда разное - соответственно пинг разный, +качество инета у клиента. Вывод: никак. Нельзя быть уверенным что клиентская функция сработает в нужное время. Из-за лагов инета она может вызваться и через 20 секунд.

Link to comment

Есть простая функция, которая вызывается клиентом:

function pickBag ( ) 
    setPedAnimation ( source, "MISC", "pickup_box", -1, false ) 
    setTimer ( function () 
        setPedAnimation ( source, "CARRY", "crry_prtial", 1) 
    end, 1500, 1 ) 
end 
addEvent ( "onPickBag", true ) 
addEventHandler ( "onPickBag", getRootElement(), pickBag ) 

но жалуется на source в setTimer (), Bad Argument, а то, что не в setTimer выполняется без всяких ошибок.

Если вставить getRootElement () или с клиента передавать аргумент localPlayer, то внутри setTimer всё выполняется. Но вот почему-то source, что внутри функции в setTimer не видит. Почему так?

Link to comment
Есть простая функция, которая вызывается клиентом:

function pickBag ( ) 
    setPedAnimation ( source, "MISC", "pickup_box", -1, false ) 
    setTimer ( function () 
        setPedAnimation ( source, "CARRY", "crry_prtial", 1) 
    end, 1500, 1 ) 
end 
addEvent ( "onPickBag", true ) 
addEventHandler ( "onPickBag", getRootElement(), pickBag ) 

но жалуется на source в setTimer (), Bad Argument, а то, что не в setTimer выполняется без всяких ошибок.

Если вставить getRootElement () или с клиента передавать аргумент localPlayer, то внутри setTimer всё выполняется. Но вот почему-то source, что внутри функции в setTimer не видит. Почему так?

Потому что нет никакого 'source' у функции setTimer, а есть таймер. Чтобы все работало, тебе нужно передать нужный аргумент этой функции.

function pickBag ( ) 
    setPedAnimation ( source, "MISC", "pickup_box", -1, false ) 
    setTimer ( function (player) 
        setPedAnimation ( player, "CARRY", "crry_prtial", 1) 
    end, 1500, 1, source ) 
end 
addEvent ( "onPickBag", true ) 
addEventHandler ( "onPickBag", getRootElement(), pickBag ) 

Link to comment
  • Other Languages Moderators
Извиняюсь за нубский вопрос.

Сейчас если с нуля погружаться в изучение баз данных, с чего лучше начать? С этого топика viewtopic.php?f=153&t=37482 или https://wiki.multitheftauto.com/wiki/RU/ ... /MTA-MySQL ?

Все по разному, некоторые любят встроенные db-функции, а некоторые модуль (как по мне он проще и функций в нем больше).

Ничего посоветовать не могу, дабы не начинать холивар.

Link to comment

Вопрос, может быть кто то знает...

Нужно заблокировать игрокам стандартные команды ( register, login, showchat ), знаю, что можно это сделать через acl, но на сколько мне известно - есть еще какой то способ, т.к, зайдя на один сервер, я ввел login, register и ничего просто не происходило ( я про сообщение, типа доступ заблокирован ).

Link to comment
  • Scripting Moderators
addEventHandler ( "onPlayerCommand", root, 
    function ( cmd ) 
        if ( cmd == "login" ) or ( cmd == "register" ) or ( cmd == "showchat" ) then 
            cancelEvent ( ) 
        end 
    end 
) 

На счет showchat не уверен, нужно проверять.

Link to comment

Не открывается список.

radSpis = { 
    {"http://radiorecord.fm/m3u/trap320-32kbps.m3u", "Dubstep #1"}, 
    {"http://radiorecord.fm/m3u/trap320-32kbps.m3u", "Hard Rock #1"} 
} 
  
Radio.combobox[1] = guiCreateComboBox(20, 146, 307, 21, "Список радио:", false, Radio.window[1]) 
for s, n in ipairs (radSpis) do 
    local url, name = unpack ( n ) 
    guiComboBoxAddItem(Radio.combobox[1], tostring ( name )) 
end 

Link to comment
Не открывается список.
radSpis = { 
    {"http://radiorecord.fm/m3u/trap320-32kbps.m3u", "Dubstep #1"}, 
    {"http://radiorecord.fm/m3u/trap320-32kbps.m3u", "Hard Rock #1"} 
} 
  
Radio.combobox[1] = guiCreateComboBox(20, 146, 307, 21, "Список радио:", false, Radio.window[1]) 
for s, n in ipairs (radSpis) do 
    local url, name = unpack ( n ) 
    guiComboBoxAddItem(Radio.combobox[1], tostring ( name )) 
end 

height слишком маленький. В ComboBox параметр height отвечает за высоту выпадающего меню.

Link to comment

Почему это не работает? Пишет, что massa это таблица. (выполняется на сервере)

  
function giveGruz (player) 
    setElementData (player, "gruz", {[1] = 100, [2] = 50}) 
    local t = getElementData (player, "gruz") 
    for i, massa in pairs{ t } do  
    outputChatBox( i..' '..massa, player ) 
    end 
end 
addCommandHandler ('gg', giveGruz) 
  

Link to comment
Почему это не работает? Пишет, что massa это таблица. (выполняется на сервере)
  
function giveGruz (player) 
    setElementData (player, "gruz", {[1] = 100, [2] = 50}) 
    local t = getElementData (player, "gruz") 
    for i, massa in pairs{ t } do  
    outputChatBox( i..' '..massa, player ) 
    end 
end 
addCommandHandler ('gg', giveGruz) 
  

Потому что ты передаёшь таблицу t в ещё одной таблице в функцию pairs, это видно по 5-ой строчке. В Lua функции можно вызывать опуская круглые скобки если в аргумент передаётся строка или таблица - что ты и сделал.

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