Kill messages/Death messages

kash

Member
Hello guys

I am currently looking for a working kill/death message script that works like a charm - With no delay and such.

Take a look at this video, and notice their messages displayed like a debug monitor style (Fx 1:10):

If someone knows how to make this, or know a source to this, it would be greatly appreciated.

I have seen all the other topics about this, however not what I want :)

Cheers,
Kash
 
Hello guys

I am currently looking for a working kill/death message script that works like a charm - With no delay and such.

Take a look at this video, and notice their messages displayed like a debug monitor style (Fx 1:10):

If someone knows how to make this, or know a source to this, it would be greatly appreciated.

I have seen all the other topics about this, however not what I want :)

Cheers,
Kash


Searched one of the players (Sir. Hitman 17)

And found a result for http://www.gametracker.com/server_info/173.193.48.137:3136/

Server Owner: Innko/Bloodred

I know him and talk to him often on skype. I will ask him about when he comes back online. However, it still might not be his server.
 
Actually before I posted this, I searched trough all the names in the sidechat and what not, to see if I could find them online playing on that particular server - to get in contact with admin.

But great job mate, cheers.. :)
 
I would also be very interested in this.

I think it was big mistake taking this out, so hackers who operate under the radar of battleye get to kill people without server admins being able to identify them easily. This hopefully would flush them out.
 
i watched that video and whats going on there is there using hint instead of global chat
a quick dive into a server pbo with kill messages enabled under "compile\server_playerDied .sqf" and around line 38 its done for you just replace

Code:
    [nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
    //[nil, nil, rHINT, _message] call RE;

with

Code:
    //[nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
    [nil, nil, rHINT, _message] call RE;

and give that a test i haven't tried that yet but it should work :)
 
Hey, and sorry for late response.. But thanks a lot, will test it out in the upcoming days, and let you know :)
 
i watched that video and whats going on there is there using hint instead of global chat
a quick dive into a server pbo with kill messages enabled under "compile\server_playerDied .sqf" and around line 38 its done for you just replace

