Jump to content

Запуск ресурса только для конкретного игрока


Recommended Posts

Столкнулся с такой задачей: нужно, чтобы определенный ресурс, состоящий из клиентских скриптов, запускался только для отдельного игрока (то есть чтобы этот ресурс не скачивался для всех игроков при старте). startResource под это вроде как не подходит, ведь это - серверная функция.

Можно ли как-то это сделать?

Link to comment
41 minutes ago, AfterAll14 said:

В мете можно выставить параметр download_priority_group. Он определяет порядок загрузки ресурсов у клиента. Почитай описание меты на вики.

Этот параметр определит порядок загрузки ресурсов. Но ведь все они всё равно в конечном счёте будут загружены у всех клиентов. А возможно ли, чтобы определенные ресурсы скачивались только для определенных игроков (а для остальных игроков - не скачивались)

Link to comment

Это нельзя сделать стандартными средствами МТА. Все ресурсы запускаются для всех клиентов.

Придется тебе все делать самому.

Через следующие функции:

loadstring

Через неё можно запускать Lua код на клиенте/сервере.


Если хочешь сделать скачивание файлов с сервера, то нужно использовать (можно выбрать между downloadFile и triggerLatentClientEvent): 

downloadFile 
triggerLatentClientEvent

 

Edited by Kenix
Link to comment
1 hour ago, Kenix said:

 


loadstring

Через неё можно запускать Lua код на клиенте/сервере.

Получается, с помощью этой loadstring можно с клиента запустить любую серверную функцию? o.O Разве это безопасно?

Link to comment
2 hours ago, CharlySHOMAN said:

Получается, с помощью этой loadstring можно с клиента запустить любую серверную функцию? o.O Разве это безопасно?

Вы можете через клиент только запустить событие вызвав функцию

triggerServerEvent

.

Link to comment

@CharlySHOMAN, можно в теле скрипта сделать ограничение, на то у кого будут выполняться функции, а данные и вызов функций передавать через triggerClientEvent. Это для того что-бы код исполнялся только у отдельных игроков.

Если нужно что-бы ресурсы не загружались, то нужно использовать downloadFile. Правда на 100% не уверен что работает со скриптами.

Link to comment
11 hours ago, Fabervox said:

@CharlySHOMAN, можно в теле скрипта сделать ограничение, на то у кого будут выполняться функции, а данные и вызов функций передавать через triggerClientEvent. Это для того что-бы код исполнялся только у отдельных игроков.

Если нужно что-бы ресурсы не загружались, то нужно использовать downloadFile. Правда на 100% не уверен что работает со скриптами.

Я это хочу сделать не для того, чтобы ограничить игрокам доступ к некоторым скриптам. Я это хочу сделать для того, чтобы эти скрипты просто не скачивались всем игрокам. Допустим, какому-то игроку недоступна какая-то команда. Зачем загружать ему скрипт с этой командой? Незачем.
 

Я думал, может через ALC можно выдать определенным игрокам на доступ к скачиванию определенного ресурса?

Link to comment

Если в коде нет так сказать точки входа, и он ждет чего-то от сервера, то усилия по реверсу логики скрипта, будут "дороже" написания скрипта из общей концепции логики доступной всем.

Ну а скачивались, не скачивались, а какая разница то? У вас там что, сотни мегабайт кода? Просто пропишите cache=false и/или откомпилируйте, плюс переносите что можете на серверную часть.

Желание не скачивать скрипты, при том что пусть берет кто хочет, вообще выглядит странно. Команды так вообще не обязательно на клиентской части делать, и сделать можно не для всех.

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