that what pops up before the server crashes.
I'll try to get a screenie when the server crashes because codes/words popup on the cmd like crazy.
Post all the log files from /Save/Logs please. Error is flooding your logs.![]()
that what pops up before the server crashes.
I'll try to get a screenie when the server crashes because codes/words popup on the cmd like crazy.
I couldn't paste it here nor on pastebin because it has to many words...Post all the log files from /Save/Logs please. Error is flooding your logs.
You can zip the files and upload the file as an attachment while you post btwI couldn't paste it here nor on pastebin because it has to many words...
Anyways, i've uploaded the files onto file dropper: http://www.filedropper.com/log01012015
it's the txt log.
didnt realize that, here you go just incase.You can zip the files and upload the file as an attachment while you post btw![]()
[1/1/2015 3:58:34 PM] [Error] [Jint] Error invoking function On_PlayerConnected in PlayerLog plugin.I couldn't paste it here nor on pastebin because it has to many words...
Anyways, i've uploaded the files onto file dropper: http://www.filedropper.com/log01012015
it's the txt log.
Got this type of error flood on my test server too.![]()
that what pops up before the server crashes.
I'll try to get a screenie when the server crashes because codes/words popup on the cmd like crazy.
thanks by the way.[1/1/2015 3:58:34 PM] [Error] [Jint] Error invoking function On_PlayerConnected in PlayerLog plugin.
PlayerLog plugin has errors which I noticed also 1 hour ago. You can use http://fougerite.com/resources/ididentifier.22/ instead of that.
[1/1/2015 3:58:24 PM] [Debug] [IronPython] An error occurred in: Advertise plugin while calling method: testtimerCallback
I think you are free to delete the Advertiser plugin unless you use It.
[1/1/2015 3:57:43 PM] [Error] [Magma] Error invoking function pingcontrolCallback in DHPK plugin.
I don't know what's this, but this seems to be the main source of the flood.
DeathMSG seems to be having errors too. Which version are you using? Could you post me your config?
[1/1/2015 3:56:26 PM] [Debug] [IronPython] An error occurred in: DeathMSG plugin while calling method: On_PlayerKilled
IronPython.Runtime.Exceptions.ValueErrorException: Invalid integer literal
at IronPython.Runtime.LiteralParser.ParseIntegerSign (System.String text, Int3
1/1/2015 3:51:44 PM] [Debug] [IPModule] Loading plugin EasyRemove.
[1/1/2015 3:51:44 PM] [Exception] [ IPModule->LoadPlugin | IPModule->LoadPlugins | IPModule->ReloadPlugins | IPModule->Initialize | ModuleContainer->Initialize | ModuleManager->LoadModules | Bootstrap->Start | ]
System.IO.IOException: Could not add reference to assembly Pluton
EasyRemove is a pluton Plugin. Look for DestroySystem to replace It
[1/1/2015 12:06:33 PM] [Error] [Magma] Error invoking function On_PlayerHurt in ShowDamage plugin.
[1/1/2015 12:06:33 PM] [Exception] [ Plugin->Invoke | Plugin->OnPlayerHurt | Hooks->PlayerHurt | HumanBodyTakeDamage->Hurt | TakeDamage->HurtShared | TakeDamage->Hurt | HostileWildlifeAI->StateSim_Attack | HostileWildlifeAI->SimAIState | BasicWildLifeAI->ManagedUpdate | Data->Think | WildlifeManager->Update | ]
System.NullReferenceException: Object reference not set to an instance of an object
at Fougerite.Player.get_Name () <0x0001a>
Ehh...
__author__ = 'DreTaX'
__version__ = '3.1'
import clr
clr.AddReferenceByPartialName("Fougerite")
import Fougerite
import re
"""
Class
"""
class DeathMSG:
"""
Methods
"""
red = "[color #FF0000]"
green = "[color #009900]"
def On_PluginInit(self):
Util.ConsoleLog("DeathMSG by" + __author__ + " Version: " + __version__ + " loaded.", False)
def On_Command(self, Player, cmd, args):
if cmd == "uautoban":
if len(args) == 0:
Player.Message("---DeathMSG 3.1---")
Player.Message("/uautoban name - Unbans player")
else:
config = self.DeathMSGConfig()
deathmsgname = config.GetSetting("Settings", "deathmsgname")
if not Player.Admin and not self.isMod(Player.SteamID):
Player.MessageFrom(deathmsgname, "You aren't an admin!")
return
ini = self.DMB()
pl = self.argsToText(args)
id = self.GetPlayerUnBannedID(pl)
ip = self.GetPlayerUnBannedIP(pl)
if id is None:
Player.Message("Target: " + pl + " isn't in the database, or you misspelled It!")
return
iprq = ini.GetSetting("NameIps", ip)
idrq = ini.GetSetting("NameIds", id)
ini.DeleteSetting("Ips", iprq)
ini.DeleteSetting("Ids", idrq)
ini.DeleteSetting("NameIps", ip)
ini.DeleteSetting("NameIds", id)
ini.Save()
Player.MessageFrom(deathmsgname, "Player " + pl + " unbanned!")
def On_PlayerKilled(self, DeathEvent):
if DeathEvent.DamageType is not None and DeathEvent.Victim is not None and DeathEvent.Attacker is not None:
config = self.DeathMSGConfig()
killer = str(DeathEvent.Attacker.Name)
victim = str(DeathEvent.Victim.Name)
deathmsgname = config.GetSetting("Settings", "deathmsgname")
id = str(self.TrytoGrabID(DeathEvent.Attacker))
vid = str(self.TrytoGrabID(DeathEvent.Victim))
if self.WasSuicide(int(id), int(vid)):
e = int(config.GetSetting("Settings", "enablesuicidemsg"))
if e == 1:
n = config.GetSetting("Settings", "suicide")
n = n.replace("victim", victim)
Server.BroadcastFrom(deathmsgname, n)
return
if self.IsAnimal(killer) and id is None:
e = int(config.GetSetting("Settings", "enableanimalmsg"))
if e == 1:
a = config.GetSetting("Settings", "animalkill")
a = a.replace("victim", victim)
a = a.replace("killer", killer)
Server.BroadcastFrom(deathmsgname, a)
else:
bodyPart = self.BD(DeathEvent.DamageEvent.bodyPart)
weapon = DeathEvent.WeaponName
damage = round(DeathEvent.DamageAmount, 2)
killerloc = DeathEvent.Attacker.Location
location = DeathEvent.Victim.Location
distance = round(Util.GetVectorsDistance(killerloc, location), 2)
bleed = str(DeathEvent.DamageType)
kl = int(config.GetSetting("Settings", "killog"))
if bleed == "Bullet":
message = config.GetSetting("Settings", "msg")
n = message.replace("victim", victim)
n = n.replace("killer", killer)
n = n.replace("weapon", weapon)
n = n.replace("damage", str(damage))
n = n.replace("number", str(distance))
n = n.replace("bodyPart", str(bodyPart))
Server.BroadcastFrom(deathmsgname, n)
autoban = int(config.GetSetting("Settings", "autoban"))
if autoban == 1:
if distance > self.RangeOf(weapon) > 0:
tpfriendteleport = DataStore.Get("tpfriendautoban", id)
hometeleport = DataStore.Get("homesystemautoban", id)
if (tpfriendteleport == "none" or tpfriendteleport is None) and (hometeleport == "none" or hometeleport is None):
z = config.GetSetting("Settings", "banmsg")
z = z.replace("killer", killer)
DeathEvent.Attacker.Kill()
Server.BroadcastFrom(deathmsgname, self.red + z)
ini = self.DMB()
ip = DeathEvent.Attacker.IP
ini.AddSetting("Ips", ip, "1")
ini.AddSetting("Ids", id, "1")
ini.AddSetting("NameIps", killer, ip)
ini.AddSetting("NameIds", killer, id)
ini.AddSetting("Logistical", killer, "Gun: " + weapon + " Dist: " + str(distance) + " BodyP: " + bodyPart + " DMG: " + str(damage))
ini.Save()
DeathEvent.Attacker.Disconnect()
DataStore.Add("DeathMSGBAN", vid, str(location))
else:
t = config.GetSetting("Settings", "TpaMsg")
t = t.replace("killer", killer)
Server.BroadcastFrom(deathmsgname, t)
if kl == 1:
self.Log(killer, weapon, distance, victim, bodyPart, damage, 1)
return
if kl == 1:
self.Log(killer, weapon, distance, victim, bodyPart, damage, None)
elif bleed == "Melee":
if damage == 75:
hn = config.GetSetting("Settings", "huntingbow")
hn = hn.replace("victim", victim)
hn = hn.replace("killer", killer)
hn = hn.replace("damage", str(damage))
hn = hn.replace("number", str(distance))
hn = hn.replace("bodyPart", str(bodyPart))
Server.BroadcastFrom(deathmsgname, hn)
autoban = int(config.GetSetting("Settings", "autoban"))
if autoban == 1:
if distance > self.RangeOf(weapon) and self.RangeOf(weapon) > 0:
tpfriendteleport = DataStore.Get("tpfriendautoban", id)
hometeleport = DataStore.Get("homesystemautoban", id)
if (tpfriendteleport == "none" or tpfriendteleport is None) and (hometeleport == "none" or hometeleport is None):
z = config.GetSetting("Settings", "banmsg")
z = z.replace("killer", killer)
DeathEvent.Attacker.Kill()
Server.BroadcastFrom(deathmsgname, self.red + z)
ini = self.DMB()
ip = DeathEvent.Attacker.IP
ini.AddSetting("Ips", ip, "1")
ini.AddSetting("Ids", id, "1")
ini.AddSetting("NameIps", killer, ip)
ini.AddSetting("NameIds", killer, id)
ini.AddSetting("Logistical", killer, "Gun: Hunting Bow Dist: " + str(distance) + " BodyP: " + str(bodyPart) + " DMG: " + str(damage))
ini.Save()
DeathEvent.Attacker.Disconnect()
DataStore.Add("DeathMSGBAN", vid, str(location))
else:
t = config.GetSetting("Settings", "TpaMsg")
t = t.replace("killer", killer)
Server.BroadcastFrom(deathmsgname, t)
if kl == 1:
self.Log(killer, "Hunting Bow", distance, victim, str(bodyPart), damage, 1)
return
if kl == 1:
self.Log(killer, "Hunting Bow", distance, victim, str(bodyPart), damage, None)
elif damage == 10 or damage == 15:
s = config.GetSetting("Settings", "spike")
s = s.replace("victim", victim)
s = s.replace("killer", killer)
s = s.replace("weapon", "Spike Wall")
Server.BroadcastFrom(deathmsgname, s)
else:
n = config.GetSetting("Settings", "msg")
n = n.replace("victim", victim)
n = n.replace("killer", killer)
n = n.replace("weapon", weapon)
n = n.replace("damage", str(damage))
n = n.replace("number", str(distance))
n = n.replace("bodyPart", str(bodyPart))
Server.BroadcastFrom(deathmsgname, n)
elif bleed == "Explosion":
x = config.GetSetting("Settings", "explosionmsg")
x = x.replace("killer", killer)
x = x.replace("victim", victim)
x = x.replace("weapon", "C4/F1 Grenade")
Server.BroadcastFrom(deathmsgname, x)
elif bleed == "Bleeding":
n = config.GetSetting("Settings", "bmsg")
n = n.replace("victim", victim)
n = n.replace("killer", killer)
Server.BroadcastFrom(deathmsgname, n)
def On_PlayerSpawned(self, Player, SpawnEvent):
id = Player.SteamID
if DataStore.ContainsKey("DeathMSGBAN", id):
get = DataStore.Get("DeathMSGBAN", id)
loc = self.Replace(get)
newloc = Util.CreateVector(float(loc[0]), float(loc[1]), float(loc[2]))
Player.TeleportTo(newloc)
config = self.DeathMSGConfig()
deathmsgname = config.GetSetting("Settings", "deathmsgname")
Player.MessageFrom(deathmsgname, self.green + "You got teleported back where you died!")
DataStore.Remove("DeathMSGBAN", id)
def On_PlayerConnected(self, Player):
ini = self.DMB()
id = self.TrytoGrabID(Player)
if id is None:
try:
Player.Disconnect()
except:
pass
return
config = self.DeathMSGConfig()
deathmsgname = config.GetSetting("Settings", "deathmsgname")
ip = Player.IP
if ini.GetSetting("Ips", ip) is not None and int(ini.GetSetting("Ips", ip)) == 1:
Player.MessageFrom(deathmsgname, "You are banned from this server")
Player.Disconnect()
elif ini.GetSetting("Ids", id) is not None and int(ini.GetSetting("Ids", id)) == 1:
Player.MessageFrom(deathmsgname, "You are banned from this server")
Player.Disconnect()
def TrytoGrabID(self, Player):
try:
id = Player.SteamID
return id
except:
return None
def argsToText(self, args):
text = str.join(" ", args)
return text
def Log(self, killer, weapon, dist, victim, body, dmg, tp):
if tp is None:
Plugin.Log("KillLog", " Killer: " + killer + " Gun: " + weapon + " Dist: " + str(dist) + " Victim: " + victim + " BodyP: " + str(body) + " DMG: " + str(dmg))
else:
Plugin.Log("KillLog", " Killer: " + killer + " Gun: " + weapon + " Dist: " + str(dist) + " Victim: " + victim + " BodyP: " + str(body) + " DMG: " + str(dmg) + " WAS TELEPORTING")
def IsAnimal(self, killer):
if killer == 'Wolf' or killer == 'Bear' or killer == 'MutantWolf' or killer == 'MutantBear':
return True
return False
def WasSuicide(self, killerid, victimid):
if killerid == victimid:
return True
return False
def isMod(self, id):
if DataStore.ContainsKey("Moderators", id):
return True
return False
def BD(self, bodyp):
ini = self.Bodies()
bodyp = str(bodyp)
name = ini.GetSetting("bodyparts", bodyp)
return str(name)
def Bodies(self):
return Plugin.GetIni("bodyparts")
def DeathMSGConfig(self):
return Plugin.GetIni("DeathMSGConfig")
def DMB(self):
return Plugin.GetIni("BannedPeopleDM")
def GetPlayerUnBannedIP(self, name):
ini = self.DMB()
name = name.lower()
checkdist = ini.EnumSection("NameIps")
for pl in checkdist:
nameid = ini.GetSetting("NameIps", pl)
if nameid is not None and pl.lower() == name:
return str(pl)
return None
def GetPlayerUnBannedID(self, name):
ini = self.DMB()
name = name.lower()
checkdist = ini.EnumSection("NameIds")
for pl in checkdist:
nameid = ini.GetSetting("NameIds", pl)
if nameid is not None and pl.lower() == name:
return str(pl)
return None
def RangeOf(self, weapon):
ini = Plugin.GetIni("range")
range = ini.GetSetting("range", weapon)
return int(range)
def Replace(self, s):
s = re.sub('[(\)\]]', '', s)
s = s.split(",")
return s
[Settings]
autoban=1
msg=victim was killed by killer with weapon DMG: damage Distance: number m In: bodyPart
bmsg=victim was bleed out. Killer: killer
banmsg=killer was banned, due to making an impossible shot.
explosionmsg=victim was killed with weapon Killer: killer
huntingbow=victim was killed by killer with Hunting Bow DMG: damage Distance: number m In: bodyPart
spike=victim was killed by killer 's weapon
enablesuicidemsg=0
suicide=victim suicided
enableanimalmsg=1
animalkill=victim was killed by a killer
killog=1
deathmsgname=[DeathMSG]
TpaMsg=killer was teleporting just right at the last shot. Ignoring ban.
tpbackmsg=You have been teleported to your last location.
That DHPK plugin is a High pink kicker from Magma, i used it to but produced errors so i had to delete it.
Here. Use this: http://fougerite.com/resources/highping-kicker.87/thanks by the way.
Here's the deathmsg config
Code:__author__ = 'DreTaX' __version__ = '3.1' import clr clr.AddReferenceByPartialName("Fougerite") import Fougerite import re """ Class """ class DeathMSG: """ Methods """ red = "[color #FF0000]" green = "[color #009900]" def On_PluginInit(self): Util.ConsoleLog("DeathMSG by" + __author__ + " Version: " + __version__ + " loaded.", False) def On_Command(self, Player, cmd, args): if cmd == "uautoban": if len(args) == 0: Player.Message("---DeathMSG 3.1---") Player.Message("/uautoban name - Unbans player") else: config = self.DeathMSGConfig() deathmsgname = config.GetSetting("Settings", "deathmsgname") if not Player.Admin and not self.isMod(Player.SteamID): Player.MessageFrom(deathmsgname, "You aren't an admin!") return ini = self.DMB() pl = self.argsToText(args) id = self.GetPlayerUnBannedID(pl) ip = self.GetPlayerUnBannedIP(pl) if id is None: Player.Message("Target: " + pl + " isn't in the database, or you misspelled It!") return iprq = ini.GetSetting("NameIps", ip) idrq = ini.GetSetting("NameIds", id) ini.DeleteSetting("Ips", iprq) ini.DeleteSetting("Ids", idrq) ini.DeleteSetting("NameIps", ip) ini.DeleteSetting("NameIds", id) ini.Save() Player.MessageFrom(deathmsgname, "Player " + pl + " unbanned!") def On_PlayerKilled(self, DeathEvent): if DeathEvent.DamageType is not None and DeathEvent.Victim is not None and DeathEvent.Attacker is not None: config = self.DeathMSGConfig() killer = str(DeathEvent.Attacker.Name) victim = str(DeathEvent.Victim.Name) deathmsgname = config.GetSetting("Settings", "deathmsgname") id = str(self.TrytoGrabID(DeathEvent.Attacker)) vid = str(self.TrytoGrabID(DeathEvent.Victim)) if self.WasSuicide(int(id), int(vid)): e = int(config.GetSetting("Settings", "enablesuicidemsg")) if e == 1: n = config.GetSetting("Settings", "suicide") n = n.replace("victim", victim) Server.BroadcastFrom(deathmsgname, n) return if self.IsAnimal(killer) and id is None: e = int(config.GetSetting("Settings", "enableanimalmsg")) if e == 1: a = config.GetSetting("Settings", "animalkill") a = a.replace("victim", victim) a = a.replace("killer", killer) Server.BroadcastFrom(deathmsgname, a) else: bodyPart = self.BD(DeathEvent.DamageEvent.bodyPart) weapon = DeathEvent.WeaponName damage = round(DeathEvent.DamageAmount, 2) killerloc = DeathEvent.Attacker.Location location = DeathEvent.Victim.Location distance = round(Util.GetVectorsDistance(killerloc, location), 2) bleed = str(DeathEvent.DamageType) kl = int(config.GetSetting("Settings", "killog")) if bleed == "Bullet": message = config.GetSetting("Settings", "msg") n = message.replace("victim", victim) n = n.replace("killer", killer) n = n.replace("weapon", weapon) n = n.replace("damage", str(damage)) n = n.replace("number", str(distance)) n = n.replace("bodyPart", str(bodyPart)) Server.BroadcastFrom(deathmsgname, n) autoban = int(config.GetSetting("Settings", "autoban")) if autoban == 1: if distance > self.RangeOf(weapon) > 0: tpfriendteleport = DataStore.Get("tpfriendautoban", id) hometeleport = DataStore.Get("homesystemautoban", id) if (tpfriendteleport == "none" or tpfriendteleport is None) and (hometeleport == "none" or hometeleport is None): z = config.GetSetting("Settings", "banmsg") z = z.replace("killer", killer) DeathEvent.Attacker.Kill() Server.BroadcastFrom(deathmsgname, self.red + z) ini = self.DMB() ip = DeathEvent.Attacker.IP ini.AddSetting("Ips", ip, "1") ini.AddSetting("Ids", id, "1") ini.AddSetting("NameIps", killer, ip) ini.AddSetting("NameIds", killer, id) ini.AddSetting("Logistical", killer, "Gun: " + weapon + " Dist: " + str(distance) + " BodyP: " + bodyPart + " DMG: " + str(damage)) ini.Save() DeathEvent.Attacker.Disconnect() DataStore.Add("DeathMSGBAN", vid, str(location)) else: t = config.GetSetting("Settings", "TpaMsg") t = t.replace("killer", killer) Server.BroadcastFrom(deathmsgname, t) if kl == 1: self.Log(killer, weapon, distance, victim, bodyPart, damage, 1) return if kl == 1: self.Log(killer, weapon, distance, victim, bodyPart, damage, None) elif bleed == "Melee": if damage == 75: hn = config.GetSetting("Settings", "huntingbow") hn = hn.replace("victim", victim) hn = hn.replace("killer", killer) hn = hn.replace("damage", str(damage)) hn = hn.replace("number", str(distance)) hn = hn.replace("bodyPart", str(bodyPart)) Server.BroadcastFrom(deathmsgname, hn) autoban = int(config.GetSetting("Settings", "autoban")) if autoban == 1: if distance > self.RangeOf(weapon) and self.RangeOf(weapon) > 0: tpfriendteleport = DataStore.Get("tpfriendautoban", id) hometeleport = DataStore.Get("homesystemautoban", id) if (tpfriendteleport == "none" or tpfriendteleport is None) and (hometeleport == "none" or hometeleport is None): z = config.GetSetting("Settings", "banmsg") z = z.replace("killer", killer) DeathEvent.Attacker.Kill() Server.BroadcastFrom(deathmsgname, self.red + z) ini = self.DMB() ip = DeathEvent.Attacker.IP ini.AddSetting("Ips", ip, "1") ini.AddSetting("Ids", id, "1") ini.AddSetting("NameIps", killer, ip) ini.AddSetting("NameIds", killer, id) ini.AddSetting("Logistical", killer, "Gun: Hunting Bow Dist: " + str(distance) + " BodyP: " + str(bodyPart) + " DMG: " + str(damage)) ini.Save() DeathEvent.Attacker.Disconnect() DataStore.Add("DeathMSGBAN", vid, str(location)) else: t = config.GetSetting("Settings", "TpaMsg") t = t.replace("killer", killer) Server.BroadcastFrom(deathmsgname, t) if kl == 1: self.Log(killer, "Hunting Bow", distance, victim, str(bodyPart), damage, 1) return if kl == 1: self.Log(killer, "Hunting Bow", distance, victim, str(bodyPart), damage, None) elif damage == 10 or damage == 15: s = config.GetSetting("Settings", "spike") s = s.replace("victim", victim) s = s.replace("killer", killer) s = s.replace("weapon", "Spike Wall") Server.BroadcastFrom(deathmsgname, s) else: n = config.GetSetting("Settings", "msg") n = n.replace("victim", victim) n = n.replace("killer", killer) n = n.replace("weapon", weapon) n = n.replace("damage", str(damage)) n = n.replace("number", str(distance)) n = n.replace("bodyPart", str(bodyPart)) Server.BroadcastFrom(deathmsgname, n) elif bleed == "Explosion": x = config.GetSetting("Settings", "explosionmsg") x = x.replace("killer", killer) x = x.replace("victim", victim) x = x.replace("weapon", "C4/F1 Grenade") Server.BroadcastFrom(deathmsgname, x) elif bleed == "Bleeding": n = config.GetSetting("Settings", "bmsg") n = n.replace("victim", victim) n = n.replace("killer", killer) Server.BroadcastFrom(deathmsgname, n) def On_PlayerSpawned(self, Player, SpawnEvent): id = Player.SteamID if DataStore.ContainsKey("DeathMSGBAN", id): get = DataStore.Get("DeathMSGBAN", id) loc = self.Replace(get) newloc = Util.CreateVector(float(loc[0]), float(loc[1]), float(loc[2])) Player.TeleportTo(newloc) config = self.DeathMSGConfig() deathmsgname = config.GetSetting("Settings", "deathmsgname") Player.MessageFrom(deathmsgname, self.green + "You got teleported back where you died!") DataStore.Remove("DeathMSGBAN", id) def On_PlayerConnected(self, Player): ini = self.DMB() id = self.TrytoGrabID(Player) if id is None: try: Player.Disconnect() except: pass return config = self.DeathMSGConfig() deathmsgname = config.GetSetting("Settings", "deathmsgname") ip = Player.IP if ini.GetSetting("Ips", ip) is not None and int(ini.GetSetting("Ips", ip)) == 1: Player.MessageFrom(deathmsgname, "You are banned from this server") Player.Disconnect() elif ini.GetSetting("Ids", id) is not None and int(ini.GetSetting("Ids", id)) == 1: Player.MessageFrom(deathmsgname, "You are banned from this server") Player.Disconnect() def TrytoGrabID(self, Player): try: id = Player.SteamID return id except: return None def argsToText(self, args): text = str.join(" ", args) return text def Log(self, killer, weapon, dist, victim, body, dmg, tp): if tp is None: Plugin.Log("KillLog", " Killer: " + killer + " Gun: " + weapon + " Dist: " + str(dist) + " Victim: " + victim + " BodyP: " + str(body) + " DMG: " + str(dmg)) else: Plugin.Log("KillLog", " Killer: " + killer + " Gun: " + weapon + " Dist: " + str(dist) + " Victim: " + victim + " BodyP: " + str(body) + " DMG: " + str(dmg) + " WAS TELEPORTING") def IsAnimal(self, killer): if killer == 'Wolf' or killer == 'Bear' or killer == 'MutantWolf' or killer == 'MutantBear': return True return False def WasSuicide(self, killerid, victimid): if killerid == victimid: return True return False def isMod(self, id): if DataStore.ContainsKey("Moderators", id): return True return False def BD(self, bodyp): ini = self.Bodies() bodyp = str(bodyp) name = ini.GetSetting("bodyparts", bodyp) return str(name) def Bodies(self): return Plugin.GetIni("bodyparts") def DeathMSGConfig(self): return Plugin.GetIni("DeathMSGConfig") def DMB(self): return Plugin.GetIni("BannedPeopleDM") def GetPlayerUnBannedIP(self, name): ini = self.DMB() name = name.lower() checkdist = ini.EnumSection("NameIps") for pl in checkdist: nameid = ini.GetSetting("NameIps", pl) if nameid is not None and pl.lower() == name: return str(pl) return None def GetPlayerUnBannedID(self, name): ini = self.DMB() name = name.lower() checkdist = ini.EnumSection("NameIds") for pl in checkdist: nameid = ini.GetSetting("NameIds", pl) if nameid is not None and pl.lower() == name: return str(pl) return None def RangeOf(self, weapon): ini = Plugin.GetIni("range") range = ini.GetSetting("range", weapon) return int(range) def Replace(self, s): s = re.sub('[(\)\]]', '', s) s = s.split(",") return s
Wuhh. good questionthanks by the way.
Here's the deathmsg config
or this one?Code:__author__ = 'DreTaX' __version__ = '3.1' import clr clr.AddReferenceByPartialName("Fougerite") import Fougerite import re """ Class """ class DeathMSG: """ Methods """ red = "[color #FF0000]" green = "[color #009900]" def On_PluginInit(self): Util.ConsoleLog("DeathMSG by" + __author__ + " Version: " + __version__ + " loaded.", False) def On_Command(self, Player, cmd, args): if cmd == "uautoban": if len(args) == 0: Player.Message("---DeathMSG 3.1---") Player.Message("/uautoban name - Unbans player") else: config = self.DeathMSGConfig() deathmsgname = config.GetSetting("Settings", "deathmsgname") if not Player.Admin and not self.isMod(Player.SteamID): Player.MessageFrom(deathmsgname, "You aren't an admin!") return ini = self.DMB() pl = self.argsToText(args) id = self.GetPlayerUnBannedID(pl) ip = self.GetPlayerUnBannedIP(pl) if id is None: Player.Message("Target: " + pl + " isn't in the database, or you misspelled It!") return iprq = ini.GetSetting("NameIps", ip) idrq = ini.GetSetting("NameIds", id) ini.DeleteSetting("Ips", iprq) ini.DeleteSetting("Ids", idrq) ini.DeleteSetting("NameIps", ip) ini.DeleteSetting("NameIds", id) ini.Save() Player.MessageFrom(deathmsgname, "Player " + pl + " unbanned!") def On_PlayerKilled(self, DeathEvent): if DeathEvent.DamageType is not None and DeathEvent.Victim is not None and DeathEvent.Attacker is not None: config = self.DeathMSGConfig() killer = str(DeathEvent.Attacker.Name) victim = str(DeathEvent.Victim.Name) deathmsgname = config.GetSetting("Settings", "deathmsgname") id = str(self.TrytoGrabID(DeathEvent.Attacker)) vid = str(self.TrytoGrabID(DeathEvent.Victim)) if self.WasSuicide(int(id), int(vid)): e = int(config.GetSetting("Settings", "enablesuicidemsg")) if e == 1: n = config.GetSetting("Settings", "suicide") n = n.replace("victim", victim) Server.BroadcastFrom(deathmsgname, n) return if self.IsAnimal(killer) and id is None: e = int(config.GetSetting("Settings", "enableanimalmsg")) if e == 1: a = config.GetSetting("Settings", "animalkill") a = a.replace("victim", victim) a = a.replace("killer", killer) Server.BroadcastFrom(deathmsgname, a) else: bodyPart = self.BD(DeathEvent.DamageEvent.bodyPart) weapon = DeathEvent.WeaponName damage = round(DeathEvent.DamageAmount, 2) killerloc = DeathEvent.Attacker.Location location = DeathEvent.Victim.Location distance = round(Util.GetVectorsDistance(killerloc, location), 2) bleed = str(DeathEvent.DamageType) kl = int(config.GetSetting("Settings", "killog")) if bleed == "Bullet": message = config.GetSetting("Settings", "msg") n = message.replace("victim", victim) n = n.replace("killer", killer) n = n.replace("weapon", weapon) n = n.replace("damage", str(damage)) n = n.replace("number", str(distance)) n = n.replace("bodyPart", str(bodyPart)) Server.BroadcastFrom(deathmsgname, n) autoban = int(config.GetSetting("Settings", "autoban")) if autoban == 1: if distance > self.RangeOf(weapon) > 0: tpfriendteleport = DataStore.Get("tpfriendautoban", id) hometeleport = DataStore.Get("homesystemautoban", id) if (tpfriendteleport == "none" or tpfriendteleport is None) and (hometeleport == "none" or hometeleport is None): z = config.GetSetting("Settings", "banmsg") z = z.replace("killer", killer) DeathEvent.Attacker.Kill() Server.BroadcastFrom(deathmsgname, self.red + z) ini = self.DMB() ip = DeathEvent.Attacker.IP ini.AddSetting("Ips", ip, "1") ini.AddSetting("Ids", id, "1") ini.AddSetting("NameIps", killer, ip) ini.AddSetting("NameIds", killer, id) ini.AddSetting("Logistical", killer, "Gun: " + weapon + " Dist: " + str(distance) + " BodyP: " + bodyPart + " DMG: " + str(damage)) ini.Save() DeathEvent.Attacker.Disconnect() DataStore.Add("DeathMSGBAN", vid, str(location)) else: t = config.GetSetting("Settings", "TpaMsg") t = t.replace("killer", killer) Server.BroadcastFrom(deathmsgname, t) if kl == 1: self.Log(killer, weapon, distance, victim, bodyPart, damage, 1) return if kl == 1: self.Log(killer, weapon, distance, victim, bodyPart, damage, None) elif bleed == "Melee": if damage == 75: hn = config.GetSetting("Settings", "huntingbow") hn = hn.replace("victim", victim) hn = hn.replace("killer", killer) hn = hn.replace("damage", str(damage)) hn = hn.replace("number", str(distance)) hn = hn.replace("bodyPart", str(bodyPart)) Server.BroadcastFrom(deathmsgname, hn) autoban = int(config.GetSetting("Settings", "autoban")) if autoban == 1: if distance > self.RangeOf(weapon) and self.RangeOf(weapon) > 0: tpfriendteleport = DataStore.Get("tpfriendautoban", id) hometeleport = DataStore.Get("homesystemautoban", id) if (tpfriendteleport == "none" or tpfriendteleport is None) and (hometeleport == "none" or hometeleport is None): z = config.GetSetting("Settings", "banmsg") z = z.replace("killer", killer) DeathEvent.Attacker.Kill() Server.BroadcastFrom(deathmsgname, self.red + z) ini = self.DMB() ip = DeathEvent.Attacker.IP ini.AddSetting("Ips", ip, "1") ini.AddSetting("Ids", id, "1") ini.AddSetting("NameIps", killer, ip) ini.AddSetting("NameIds", killer, id) ini.AddSetting("Logistical", killer, "Gun: Hunting Bow Dist: " + str(distance) + " BodyP: " + str(bodyPart) + " DMG: " + str(damage)) ini.Save() DeathEvent.Attacker.Disconnect() DataStore.Add("DeathMSGBAN", vid, str(location)) else: t = config.GetSetting("Settings", "TpaMsg") t = t.replace("killer", killer) Server.BroadcastFrom(deathmsgname, t) if kl == 1: self.Log(killer, "Hunting Bow", distance, victim, str(bodyPart), damage, 1) return if kl == 1: self.Log(killer, "Hunting Bow", distance, victim, str(bodyPart), damage, None) elif damage == 10 or damage == 15: s = config.GetSetting("Settings", "spike") s = s.replace("victim", victim) s = s.replace("killer", killer) s = s.replace("weapon", "Spike Wall") Server.BroadcastFrom(deathmsgname, s) else: n = config.GetSetting("Settings", "msg") n = n.replace("victim", victim) n = n.replace("killer", killer) n = n.replace("weapon", weapon) n = n.replace("damage", str(damage)) n = n.replace("number", str(distance)) n = n.replace("bodyPart", str(bodyPart)) Server.BroadcastFrom(deathmsgname, n) elif bleed == "Explosion": x = config.GetSetting("Settings", "explosionmsg") x = x.replace("killer", killer) x = x.replace("victim", victim) x = x.replace("weapon", "C4/F1 Grenade") Server.BroadcastFrom(deathmsgname, x) elif bleed == "Bleeding": n = config.GetSetting("Settings", "bmsg") n = n.replace("victim", victim) n = n.replace("killer", killer) Server.BroadcastFrom(deathmsgname, n) def On_PlayerSpawned(self, Player, SpawnEvent): id = Player.SteamID if DataStore.ContainsKey("DeathMSGBAN", id): get = DataStore.Get("DeathMSGBAN", id) loc = self.Replace(get) newloc = Util.CreateVector(float(loc[0]), float(loc[1]), float(loc[2])) Player.TeleportTo(newloc) config = self.DeathMSGConfig() deathmsgname = config.GetSetting("Settings", "deathmsgname") Player.MessageFrom(deathmsgname, self.green + "You got teleported back where you died!") DataStore.Remove("DeathMSGBAN", id) def On_PlayerConnected(self, Player): ini = self.DMB() id = self.TrytoGrabID(Player) if id is None: try: Player.Disconnect() except: pass return config = self.DeathMSGConfig() deathmsgname = config.GetSetting("Settings", "deathmsgname") ip = Player.IP if ini.GetSetting("Ips", ip) is not None and int(ini.GetSetting("Ips", ip)) == 1: Player.MessageFrom(deathmsgname, "You are banned from this server") Player.Disconnect() elif ini.GetSetting("Ids", id) is not None and int(ini.GetSetting("Ids", id)) == 1: Player.MessageFrom(deathmsgname, "You are banned from this server") Player.Disconnect() def TrytoGrabID(self, Player): try: id = Player.SteamID return id except: return None def argsToText(self, args): text = str.join(" ", args) return text def Log(self, killer, weapon, dist, victim, body, dmg, tp): if tp is None: Plugin.Log("KillLog", " Killer: " + killer + " Gun: " + weapon + " Dist: " + str(dist) + " Victim: " + victim + " BodyP: " + str(body) + " DMG: " + str(dmg)) else: Plugin.Log("KillLog", " Killer: " + killer + " Gun: " + weapon + " Dist: " + str(dist) + " Victim: " + victim + " BodyP: " + str(body) + " DMG: " + str(dmg) + " WAS TELEPORTING") def IsAnimal(self, killer): if killer == 'Wolf' or killer == 'Bear' or killer == 'MutantWolf' or killer == 'MutantBear': return True return False def WasSuicide(self, killerid, victimid): if killerid == victimid: return True return False def isMod(self, id): if DataStore.ContainsKey("Moderators", id): return True return False def BD(self, bodyp): ini = self.Bodies() bodyp = str(bodyp) name = ini.GetSetting("bodyparts", bodyp) return str(name) def Bodies(self): return Plugin.GetIni("bodyparts") def DeathMSGConfig(self): return Plugin.GetIni("DeathMSGConfig") def DMB(self): return Plugin.GetIni("BannedPeopleDM") def GetPlayerUnBannedIP(self, name): ini = self.DMB() name = name.lower() checkdist = ini.EnumSection("NameIps") for pl in checkdist: nameid = ini.GetSetting("NameIps", pl) if nameid is not None and pl.lower() == name: return str(pl) return None def GetPlayerUnBannedID(self, name): ini = self.DMB() name = name.lower() checkdist = ini.EnumSection("NameIds") for pl in checkdist: nameid = ini.GetSetting("NameIds", pl) if nameid is not None and pl.lower() == name: return str(pl) return None def RangeOf(self, weapon): ini = Plugin.GetIni("range") range = ini.GetSetting("range", weapon) return int(range) def Replace(self, s): s = re.sub('[(\)\]]', '', s) s = s.split(",") return s
Code:[Settings] autoban=1 msg=victim was killed by killer with weapon DMG: damage Distance: number m In: bodyPart bmsg=victim was bleed out. Killer: killer banmsg=killer was banned, due to making an impossible shot. explosionmsg=victim was killed with weapon Killer: killer huntingbow=victim was killed by killer with Hunting Bow DMG: damage Distance: number m In: bodyPart spike=victim was killed by killer 's weapon enablesuicidemsg=0 suicide=victim suicided enableanimalmsg=1 animalkill=victim was killed by a killer killog=1 deathmsgname=[DeathMSG] TpaMsg=killer was teleporting just right at the last shot. Ignoring ban. tpbackmsg=You have been teleported to your last location.
The server seems to crash more often now.Wuhh. good question
Remove the advertiser plugin.The server seems to crash more often now.
I have approx 60+players playing daily.
Mind checking it out?