Jump to content

Recommended Posts

You are most welcome @Vandeanson

If only it was possible to have some sort of database based save system for your mod and Ravage combined , and a full MP support , I would leave the exile framework and switch to this a long time ago...

How is the performance tweaks and base buildings coming along , btw? 
Also wanted to ask you, is there a reason you decided to use Addon Settings menu for the settings tweaks and not via Systems modules (like Ravage do).
Gonna do a deeper Multiplayer server testing for your mod later on

About the traders, not a big fan. In a post-apo it only made sense to me to have traders with a non-currency based trade.  

Share this post


Link to post
Share on other sites
6 hours ago, chernaruski said:

How is the performance tweaks

Pretty good in my experience, it could only get better by spawning in less assets, for example, i could add "light" versions of the sites (with less assets, just essentials). 

A lot can be done by VA settings, mainly how quickly you despawn a "discovered" sites, and activation distances. The spawned in sites get hidden by "hideobjectglobal", but its probbly still heavier than despawned assets. 

 

The worst case scenario is when you theoretically have visited all possible sites, hence they have spawned in and are hidden if no player is close, and all are waiting for the despawn ticker. This situation would be the asset heaviest one and must be regulated by the user ( amount of spawns, despawn timer, activation and hide/unhide distances) 

 

AI is heavy too, the more are spawned, the lower the fps ofc. 

 

6 hours ago, chernaruski said:

base buildings

... i didnt properly backup at some point and lost some big milestones:( but with some new learnings i had lately, i should start something from scratch anyway. 

Its quite asset and therefore fps heavy, hence i am not sure if i want to make it a priority.

 

6 hours ago, chernaruski said:

Also wanted to ask you, is there a reason you decided to use Addon Settings menu for the settings tweaks and not via Systems modules (like Ravage do).

I looked into both CBA and Modules. 

I did not understand modules at all and was then told by others that CBA has some advantages over modules. In the end i used CBA because i had help there. 

I also prefer it because i can define a default setting, if u run the mod like that you can just launch it without changing anything and it works. (no modules placing). 

 

6 hours ago, chernaruski said:

About the traders, not a big fan. In a post-apo it only made sense to me to have traders with a non-currency based trade.  

Yeah that wolud make sense, but in the end you would assign a value to an item type to understand what it can be traded for, and in the end paper money would just be a medium inbetween. 

But yeah, a proper item vs item trade system would indeed be interessting.. Maybe a future project:) 

The current tradercamp is just to proved ravage traders with some extensiond. 

It is also the place where I would want to have a Task hub in the future. 

 

I hope that makes some sense. 

 

Cheers

Vd

  • Thanks 1

Share this post


Link to post
Share on other sites
7 hours ago, chernaruski said:

You are most welcome @Vandeanson

If only it was possible to have some sort of database based save system for your mod and Ravage

I personally think my dynamic sites should reset at server restart along with any AI patrols. 

But i had good experiences with grad persistence, where you can save player stats position and gear and as of lately also variables. Not sure if that is what you look for tho? 

Share this post


Link to post
Share on other sites

I just did a teleport script for my mission initialization.

 

About the numbers

[player, "n", 0.5] Would teleport to the northern part of the map, this was somewhat default mode

[player, "n", 1] Northe edge of the map

[player, "n", 0.1] Anywhere except the southern 10%

[player, "nc", 0.5] Northern and horizontally more in the top center (horizontally).

Get the idea? 0 or no args will teleport anywhere on map. c = center of map.

 

The good part of the script is, if it only finds water spawns, it widens the search step by step.

 

Still not sure about spawn distribution, should check with many spawns + markers once... I think there's too many coast spawns, but looking at the code, distrib towards coasts is not possible IMO.

 

/* Teleport an object, by tortuosit, 201900806

[player, "n"] execVM teleport.sqf; Teleport player into northern part of the map
[player, "nc"] execVM teleport.sqf; Teleport player into north of the map, narrows down to the middle
[player, "nw", 0.8] execVM teleport.sqf; Teleport player somewhere between full north and 0.8*map
[player, "s", 1] execVM teleport.sqf; Teleport player somewhere to the southern horizontal line
[player] execVM hlp_teleport.sqf; Teleport player anywhere
*/

private _object = param [0, player];
waituntil {alive _object};
private _w = worldSize;
private _area =  param [1, ""];
private _f =  param [2, 0.7];
private "_spawnPos"; private _goodPos = false;
private _x = [0,_w]; _y = [0,_w];

_counter = 0;
while {(_counter == 0) && (_f >=0)} do
{
   switch (_area) do {
      case "n": {_x = [0,_w]; _y = [_f*_w, (1-_f)*_w]};
      case "nc": {_x = [0.5*_f*_w,(1-_f)*_w]; _y = [_f*_w, (1-_f)*_w]};
      case "s": {_x = [0,_w]; _y = [0,(1-_f)*_w]};
      case "sc": {_x = [0.5*_f*_w,(1-_f)*_w]; _y = [0,(1-_f)*_w]};
      case "w": {_x = [0,(1-_f)*_w]; _y = [0,_w]};
      case "wc": {_x = [0,(1-_f)*_w]; _y = [0.5*_f*_w,(1-_f)*_w]};
      case "e": {_x = [_f*_w,(1-_f)*_w]; _y = [0,_w]};
      case "ec": {_x = [_f*_w,(1-_f)*_w]; _y = [0.5*_f*_w,(1-_f)*_w]};

      case "c": {_x = [0.5*_f*_w,(1-_f)*_w]; _y = [0.5*_f*_w,(1-_f)*_w]};

      case "ne": {_x = [_f*_w,(1-_f)*_w]; _y = [_f*_w,(1-_f)*_w]};
      case "se": {_x = [_f*_w,(1-_f)*_w]; _y = [0,(1-_f)*_w]};
      case "sw": {_x = [0,(1-_f)*_w]; _y = [0,(1-_f)*_w]};
      case "nw": {_x = [0,(1-_f)*_w]; _y = [_f*_w,(1-_f)*_w]};
   }; _f = _f - 0.05 - random 0.15;

   _overland = false; _counter = 1000;
   while {(!_overland) && (_counter > 0)} do
   {
      _spawnPos = [(_x#0) + random (_x#1), (_y#0) + random (_y#1), 0];
      _overland = !(_spawnPos isFlatEmpty [-1, -1, -1, -1, 0, false] isEqualTo []);
      _counter = _counter - 1;
   };
};

if ((_counter == 0) && (_f < 0)) then
{
   hint "No valid teleport position found";
}
else
{
   _spawnPos = _spawnPos findEmptyPosition [0,25,(typeof _object)];
   _object setPosATL [_spawnPos select 0, _spawnPos select 1, (getPosATL _object) select 2];
   _object setdir random 360;
};
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
On 8/7/2019 at 5:11 AM, miasdad said:

Consider some heli patrols,also?

Yeah i would like to have helis take of from their hiding spot, search and destroy and land again, so players have a chance to take out the crew. 

But from what i heard, vehicle scripting seems to be an ungrateful pain in the ####... But something i will surely take a look at at some point

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Vandeanson said:

Yeah i would like to have helis take of from their hiding spot, search and destroy and land again, so players have a chance to take out the crew. 

But from what i heard, vehicle scripting seems to be an ungrateful pain in the ####... But something i will surely take a look at at some point

When you get to it, consider this script:

 

Its built primarily for players to call for air taxi or CAS, but since ai is flying the helis, you could probably reuse same functions, or at least learn something from it.

  • Like 2

Share this post


Link to post
Share on other sites
20 minutes ago, johnnyboy said:

reuse same functions, or at least learn something from it.

yeah that should work, thanks!

Share this post


Link to post
Share on other sites

Ok well that worldsize tip was awesome.

I will definitely replace all my position finders, thanks gents!

 

I have added an additional feature that places a marker over every spawned site in order to ensure sites do not spawn too close:

 

Spoiler

//in the settings:
VD_TC_DistanceCheck = 4500; //min distance sites will have from each other
VATC_BLMrkr = [];
VATC_BLMrkrArray = ["amarker_1","amarker_2","amarker_3","amarker_4","amarker_5","amarker_6","amarker_7","amarker_8","amarker_9","amarker_10","amarker_11","amarker_12"]; //default blacklist marker array the spawner will use

//position finder function:
fnc_VATC_Posfinder =
  {
    if (count VATC_Mrkr > 0) exitwith
        {
         _spawnPos = getmarkerpos VATC_Mrkr select 0;
        VATC_Mrkr deleteat 0;
        [_spawnPos]spawn fnc_VATC_Spwn
        };

    Private _spawnPos = "";
    Private _overland = false;
    Private _cnt = 1;
      while {!_overland || _cnt != -1} do
        {
           _spawnPos = [random worldsize, random worldsize, 0];
           _overland = !(_spawnPos isFlatEmpty [35, -1, 0.1, 30, -1, false] isEqualTo []);
          _cnt = VATC_BLMrkr findif {_spawnPos inArea _x;}
        };

      _spawnPos = [_spawnPos, 0, 5, 2, 0, 1, 0] call BIS_fnc_findSafePos;
      [_spawnPos]spawn fnc_VATC_Spwn;
  };

 

 

in the spawn script (called by above pos check script, once a good pos is found):

Spoiler

//blabla spawning in stuff code

//distance check marker spawn
private _mrkr = VATC_BLMrkrArray deleteAt 0;
VATC_BLMrkr pushBack _mrkr;
private  _DebugMrkr = createMarker [_mrkr, _SpawnPos];


_DebugMrkr setMarkerShape "ELLIPSE";
_DebugMrkr setMarkerColor "ColorBlue";
_DebugMrkr setMarkerAlpha 0; //set to 1 for debugging
_DebugMrkr setMarkerSize [VD_TC_DistanceCheck,VD_TC_DistanceCheck];

//blabla spawning in stuff code

 

 

This way it is no longer needed to place area markers in chernarus to avoid sites from spawning outside the map.

 

This is the result:

(every black dot is outside of any other blue area marker, one axis of the blue area marker is equal to our desired minimum distance between sites)

510BEC16CFF69209F8C5B3FBDF4AF2750785A360

 

Me happy!;)

 

cheers

vd

  • Like 3

Share this post


Link to post
Share on other sites
12 minutes ago, GEORGE FLOROS GR said:

 

Very nice , but you can use :

https://community.bistudio.com/wiki/BIS_fnc_randomPos

so not to get any water positions (depending on map )

 

ok gotta test that out too indeed.

currently isflatempty seems to check for water yes/no:

 

position isFlatEmpty [minDistance, mode, maxGradient, maxGradientRadius, overLandOrWater, shoreLine, ignoreObject]

in my understanding this does the same right?

going to test on actual terrain now=)

  • Like 1

