Jump to content

Recommended Posts

Honestly aeroson the system is pretty different and lack of some features that i was able to add. They can use it btw disabling my gear system ;)

Share this post


Link to post
Share on other sites

ok so Im still having my freezing issues and in my rpt im seeing tons of this,

Error in expression <BTC_compile_count = <null>;>

Error position: <<null>;>

Error Invalid number in expression

Error in expression <BTC_compile_count = <null>;>

Error position: <<null>;>

Error Invalid number in expression

Error in expression <d _display_name;_count = _array_bullet select _id;_array_class set [_id,0];_ar>

Error position: <select _id;_array_class set [_id,0];_ar>

Error Zero divisor

it only seems to happen when I try and use one of tonics vas box, if i come in and use vanilla gear it doesnt happen. Any type of loadout more than a normal vanilla loadout seems to cause it for me. Any idea whats going on?

edit: fresh rpt file up until getting shot at then exiting game http://www.mediafire.com/download.php?bc83wm16jm53eqo

btc functions sqf is see 2 places it could be linked to

BTC_compile_count = 0;

_mags_g = [];

_array_class = [];

_array_bullet = [];

{

_array_mag = toArray _x;

_cond_class = false;_cond_bullet = false;_array_class_x = [];_array_bullet_x = [];

for "_i" from 0 to (count _array_mag - 1) do

{

_n = _array_mag select _i;

if (_n == 40 && ((count _array_mag) - _i <= 7)) then {_cond_class = true;};

if !(_cond_class) then

{

_array_class_x = _array_class_x + [_n];

}

else

{

if (_n == 47) then {_cond_bullet = true;};

if (_n != 40 && _n != 41 && _n != 47 && !_cond_bullet) then {_array_bullet_x = _array_bullet_x + [_n];};

};

};

_array_class = _array_class + [toString _array_class_x];

_array_bullet = _array_bullet + [toString _array_bullet_x];

} foreach _magd;

and

_display_name = getText(configFile >> "CfgMagazines" >> _x >> "displayName");

_id = _array_class find _display_name;

_count = _array_bullet select _id;

_array_class set [_id,0];_array_class = _array_class - [0];

_array_bullet set [_id,0];_array_bullet = _array_bullet - [0];

call compile format ["BTC_compile_count = %1;", _count];

_mags_g = _mags_g + [[_x,BTC_compile_count]];

} foreach _mags;

_gear =

[

_uniform,

_vest,

_goggles,

_headgear,

_back_pack,

_back_pack_items,

_back_pack_weap,

_weapons,

_prim_items,

_sec_items,

_handgun_items,

_items_assigned,

_uniform_items,

_vest_items,

_weap_sel,

_mags_g,

_at_mag

];

_gear

};

Edited by deethree

Share this post


Link to post
Share on other sites

Well I remember mentioning aeroson's get/set loadouts and he posted on here, honestly incorporating that would be the easiest way for you to do this, and I support that fully. I already used it with your package and it works great and reliably. If you want to do it yourself though what I would attempt after seeing that the uniform and vest options havent been added yet, they are supposed to incorporate them; I would count all the items for all uniform and vest and add them to an array. I would attempt to find a way to add backpack items to a seperate array. Once you have the loadout separated I would attempt to add each item line by line so that each gets added in order instead of a whole addmagazines and additems function. Once you have all the items and mags loaded to both your uniform and vest then I'd work on the backpack separately and last.

{
   if ( _item class = cfgitem) : {_x additem "_item"}
   else if (_item class= cfgmagazine) : {_x addmagazine "_item"}
   else if (_item class= cfggoggles) : {_x addgoggles "_item"}
   else if so on and so forth 
} foreach _item;

{
   if ( _backpackitem class= cfgitem) : {_x additem "_backpackitem"}
   else if (_backpackitem class= cfgmagazine) : {_x addmagazine "_backpackitem"}
   else if (_backpackitem class= cfggoggles) : {_x addgoggles "_backpackitem"}
   else if (_backpackitem class= cfgweapons) : {_x addweapon "_backpackitem"}
} foreach _backpackitem;


Something like that anyhow.

Share this post


Link to post
Share on other sites

@deethree

You're not using the latest version.

@WildFire6

I don't follow you.

Share this post


Link to post
Share on other sites

Hello,

first things first: Your doing a great job with your respawn script and it helps a lot to bring the gameplay we are used to back. Thank you.

But sadly there is a problem:

Whenever I'm shot, in as infantry or in a vehicle I my pc freezes for just a quarter second. I found it only happens to me in missions with btc revive. Anyone else have the same issues?

and before you think no big deal, consider flying and taking about 10 small arms shots in the middle of banking.

Who said no big deal??

I don't have any freeze btw...Anyone else?

We have been experiencing the exact same problem on our server. Every time you get shot there is a small, sometimes quit large slowdown in performance. We are using V0.8 from Armaholic

Well you could have guesses "delete your profiles and see if that works"... Geeeez....

That fixed it btw, was most likely nothing to do with you. :yay:

We have tried that with no success, we where still experiencing the slowdowns.

But we found the "problem" and could produce a "solution" we can live with atm:

After some testing we nailed it down to the equipment (we are usually stuffing us full to the maximum capacity our vets/backpacks can carry). So we tried to disabled the gear saving on respawn/revive, but the problem still occurred. We discovered that when you have no gear equipped and are striped down to your undies there is no slowdown. A good way to reproduce the slowdowns was standing in fire where you get continuous damage.

After that discovery I took a look at your scripts.

Like deethree said and we discovered, the slowdown occurs mostly when you get damage from multiple sources.

In your script you call your BTC_fnc_handledamage, each time the player gets damage and from this function you call the BTC_get_gear function. The later is what in combination with multiple callings produces the slowdowns.

The more a player has equipped, the more it slows down. You have to understand the amount of data produced (saving the gear to variables) and lines of code executed in this "simple" get gear section. Especially if the player gets damage in a millisecond rate (fire, large groups shooting at a helicopter) the function is called over and over and over again, probably even before is completely executed.

We fixed these slowdowns (for now) by disabling respawn_gear and editing line 74 in the =BTC=_revive_init.sqf where there are two redundant lines of code:

if (BTC_respawn_gear == 1) then {player addEventHandler ["HandleDamage", BTC_fnc_handledamage];};
player addEventHandler ["HandleDamage", BTC_fnc_handledamage];

Which means that the BTC_get_gear is even executed when you have disabled it.

I hope this report of our experience with this Bug, will help you come up with a solution and help others with the same problem. Keep up the good work.

Greetings,

Drake

Share this post


Link to post
Share on other sites

Which means that the BTC_get_gear is even executed when you have disabled it.

It's already been fixed in the 0.9 rc1.

Sadly it's hard to follow the development of game and support it. I'm getting tired honestly. This didn't happen in the prevoius version of the game and the problem appears only with the latest. I'm thinking about to stop the A3 scripting and start again when the game will be more stable. You can switch the gear feature off till then.

Share this post


Link to post
Share on other sites
It's already been fixed in the 0.9 rc1.

Sadly it's hard to follow the development of game and support it. I'm getting tired honestly. This didn't happen in the prevoius version of the game and the problem appears only with the latest. I'm thinking about to stop the A3 scripting and start again when the game will be more stable. You can switch the gear feature off till then.

There are plenty of other loadout scripts out there, especially this one:

http://forums.bistudio.com/showthread.php?148577-GET-SET-Loadout-(saves-and-loads-pretty-much-everything)

To save you a headache, forget about the gear stuff and just focus on making the revive stuff as good as possible.

Maybe have areoson's script handle the gear saving on death and loading on revive?

All I'm saying is what you have so far is great, just don't burn yourself out on it!

Share this post


Link to post
Share on other sites

Shit I feel kind of bad mentioning this but in testing 0.9 today there's one thing that happens everytime.

I'm only using revive and between being killed and being placed into the revive position a ghost unit shows up next to the victim for a couple of seconds. It happened several times in 0.8 (I never mentionioned it) but it's happening everytime in the 0.9.

If you look at the screenie you can see what I mean... there were only two players on the server and when I shot the other one he collapsed as expected, but then the ghost unit appeared standing near him, then went prone and then disappeared. As soon as it disappeared the victim assumed the 'revive' postion. Happens the same way everytime.

Can anything be done about that Giallustio? Or is that a non-fixable thing?

http://members.westnet.com.au/scott_k/not%20much/107410_2013-04-12_00001.png (1139 kB)

Share this post


Link to post
Share on other sites
It's already been fixed in the 0.9 rc1.

Sadly it's hard to follow the development of game and support it. I'm getting tired honestly. This didn't happen in the prevoius version of the game and the problem appears only with the latest. I'm thinking about to stop the A3 scripting and start again when the game will be more stable. You can switch the gear feature off till then.

You are saying that those two lines have been fixed? But the multiple calling would be still present if the gear feature is on. Thx anyways. Wasn't aware there is already a new version.

There are plenty of other loadout scripts out there, especially this one:

http://forums.bistudio.com/showthread.php?148577-GET-SET-Loadout-(saves-and-loads-pretty-much-everything)

To save you a headache, forget about the gear stuff and just focus on making the revive stuff as good as possible.

Maybe have areoson's script handle the gear saving on death and loading on revive?

All I'm saying is what you have so far is great, just don't burn yourself out on it!

I agree, if its making you trouble concentrate on doing what you want to do.

Share this post


Link to post
Share on other sites

Not sure if this has been reported, but it's proving to be an oft-mentioned issue on our co-op server.

I have showScriptErrors turned on and can see when things go wrong. If I'm holding 100- or 200-round magazines, whenever I am shot (and gear is saved) I get a Zero Divisor error. I'm not at my home machine right now so can't get you the exact location, but I remember the line is something along the lines of...

_saved_bullets = _bullets_array select _id

The Zero Divisor error appearing for the select _id part.

Thanks in advance.

Share this post


Link to post
Share on other sites

found one problem, if you die and get revived, any tasked attached to you (at least one with only synchronized objects setting) will not change state, Im assuming the sync lines get detached or something. also any tasked that get created to you on a trigger activation will no longer work.

Share this post


Link to post
Share on other sites

Thanks, Giallustio. I tried using 0.9 RC1 when it was still showing debug hints so assumed it was broken; reverted back to 0.8 where that was still an issue.

Looking through past posts but can't quite figure out if this is a known issue or not. If I set BTC_respawn_gear to 1 I assume I should respawn / be revived with the gear I died with? Right now, for both being revived and respawning, players always come back with the gear their class has by default. Is this a known bug? Is there a fix?

We are using VAS if that makes a difference.

Share this post


Link to post
Share on other sites

I don't know. There were be a lot of changes in the new A3 updates and I didn't test it!

If you still have the debug hits try to re-download the rc1 ;)

Share this post


Link to post
Share on other sites

Hi Giallustio, any word on the revive ghosting issue I mentioned on the last page?

Cheers mate.

Share this post


Link to post
Share on other sites

I don't know! Maybethey changed something on the re-spawn system. Did you set up it right by the way?

Share this post


Link to post
Share on other sites

I think the ghost thing he is talking about is the respawning of damaged character. Like how you first die then you are respawned and moved to the location. We have reported seeing the person at the respawn_west marker while they are respawning a damaged character.

In fact if you act fast enough you can hit the first aid button while they are there and they'll be moved to the location but upon finishing the animation they will be healed. Its a dirty trick but it works. I dont know how your going to disable it. In the damaged person just make the screen black for longer. For everyone else seeing the person, Id say maybe move them to another location rather than respawn_west so they are not seen. Or just speed the whole thing up, I dont know.

Share this post


Link to post
Share on other sites
description.ext

class Params
{
class BTC_mobile 
{ 	
// paramsArray[0]
	title="Mobile respawn?"; 
	values[]={0,1}; 
	texts[]={"No", "Yes"}; 
	default = 1; 
};
};

=BTC=_revive_init.sqf

line 21

BTC_active_mobile = (paramsArray select 0);

This worked great thanks. Just one small thing i have seen when the MHQ re-spawns its half way into the ground any ideas?

Share this post


Link to post
Share on other sites

Hi Giallustio,

Don't worry about the ghosting issue, that was my dumb fault. Reading what WildFire said made me realize what I'd done that was causing it. Because I only ever want to use revive with no respawn I deleted the respawn marker from the map and that was causing the unit to spawn next to itself before it teleported to itself.

I've added the respawn marker back in and now it's fine. I placed it 7km out to sea though so once the revive timer runs out there's no continuing for the player unless he wants to spend half a day swimming back to shore :p

Share this post


Link to post
Share on other sites
For everyone else seeing the person, Id say maybe move them to another location rather than respawn_west so they are not seen. Or just speed the whole thing up, I dont know.

It will be fixed

Share this post


Link to post
Share on other sites

Just making you aware of a pretty major issue.

I have it set so that only medics (B_medic_F) can revive, which works fine, but there's a bug meaning that anyone can revive themselves.

If a player is being dragged when they hit Respawn, they'll instantly revive themselves.

Share this post


Link to post
Share on other sites

First, great mod! Really 100% needed for most missions and helps keep immersion overall. Thanks for that.

Now, I've been trying to use the Medic only settings to limit who can revive (and give medic something to do). I haven't tried yet with the latest release but it was working fine with just one medic per squad before. However, I have set up my map with 2 squads of 10 people and 2 medic slots in each. When I did this, nobody could revive whatsoever.

I've been looking through code but just can't find what's wrong there. Since there's not "first aid" action whatsoever, I'm guessing it's somewhere in the BTC_is_class_can_revive function but the only potential problem there is the foreach (since there are multiple) but I don't get why it wouldn't work the way it is.

I'll try again today with the newest version and post how it's going though if someone else figure this out, please post here :)

Thanks

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

×