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

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

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

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

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

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


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

Отображаются публикации с наибольшей репутацией на 05/16/20 в Сообщения

  1. 1 балл
    Собственно речь про расширения VPPAdmintools 1 Автор собирает IP серверов где работает админка 2 Если надо он заносит ip в некий черный список, сервер при обращении к его "сайту" получит инфу, что сервер в блоке и скрипт не даст подключаться игрокам Само расширение - код - спасибо комраду @Selleti modded class MissionServer { private string vppatlockmessage = "Server is Currently Locked!"; private string serverIP; private bool violatedRules = false; void MissionServer() { GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(this.vppapi, 5000.0, false); serverIP = GetServerIP(); } private void vppapi() { VPPATapiCB cb = new VPPATapiCB( this ); CURLContext ctx = GetCURLCore().GetCURLContext("http://54.39.130.144:5600"); ctx.GET( cb, string.Format( "/Validate?address=%1", serverIP ) ); } void setStatus(bool state) { violatedRules = state; if ( state ) vppatlockmessage = "Server Locked. Please contact the developer of the following mod [ VPPAdminTools ]\nEmail: vanillaplusplusdayz@gmail.com\nDiscord: discord.gg/GWXN2bB"; } void ForceKickPlayers() { GetRPCManager().SendRPC( "RPC_MissionGameplay", "KickClientHandle", new Param1<string>( vppatlockmessage ), true, NULL); array<PlayerIdentity> identities = new array<PlayerIdentity>; GetGame().GetPlayerIndentities( identities ); foreach(ref PlayerIdentity iden: identities) { GetGame().ChatPlayer("#kick " + iden.GetName()); Print(vppatlockmessage); } GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).Remove(this.ForceKickPlayers); } override void OnEvent(EventType eventTypeId, Param params) { if ( violatedRules ) GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(this.ForceKickPlayers, 3500, false); else super.OnEvent(eventTypeId,params); } string GetServerIP() { string ip; if (GetCLIParam("ip", ip)) { return ip; } return "0.0.0.0"; } }; class VPPATapiCB: CURLCallback { private string response; private MissionServer serverMission; void VPPATapiCB(MissionServer ms) { serverMission = ms; } override void OnSuccess( string data, int dataSize ) { response = data; if ( response == "true" ) serverMission.setStatus(true); } }; И собственно 2 фикса для серверного мода 1 Удаляет расширение из загруженных модов вообще - автор Selleti выполнено в виде конфига мода class CfgPatches { class VPPATExtensions_FIX { units[] = {}; weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {"DZM_VPPATExtensions"}; }; }; class CfgMods { delete VPPATExtensions; }; 2 Удаляет из очереди вызов функицию которая ставится в очередь в конструкторе класса MissionServer в моде VPPAdmintools в скрипте из обфусцированного VPPExtensions.pbo - автор - ну в общем пофигу - просто все выполнено в виде скрипта modded class MissionServer extends MissionBase { void MissionServer() { GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).Remove(this.vppapi); } } За сим раскланиваюсь Всегда Ваш
  2. 1 балл
    1.Отсутствуют в классе class CfgNonAIVehicles классы для проксей бочек, оружия и рюкзака отсюда ваша и ошибка. 2. Есть ли скрип для машины аналогичный тому что я скинул CrSk_Land_Rover_Defender_110.rar
  3. 1 балл
    машинки который config.cpp, я же правильно понял что classname не верный получается ?
  4. 1 балл
    Yuki

    Создание закрытого раздела разработчиков

    Программирование стоит целое ничего. Ты просто берёшь и качаешь Визуалку и всё, у тебя уже есть возможность писать на С++. А в нашем случае, большая часть кода именно С или С++, что как бы наводит на мысль того, куда стоит долбится. А гайдов по данным языкам СТОЛЬКО, что даже чайник поймёт. Это же не Rust(язык, а не игра), который только набирает обороты. Как уже отметили выше, лучше сделать самому, ибо будешь понимать, как это работает. Ну и при возникновении ошибок, сразу сможешь найти косяк в своём же коде.
  5. 1 балл
    BorizzK

    Охлаждение еды и кастрюли после готовки

    Обновленный вариант с учетом дождя, а так же дамагом игроку если он что-то взял в руки С коэффициентами надо еще поиграться Принты все закомменчены //15.05.2020 modded class ItemBase extends InventoryItem { ref Timer m_TemperatureDecrease; private float m_InitTemperature; private float m_DecreaseTempTime = 10; private float m_TempDecreaseCoef = 1; private float m_TempDecreaseCoefPot = 2; private float m_DamageTemperatureBorder = 54; private float m_TempDamageCoef = 0.01; private int m_CurrentLocation = InventoryLocationType.UNKNOWN; void ItemBase() { m_InitTemperature = 20; //g_Game.GetMission().GetWorldData().GetDayTemperature(); // Не работает ((( какого художника - я хз if ( IsInherited(Pot) /* GetInventory().GetCargo() */ ) { m_TempDecreaseCoef = m_TempDecreaseCoefPot; } } override void AfterStoreLoad() { super.AfterStoreLoad(); if ( !IsInherited(FireplaceBase) ) TryToStartTempDecrease(); } private void TryToStartTempDecrease() { if (GetTemperature() > GetInitTemperature()) { if (!GetHierarchyParent()) { if (!m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: TryToStartTempDecrease: this: " + this + ": GetHierarchyParent(): " + GetHierarchyParent() + ": GetTemperature(): " + GetTemperature()); DecreaseTemperature(); StartTemperatureDecrease(); } } else if (GetHierarchyParent().IsInherited(PlayerBase)) { PlayerBase player = PlayerBase.Cast(GetHierarchyParent()); if (player) { if (player.GetHumanInventory().GetEntityInHands() == this) { m_CurrentLocation = InventoryLocationType.HANDS; //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: TryToStartTempDecrease: this: " + this + ": GetHierarchyParent(): " + GetHierarchyParent() + ": GetTemperature(): " + GetTemperature()); DecreaseTemperature(); StartTemperatureDecrease(); } } } } } override void EEItemLocationChanged(notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc) { super.EEItemLocationChanged(oldLoc,newLoc); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: this: " + this + ": newLoc.GetType(): " + newLoc.GetType() + ": newLoc.GetParent(): " + newLoc.GetParent() + ": GetTemperature(): " + GetTemperature()); if (GetTemperature() > GetInitTemperature()) { if (!newLoc.GetParent() || newLoc.GetType() == InventoryLocationType.GROUND) { m_CurrentLocation = InventoryLocationType.GROUND; if (!m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: this: " + this + ": GROUND: Begin decrease temperature: GetTemperature(): " + GetTemperature()); DecreaseTemperature(); StartTemperatureDecrease(); } } else if (newLoc.GetParent() && newLoc.GetType() == InventoryLocationType.HANDS) { m_CurrentLocation = InventoryLocationType.HANDS; if (!m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: this: " + this + ": HANDS: Begin decrease temperature: GetTemperature(): " + GetTemperature()); DecreaseTemperature(); StartTemperatureDecrease(); } } else { m_CurrentLocation = InventoryLocationType.UNKNOWN; } } else { if (m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: this: " + this + ": End decrease temperature: GetTemperature(): " + GetTemperature()); StopTemperatureDecrease(); m_CurrentLocation = InventoryLocationType.UNKNOWN; } } } private void StartTemperatureDecrease() { m_TemperatureDecrease = new Timer( CALL_CATEGORY_SYSTEM ); m_TemperatureDecrease.Run(m_DecreaseTempTime, this, "DecreaseTemperature", NULL, true); } private void StopTemperatureDecrease() { m_TemperatureDecrease.Stop(); m_TemperatureDecrease = NULL; } // == COOLING == void DecreaseTemperature() { if (GetTemperature() > GetInitTemperature()) { if (m_CurrentLocation == InventoryLocationType.HANDS) { if (GetTemperature() >= GetDamageTemperatureBorder()) { AddTemperatureDamageToPlayer(); } } AddTemperature(-GetTempDecreaseCoef()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Decrease: GetTemperature(): " + GetTemperature()); if ( IsInherited(Pot) /* GetInventory().GetCargo() */) { DecreaseCargoTemperature(); } } else { SetTemperature(GetInitTemperature()); StopTemperatureDecrease(); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Stop decrease: GetTemperature(): " + GetTemperature()); } } void DecreaseCargoTemperature() { ItemBase item; int item_count = GetInventory().GetCargo().GetItemCount(); for (int i = 0; i < item_count; i++) { item = ItemBase.Cast(GetInventory().GetCargo().GetItem(i)); if (item) { if (item.GetTemperature() > item.GetInitTemperature()) { item.AddTemperature(-item.GetTempDecreaseCoef()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseCargoTemperature: this: " + this + ": Decrease: item: " + item + ": item.GetTemperature(): " + item.GetTemperature()); } else { item.SetTemperature(item.GetInitTemperature()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseCargoTemperature: this: " + this + ": Stop decrease: item: " + item + ": item.GetTemperature(): " + item.GetTemperature()); } } } } // == COOLING END == // == DAMAGE == void AddTemperatureDamageToPlayer() { PlayerBase player = PlayerBase.Cast(GetHierarchyParent()); if (player) { float idmg = GetDamageTemperature(); ItemBase gloves = ItemBase.Cast(player.GetInventory().FindAttachment(InventorySlots.GLOVES)); if (gloves) { gloves.AddHealth("","Health", -idmg); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: AddTemperatureDamageToParent: this: " + this + ": player: " + player + ": idmg: " + idmg + ": Gloves Health: " + gloves.GetHealth() + ": Gloves Max Health: " + gloves.GetMaxHealth()); if (gloves.GetHealth() > gloves.GetMaxHealth() * 0.5) { return; } else if (gloves.GetHealth() > gloves.GetMaxHealth() * 0.25) { idmg = idmg * 0.75; } } player.ProcessDirectDamage(DT_CUSTOM, this, "RightHand", "FireDamage", "0.5 0.5 0.5", idmg); if (IsInherited(Pot)) player.ProcessDirectDamage(DT_CUSTOM, this, "LeftHand", "FireDamage", "0.5 0.5 0.5", idmg); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: AddTemperatureDamageToParent: this: " + this + ": player: " + player + ": idmg: " + idmg + ": Health: " + player.GetHealth() + ": RightHand: " + player.GetHealth("RightHand","Health") + ": LeftHand: " + player.GetHealth("LeftHand","Health")); } } float GetDamageTemperatureBorder() { return m_DamageTemperatureBorder; } float GetDamageTemperature() { return (GetTemperature() * m_TempDamageCoef); } // == DAMAGE END == float GetInitTemperature() { return m_InitTemperature; } float GetTempDecreaseCoef() { if (!IsUnderRoof()) { return m_TempDecreaseCoef * (1 + GetRainAbove()); } return m_TempDecreaseCoef; } float GetRainAbove() { return GetGame().GetWeather().GetRain().GetActual(); } bool IsUnderRoof() { float actual_height; bool hit; FireplaceBase.LineHit( this, 20, hit, actual_height ); //Используем готовую нативную функцию из класса FireplaceBase что бы не засорять код - функция static потому и вызов такой - FireplaceBase.LineHit return hit; } } Минус - если взять раскаленную до 200 град кастрюлю в голые руки им быстро приходит хана, но хана рукам никак не отображается для игрока
  6. 1 балл
    Fenix_dz

    Создание закрытого раздела разработчиков

    Чтобы увидеть необходимый текст нужно иметь: 35 репутации и 18 лайков!
  7. 0 баллов
    nIkRon

    Скрипт для спавна по точным координатам

    @bountystory Ну тогда скорее всего его нужно спавнить по другому, как я и говорил, там техника, зомби, животные и т.д, поэтому скорее всего не работает. Но еще учитывайте то, что там спавн по времени, и не 100% на сколько я понимаю, и для того что-бы измениения применились, нужно вроде как вайп сделать.
  8. 0 баллов
    berkac

    Где файл с лутом хеликрашей?

    @paranoyk криво работает делут, двери, колеса, радаторы. Оружие из всех тиров.
  9. 0 баллов
    Snaret

    Свойство в конфиге предмета.

    Спустя столько времени я разобрался, чем и делюсь с вами. Не знаю, нужно или нет, возможно кому-то пригодится. Прописывается в отдельный файл в 4_world. class "класснейм" extends ItemBase { override bool CanPutIntoHands(EntityAI parent) { if( !super.CanPutIntoHands( parent ) ) { return false; } if ( GetNumberOfItems() == 0 ) { return false; } return false; } }
  10. 0 баллов
    paranoyk

    Где файл с лутом хеликрашей?

    @toffich Сработало?....(иногда надо несколько гайдов прочитать) А что бы СОВСЕМ не корячить так всё проще было в тайпсе для нужных вещей задать спавн только на хеликраше (или полицейской машине, в моём случай и айр краше). deloot="0" изменить то, минус только в том что и остальные вещи могут спанится на ивентах.
  11. 0 баллов
    berkac

    Где файл с лутом хеликрашей?

    @toffich Попробуй для оружия на хеликах создать новую категорию weaponsTOP . В types в нужных предметах пропиши нужные категории и все. Если не хочешь что бы двери спавнились и другой хлам, то удаляй <category name="tools" /> и <category name="containers" />(это рюкзаки). Если хочешь что бы гили на хеликах были, делай так же как со стволами. Почему то параметр deloot криво работает. cfglimitsdefinition <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <lists> <categories> <category name="tools"/> <category name="containers"/> <category name="clothes"/> <category name="vehiclesparts"/> <category name="food"/> <category name="weapons"/> <category name="books"/> <category name="explosives"/> <category name="explosivesTOP"/> <category name="clothesTOP"/> <category name="weaponsTOP"/> </categories> <tags> <tag name="floor"/> <tag name="shelves"/> <tag name="ground"/> </tags> <usageflags> <usage name="Military"/> <usage name="Police"/> <usage name="Medic"/> <usage name="Firefighter"/> <usage name="Industrial"/> <usage name="Farm"/> <usage name="Coast"/> <usage name="Town"/> <usage name="Village"/> <usage name="Hunting"/> <usage name="Office"/> <usage name="School"/> <usage name="Prison"/> <usage name="helicrashMi8RUS"/> <usage name="helicrashUH1YUSA"/> </usageflags> <valueflags> <value name="Tier1"/> <value name="Tier2"/> <value name="Tier3"/> <value name="Tier4"/> </valueflags> </lists> types <type name="GhillieAtt_Woodland"> <nominal>5</nominal> <lifetime>7200</lifetime> <restock>0</restock> <min>1</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="clothesTOP"/> <usage name="helicrashMi8RUS"/> mapgroupproto <group name="Wreck_UH1Y" lootmax="10"> <usage name="helicrashUH1YUSA"/> <container name="lootFloor" lootmax="10"> <category name="explosivesTOP"/> <category name="clothesTOP" /> <category name="weaponsTOP" /> <tag name="floor" /> <tag name="shelves" /> <point pos="2.293945 -1.541862 1.939941" range="0.100000" height="1.145172" /> <point pos="3.630615 -1.221848 0.478027" range="0.203125" height="1.058037" /> <point pos="3.128174 -1.250969 0.282227" range="0.237500" height="1.899963" /> <point pos="2.601563 -1.275345 0.026855" range="0.237500" height="1.900002" /> <point pos="2.976563 -1.479630 2.021972" range="0.340625" height="1.139282" /> <point pos="4.462646 -1.856918 -0.474609" range="0.595988" height="1.900002" /> <point pos="2.273926 -1.856918 3.096679" range="0.718352" height="1.900002" /> <point pos="1.722656 -1.856918 -1.948730" range="0.821779" height="1.900002" /> <point pos="5.276123 -1.856918 4.080566" range="0.827611" height="1.900002" /> <point pos="3.192871 -1.856918 -1.159668" range="0.846799" height="1.900002" /> <point pos="-2.588379 -1.856918 -0.039551" range="0.898411" height="1.900002" /> <point pos="3.540283 -1.856918 4.118164" range="0.908636" height="1.900002" /> <point pos="0.502686 -1.856918 2.775879" range="0.942924" height="1.900002" /> <point pos="5.894042 -1.856918 0.567383" range="1.068359" height="1.900002" /> <point pos="6.488282 -1.856918 2.621094" range="1.069595" height="1.900002" /> <point pos="-0.299072 -1.856918 -1.951172" range="1.199951" height="1.900002" /> <point pos="-0.732910 -1.856918 0.940430" range="1.199951" height="1.900002" /> </container> </group> <group name="Wreck_Mi8" lootmax="10"> <usage name="helicrashMi8RUS"/> <container name="lootFloor" lootmax="10"> <category name="explosivesTOP"/> <category name="clothesTOP" /> <category name="weaponsTOP" /> <tag name="floor" /> <tag name="shelves" /> <point pos="-1.927728 -1.697937 -0.790661" range="0.134375" height="1.549751" /> <point pos="-1.416298 -1.697937 -0.339270" range="0.272949" height="1.520737" /> <point pos="0.771750 -1.697937 2.138307" range="0.319800" height="1.469231" /> <point pos="-0.713407 -1.697937 0.295482" range="0.330567" height="1.482864" /> <point pos="0.801303 -1.697937 1.487146" range="0.332032" height="1.431625" /> <point pos="1.546498 -1.697937 1.557528" range="0.340625" height="1.419449" /> <point pos="-5.426794 -1.686195 0.940635" range="0.340625" height="1.899956" /> <point pos="0.127841 -1.697937 -2.537111" range="0.450698" height="1.900002" /> <point pos="-0.761337 -1.697937 -2.720164" range="0.457128" height="1.900002" /> <point pos="0.708467 -1.697937 -1.836948" range="0.458892" height="1.900002" /> <point pos="-0.017129 -1.697937 1.021565" range="0.469727" height="1.458138" /> <point pos="-3.614693 -1.697937 -3.271325" range="0.506054" height="1.900002" /> <point pos="-1.585944 -1.697937 2.360873" range="0.510322" height="1.900002" /> <point pos="-4.474507 -1.697937 1.532356" range="0.558594" height="1.900002" /> <point pos="-5.474088 -1.697937 -2.190016" range="0.562416" height="1.900002" /> <point pos="-4.633357 -1.697937 -2.940941" range="0.564847" height="1.900002" /> <point pos="-2.941702 -1.697937 -2.424437" range="0.575674" height="1.629967" /> <point pos="2.348805 -1.697937 -0.224372" range="0.583300" height="1.900002" /> <point pos="-1.804979 -1.697937 -2.684125" range="0.587135" height="1.900002" /> <point pos="-0.329995 -1.697937 4.222433" range="0.589417" height="1.900002" /> <point pos="-4.072934 -1.697937 -1.919787" range="0.599984" height="1.900002" /> <point pos="-2.558625 -1.697937 -3.602155" range="0.600620" height="1.900002" /> <point pos="-2.966375 -1.697937 -1.205420" range="0.609667" height="1.675331" /> <point pos="-4.092347 -1.697937 -0.665942" range="0.638873" height="1.900002" /> <point pos="3.848593 -1.697937 4.011734" range="0.640112" height="1.900002" /> <point pos="1.283345 -1.697937 -0.872562" range="0.663839" height="1.900002" /> <point pos="-0.547763 -1.697937 2.962240" range="0.689453" height="1.900002" /> <point pos="0.862558 -1.697937 4.904042" range="0.766415" height="1.900002" /> <point pos="-2.629067 -1.697937 1.523908" range="0.827067" height="1.900002" /> <point pos="4.320639 -1.697937 2.597584" range="0.850743" height="1.900002" /> <point pos="-5.587495 -1.697937 -0.772088" range="0.860039" height="1.900002" /> <point pos="3.368212 -1.697937 0.870082" range="0.912368" height="1.900002" /> <point pos="2.554070 -1.697937 4.891639" range="0.925143" height="1.900002" /> </container> </group>
  12. 0 баллов
    paranoyk

    Где файл с лутом хеликрашей?

    crafted="1" попробуйте поставить "0"
×
×
  • Создать...

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

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

Поддержка