Share this post


Link to post
Share on other sites
2 minutes ago, Vandeanson said:

currently isflatempty seems to check for water yes/no:

Sure but since the position might be on water , then it just slow down the code.

  • Like 1

Share this post


Link to post
Share on other sites
5 hours ago, Vandeanson said:

Yeah i would like to have helis take of from their hiding spot, search and destroy and land again, so players have a chance to take out the crew. 

But from what i heard, vehicle scripting seems to be an ungrateful pain in the ####... But something i will surely take a look at at some point

Thanks.It was a cue from Neo & Scruffy's Escape missions which I'm still into

Share this post


Link to post
Share on other sites

@Vandeanson, Would it be possible to add support for Wildboars to the animal spawner?  :icon_biggrin:

 

Classname:

Spoiler

Wildboar_F

 

 

Share this post


Link to post
Share on other sites
Just now, EO said:

@Vandeanson, Would it be possible to add support for Wildboars to the animal spawner?  :icon_biggrin:

aaabsolutely, I have already downloaded the mod;)

will include this in the next update.

I assume when spawning it with your module, the behaviour is altered?

I think i would have to "fake" your module arguments and directly implement a spawner, mind if i unpbo it?

 

cheers

vd

 

 

Share this post


Link to post
Share on other sites
5 hours ago, Vandeanson said:

