Jump to content
Sign in to follow this  

Help on "free for all" deathmatch mission

Recommended Posts

Basically, I have this situation similar to a deathmatch (free for all), and I'd like to "addscore" to players ONLY when they kill other players, not AI's.

Digging the internet, I found some scripts (meant for punishing teamkills), worked around them a little bit and got this:





if (local player)then{
_unit=(_this select 0);
_killer=(_this select 1);

_unit addMPEventHandler ["MPkilled", {
 _unit=        (_this select 0); // UNIT THAT DIED
 _killer=    (_this select 1); // UNIT THAT KILLED THE UNIT

if (isplayer _killer && _unit != _killer)then{ // IF KILLER IS A PLAYER

_killer addScore 2;
 _id =        format ["%1 killed %2.",name _killer,name _unit]; // UNIQUE MARKER NAME
hint _id;

 _unit removeAllEventHandlers "killed";



I must admit that I could not create such a thing, but I did some modifications and it ALMOST worked as intended.


What it does:

Player A kills player B

Player A gets his score (2), yay.
Player B respawns.

Then, Player C kills player D

Player C gets more points than he should get.

And this keeps happening like:


Score behavior:

Kill 1 : 2 points
Kill 2 : 4 points
Kill 3 : 6 points (...) <- I'm not sure about these values, but I do know that they keep growing.



I believe that this is happening because of the accumulated bodies of players, but I wasn't able to delete them to test it out.


If any of you guys can help me, it would be appreciated! :)



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
Sign in to follow this