Advertisement
Brainsucker

Untitled

May 18th, 2011
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.25 KB | None | 0 0
  1. import es
  2. import datetime
  3. import cPickle
  4. import os
  5. import threading
  6.  
  7.  
  8. vip_cmd = '!vip'
  9. vip_weeks = 0
  10. vip_days = 0
  11. vip_hours = 1000
  12. vip_minutes = 0
  13.  
  14.  
  15. addonpath = es.getAddonPath('vipmod')
  16. dbpath = os.path.join(addonpath, 'users.db')
  17.  
  18.  
  19. vip_td = datetime.timedelta(weeks=vip_weeks, days=vip_days, hours=vip_hours, minutes=vip_minutes)
  20.  
  21.  
  22.  
  23. vip_dict = {}
  24. temp_data = {}
  25.  
  26. try:
  27.     vip_dict = cPickle.load(open(dbpath, 'rb'))
  28. except:
  29.     pass
  30.    
  31. info = es.AddonInfo()
  32. info.name = 'vipmod'
  33. info.author = 'Brainsucker'
  34. info.version = '1.0.0 (Unreleased)'
  35.    
  36. def load():
  37.     es.ServerVar(info['name'], info['version']).makepublic()
  38.     for p in es.getUseridList():
  39.         addPlayerbyUserid(p)
  40.  
  41.  
  42. def saveDB():
  43.     threading.Thread(target=cPickle.dump, args=(vip_dict, open(dbpath, 'wb'))).start()
  44.    
  45. def addPlayerbySteamid(steamid):
  46.     if not steamid in ['BOT', 'STEAM_ID_PENDING', 'STEAM_ID_LAN']:
  47.         if not vip_dict.has_key(steamid):
  48.             vip_dict[steamid] = {}
  49.         if not vip_dict[steamid].has_key('playtime'):
  50.             vip_dict[steamid]['playtime'] = datetime.timedelta()
  51.            
  52.         if not temp_data.has_key(steamid):
  53.             temp_data[steamid] = {}
  54.         temp_data[steamid]['jointime'] = datetime.datetime.today()
  55.    
  56. def addPlayerbyUserid(userid):
  57.     steamid = es.getplayersteamid(userid)
  58.     addPlayerbySteamid(steamid)
  59.    
  60. def es_player_validated(ev):
  61.     steamid = ev['networkid']
  62.     addPlayerbySteamid(steamid)
  63.    
  64.    
  65. def player_disconnect(ev):
  66.     steamid = ev['es_steamid']
  67.     current_time = datetime.datetime.today()
  68.     if temp_data.has_key(steamid):
  69.         playtime = current_time - temp_data[steamid]['jointime']
  70.         vip_dict[steamid]['playtime'] += playtime
  71.        
  72.         del temp_data[steamid]
  73.        
  74.         saveDB()
  75.        
  76. def player_say(ev):
  77.     text = ev['text']
  78.     username = ev['es_username']
  79.     steamid = ev['es_steamid']
  80.     n = datetime.datetime.today()
  81.     session_time = n - temp_data[steamid]['jointime']
  82.     pt = vip_dict[steamid]['playtime'] + session_time
  83.     if text.lower() == vip_cmd.lower():
  84.         es.msg('#multi', '#green%s #defaultgesamte Spielzeit: #lightgreen%s' % (username, str(pt)))
  85.         es.msg('#multi', '#defaultBenötigte Spielzeit für VIP-Status: #green%s' % str(vip_td))
  86.         if pt > vip_td:
  87.             es.msg('#multi', '#green%s #defaulthat den VIP-Status erreicht!' % username)
  88.         else:
  89.             remaining_time = vip_td - pt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement