[Support] ESS

Hi ebay, we have a bit of a problem with spawn selection. If, after you are killed, you change your name, even just add a space before your name, you bypass the body check distance. Can that look up be linked to steam id rather than player name?

Thanks
 
Hello Ebay,
Great mod, I'm having a little problem on the halo jump. Sometimes I just hover in mid air and don't fall. I'm running this on the Tav map and I was wondering were I could adjust the height at. Thanks
 
Error Undefined variable in expression: is_confirmation
File mpmissions\__CUR_MP.Chernarus\custom\fn_selfActions.sqf, line 978
Duplicate weapon ItemMap detected for Survivor2_DZ
WARNING: Function 'name' - 28432040# 1057089: priest.p3d REMOTE has no unit
- network id 3:4
- person
- dead



only when I'm falling parachutes, sometimes I die before reaching the ground (so I open the parachute).
 
Last edited:
my guy is in water during selection classe this make a little bug when teleported to ground; ((swimming in the soil))
any help?


/
/another problem
in How do I remove certain spawns?
2.
except for the special cases: Base, Random, 1000 and 1001.

and in 5. In spawn.hpp reduce idc=1624 by however many spawn points you removed.

Code:
        class BtnDono: E_RscButton
        {
            idc = 1624; // <<<<<< this is the only place where idc = 1624 appears in spawn.hpp
            text = "Base"; //<<<<<< this is a base
            x = 0.555 * safezoneW + safezoneX;
            y = 0.255 * safezoneH + safezoneY;
            w = 0.0422917 * safezoneW;
            h = 0.0188889 * safezoneH;
            action = "spawnSelect = 40;";
        };
i cant understand, i need reduce the base idc or no?

trying to make certain spawns vips, but where i set bases coordinates?
 
Last edited:
Hi ebay, we have a bit of a problem with spawn selection. If, after you are killed, you change your name, even just add a space before your name, you bypass the body check distance. Can that look up be linked to steam id rather than player name?

Thanks
Hi ebay, this has become quite an exploit now and most are bypassing the bodycheckdistance which is make it almost useless. Have you had a chance to look into my potential solution...?
 
Hi ebay, this has become quite an exploit now and most are bypassing the bodycheckdistance which is make it almost useless. Have you had a chance to look into my potential solution...?
OK So I have had a look at this and I don't think there is a simple fix without a rewrite that then looks at the last dead position from the db. Not that easy.
This is because the script uses:
Code:
{if (!isNull _x) then {if ((_x getVariable["bodyName",name _x]) == (name player)) then {_bodyPos = (getPosATL _x);_bodies set [count _bodies,_bodyPos];};};} count allDead;
So it essentially looks for the name of the body that is left behind. I would also expect that you would be able to essentially do the same thing by getting your fellow players hide the body or bury it as this removes the body from the server.
This is set in the server_player death using
Code:
_newObject setVariable ["bodyName", _victimName, true];
In server_playerSetup there is a line that calls
Code:
_playerObj setVariable["lastPos",getPosATL _playerObj];

