Sign in to follow this  
Whitey

SupplyBox Event (Solved)

16 posts in this topic

Hallo Mit Insassen.

Ich habe ein Problem mir dem SupplyBox Event.

Anfang lief er reibungslos doch plötzlich berichteten meine Spieler das keine Abwürfe mehr erfolgen.

Habe in die RPT gekuckt und da steht:

 2:02:25 "ExileServer - Spawning ExileServer_system_event_supplyBox_start..."
 2:02:25 "ExileServer - The current map has airports, but they are too close to traders. Skipping supply box drop event."

Und das alle halbe stunde, jeweils wenn er kommen sollte.

Habe dann den Abwurf Radius von 500 auf 1000 Meter erhöht, jedoch mit dem gleichen Ergebnis.

Keine Ahnung wieso auf einmal.

Der letzte wurde um 19.35 gesichtet.

Es wurde seitdem jedoch keine Änderungen an Files gemacht.

Auszug aus der Server Config:

Spoiler

class SupplyBox 
        {
            /*
                Drops a supply box on a parachute next to a random airport on the map.
                The box may contain items. The box can be transported to a territory
                and installed to become a normal storage container.
            */
            type = "spawn";
            function = "ExileServer_system_event_supplyBox_start";
            minTime = 20; // minutes
            maxTime = 60; // minutes
            minimumPlayersOnline = 0;
            dropRadius = 1000; // 500m around an airport (including the main airport on Altis!)
            dropAltitude = 100; // altitude of the drop
            markerTime = 30; // minutes

            /*
                These are different types of boxes can be dropped.
                You can specify the cargo a box should contain.
                The type of box is chosen randomly from the following list.
                Add a type multiple times to increase the chance of being used.
            */
            types[] = {"Beer", "FirstAid", "Tools", "Food", "Food", "RepairParts", "BuildingPartWood", "BuildingPartStone"};

            class BoxTypes
            {
                class Beer 
                {
                    items[] = 
                    {
                        {"Exile_Item_Beer", 24}
                    };
                };
                
                class BuildingPartStone 
                {
                    items[] = 
                    {
                        {"Exile_Item_Cement", 10},
                        {"Exile_Item_Sand", 10},
                        {"Exile_Item_Shovel", 1},
                        {"Exile_Item_WaterBarrelKit", 1},
                        {"Exile_Item_MetalBoard", 4},
                        {"Exile_Item_WaterCanisterEmpty", 4},
                        {"Exile_Item_FuelCanisterEmpty", 4},
                        {"Exile_Item_MetalPole", 8}
                    };
                };
                
                class BuildingPartWood 
                {
                    items[] = 
                    {
                        {"Exile_Item_WorkBenchKit", 1},
                        {"Exile_Item_WoodWindowKit", 5},
                        {"Exile_Item_WoodWallKit", 5},
                        {"Exile_Item_WoodStairsKit", 1},
                        {"Exile_Item_WoodGateKit", 2},
                        {"Exile_Item_WoodFloorKit", 5},
                        {"Exile_Item_WoodDoorKit", 2},
                        {"Exile_Item_WoodPlank", 20}
                    };
                };
                
                class FirstAid 
                {
                    items[] = 
                    {
                        {"Exile_Item_Bandage", 10},
                        {"Exile_Item_InstaDoc", 4},
                        {"Exile_Item_Vishpirin", 4},
                        {"Exile_Item_Defibrillator", 1}
                    };
                };

                class Food 
                {
                    items[] = 
                    {
                        {"Exile_Item_BBQSandwich", 5},
                        {"Exile_Item_Catfood", 5},
                        {"Exile_Item_ChristmasTinner", 5},
                        {"Exile_Item_GloriousKnakworst", 5},
                        {"Exile_Item_SausageGravy", 5},
                        {"Exile_Item_Surstromming", 5},
                        {"Exile_Item_CanOpener", 1},
                        {"Exile_Item_CookingPot", 1},
                        {"Exile_Item_Matches", 1}
                    };
                };

                class Tools 
                {
                    items[] = 
                    {
                        {"Exile_Item_Wrench", 1},
                        {"Exile_Item_Shovel", 1},
                        {"Exile_Item_Screwdriver", 1},
                        {"Exile_Item_Pliers", 1},
                        {"Exile_Item_Handsaw", 1},
                        {"Exile_Item_Hammer", 1},
                        {"Exile_Melee_SledgeHammmer", 1},
                        {"Exile_Item_DuctTape", 2}
                    };
                };

 

 

 

Ich hoffe es weis jemand Rat weil ich jetzt derzeit ziemlich ratlos bin.

Lg.Whitey

 

Edit:

Habe jetzt versucht random Positionen zu definieren wie in diesem Post beschrieben bzw habe die ExileServer_system_event_supplyBox_start .sqf von dort genommen.

Aber immer noch kein Abwurf und die RPT Meldung:

 4:29:06 "ExileServer - Spawning ExileServer_system_event_supplyBox_start..."
 4:29:06 "ExileServer - The current map has airports, but they are too close to traders. Skipping supply box drop event."

Ich verstehs nicht. :-(

Edited by Whitey

Share this post


Link to post
Share on other sites

Hallo Whitey,

die Fehlermeldung beschreibt das Problem doch sehr genau. Diese Meldung kommt nur, wenn eine Safezone weniger als 1000 Meter von einem Airport/Airstrip (vorausgesetzt diese sind auf der Map korrekt deklariert) entfernt ist. Hast du evtl. eine neue Safezone in die Nähe eines Airport hinzugefügt oder vergrößert? Um welche Map geht es? Ein Screenshot der Map mit den Safezonen wäre hilfreich.

Gruß

CaptainChaos

  • Like 1

Share this post


Link to post
Share on other sites
Advertisement

@CaptainChaos

Es handelt sich um die Map Rosche.

Sie hat einen Flughafen mit einer Safezone.

Ich habe die Safezone nicht geändert oder vergrößert.

Komischerweise hat es anfangs funktioniert und jetzt plötzlich nicht mehr.

Wie gesagt, es wurde nichts geändert diesbezüglich.

Scrennshot reiche ich gleich nach.

Warte nur den 16.00 Uhr Restart ab.

PS:

Eigentlich wäre es mir ja eh lieber wenn die SupplyBoxen random auf der Map abgeworfen würden da ja nur ein Flughafen ist.

Aber leider funkt auch die bearbeitete ExileServer_system_event_supplyBox_start.sqf nicht.

ExileServer_system_event_supplyBox_start.sqf:

Spoiler


/**
 * ExileServer_system_event_supplyBox_start
 *
 * Exile Mod
 * exile.majormittens.co.uk
 * © 2015 Exile Mod Team
 *
 * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. 
 * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
 */
 
private["_airportPositions","_config","_markerTime","_filteredAirportPositions","_dropAltitude","_dropRadius","_boxType","_airportPosition","_position","_marker","_box","_itemClassName","_itemCount","_i","_supplySmoke","_parachute"];
//_airportPositions = call ExileClient_util_world_getAllAirportPositions;
_config = configFile >> "CfgSettings" >> "Events" >> "SupplyBox";
_markerTime = getNumber (_config >> "markerTime");
/*
if (_airportPositions isEqualTo []) exitWith
{
    "The current map has no airports. Skipping supply box drop event." call ExileServer_util_log;
};
_filteredAirportPositions = [];
{
    if !([_x, 1000] call ExileClient_util_world_isTraderZoneInRange) then 
    {
        _filteredAirportPositions pushBack _x;
    };
}
forEach _airportPositions;
if (_filteredAirportPositions isEqualTo []) exitWith
{
    "The current map has airports, but they are too close to traders. Skipping supply box drop event." call ExileServer_util_log;
};
*/

_spawnCenter = getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition");                     
_min = 50;                                                                                                 
_max = 15000;                                                                                             
_mindist = 20;                                                                                             
_water = 0;                                                                                             
_shoremode = 0; 


_config = configFile >> "CfgSettings" >> "Events" >> "SupplyBox";
_dropAltitude = getNumber (_config >> "dropAltitude");
_dropRadius = getNumber (_config >> "dropRadius");
_boxType = selectRandom (getArray (_config >> "types"));
//_airportPosition = selectRandom _filteredAirportPositions;
//_airportPosition set [2, 0];
_position = [_spawnCenter,_min,_max,_mindist,_water,5,_shoremode] call BIS_fnc_findSafePos; //[_airportPosition, _dropRadius] call ExileClient_util_math_getRandomPositionInCircle;
_position set [2, _dropAltitude];
["toastRequest", ["InfoTitleAndText", ["Supply drop incoming!", "A Heart for Inmates is going to drop a supply crate in about ten minutes. Check your map for the location."]]] call ExileServer_system_network_send_broadcast;
_marker = createMarker [ format["ExileSupplyBox%1", diag_tickTime], _position];
_marker setMarkerType "ExileHeart";
uiSleep (60 * 5);
["toastRequest", ["InfoTitleAndText", ["Supply drop incoming!", "A Heart for Inmates is going to drop a supply crate in about five minutes. Check your map for the location."]]] call ExileServer_system_network_send_broadcast;
uiSleep (60 * 4);
["toastRequest", ["InfoTitleAndText", ["Supply drop incoming!", "A Heart for Inmates is going to drop a supply crate in a minute. Check your map for the location."]]] call ExileServer_system_network_send_broadcast;
uiSleep (60 * 1);
_box = createVehicle ["Exile_Container_SupplyBox", [0, 0, 0], [], 0, "CAN_COLLIDE"];
_box setPosATL _position;
_box setDir (random 360);
clearBackpackCargoGlobal _box;
clearWeaponCargoGlobal _box;
clearMagazineCargoGlobal _box;
clearItemCargoGlobal _box;
{
    _itemClassName = _x select 0;
    _itemCount = _x select 1;
    for "_i" from 1 to _itemCount do 
    {
        [_box, _itemClassName] call ExileClient_util_containerCargo_add;
    };
}
forEach (getArray (_config >> "BoxTypes" >> _boxType >> "items"));
_supplySmoke = createVehicle ["Exile_Ammo_SmokeShellOrange", getPos _box, [], 0, "CAN_COLLIDE"];
_supplySmoke attachTo [_box, [0, 0, 0.5]];
_parachute = createVehicle ["O_Parachute_02_F", getPos _box, [], 0, "FLY"];
_parachute setPosATL _position;
_parachute setDir (getDir _box);
_box attachTo [_parachute, [0, 0, -1.2]];
waitUntil { ((getPos _box) select 2) < 1.5 };
detach _supplySmoke;
detach _box;
_parachute disableCollisionWith _box;
_box disableCollisionWith _parachute;
_position = getPos _box;
_position set [2, 0];
_box setPos _position;
_box setVelocity [0, 0, 0];
uiSleep (60 * _markerTime);
deleteMarker _marker;

Lg. Whitey

Screenshots:

Spoiler

20190302161602_1.thumb.jpg.a94ece24477133e62c04a1dd4d406209.jpg20190302161615_1.thumb.jpg.3de1f98a2798b99bf040a4cd26a4060d.jpg20190302161629_1.thumb.jpg.96f9144189c28666265d59079ee44a0c.jpg

 

Edited by Whitey

Share this post


Link to post
Share on other sites

ist das beim Aircraft Trader eine Safezone? Falls ja, dann kommen natürlich keine Airdrops, weil die Entfernung weniger als 1000 Meter ist.

Das soll vorher ohne Änderung funktioniert haben?

Auf meinem Rosche Server gibt es keine Probleme mit den Airdrops am Flughafen, da ist auch kein Trader in der Nähe.

Du kannst in der Datei ExileServer_system_event_supplyBox_start in der Zeile if !([_x, 1000] call ExileClient_util_world_isTraderZoneInRange) then

die Tausend auf z.B. 50 verringern, dann sollte es funktionieren.

Damit die SupplyBox zufällig auf der Karte abgeworfen wird, müsste mMn nach in der Datei ExileServer_system_event_supplyBox_start die Zeilen

13, 16-31, 36-38 deaktiviert werden. Dann eine Zeile einfügen die eine zufällige Position generiert (z.B. mit BIS_fnc_findSafePos) und dann noch evtl. prüfen,

ob die Position in einer Safezone ist. Ich habe das jetzt nicht selbst getestet, aber so grob sollte es funktionieren.

 

  • Thanks 1

Share this post


Link to post
Share on other sites

@CaptainChaos

Danke für die Erklärung.

Ich hab die Range mal auf 100 m runter gesetzt.

Mal nach den 20.00 Uhr Restart kucken obs funkt.

Witzigerweise dürfte es bis gestern funktioniert haben.

Um 19.30 ca wurde noch einer von einem Spieler geholt.

Keine Ahnung warum es jetzt plötzlich nicht mehr geht.

Könntest du bitte so nett sein und dir die oben angegebene ExileServer_system_event_supplyBox_start.sqf ankucken.

Die sollte laut dem Poster funktionieren hat mir aber heute früh noch die selbe Warnung gegeben.

Denke das noch irgend etwas fehlt oder Zuviel ist.

Lg Whitey

Share this post


Link to post
Share on other sites

Ich kann dir anbieten meine bearbeitete Supplybox Datei zu geben, dort habe ich 15 verschiedene Koordinaten eingegeben wo die Supplyboxen fallen können. Weil es nervig ist wenn nach 3 Stunden am Airfield teilweise 5 Kisten rumstehen.

Share this post


Link to post
Share on other sites

@aNNDREH

Das wäre sehr nett wenn du mir die geben würdest !!

Weil der Drop funktioniert jetzt zwar wieder aber er lässt alle 20- 30 min eine Kiste im Umkreis von 100 Meter fallen.

Und wie du schreibst ist das ziemlich nervig.

Außerdem sollen die Spieler sich auch etwas bewegen und nicht nur dort stehen und Kisten abfarmen !!

Share this post


Link to post
Share on other sites

Hier bitteschön :)

Spoiler

/**
 * ExileServer_system_event_supplyBox_start
 *
 * Exile Mod
 * exile.majormittens.co.uk
 * © 2015 Exile Mod Team
 *
 * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
 * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
 */
 
private["_airportPositions", "_config", "_markerTime", "_filteredAirportPositions", "_dropAltitude", "_dropRadius", "_boxType", "_airportPosition", "_position", "_marker", "_box", "_itemClassName", "_itemCount", "_i", "_supplySmoke", "_parachute"];
_airportPositions = [[10000,10000,0],[10000,10000,0]]; // <--------------------  Hier deine Koordinaten eintragen !!!!!!!
_config = configFile >> "CfgSettings" >> "Events" >> "SupplyBox";
_markerTime = getNumber (_config >> "markerTime");
if (_airportPositions isEqualTo []) exitWith
{
    "The current map has no airports. Skipping supply box drop event." call ExileServer_util_log;
};
_filteredAirportPositions = [];
{
    if !([_x, 0] call ExileClient_util_world_isTraderZoneInRange) then
    {
        _filteredAirportPositions pushBack _x;
    };
}
forEach _airportPositions;
if (_filteredAirportPositions isEqualTo []) exitWith
{
    "The current map has airports, but they are too close to traders. Skipping supply box drop event." call ExileServer_util_log;
};
_config = configFile >> "CfgSettings" >> "Events" >> "SupplyBox";
_dropAltitude = getNumber (_config >> "dropAltitude");
_dropRadius = getNumber (_config >> "dropRadius");
_boxType = selectRandom (getArray (_config >> "types"));
_airportPosition = selectRandom _filteredAirportPositions;
_airportPosition set [2, 0];
_position = [_airportPosition, _dropRadius] call ExileClient_util_math_getRandomPositionInCircle;
_position set [2, _dropAltitude];
["toastRequest", ["InfoTitleAndText", ["Supply drop incoming!", "ETA 10 Minutes"]]] call ExileServer_system_network_send_broadcast;
_marker = createMarker [ format["ExileSupplyBox%1", diag_tickTime], _position];
_marker setMarkerType "ExileHeart";
uiSleep (60 * 5);
["toastRequest", ["InfoTitleAndText", ["Supply drop incoming!", "ETA 5 Minutes"]]] call ExileServer_system_network_send_broadcast;
uiSleep (60 * 4);
["toastRequest", ["InfoTitleAndText", ["Supply drop incoming!", "ETA 1 Minute"]]] call ExileServer_system_network_send_broadcast;
uiSleep (60 * 1);
_box = createVehicle ["Exile_Container_SupplyBox", [0, 0, 0], [], 0, "CAN_COLLIDE"];
_box setPosATL _position;
_box setDir (random 360);
clearBackpackCargoGlobal _box;
clearWeaponCargoGlobal _box;
clearMagazineCargoGlobal _box;
clearItemCargoGlobal _box;
{
    _itemClassName = _x select 0;
    _itemCount = _x select 1;
    for "_i" from 1 to _itemCount do
    {
        [_box, _itemClassName] call ExileClient_util_containerCargo_add;
    };
}
forEach (getArray (_config >> "BoxTypes" >> _boxType >> "items"));
_supplySmoke = createVehicle ["Exile_Ammo_SmokeShellOrange", getPos _box, [], 0, "CAN_COLLIDE"];
_supplySmoke attachTo [_box, [0, 0, 0.5]];
_parachute = createVehicle ["O_Parachute_02_F", getPos _box, [], 0, "FLY"];
_parachute setPosATL _position;
_parachute setDir (getDir _box);
_box attachTo [_parachute, [0, 0, -1.2]];
waitUntil { ((getPos _box) select 2) < 1.5 };
detach _supplySmoke;
detach _box;
_parachute disableCollisionWith _box;
_box disableCollisionWith _parachute;
_position = getPos _box;
_position set [2, 0];
_box setPos _position;
_box setVelocity [0, 0, 0];
uiSleep (60 * _markerTime);
deleteMarker _marker;

 

  • Thanks 1

Share this post


Link to post
Share on other sites

@aNNDREH

Also die Supply Boxen funken so weit.

Aber es gibt ein Probleme.

Sie kommen alle an der selben Stelle runter.

Irgendeine Idee was ich da machen könnte ??

Lg Whitey.

Sceenshot der Abwürfe:

Spoiler

20190303192258_1.thumb.jpg.188fed8ceada7cb3d17a50c30686a321.jpg

 

Edited by Whitey

Share this post


Link to post
Share on other sites
Advertisement

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.