mind if i unpbo it?

Dig in my friend. :icon_biggrin:

 

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, EO said:

Dig in my friend. :icon_biggrin:

 

Cheers, i would like to add fleeing behavior when shots are fired... Lets see what can be done:) 

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, Vandeanson said:

Cheers, i would like to add fleeing behavior when shots are fired... Lets see what can be done:) 

They already react to gunfire, they react to human presence too. 😉

Share this post


Link to post
Share on other sites

GRRREAT SUCCESS!

 

i finally manged to create inventory items!

proper infection cure/combat items incoming for the Zombie infection feature;)

I just need to figure out how to create propper .paa files for the inventory pictures (without the grey background).

 

897E7F048F4A6CFA5B09F1838D7296870C84543D

  • Like 2

Share this post


Link to post
Share on other sites

ok got it 😉

 

64C578BC14CD6488A51F997A74BBC1C03B649F2C

 

The items have different weights btw.

 

Will amend the infection script to have a cure option (injector) and supression option (pills) similar like ryan zombies if i recall correctly.

gotta change the infection effect a little, so that you have various Tiers of infection that increase over time and can be reduced by pills.

to completely get cured, an injection is needed.

 

bloodbag and bandges are for another project;)

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Hiho all,

 

Quick update on something I squeezed in, as announced above=)

 

Infection System update:

 

New:

- Inventory item: Anti Virus Pill (AVP), with model and inventory picture, classname "VA_AVM_Pill_F"

- Inventory item: Anti Virus Injector (AVI), with model and inventory picture, classname "VA_AVM_Injector_F"

- killed AI (non Zombie) may get AVP or AVI added to their inventory when killed (so no gearpools must be updated or your preferred AI spawner must be updated)

- AVP and AVI will be part of the VA Loot Economy (hence they may spawn in buildings

- Infection: for ravage users, the infection will drain hunger and thirst, in addition to health and stamina

- Base Infection Symptom Frequency (BISF): default delay between Infection Symptoms (see point above)

- Current Infection Symptom Frequency (CISF): each Symptom tick, the delay between Symptoms is reduced by 5%, so the infection will hurt more often the longer it lasts -> increasing frequency

- AVP: will increase the delay between Symptoms, up to a certain maximum (can not be longer than 110% of BISF)

- AVI: will cure and remove the infection

- Settings: BISF, AVB-dropchance, AVI-dropchance and the infection chance per hit can all be adjusted or the feature can be turned off

- AVI and AVP are stackable and have "realistic" weight

- Consumation is no longer an instant Addaction but a 4 or 10 seconds HoldAction with reduced walking speed while in progress

- AVI and AVP can only be used (Holdaction appears) when all conditions below are met:

-- no weapon in hands

-- player is infected

-- player has atleast 1 AVP or AVI in his inventory

 

In the video you can see how the player gets infected and how the infection and pill consummation affects the following player stats:

- Health

- Stamina

- ravage Hunger (-5% each tick)

- ravage Thirst (-10% each tick)

- CISF

 

.. and how the AVI cures it.

 

 

Doing some more testing and tuning (of the symptom effects) and will be updated along with the new tradercamp.

 

cheers

vd

 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Nice showcase VD. :rthumb:

Do you plan on adding animations, maybe not so much for pill consumption but an animation for using the injector would be a nice addition.

 

 

Share this post


Link to post
Share on other sites
2 hours ago, EO said:

Nice showcase VD. :rthumb:

Do you plan on adding animations, maybe not so much for pill consumption but an animation for using the injector would be a nice addition.

 

 

Yes i think that would be good indeed, could be the same as FAK consumation... 

I like that you can abort the consumation at the moment. 

I have buit in a chance that pills and injectors are ruined if the process is interrupted. But in the end the missing animation bothered me somehow... 

 

I am also adding a bleeding feature atm, with bandages and bloodbags:) 

  • Like 2

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×