Code:
    [nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
    //[nil, nil, rHINT, _message] call RE;

with

Code:
    //[nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
    [nil, nil, rHINT, _message] call RE;

and give that a test i haven't tried that yet but it should work :)


I dont those lines, my server_playerDied.sqf reads as follows....



private ["_characterID","_minutes","_newObject","_playerID","_key"];
//[unit, weapon, muzzle, mode, ammo, magazine, projectile]
_characterID = _this select 0;
_minutes = _this select 1;
_newObject = _this select 2;
_playerID = _this select 3;
_playerName = _this select 4;

dayz_disco = dayz_disco - [_playerID];
_newObject setVariable["processedDeath",time];

/*
diag_log ("DW_DEBUG: (isnil _characterID): " + str(isnil "_characterID"));
if (isnil "_characterID") then {
diag_log ("DW_DEBUG: _newObject: " + str(_newObject));
};
*/

if (typeName _minutes == "STRING") then
{
_minutes = parseNumber _minutes;
};

if (_characterID != "0") then
{
_key = format["CHILD:202:%1:%2:",_characterID,_minutes];
//diag_log ("HIVE: WRITE: "+ str(_key));
_key call server_hiveWrite;
}
else
{
deleteVehicle _newObject;
};

diag_log ("PDEATH: Player Died " + _playerID);
/*
_eh = [_newObject] spawn {
_body = _this select 0;
_method = _body getVariable["deathType","unknown"];
_name = _body getVariable["bodyName","unknown"];
waitUntil{!isPlayer _body;sleep 1};
_body setVariable["deathType",_method,true];
_body setVariable["bodyName",_name,true];
diag_log ("PDEATH: Player Left Body " + _name);
};
*/
//dead_bodyCleanup set [count dead_bodyCleanup,_newObject];



Thanks.
 
that means you dont have kill messages enabled in your build , rebuild your server it enabled then you can edit or add kill messages in manually to the server pbo using a build with it enabled as reference
 
Correction, the server is the "DayZ UFP USA"-server. IP: 173.193.20.130:3374
DayZUFP.com

Try sending us a message. I am one of the owners of the community.
 
that means you dont have kill messages enabled in your build , rebuild your server it enabled then you can edit or add kill messages in manually to the server pbo using a build with it enabled as reference

You were right. The kill messages was not installed. I have now installed it and saw on lines 37 & 38 the lines to edit as mentioned above but still I only get "Spunga was killed" (which I was getting anyway) and not the expected "Spunga was killed by towbiekun with weapon Pea Shooter from 150M".

below is my server_playerDied.sqf

private["_characterID","_minutes","_newObject","_playerID","_key","_playerName","_playerID","_myGroup","_group","_victim", "_killer", "_weapon", "_message", "_distance","_loc_message","_victimName","_killerName","_killerPlayerID"];
//[unit, weapon, muzzle, mode, ammo, magazine, projectile]
_characterID = _this select 0;
_minutes = _this select 1;
_newObject = _this select 2;
_playerID = _this select 3;
_playerName = _this select 4;

_victim removeAllEventHandlers "MPHit";

_victim = _this select 2;
_victimName = _victim getVariable["bodyName", "nil"];

_killer = _victim getVariable["AttackedBy", "nil"];
_killerName = _victim getVariable["AttackedByName", "nil"];

// when a zombie kills a player _killer, _killerName and _weapon will be "nil"
// we can use this to determine a zombie kill and send a customized message for that. right now no killmsg means it was a zombie.
if (_killerName != "nil") then
{
_weapon = _victim getVariable["AttackedByWeapon", "nil"];
_distance = _victim getVariable["AttackedFromDistance", "nil"];

if (_victimName == _killerName) then
{
_message = format["%1 killed himself",_victimName];
_loc_message = format["PKILL: %1 killed himself", _victimName];
}
else
{
_killerPlayerID = getPlayerUID _killer;
_message = format["%1 was killed by %2 with weapon %3 from %4m",_victimName, _killerName, _weapon, _distance];
_loc_message = format["PKILL: %1 (%5) was killed by %2 (%6) with weapon %3 from %4m", _victimName, _killerName, _weapon, _distance, _playerID, _killerPlayerID];
};

diag_log _loc_message;
[nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
//[nil, nil, rHINT, _message] call RE;

// Cleanup
_victim setVariable["AttackedBy", "nil", true];
_victim setVariable["AttackedByName", "nil", true];
_victim setVariable["AttackedByWeapon", "nil", true];
_victim setVariable["AttackedFromDistance", "nil", true];
};

dayz_disco = dayz_disco - [_playerID];
_newObject setVariable["processedDeath",time];

/*
diag_log ("DW_DEBUG: (isnil _characterID): " + str(isnil "_characterID"));
if (isnil "_characterID") then {
diag_log ("DW_DEBUG: _newObject: " + str(_newObject));
};
*/

if (typeName _minutes == "STRING") then
{
_minutes = parseNumber _minutes;
};

if (_characterID != "0") then
{
_key = format["CHILD:202:%1:%2:",_characterID,_minutes];
//diag_log ("HIVE: WRITE: "+ str(_key));
_key call server_hiveWrite;
}
else
{
deleteVehicle _newObject;
};

diag_log ("PDEATH: Player Died " + _playerID);
/*
_eh = [_newObject] spawn {
_body = _this select 0;
_method = _body getVariable["deathType","unknown"];
_name = _body getVariable["bodyName","unknown"];
waitUntil{!isPlayer _body;sleep 1};
_body setVariable["deathType",_method,true];
_body setVariable["bodyName",_name,true];
diag_log ("PDEATH: Player Left Body " + _name);
};
*/
//dead_bodyCleanup set [count dead_bodyCleanup,_newObject];



I've tried both ....

[nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
//[nil, nil, rHINT, _message] call RE;

and

//[nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
[nil, nil, rHINT, _message] call RE;


with the same result!!

Anyway.....all that aside, a friend of mine found this AND IT WORKED first time !!!!!

http://sponsored.dayz.st/wiki/index.php?title=Kill_Messages

Thanks to all who helped, because you did and I appreciate it!!!
 
i watched that video and whats going on there is there using hint instead of global chat
a quick dive into a server pbo with kill messages enabled under "compile\server_playerDied .sqf" and around line 38 its done for you just replace

Code:
    [nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
    //[nil, nil, rHINT, _message] call RE;

with

Code:
    //[nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
    [nil, nil, rHINT, _message] call RE;

and give that a test i haven't tried that yet but it should work :)

This does do what is said. my debug monitor over writes the message after 1 second tho. need to find a way to fix that.
 
all you have to do is:


Code:
player addEventHandler ["killed", {
 
[nil, nil, rHINT, "Dude, I died!"] call RE;
 
}]

Also if you are going to use the code above should prolly add the code to switchModel function also so you don't lose death msgs when you change cloth
 
all you have to do is:


Code:
player addEventHandler ["killed", {
 
[nil, nil, rHINT, "Dude, I died!"] call RE;
 
}]

Also if you are going to use the code above should prolly add the code to switchModel function also so you don't lose death msgs when you change cloth

I'm just looking for my kill messages to work all the time. They seem to be quite inconsistent, even when the server FPS is fine. Do you think this is to do with a player having changed their clothing?


If I understand correctly, I should replace
Code:
diag_log _loc_message;
[nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
with
Code:
player addEventHandler ["killed", {
[nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
}];

And to my player_switchModel.sqf in my mission.pbo fixes folder I should write
Code:
//BackUp Player Object
_oldUnit = player;
 
player addEventHandler ["killed", {
[nil, nil, rspawn, [_killer, _message], { (_this select 0) globalChat (_this select 1) }] call RE;
}];
 
/***********************************/
//DONT USE player AFTER THIS POINT
/***********************************/


I hope I haven't gotten myself thoroughly lost. Once again, the debug/hint kill messages are not what I'm looking for, just a consistent, i.e. every time someone is killed by another player, kill message function.
 
add my code at the very end of switchmodel.sqf. This way even if you change cloth the eventhandler is always added back
 
add my code at the very end of switchmodel.sqf. This way even if you change cloth the eventhandler is always added back
Hm.
Maybe something like:

Code:
// Add MPEventHandler
    player addMPEventHandler ["MPHit", {_this spawn server_playerHit;}];
    diag_log ("PLAYER: SETUP: Hit Event added after model change");

?:confused:
 
The death msg package (that most people) use MPhit and store the shooter and victim every time a player gets hit. Logically, the other alternative is to just wait until the player dies and then record the shooter and victim (which is what I did)
 
Back
Top