##-------------------------------------------------------- ## plugin: imports ##-------------------------------------------------------- import es, gamethread, playerlib, usermsg ##-------------------------------------------------------- ## plugin: information on the script ##-------------------------------------------------------- n = "tregenerate" v = "1" b = "health regeneration" a = "toxic" info = es.AddonInfo() info.name = n info.version = v info.basename = b info.author = a scriptname = "tregenerate" ##-------------------------------------------------------- ## plugin: var ##-------------------------------------------------------- regen = {} ##-------------------------------------------------------- ## plugin message configs ##-------------------------------------------------------- def plugin_msg(text): usermsg.saytext2('#all', -1, '\x04[\x05%s\x04] \x03%s' % (info.basename, text)) ##-------------------------------------------------------- ## plugin: load and unload configs ##-------------------------------------------------------- def load(): plugin_msg('Loaded') def unload(): plugin_msg('Unloaded') usermsg.saytext2('#all', -1, '\x04[\x05%s\x04] \x03Version\x01 %s' % (info.basename,info.version)) usermsg.saytext2('#all', -1, '\x04[\x05%s\x04] \x03Author\x05 =\x01 %s' % (info.basename,info.author)) ##-------------------------------------------------------- ## plugin: regenerating health event ##-------------------------------------------------------- class rRegen(object): def __init__(self, userid): self.userid = userid self.playername = 'tregenerate_' + str(self.userid) def playerhurt(self): self.healthregen() def healthregen(self): userid = self.userid player = playerlib.getPlayer(userid) if player.getHealth() <= 94: gamethread.delayedname(2, self.playername, self.healthregen) health = es.getplayerprop(self.userid, 'CBasePlayer.m_iHealth') es.setplayerprop(self.userid, 'CBasePlayer.m_iHealth', (health+6)) if player.getHealth() == 95: gamethread.delayedname(2, self.playername, self.healthregen) health = es.getplayerprop(self.userid, 'CBasePlayer.m_iHealth') es.setplayerprop(self.userid, 'CBasePlayer.m_iHealth', (health+5)) if player.getHealth() == 96: gamethread.delayedname(2, self.regenname, self.healthregen) health = es.getplayerprop(self.userid, 'CBasePlayer.m_iHealth') es.setplayerprop(self.userid, 'CBasePlayer.m_iHealth', (health+4)) if player.getHealth() == 97: gamethread.delayedname(2, self.regenname, self.healthregen) health = es.getplayerprop(self.userid, 'CBasePlayer.m_iHealth') es.setplayerprop(self.userid, 'CBasePlayer.m_iHealth', (health+3)) if player.getHealth() == 98: gamethread.delayedname(2, self.regenname, self.healthregen) health = es.getplayerprop(self.userid, 'CBasePlayer.m_iHealth') es.setplayerprop(self.userid, 'CBasePlayer.m_iHealth', (health+2)) if player.getHealth() == 99: gamethread.delayedname(2, self.regenname, self.healthregen) health = es.getplayerprop(self.userid, 'CBasePlayer.m_iHealth') es.setplayerprop(self.userid, 'CBasePlayer.m_iHealth', (health+1)) if player.getHealth() == 100: self.clearDelay() if player.getHealth() > 100: player.setHealth(100) def clearDelay(self): gamethread.cancelDelayed(self.playername) ##-------------------------------------------------------- ## plugin: register regeneration to user ##-------------------------------------------------------- def registerRegen(userid): if userid not in regen: regen[userid] = rRegen(userid) return regen[userid] ##-------------------------------------------------------- ## plugin: event on checking if player was hurt ##-------------------------------------------------------- def player_hurt(ev): userid = int(ev['userid']) pRegen = registerRegen(userid) pRegen.playerhurt() ##-------------------------------------------------------- ## plugin: end ##--------------------------------------------------------