Oh... Okay
I was thinking that u want ti uodate it with new latest fresh build of rust...
DeathNotes
Broadcasts players and animals deaths to chat
Total Downloads: 65,994 - First Release: Feb 14, 2015 - Last Update: May 13, 2018
- 4.98519/5, 270 likes
-
The rust just updated, I would still have to wait for an Oxide update, and then check if there was anything on the update that would screw the plugin. But still I'm still planning how I am doing things on Death Notes, like I said before I don't like how the code looks right now, I may warn just now that there will be big changes into 1.2.0.
And you will be able to disable a specific message with false:
i.e: "BLEEDING": false (instead of the message) -
-
will this ever show snap rap and c4 deaths?
-
SkinN for C4 you can just get it when you see a Rust.DamageType.Explosion or if: HitInfo.Initiator has type: TimedExplosive
as for BearTrape it would be: Rust.DamageType.Bite or HitInfo.Initiator has type: BearTrap -
Code:... # GET THE DEAH TYPE deathtype = str(hitinfo.damageTypes.GetMajorityDamageType()).upper()# DEATHTYPE: EXPLOSION (TimedExplosive aka C4) if deathtype == 'EXPLOSION' and settings['DISPLAY EXPLOSION DEATHS']: # SEND MESSAGE ...# DEATHTYPE: STAB (Knife and spears, and sap trap) elif deathtype == 'STAB': # DEATH BY TRAP if 'BearTrap' in str(attacker) and settings['DISPLAY TRAPS DEATHS']: # SEND MESSAGE ... # DEATH BY SPEARS/KNIFE elif settings['DISPLAY PLAYER KILL MESSAGES']: # SEND MESSAGE ......
In this case the C4 death type will show as 'explosion', hitinfo.Initiator would have the whole entity stuff.Last edited by a moderator: Feb 18, 2015 -
SkinN õ.Õ'.|. updated Death Notes with a new update entry:
Death Notes | New Rust Update Fixes
[DOUBLEPOST=1424222794][/DOUBLEPOST] -
@SkinN õ.Õ'.|. my portuguese speaker bro'
Remove the lines:
print(str(hitinfo.damageTypes.GetMajorityDamageType()).upper())
print(hitinfo.Initiator)
It only prints info in the logs that we dont need...
Tnx for the plugin -
SkinN õ.Õ'.|. updated Death Notes with a new update entry:
Death Notes | Minor Tweak
[DOUBLEPOST=1424232806][/DOUBLEPOST] -
I found an issue with your melee detection.
Bone Knife, Stone Hatchet and Hatchet aren't being detected by your plugin.
Bone Knife should be STAB and hatchet would be something like CUT. You could define the difference by the weapon name.
[DOUBLEPOST=1424234680][/DOUBLEPOST]ahh bows are also "hunting(clone)" now
[DOUBLEPOST=1424239307][/DOUBLEPOST]On BULLET this solved the issue for the Hunting Bow:
Code:elif deathtype == 'BULLET' and settings['DISPLAY PLAYER KILL MESSAGES'] or weapon == 'bow' or weapon == 'hunting(Clone)':
Adding SLASH will solve the issues with the 3 weps:
Code:elif deathtype == 'SLASH' and settings['DISPLAY PLAYER KILL MESSAGES']: # IS PLAYER CONNECTED? if victim.IsConnected(): msg = msgs['SLASH'] else: msg = msgs['SLASH SLEEP'] # GET DEAHT INFO AND MAKE MESSAGE REPLACEMENTS msg = msg.replace('{victim}', victim.displayName) msg = msg.replace('{attacker}', attacker.displayName) msg = msg.replace('{weapon}', weapon) return (msg, victim_pos, hitinfo)
Last edited by a moderator: Feb 18, 2015 -
Waiting for...
-
I have the following spamming console. Welcome message/connect/disconnect work but nothing else.
[Oxide] 6:20 PM [Error] Failed to initialise plugin notifier (ArgumentException: An element with the same key already exists in the dictionary.)
[Oxide] 6:20 PM [Debug] at System.Collections.Generic.Dictionary`2[System.String,Oxide.Rust.Libraries.Command+ChatCommand].Add (System.String key, ChatCommand value) [0x00000] in <filename unknown>:0
at Oxide.Rust.Libraries.Command.AddChatCommand (System.String name, Oxide.Core.Plugins.Plugin plugin, System.String callbackname) [0x00000] in <filename unknown>:0
at (wrapper delegate-invoke) System.Action`4<System.Action`3<string, Oxide.Core.Plugins.Plugin, string>, string, Oxide.Core.Plugins.Plugin, string>:invoke_void__this___Action`3<string, Plugin, string>_string_Plugin_string (System.Action`3<string, Oxide.Core.Plugins.Plugin, string>,string,Oxide.Core.Plugins.Plugin,string)
at Microsoft.Scripting.Interpreter.ActionCallInstruction`4[System.Action`3[System.String,Oxide.Core.Plugins.Plugin,System.String],System.String,Oxide.Core.Plugins.Plugin,System.String].Run (Microsoft.Scripting.Interpreter.InterpretedFrame frame) [0x00000] in <filename unknown>:0
at Microsoft.Scripting.Interpreter.Interpreter.Run (Microsoft.Scripting.Interpreter.InterpretedFrame frame) [0x00000] in <filename unknown>:0 -
redone, [Oxide] 6:20 PM [Error] Failed to initialise plugin notifier, not Death Notes!
-
-
"An element with the same key already exists in the dictionary" means that other plugin is already using the same "command/function" as another one what was already loaded.
Since SkinN develops Notifier and DeathNotes I suggest u guys to disable DeathNotes if u use Notifier, since Notifier does more and notify death also. -
-
-
You will have to wait for version 1.2.0.
This new Rust version is all messed up, about the weapons. They have change almost all the death types from all the weapons, I just tweaked what I could for now.
I will be working on 1.2.0 tonight, should be ready by Thursday.
[DOUBLEPOST=1424245902][/DOUBLEPOST]
All the problems Death Notes has at moment it's due to the new Rust update changes, you will have to be patient until I release a stable version.Last edited by a moderator: Feb 18, 2015 -
Ok SkinN. When I read "Standalone" in your Overview I thought that your Notifier would have the same function... anyway. Did you saw my solutions that I posted in a upper comment?
I'm using then here without issues. -
@SkinN õ.Õ'.|.
found some little stuff also, dunno what it really does but i guess it could help you
hitinfo.Weapon.LookupShortPrefabName() => should give you the name of the weapon.
if(hitinfo.HitBone > 0)
{
StringPool.Get(hitinfo.HitBone);
}
also seems like that for all object kills there is an easier way.
Here is what they use in rust:
Code:public override void Die(HitInfo info = null) { Assert.Test(base.isServer, "Die called on client!"); if (!this.IsDead()) { Interface.CallHook("OnEntityDeath", new object[] { this, info }); this.EndSleeping(); this.EndLooting(); ServerPerformance.deaths += (ulong) 1L; base.RemoveFromTriggers(); this.UpdatePlayerCollider(false, false); this.ChangePlayerState(PlayerState.Type.Dead, true); if (this.belt != null) { Vector3 vector = new Vector3(Random.Range((float) -2f, (float) 2f), 0.2f, Random.Range((float) -2f, (float) 2f)); this.belt.DropActive((Vector3) (vector.normalized * 3f)); } LootableCorpse corpse = base.DropCorpse("player/player_corpse") as LootableCorpse; ItemContainer[] source = new ItemContainer[] { this.inventory.containerMain, this.inventory.containerWear, this.inventory.containerBelt }; corpse.TakeFrom(source); corpse.playerName = this.displayName; corpse.playerSteamID = this.userID; corpse.SendNetworkUpdate(NetworkQueue.Update); this.inventory.crafting.CancelAll(); this.inventory.Strip(); string message = string.Empty; string msg = string.Empty; if (info != null) { BasePlayer player = info.Initiator.ToPlayer(); if (player != null) { if (player == this) { message = this.displayName + " was killed by " + base.lastDamage; msg = "You died: killed by " + base.lastDamage; } else { message = this.displayName + " was killed by " + player.displayName; msg = "You died: killed by " + player.displayName; } } else if (info.Initiator != null) { message = this.displayName + " was killed by " + info.Initiator.LookupPrefabName(); msg = "You died: killed by " + info.Initiator.LookupPrefabName(); } else { message = this.displayName + " was killed by unknown!"; msg = "You died: killed by unknown!"; } } else { object[] objArray1 = new object[] { this.displayName, " died (", base.lastDamage, ")" }; message = string.Concat(objArray1); msg = "You died: " + base.lastDamage.ToString(); } Debug.Log(message); this.ConsoleMessage(msg); this.LifeStoryLogDeath(info); this.LifeStoryEnd(); if (base.net.connection == null) { base.Invoke("KillMessage", 1f); } else { this.SendRespawnOptions(); } } }