So It maybe possible to use this "LastPos" variable (though it may reference either the last pos from your login or the last known position prior to the server forcing the playerpos.Really not sure but probably) Or alternatively creating a new global variable under server_playerdeath along the lines of:
Code:
_VictimPos setvariable["lastdeathPos", getPosASL _VictimPos];
Place This just after the :
Code:
_newObject setVariable ["bodyName", _victimName, true];
in the server_playerDied. and add it to the private[ blah blah.... and also add this at the ver end of the script:
Code:
publicVariable "lastdeathPos";
Then change this:
Code:
{if (!isNull _x) then {if ((_x getVariable["bodyName",name _x]) == (name player)) then {_bodyPos = (getPosATL _x);_bodies set [count _bodies,_bodyPos];};};} count allDead;
To this:
Code:
{if (!isNull _x) then {if ((_x getVariable["lastdeathPos",name _x]) == (name player)) then {_bodyPos = (getPosATL _x);_bodies set [count _bodies,_bodyPos];};};} count allDead;
Note: The above code has not been tried at all. Just banged out here for discussion. Please try it out or let me know your thoughts. Ebay is much much more of a guru than me. SO the above will either help and put some ideas forward or.... make your server melt.

my guy is in water during selection classe this make a little bug when teleported to ground; ((swimming in the soil))
any help?


/
/another problem
in How do I remove certain spawns?
2.
except for the special cases: Base, Random, 1000 and 1001.

and in 5. In spawn.hpp reduce idc=1624 by however many spawn points you removed.

Code:
        class BtnDono: E_RscButton
        {
            idc = 1624; // <<<<<< this is the only place where idc = 1624 appears in spawn.hpp
            text = "Base"; //<<<<<< this is a base
            x = 0.555 * safezoneW + safezoneX;
            y = 0.255 * safezoneH + safezoneY;
            w = 0.0422917 * safezoneW;
            h = 0.0188889 * safezoneH;
            action = "spawnSelect = 40;";
        };
i cant understand, i need reduce the base idc or no?

trying to make certain spawns vips, but where i set bases coordinates?
Ok 2 things here.
First thing is the player swimming. I am never a fan of the setPosATL/getPosATL some maps ts works fine others not so. To cut a long story short some of the Terrain level and actual terrain (visual) are different. You will find this when you use other scripts like bury body and spawn bike etc as they use ATL.
IF you change these to ASL then you will find that the issues of items created ontop of things, rocks, building etc etc goes away. ATL stands for Above terrain level and ASL stands for above sea level.
Now this is just a general thing for me. Anyway I would be interested to see how people go with changing the spawn.sqf from ATL to ASL and also making sure that the spawn locations have a spawn height > 0 such as change:
Code:
    [[18290.768,1789.7302,0], [18758.885,2100.0366,0], [18421.82,2711.7847,0], [17709.543,2483.6401,0], [17731.102,2189.0308,0]], //Airstrip
To:
Code:
    [[18290.768,1789.7302,0.2], [18758.885,2100.0366,0.2], [18421.82,2711.7847,0.2], [17709.543,2483.6401,0.2], [17731.102,2189.0308,0.2]], //Airstrip
However, I do think that the issue really stems from spawning in the sea and swimming to start off with. Ideally you would spawn on ground and then teleport from there. Certain maps such as Napf don't really have the terrain to support that. Ebay put in a fix where you spawn on a floor, however this doesn't work for me either.
 
Erm. The essfloor is part of Ebay standard installation guide. Unless you mean move the spawn point/debug. This is in the mission.sqm if i recall. Change that to another location.
 
Is there anyway to just turn off the halo? because its bugged on the Tav map. When I spawn in I just hang up in the air and never come down unless I deploy the shoot then it breaks my legs and dang near kills me.
 
Last edited:
I have a problem that is probably obvious but I've been staring at the code for days and cannot figure this out. I'm running an Epoch/Overwatch/Origins server and this script has been running perfectly. We don't call class.sqf though. Anyway, it had the old Tavi 1.0 map so I created a new Tavi 2.0 map that has the new land masses - Alexander, Grushnoye, Vladimir. I first did a one-for-one conversion and realigned the city tags on the map. Everything still worked great! But then I added two more array entries for Grushnoye and Alexander. Whenever I selected them, I spawned someplace unknown - usually in the water or at 1520, 1520. So I modified "Base" in spawn.hpp to be idc = 40 instead of 13. That way I could make Alexander and Grushnoye be 13 and 14 (see spawn.hpp, below). I also changed the references in spawn.sqf from 1613 to 1640 (line 65).

spawn.sqf location array:
Code:
locArray = [
    [[17471.7,5239.7,230.049], [16778.7,6308.6,151.993], [17890,5747.92,167.251], [16285.5,7424.76,396.825], [17614.8,7834.89,261.943]], //Byelov
    [[15381.7,8395.57,87.6772], [16472.3,9163.9,119.374], [16037.2,10031.2,36.1822], [14472.9,10700.6,21.4281], [14493.7,9200.24,126.867]], //Sabina
    [[14499.2,12362.8,86.9139], [13434.3,11698.1,85.3361], [13745.9,12248.4,63.8834], [12151.4,12853.8,233.966], [12359.3,12430.1,111.949]], //Etanovsk
    [[11237.6,14413.2,105.549], [11868.8,14156.2,293.846], [12655.3,15389.2,108.404], [12021.7,15939.5,114.001], [11217.5,16047.8,114.001]], //Lyepestok
    [[17069,12300.4,43.5294], [16738.1,13978.6,56.9753], [15240.9,14005.2,60.342], [16264.4,15420.1,28.2671], [14902.5,15232.1,46.6703]], //Martin
    [[15693.2,16882.5,131.85], [14414.9,17488.4,171.399], [13742.7,19072.6,55.5006], [14839.8,16583.1,80.5402],[16042.8,16100.7,7.50033]], //Dalnogorsk
    [[11684.3,18379.2,46.0772], [10158.6,17676.4,90.3028], [10454.7,19612.3,56.9962], [9402.78,15928.5,105.941], [10450.7,19417.3,61.5052]], //Yaroslav
    [[8350.45,18936.8,122.77], [9711.87,20179.9,69.5927], [8193.27,21405.5,153.653], [8607.75,20548.9,178.285], [8072.49,19927.1,112.192]], //Kameni
    [[10183.8,1541.89,26.493], [10807.8,1100.28,27.3607], [11404,806.905,23.4282], [11521.4,1606.74,48.3487], [9198.37,2514.65,28.741]], //Seven
    [[8225.28,3073.61,10.4816], [8917.26,4271.81,80.3664], [8228.37,5491.64,100.734], [7069.92,4880.18,34.7772], [5719.95,5951.77,37.2921]], //Branibor
    [[1528.68,7270.51,36.3004], [3122.7,6819.02,81.765], [4703.43,6447.21,37.6225], [4101.24,7890.2,36.6137], [4721.14,7146.57,287.936]], //Shtangrad
    [[5903.94,10519.4,91.9985], [6678.8,10050.2,93.6081], [6439.7,9333.18,217.558], [6107.62,8824.15,35.7552], [5067.08,8301.84,36.8271]], //Vedich
    [[10238.2,7319.2,149.359], [9264.65,6540.16,143.436], [8197.54,7717.57,76.0581], [7949.59,8585.13,102.284], [8711.17,8695.79,146.269]], //Krazno
    [[20028.1,5539.08,91.9985], [18044.1,5516.69,143.436], [17764.9,4823.54,76.0581], [17519.5,5384.25,287.936], [16982.5,5380.76,146.269]], //Alexander
    [[14827.5,5689.35,149.359], [15368.7,5504.59,143.436], [14418.2,5377.16,76.0581], [14250.2,5909.93,102.284], [15168,6408.98,146.269]] //Grushnoye
];


spawn.hpp new and changed classes:

Code:
        class BtnAlex: E_RscButton
        {
            idc = 1613;
            text = "Alexander";
            x = 0.353623 * safezoneW + safezoneX;
            y = 0.26665 * safezoneH + safezoneY;
            w = 0.0501144 * safezoneW;
            h = 0.0145 * safezoneH;
            action = "spawnSelect = 13;";
        };
        class BtnGrus: E_RscButton
        {
            idc = 1614;
            text = "Grushnoye";
            x = 0.353623 * safezoneW + safezoneX;
            y = 0.416785 * safezoneH + safezoneY;
            w = 0.0501144 * safezoneW;
            h = 0.0145 * safezoneH;
            action = "spawnSelect = 14;";
        };
        class BtnDono: E_RscButton
        {
            idc = 1640;
            text = "Base";
            x = 0.53 * safezoneW + safezoneX;
            y = 0.205 * safezoneH + safezoneY;
            w = 0.0422917 * safezoneW;
            h = 0.0188889 * safezoneH;
            action = "spawnSelect = 40;";
        };
        class BtnRand: E_RscButton

All the original selectors work fine but my new ones still take me to seemingly random places. What obvious thing did I miss? I'd post the whole files but I exceed the character limit for a post.

Thanks,
Bob
 
how to remove ground option for spawn (i want only halo)
because my characters continue to swim in the ground(with ground spawn option).
 
Thanks ebay, we're throwing up on our test box now.

Thanks also Sir Robin :)

