MX_Master

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

Recommended Posts

@Kail_Flin в клиентской части у тебя переменная item инициализируется и чего то в нее ложится. В фрагменте серверного кода у тебя тоже есть переменная item, но откуда она берется и что в ней лежит? Судя по всему в ней ничего нет и соответственно getElementData от item вернет false, а не массив. 

Придумай как передать item в функцию на серверной части :)

 

Share this post


Link to post
On 02.04.2018 at 10:32, LoveFist said:

@Kail_Flin в клиентской части у тебя переменная item инициализируется и чего то в нее ложится. В фрагменте серверного кода у тебя тоже есть переменная item, но откуда она берется и что в ней лежит? Судя по всему в ней ничего нет и соответственно getElementData от item вернет false, а не массив. 

Придумай как передать item в функцию на серверной части :)

 

Спасибо за ответ. Использовал другой вариант передачи данных в серверную часть triggerServerEvent.

Еще вопрос setElementData для объекта игрока, как правильно записать, что бы получить данные в серверной части, например флаг открытого меню? Или серверная сторона не видит объекты клиентской? Не совсем тут понимаю, будет ли работать такой код? Могу ли я прикрутить к объекту игрока массив(таблицу)?

--Клиенская сторона
--открытие меню
setElementData( me, 'menu_flag', true );--Флаг для игрока открывшего меню

--серверная сторона
addEvent( 'closeMenu', true );
addEventHandler( 'closeMenu', root, function()
    setElementFrozen( client, false );--Флаг для игрока открывшего меню
end);
      

 

Share this post


Link to post

Для таких ситуаций лучше использовать не setElementData, а передачу через события. Element data синхронизируется с сервером и всеми клиентами, что приведет к дополнительной нагрузке на CPU сервера и сеть.

Фактически у тебя есть событие - открытие меню игроком. По какой-то причине об этом должен знать сервер. Окей, передай это через triggerServerEvent. Все необходимые данные ты можешь передать как доп. аргументы triggerServerEvent.

Share this post


Link to post

Господа, прошу помощи!

Дано: таблица на сервере, которая постоянно обновляется.

Задача: получить в стороннем ресурсе на клиенте данные из этой таблицы.

Вижу вариант сначала получать данные в стороннем ресурсе на сервере и передать их на клиента, но вдруг есть возможность сделать короче, получить данные в той же функции, в которой запрашиваю.

Слышал про некую coroutine, возможно это то что мне поможет, но не нашел примеров как с ней работать.

Share this post


Link to post
20 hours ago, Seddo said:

Господа, прошу помощи!

Дано: таблица на сервере, которая постоянно обновляется.

Задача: получить в стороннем ресурсе на клиенте данные из этой таблицы.

Вижу вариант сначала получать данные в стороннем ресурсе на сервере и передать их на клиента, но вдруг есть возможность сделать короче, получить данные в той же функции, в которой запрашиваю.

Слышал про некую coroutine, возможно это то что мне поможет, но не нашел примеров как с ней работать.

Ну такой вот примерно рецепт усредненный, потому что вариаций масса.

Кароч ты можешь заталкать таблицу в setElementData, а можешь и в экспорты. coroutine тебе тут не поможет.

Share this post


Link to post

Какой версией языка lua используется в мта?

Share this post


Link to post
5 hours ago, triplesix said:

Какой версией языка lua используется в мта?

Lua 5.1

Share this post


Link to post

/

Edited by blueoysterfan
solved

Share this post


Link to post

Доброго времени суток. Возможно ли в playSound вместо файла или же URL использовать row data (как это например возможно в engineLoad..)? 

Share this post


Link to post
On 17/02/2019 at 12:16, Miami Night Studio said:

Доброго времени суток. Возможно ли в playSound вместо файла или же URL использовать row data (как это например возможно в engineLoad..)? 

Нет, на данный момент такой возможности нет

Share this post


Link to post
Posted (edited)

Здравствуйте, можете помочь загрузить сразу несколько авто одним архивом на сервер?

Сам новичок в скриптинге на платформе Lua, так что прошу помощи.

Edited by Nicholas Manchini

Share this post


Link to post
3 hours ago, Nicholas Manchini said:

Здравствуйте, можете помочь загрузить сразу несколько авто одним архивом на сервер?

Сам новичок в скриптинге на платформе Lua, так что прошу помощи.

а в чем проблема? Берешь и грузишь ¯\_(ツ)_/¯

Share this post


Link to post
15 hours ago, Disinterpreter said:

а в чем проблема? Берешь и грузишь ¯\_(ツ)_/¯

я просто не знаю как правильно грузить по категориям

Share this post


Link to post

@Miami Night Studio, если файлы прописаны в meta.xml, то можно ее распарсить. Можно попробовать сделать это используя PHP. Или как вариант найти здесь автора этого модуля, он часто переносил свои репозитории, должно что-то остаться.

Share this post


Link to post

Здравствуйте, недавно захотел поставить заменку на Patriot, однако мне нужно заменить название авто (зелёный текст когда садишься) и его настройки. Прошу помощи.

Share this post


Link to post

@Nicholas Manchini, добрый день. На комьюнити есть несколько вариантов: 12 и 3.

Share this post


Link to post
Posted (edited)

Доброго времени суток,  нужна помощь.

Как добавить сюда ACL группу, чтобы при нажатии, допустим, на other было "Доступно только для ..."
Если нужен полный код, скину

function Grid:init()
	local screenSize = Vector2(exports.UI:getScreenSize())
	self.renderTarget = exports.UI:getRenderTarget()
	self.width = 1000
	self.height = 500
	self.x = screenSize.x / 2 - self.width / 2
	self.y = screenSize.y / 2 - self.height / 2

	self.panel = TuningPanel({
        {icon = Assets.textures.section_1,     text = exports.MultiLang:getString("figures")},
        {icon = Assets.textures.section_2,     text = exports.MultiLang:getString("vector")},
        {icon = Assets.textures.section_3,     text = exports.MultiLang:getString("other")},
	})
	self.y = self.y + self.panel.height / 2
	self.panel.x = self.x
	self.panel.y = self.y - self.panel.height
	self.panel.textBackgroundAlpha = 140
	self.panel.backgroundAlpha = 255

	self.stickersList = {}
	self.itemsHigh = 3
	self.itemSize = self.height / self.itemsHigh
	self.itemsWide = math.floor(self.width / self.itemSize)
	self.gridRenderTarget = dxCreateRenderTarget(self.width, self.height, true)
	self.gridScrollOffset = 0
	self.gridTargetScroll = 0
	self.gridScrollY = 0
	self.selectionX = 1
	self.selectionY = 1
	self.isGridActive = false
	self.panel.highlightSelection = not self.isGridActive
	self.stickerItemScale = 0.6

	self.itemTextHeight = 40
	self.font = Assets.fonts.GridText

	self.scrollBarWidth = 6
	self.scrollBarHeight = 0
	self.scrollBarVisible = true

	self.activeSection = 1
	self:changeSection(1)
end

 

Edited by ezzzyxs

Share this post


Link to post

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.