Roven Posted July 23, 2018 Share Posted July 23, 2018 Как понять, что делают эти функции? О какой синхронизации идёт речь? NAPI.Data.SetEntityData NAPI.Entity.SetEntitySharedData NAPI.Data.GetEntityData NAPI.Data.GetEntitySharedData Link to comment Share on other sites More sharing options...
WinHexs Posted July 23, 2018 Share Posted July 23, 2018 (edited) Синхронизация данных сервера с клиентом, например, уровень, опыт, почта и т.д. Хранишь данные игрока в переменной pData: PlayerData pData = new PlayerData(); Заполняешь pData и с помощью SetEntityData изменяешь значение сущности: NAPI.Data.SetEntityData(player, "PlayerData", pData); Эти данные доступны только на сервере и получить ты их можешь с помощью GetEntityData. С помощью SetEntitySharedData изменяешь значение сущности и синхронизируешь его с клиентами: NAPI.Data.SetEntitySharedData(player, "PlayerSyncData", pData); На клиентской стороне можешь получить эти данные следующем образом: let playerData = mp.players.local.getVariable('PlayerSyncData'); И уже работать с ними: let str = playerData.Password + '\n' + playerData.Email; /* Вывод синхронизированных данных тексдравом на экран */ mp.events.add('render', () => { mp.game.graphics.drawText(str, [0.5, 0.005], { font: 1, color: [255,255,0,230], scale: [1,1], outline: true }); }); Класс PlayerData: public class PlayerData { public string Password { get; set; } public string Email { get; set; } } Можешь почитать вот эту статью И ещё список синхронизируемых типов Edited July 23, 2018 by WinHexs 2 Link to comment Share on other sites More sharing options...
Roven Posted July 28, 2018 Author Share Posted July 28, 2018 Такую статью я еще не находил.. Спасибо! Но.. это типа базы данных, вместо массивов? Т.е, я сохраняю данные сперва, в базе данных, потом считываю с базы дынных информацию и храню ее на сервере с помощью NAPI.Data.SetEntityData Далее, если игроку другому понадобится посмотреть уровень своего друга допустим, то для этого мне нужно синхронизировать нужные данные заранее, что я запомнил тогда в пункте 1 и сделать функцию на получения этих данных, после чего игрок тот будет видеть уровень своего друга.(Например нажал на кнопку в CEF и получить эти синхронизированные данные. Правильно я говорю? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now