Really appreciate both your help.

New changes sound cool! :)
 
Yes, it is possible. The easiest way I can think of is to find this in dayz_server\compile\server_playerDied.sqf:
Code:
_newObject setVariable ["bodyName", _victimName, true];
Add right below it:
Code:
_newObject setVariable ["bodyUID", _playerID, true];

Then in mission\spawn\spawn.sqf replace this line:
Code:
{if (!isNull _x) then {if ((_x getVariable["bodyName",name _x]) == (name player)) then {_bodyPos = (getPosATL _x);_bodies set [count _bodies,_bodyPos];};};} count allDead;
with this:
Code:
{if (!isNull _x) then {if ((_x getVariable["bodyUID","0"]) == getPlayerUID player) then {_bodyPos = getPosATL _x;_bodies set [count _bodies,_bodyPos];};};} count allDead;



Yes, just remove this line in spawn.sqf:


@Bob_the_K - Your files look good to me. Double check there are no errors in your RPTs. Also double check your coordinates actually go where you want them to. If those aren't the problems it could be that BIS_fnc_findSafePos is failing to find a safe spot within 650 m of the location. You can play with the values in the call BIS_fnc_findSafePos at the bottom of spawn.sqf. This explains what each parameter does:
https://community.bistudio.com/wiki/BIS_fnc_findSafePos

Below that I also added a check to make sure the spawn is not within 45m of a plot pole and there are no players within 100m. It could also fail for one of those reasons.



I've been working on an improved version that uses the in-game map in an animated control like Altis Life spawn selection. This makes it much easier to configure spawns and use with any map:

J_jzRkaOSBws.jpg


I will make a new release thread when I'm done. I'm adding the other features people have been requesting like halo jump from plane, random loadouts, class preview and the option for spawn points restricted by uid group and humanity level.
Nice one ebay. Have a good xmas mate.
 
Hi, i got this error spamming all the time, how can this be fixed?
9:49:52 Error 0 elements provided, 3 expected
9:49:52 File mpmissions\__cur_mp.chernarus\spawn\spawn.sqf, line 66
Bad conversion: array
9:49:53 Error in expression <ue;_x allowDamage false;} count (player nearEntities ["CAManBase", 80]);
uiSlee>
9:49:53 Error position: <nearEntities ["CAManBase", 80]);
uiSlee>
9:49:53 Error 0 elements provided, 3 expected
9:49:53 File mpmissions\__cur_mp.chernarus\spawn\spawn.sqf, line 66


Also, my friend wont get off loadingscreen, i can see him in debug land (moving) but he wont spawn in and cant pick anything, works great for me tho.

Epoch Linux server.
 
Last edited:
Back
Top