Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией на 04/30/19 во всех областях

  1. 1 балл
    AntonivkA

    Возможно ли это

    пишите подробнее. тут Ванг и Вангогов нет. (не про художника) Может вы в каком-то конфиге написали: { if разрабы мудаки then крутой дейзи появись! end_if } и понадеялись что оно у вас как по волшебству заработает.
  2. 1 балл
    NoNameUltima

    Доски. (Баг)

    // Глобальная переменная(будет содержать все объекты, которые необходимо проверять) static array<ref Object> gv_Objects = new array<ref Object>; // Добавление в массив элемента MyObj = ....; gv_Objects.Insert( Object.Cast(MyObj) ); // Процедура проверки for (int i=gv_Objects.Count() - 1; i>=0; i--) { if ( !gv_Objects ) { gv_Objects.Remove; } else { CheckBasement(gv_Objects); } } Все это дело расфасовать куда надо. Процедуру проверки добавить в класс (к примеру миссии), и вызвать по таймеру. чет тут срезало квадрадтные скобки... ну разберешся. - или как код надо было вставить...
  3. 1 балл
    NoNameUltima

    Доски. (Баг)

    BorizzK Вот те для тестов private vector cv_Position = "0 0 0"; private vector cv_EarthPosition = "0 0 0"; private ref RaycastRVParams cv_RaycastRVParams; private ref array<ref RaycastRVResult> cv_RaycastRVResults; private Object cv_RaycastObject; private vector cv_RaycastObjectPosition = "0 0 0"; void CheckBasement() { if ( !ItemBase.Cast(this) ) { return; } if ( Object.Cast(this.parent) ) { return; } cv_Position = this.GetPosition(); cv_EarthPosition = this.GetPosition(); cv_EarthPosition[1] = GetGame().SurfaceY(cv_EarthPosition[0], cv_EarthPosition[2]); if ( cv_Position[1] <= cv_EarthPosition[1] ) { return; } cv_RaycastRVParams = new RaycastRVParams(cv_Position, cv_EarthPosition); cv_RaycastRVResults = new array<ref RaycastRVResult>; cv_RaycastObject = NULL; if ( DayZPhysics.RaycastRVProxy(cv_RaycastRVParams, cv_RaycastRVResults) ) { if ( cv_RaycastRVResults.Count() > 0 ) { cv_RaycastObject = cv_RaycastRVResults[0].obj; if ( cv_RaycastRVResults[0].hierLevel > 0 ) { if ( cv_RaycastRVResults[0].parent.IsMan() ) { Object.CastTo(cv_RaycastObject, cv_RaycastRVResults[0].parent); } else { cv_RaycastObject = NULL; } } } } if ( cv_RaycastObject ) { cv_RaycastObjectPosition = cv_RaycastRVResults[0].pos; if ( cv_Position[1] > cv_RaycastObjectPosition[1] ) { if ( (cv_Position[1] - 0.1) >= cv_RaycastObjectPosition[1] ) { cv_Position[1] = cv_Position[1] - 0.1; this.SetPosition(cv_Position); } } } else { cv_Position[1] = cv_Position[1] - 0.1; this.SetPosition(cv_Position); } } Не проверял! Это надо бы запихать в EOnFrame EntityAI как есть, но его моддить нельзя. Так что - как вариант - при создании объектов(в т.ч. и при загрузке из БД), проверять - если это ItemBase(я хз как там в дайзе, может еще какая проверка нужна) - то добавлять в массив - static И по этому массиву раз в 1с пробегать в цикле во время работы сервера, и запускать - CheckBasement, для этого объекта. *в скрипте - this - заменить на аргумент - т.е. переделать так - void CheckBasement(EntityAI v_ChkObj) .... cv_Position = v_ChkObj.GetPosition(); ну смысл ты понял.. и в цикле проверки уже будет так - CheckBasement( EntityAI.Cast(объект_массива) );
  4. 1 балл
    NoNameUltima

    Доски. (Баг)

    Без нормальной физики это все ерунда. Вариант первый - добавить объектам стройки в онФрейм проверку фундамента - т..е. если объект не на поверхности земли, то периодически постреливать лучем в землю - нет (пропал) объект на котором лежал текущий, - положить его ниже(на уровень первого встреченного объекта). Вариант второй - создать объект "база", - как столб в эпохе, и запрещать стройку в определенном радиусе всем кто не является владельцем(можно и друзьями) базы. - т.е. так как это было в эпоче. *Второй вариант несет меньшую нагрузку. А в первом варианте - получится неплохая физика(если конечно сделать все как надо. К примеру не опускать сразу на уровень земли(или другого объекта), а в каждом фрейме на единичку занижать ось высоты - создастся эффект плавного падения объекта, если из под него выдернули фундамент)
  5. 1 балл
    BorizzK

    Доски. (Баг)

    123new Уже сделал, но проверку обьектов под ногами Стены проверять не вижу смысла нам важно что бы не клалось друг на друга а кидалось рядом modded class HandActionDrop extends HandActionBase { bool m_HandActionDropMyDebug = true; override void Action (HandEventBase e) { Man player = e.m_Player; EntityAI item = e.m_Entity; vector dropPosition = player.GetPosition(); super.Action(e); if (m_HandActionDropMyDebug) { PlayerIdentity player_Identity = player.GetIdentity(); string player_Name = player_Identity.GetName(); string player_UID = player_Identity.GetPlainId(); EntityAI itemInHands = NULL; itemInHands = player.GetHumanInventory().GetEntityInHands(); Print("::: SERVER: [HandActionDrop DEBUG]: Action: input: HandEventBase e = " + e.ToString() + ": player = " + player_Name + ", player pos: " + dropPosition + " DROP: item = " + item.ToString() + " : item.GetPosition() = " + item.GetPosition() +", itemInHands = " + itemInHands.ToString()); Print("::: SERVER: [HandActionDrop DEBUG]: Current surface alt: " + GetGame().SurfaceY(dropPosition[0], dropPosition[2])); Print("::: SERVER: [HandActionDrop DEBUG]: Current surface normal: " + GetGame().SurfaceGetNormal(dropPosition[0], dropPosition[2]).ToString()); string SurfaceType, SurfaceType3D; GetGame().SurfaceGetType(dropPosition[0], dropPosition[2], SurfaceType); GetGame().SurfaceGetType3D(dropPosition[0], dropPosition[1], dropPosition[2], SurfaceType3D); Print("::: SERVER: [HandActionDrop DEBUG]: Current surface types: SurfaceType = " + SurfaceType + ", SurfaceType3D = " + SurfaceType3D); } if (item) { array<Object> nearest_objects = new array<Object>; array<CargoBase> proxy_cargos = new array<CargoBase>; GetGame().GetObjectsAtPosition(Vector(dropPosition[0],dropPosition[1] - 0.05,dropPosition[2]), 1.5, nearest_objects, proxy_cargos); for ( int i = 0; i < nearest_objects.Count(); i++ ) { Print("::: SERVER: [HandActionDrop DEBUG]: Found neared object: nearest_objects[i] " + nearest_objects[i].GetType() + ", nearest_objects[i].GetPosition() = " + nearest_objects[i].GetPosition()); if (dropPosition[1] > nearest_objects[i].GetPosition()[1]) dropPosition[1] = nearest_objects[i].GetPosition()[1]; } dropPosition[0] = dropPosition[0] + Math.RandomFloatInclusive(-0.5, 0.5); dropPosition[1] = dropPosition[1] + Math.RandomFloatInclusive(-0.02, 0.02); dropPosition[2] = dropPosition[2] + Math.RandomFloatInclusive(-0.5, 0.5); Print("::: SERVER: [HandActionDrop DEBUG]: new dropPosition = " + dropPosition.ToString()); item.SetPosition(dropPosition); item.SetOrientation(item.GetOrientation()); } } } логгирования напихал на первое время пока импровизация тк времени нет но уже что-то есть идея ща передалаю
  6. 1 балл
    123new

    DAYZ enScript (вопросы, ответы)

    0 выдаст только если найдет искомое в первом элементе массива
  7. 1 балл
    violets444

    Краш из-за KillFeed

    Вообщем нашел причину крашей сервера из-за killfeed, оказывается нужно было обновить моды Community Framework и Dayz-Expansion-Notifications, и краги прекратились по причине KillFeed, осталось ещё пару проблем с крашами по другим причинам , но об этом уже не в этой теме )
  8. 1 балл
    BorizzK

    DAYZ enScript (вопросы, ответы)

    VIRrusR По симптомам кури класс SymptomIDs Ну поищи SymptomIDs.SYMPTOM_COUGH SYMPTOM_COUGH это константа в классе А по агентам class AgentBase CHOLERA = 1; INFLUENZA = 2; SALMONELLA = 4; BRAIN = 8; //Это ржач от пожирания человечены ну и примеры некоторые рабоы с ними в class PlayerAgentPool и тп я еще не рыл ничего кроме симптомов, но тут не сложно имхо
  9. 1 балл
    NoNameUltima

    Доски. (Баг)

    Karmagedon стрельнуть лучем в землю(рейкаст) Если ничего нет - проверить высоту установки от поверхности - если она выше - положить на землю. Если что то есть, - проверять - что именно - юниты и т.п. не в счет.
×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка