Kerc Kasha 102 Posted May 27, 2016 Due to recent code refactoring, making this MP compatible should be easier. After the gib update, I will make it my goal to get this working in an MP environment. even with the first version it's fairly easy, just need to switch over to using createvehicle instead of local and have each client run the commands. In order to avoid blood overload and performance drops you'd share the variable with publicvariable, although it would probably be better to only have that pruning done on the server or something. there's some other ways of doing it but this would be the most consistent way as it'll mean everyone will see the same thing Share this post Link to post Share on other sites
Incontinentia 339 Posted May 27, 2016 That's great news Zooloo and the new gibs are looking damn good too. Might have to donate again! For MP, would everybody seeing the same thing will be worth the performance cost in your opinion kerc kasha? Not speaking from an enormous amount of knowledge here but in the past I found that the more that can be offloaded from the server, the better, so clientside would be my preference unless it's not all that performance intensive. I could well be wrong though. Share this post Link to post Share on other sites
dmarkwick 261 Posted May 27, 2016 I think so many createVehicles & deleteVehicles would clog up the network :( it might be worth thinking about just transmitting a hit, and have each client work out what to do from there. It would mean clients wouldn't see exactly the same thing, but they would see something close, and the network traffic would be much smaller. 1 Share this post Link to post Share on other sites
zooloo75 834 Posted May 27, 2016 There's a reason why the effects are coded to be local only. It's insane to synchronize every single splatter across all clients. I was planning on implementing something similar to dmarkwick's suggestion with the least amount of network performance hit. If it were easy, it would be done already. Share this post Link to post Share on other sites
Kerc Kasha 102 Posted May 27, 2016 There's a reason why the effects are coded to be local only. It's insane to synchronize every single splatter across all clients. I was planning on implementing something similar to dmarkwick's suggestion with the least amount of network performance hit. If it were easy, it would be done already. in that case, an event system would be best. Something that tells each client that a blood splatter needs to be created, but I'm wondering how much different that would be from using createvehicle Share this post Link to post Share on other sites
zooloo75 834 Posted May 27, 2016 in that case, an event system would be best. Something that tells each client that a blood splatter needs to be created, but I'm wondering how much different that would be from using createvehicle Yep, all the clients need to know is that someone was hit -- just synchronize the events sending only the essential data. From there, clients can create blood splatters fairly accurately. Share this post Link to post Share on other sites
gza036 7 Posted May 27, 2016 I was messing around with this + the new Unsung mod release. Noticed it doesn't work with a lot of the US units. (no blood) Wonder why that would be? Share this post Link to post Share on other sites
zooloo75 834 Posted May 27, 2016 I was messing around with this + the new Unsung mod release. Noticed it doesn't work with a lot of the US units. (no blood) Wonder why that would be? I've noticed this with another unit addon pack as well, didn't look into the issue. My guess right now is that those units aren't configured traditionally as most units. Could be different hitpoint names, could be that the class doesn't derive from Man. Share this post Link to post Share on other sites
froggyluv 2135 Posted May 27, 2016 ^^^Art^^^ Hey Zooloo, is there a global variable I can pull from Bloodlust to activate in another script to let me know a unit has been gibbed? I tried 'BloodLust_IsVaporized' but that always came back as true. Share this post Link to post Share on other sites
zooloo75 834 Posted May 27, 2016 ^^^Art^^^ Hey Zooloo, is there a global variable I can pull from Bloodlust to activate in another script to let me know a unit has been gibbed? I tried 'BloodLust_IsVaporized' but that always came back as true. That's it, you'll have to watch for it to change: _unit getVariable ["BloodLust_IsVaporized", false]; Make sure you default it to false if there's no value assigned. It's only set in the BloodLust_VaporizeUnit function. Share this post Link to post Share on other sites
froggyluv 2135 Posted May 27, 2016 So using in a killed eventHandler I have: _target = _this select 0;_killer = _this select 1; _target setVariable ["BloodLust_IsVaporized", false]; if ((_target in _group) && (_target getVariable ["BloodLust_IsVaporized", true])) then { hintc format ["Vapor!"]; _groupWitness say3d "bullshit_01"; SK = SK -100; tsk =tsk -100; }; But its firing everytime someone in my group dies Edit: Correction it does not fire if I set define it at False at all but fires every death if I define it as True for all deaths -gibs and non gibs. Never called a variable from another mod before :unsure: Share this post Link to post Share on other sites
DestinyBreaker 13 Posted May 27, 2016 hope u like it , i made it for fun 1 Share this post Link to post Share on other sites
zooloo75 834 Posted May 27, 2016 hope u like it , i made it for fun Would make a sick album cover lol. 1 Share this post Link to post Share on other sites
zooloo75 834 Posted May 28, 2016 Gonna thank and blame Evil Organ for gifting me XCOM: Enemy Unknown. Been getting carried away in that game, lots of fun! Also, here's the torso gib in all its high-poly glory. http://imgur.com/a/IddYj This is all that's left to do! C:\_Software\_ArmA\BloodLust\trunk\_Resources\Models\Gibs\rightringfinger.obj C:\_Software\_ArmA\BloodLust\trunk\_Resources\Models\Gibs\rightthumb.obj C:\_Software\_ArmA\BloodLust\trunk\_Resources\Models\Gibs\rightupperarm.obj C:\_Software\_ArmA\BloodLust\trunk\_Resources\Models\Gibs\rightupperleg.obj On a separate note: For the MP version of BloodLust, I want to work closely with a multiplayer community which likes close quarters PVP. I'd like to make a little deathmatch arena mission which will also be the test-bed for the MP port. What I'll need is access to a server where I can freely upload updates of the mission and addon, and an active bunch of people to help test out at a moments notice (I am in the Central timezone). A Teamspeak server is also preferred for quick communication with said members. 5 Share this post Link to post Share on other sites
cb65 86 Posted May 28, 2016 Wow outstanding work on that torso gib, I can't wait to see that in action. Also I can't say it enough mate thanks so much for sharing your hard work with the community blood lust has change arma 3 fun for me forever. The clean up options you have added are great and suit my missions style perfectly, and I'm wondering if you could add another option or two for me ? Because my mission has roughly 30 AI fighting each other in a CQB scenario within a built up area of about 1000 meters, there is a lot of killing going on between the AI that the player never sees. So is it possible to add an option to the hit eventHandler that if the killed unit is greater then a set distance from the player (eg: 100m) the effects aren't applied. Cheers, CB. Share this post Link to post Share on other sites
mjolnir66 48 Posted May 28, 2016 To add to cb65, it would be nice have a limit for the number of gibs spawned by any one entity. Hitting a man with the Gau 8 from the Wipeout drops FPS to like 1 or 2 with the number of hits spawned. Share this post Link to post Share on other sites
khaosmatical 237 Posted May 28, 2016 Love the spilling intestines, nice and grisly. 1 Share this post Link to post Share on other sites
zooloo75 834 Posted May 28, 2016 Wow outstanding work on that torso gib, I can't wait to see that in action. Also I can't say it enough mate thanks so much for sharing your hard work with the community blood lust has change arma 3 fun for me forever. The clean up options you have added are great and suit my missions style perfectly, and I'm wondering if you could add another option or two for me ? Because my mission has roughly 30 AI fighting each other in a CQB scenario within a built up area of about 1000 meters, there is a lot of killing going on between the AI that the player never sees. So is it possible to add an option to the hit eventHandler that if the killed unit is greater then a set distance from the player (eg: 100m) the effects aren't applied. Cheers, CB. There's an activation distance setting in the settings menu which is defaulted to 2000 meters. 1 Share this post Link to post Share on other sites
zooloo75 834 Posted May 28, 2016 To add to cb65, it would be nice have a limit for the number of gibs spawned by any one entity. Hitting a man with the Gau 8 from the Wipeout drops FPS to like 1 or 2 with the number of hits spawned. That's the gib iteration setting. The FPS drop is from the splash damage which causes the hitpart event handler to fire off excessively. Still trying to solve that problem. Share this post Link to post Share on other sites
cb65 86 Posted May 28, 2016 There's an activation distance setting in the settings menu which is defaulted to 2000 meters. Thanks mate. Share this post Link to post Share on other sites
zooloo75 834 Posted May 28, 2016 So using in a killed eventHandler I have: _target = _this select 0; _killer = _this select 1; _target setVariable ["BloodLust_IsVaporized", false]; if ((_target in _group) && (_target getVariable ["BloodLust_IsVaporized", true])) then { hintc format ["Vapor!"]; _groupWitness say3d "bullshit_01"; SK = SK -100; tsk =tsk -100; }; But its firing everytime someone in my group dies Edit: Correction it does not fire if I set define it at False at all but fires every death if I define it as True for all deaths -gibs and non gibs. Never called a variable from another mod before :unsure: Check your if condition. You're defaulting the vaporized value to true, change it to false.You may also want to add a small sleep before executing your code, as Blood Lust might execute after your handler. Classic concurrency issues. Share this post Link to post Share on other sites
froggyluv 2135 Posted May 28, 2016 Thanks ^ Still havent gotten it but I will :) Wanna add screams and Psychological trauma from witnessing the gibs 1 Share this post Link to post Share on other sites