Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
Таблица лидеров
Популярные публикации
Отображаются публикации с наибольшей репутацией на 02/07/19 во всех областях
-
6 баллов
Одежда для трейдеров
saikodelicи ещё 5 отреагировал на
ZigoFrend за сообщение в теме
Источник: Тык Мод: Тык Установка 1.Открываем init.c и ищем данный блок CustomMission: MissionServer 2.В конце данного блока вставляем void SetClothes() { TStringArray tops = {"HuntingJacket_Autumn","LeatherJacket_Beige","LeatherJacket_Black","LeatherJacket_Brown","LeatherJacket_Natural"}; // Список рандомных курток TStringArray pants = {"LeatherPants_Beige","LeatherPants_Black","LeatherPants_Brown","LeatherPants_Natural"}; // Список рандомных штанов TStringArray shoes = {"LeatherMoccasinsShoes_Beige","LeatherMoccasinsShoes_Black","LeatherMoccasinsShoes_Brown","LeatherMoccasinsShoes_Natural"}; // Список рандомной обуви TStringArray hats = {"CowboyHat_black","CowboyHat_darkBrown","CowboyHat_green","LeatherHat_Beige","LeatherHat_Black","LeatherHat_Brown"}; // Список рандомных шапок int Max; Max= m_Trader_SpawnedTraderCharacters.Count(); for (int i=0; i< Max; i++) { EntityAI item = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory(tops.GetRandomElement()); EntityAI item1 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory(pants.GetRandomElement()); EntityAI item2 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory(shoes.GetRandomElement()); EntityAI item3 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory(hats.GetRandomElement()); } } override void OnInit() { super.OnInit(); SetClothes(); } Готово ! Теперь торговцы одеты в вещи из данных списков: TStringArray tops = {"HuntingJacket_Autumn","LeatherJacket_Beige","LeatherJacket_Black","LeatherJacket_Brown","LeatherJacket_Natural"}; // Список рандомных курток TStringArray pants = {"LeatherPants_Beige","LeatherPants_Black","LeatherPants_Brown","LeatherPants_Natural"}; // Список рандомных штанов TStringArray shoes = {"LeatherMoccasinsShoes_Beige","LeatherMoccasinsShoes_Black","LeatherMoccasinsShoes_Brown","LeatherMoccasinsShoes_Natural"}; // Список рандомной обуви TStringArray hats = {"CowboyHat_black","CowboyHat_darkBrown","CowboyHat_green","LeatherHat_Beige","LeatherHat_Black","LeatherHat_Brown"}; // Список рандомных шапок Но мы же хотим одеть их сами Тогда делаем так : 1. Повторяем пункт первый 2. Вставляем туда это void SetClothes() { int Max; Max= m_Trader_SpawnedTraderCharacters.Count(); for (int i=0; i< Max; i++) { if ( i == 0 ) // Торговец с ID 0 { EntityAI item20 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("BaseballCap_Blue"); EntityAI item = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("Jeans_Black"); EntityAI item1 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("AthleticShoes_Blue"); EntityAI item2 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("Sweater_Gray"); } else if ( i == 1 ) // Торговец с ID 1 { EntityAI item21 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("BaseballCap_Beige"); EntityAI item4 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("Jeans_Blue"); EntityAI item5 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("AthleticShoes_Black"); EntityAI item6 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("Sweater_Blue"); } else if ( i == 2 ) // Торговец с ID 2 { EntityAI item8 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("BaseballCap_Black"); EntityAI item9 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("Jeans_Brown"); EntityAI item10 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("AthleticShoes_Brown"); EntityAI item11 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("Sweater_Green"); } else ( i == 3 ) // Торговец с ID 3 { EntityAI item15 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("BaseballCap_Olive"); EntityAI item12 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("Jeans_Green"); EntityAI item13 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("AthleticShoes_Brown"); EntityAI item14 = m_Trader_SpawnedTraderCharacters.Get(i).GetInventory().CreateInInventory("Sweater_Red"); } } } override void OnInit() { super.OnInit(); SetClothes(); } Думаю тут всё понятно -
2 балла
Перенос персонажей и строений
123new и ещё один отреагировал на
DimitriPokki за сообщение в теме
Germantis Если сервер ванила то ничего делать не надо. У меня старые БД работают при обнове на новую версию. Если сервер кастом придется смотреть есть ли изменения в миссии и тд. -
1 баллZigoFrend чтобы оружие дропалось не сильно то и сложно сделать, причем даже лезть не надо в конфиг мода, все в скрипте с миссии делается. А вот городить стенки это уже хз, тут милиметраж важен, да и нет гарантии что тебя на выходе не будут встречать или выход не заминируют.
-
1 баллВсю папку необязательно достаточно players.db а если надо состояние карты, посторйки что бы сохранились, лагеря и тп то да, всю папку
-
1 баллdosserua Ага
-
1 баллGermantis всю папку storage_1, она находиться в mpmissions/dayzOffline.chernarusplus/
-
1 баллstorage_1Germantis
-
1 баллПроверил оба скрипта с темы, ошибок не вызывает, сервер грузится нормально. Указанная выше ошибка имеет место быть, но моду и серверу работать это не мешает
-
1 баллэто косяки самого мода, не критично.
-
1 балл
Вопрос по классам, наследованию и тп
123new отреагировал на
NoNameUltima за сообщение в теме
BorizzK override -
1 баллNoNameUltima Но переопределить функции из основного класса не получится?
-
1 балл
Вопрос по классам, наследованию и тп
123new отреагировал на
NoNameUltima за сообщение в теме
BorizzK К чему доступ? Расширить можешь класс - добавить собственные функции\процедуры и т.п. вещи, т.е. не переписывая базу (а может и не имея доступ к классу - не имея возможность внести в базовый класс изменения), создать более расширенную версию. -
1 баллBorizzK одно и то же, пока вы не начнете добавлять классу новые функции и переменные.. Подробнее можно прочитать в Википедии
-
1 баллВыкладываю доработанную версию Полный гайд завтра Кратко 1. Кладем куда надо 2. Подключаем через include в init.c или другом включенном в init.c файле Обязательно! вне класса! Пример #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\WhiteList\\Server_WhiteList_Class.c" //Server_WhiteList ref Server_WhiteList WhiteList = new Server_WhiteList(); 3. При старте сервера выполняем его инициализацию сделав вызов функции init из класса вайтлиста находим в init.c в классе миссии или если класс миссии вынесен из init.c функцию OnInit И вставляем туда вызов override void OnInit() { WhiteList.Init(); Добавляем в тело класса миссии переопределенную функцию override void InvokeOnConnect вот так override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity) { super.InvokeOnConnect(player, identity); //Если игрок в черном списке или игрока нет в белом списке будет кик и функция вернет false if (!WhiteList.CheckWBListConnectAllow(player, identity)) { return; //IF KICK - RETURN } } Важно! Вызов super.InvokeOnConnect(player, identity); разместить до вызова функции вайтлиста иначе перс может лочится в базе Файлы вайтлиста whiteList.lst и блэклиста blackList.lst сохраняем в корне миссии в папке _CONF, но Вы можете изменить путь в самом скрипте вайт листа Формат - Steam UID (17цифр) вида 76561198156927001 в столбик если уид кривой-неверный он будет игнорится 76561198156927001 тут может быть комментарий 76561198156927001 76561198156927001 76561198156927001 те что в вайтлисте могут входить остальных кикнет те кого добавили в черный будут кикаться независимо от того есть ли они в вайтлисте если в папке _CONF лежит файл whitelistautoreload файл вайтлиста проверяется/перезагружается при каждом входе пользователя и можно не перегружая сервер изменять лист то же касается и блэклиста ( blacklistautoreload ) если файлы удалить будет использоваться список/параметры загруженные при старте сервера но автоперезагрузку всегда можно включить на лету создав эти файлы в папке отключить вайтлист ? удалите переименуйте whiteList.lst то же и блэклист включить обратно можно на лету, как и отключить создать whitelistautoreload и/или blacklistautoreload скрипт попытается прочитать вайтл/блэклист из файла, их не найдет и глобально отключит листы если листов нет и включит обратно если есть кроме прочего есть и дополнительные параметры, которые можно помещать в конфиг сервера и файлы вайт/блэклиста P.S. работа проверена - персы в 99% случаев не лочатся в базе понятно что вайтлист и блэклист можно использовать раздельно По доппараметрам расскажу завтра или чуть позже Server_WhiteList_Class.rar
-
Рассылка
