This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Команда

hozzy

Начинающий специалист
Автор темы
4 Авг 2021
124
9
62
Как сделать команду что бы узновать информацию о игроке по статику
 

aspid

Участник портала
8 Фев 2022
24
6
18
Это же не проблема, логика такая - ты должен при входе на сервер добывать "статический ид" из базы данных и запиши его в переменную в объекте игрока, далее тебе нужно реализовать поиск игрока по ид, например - можешь сделать массив и манипулировать им, типа, человек ввел пароль в окошке и ты добавляешь его в массив, не обязательно всего, можно просто динамический ид или какой-то идентификатор, потом когда выйдет удалять его из массива, таким образом ты сможешь быстро искать в массиве (find или любое другое решение, которое ты знаешь или которое тебе нравится) по ид

Если хочешь пиши в лс в дискорде, помогу: aspid#1660
 
Реакции: Andrew Fares

hozzy

Начинающий специалист
Автор темы
4 Авг 2021
124
9
62
Спасибо, чуть позже напишу
 

hozzy

Начинающий специалист
Автор темы
4 Авг 2021
124
9
62
Если не получиться
 

Randomchik

Гуру
high coder
19 Сен 2020
822
319
141
В редаге уже есть объект с игроками, в котором Key это Player, a Value это класс Character(Main.cs). Если у него статик лежит в параметрах класса Character, то ему достаточно когда он вводит команду сначало поискать в словаре своего игрока, если же его нету - делать запрос в базу. Не логично при старте сервера пушить массив условно в 50к людей и всю инфу о них
 
Последнее редактирование:
Реакции: dooj

aspid

Участник портала
8 Фев 2022
24
6
18
Ты не понял то, что я написал, либо не дочитал до конца, прочти еще раз)
 
Реакции: Randomchik

dooj

Гуру
high coder
24 Мар 2022
459
166
100
Странное решение. Чем плох entity:forEach()? Зачем лишние движения с созданием массива, если достаточно присвоить player.uuid = data.

Потом просто отыскать этого игрока и работать с ним:

JavaScript:
mp.players.forEach((target) => {
    if (target.uuid === uuid) {
        Манипуляции с игроком
    }
})
 

enotit

Гуру
13 Ноя 2020
553
239
107
Напиши в лс, сделаю скидку)
 

XDeveluxe

Модератор
Команда форума
high coder
30 Авг 2021
2,219
1,425
191
27
Не уверен, но если посмотреть со стороны большого сервера - производить foreach по 1000 игрокам заместо поиска ключа в dictionary (при этом не один раз, а каждый раз, когда понадобится отыскать нужного игрока) - лишняя трата ресурсов сервера, как по мне.
 

dooj

Гуру
high coder
24 Мар 2022
459
166
100
Как сделать команду что бы узновать информацию о игроке по статику
JavaScript:
mp.events.addCommand('info', (player, _, uuid) => {
    if (uuid == undefined) return player.outputChatBox('Игрока с таким UUID не существует')
    mp.players.forEach((entity) => {
        if (entity.uuid === uuid) {
            console.log(`Name: ${entity.name} Lvl: ${entity.lvl}`) // тут выводишь всю инфу
        }
    })
})
 

aspid

Участник портала
8 Фев 2022
24
6
18
Не хочу расширять объект игрока, потому что это тупо, зачем был придуман setVariable и getVariable?