Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def cmd_rank(self, data, client, cmd=None):
- """\
- [<name>] - list a players XLR Skill Rank Position
- """
- if data:
- sclient = self._adminPlugin.findClientPrompt(data, client)
- if not sclient: return
- else:
- sclient = client
- #sclient = client
- id = sclient.id
- q = 'SELECT rang FROM (SELECT @rownum := @rownum +1 AS rang, statistic . * FROM (SELECT clients.name, clients.time_edit, xlr_playerstats.client_id, xlr_playerstats.id, kills, deaths, ratio, skill, winstreak, losestreak, rounds, fixed_name, ip FROM clients, xlr_playerstats WHERE ( clients.id = xlr_playerstats.client_id) AND ((xlr_playerstats.kills >1000) OR (xlr_playerstats.rounds >50)) AND (xlr_playerstats.hide =0) AND (UNIX_TIMESTAMP( NOW( ) ) - clients.time_edit <14 *60 *60 *24) AND clients.id NOT IN (SELECT DISTINCT (target.id) FROM penalties AS penalties, clients AS target WHERE (penalties.type = "Ban" OR penalties.type = "TempBan") AND inactive =0 AND penalties.client_id = target.id AND (penalties.time_expire = -1 OR penalties.time_expire > UNIX_TIMESTAMP( NOW( ) )))) AS statistic, (SELECT @rownum :=0) AS vars ORDER BY skill DESC) AS DATA WHERE client_id = %s' % (id)
- cursor = self.query(q)
- if (cursor and (cursor.rowcount > 0) ):
- r = cursor.getRow()
- self._rang = r['rang']
- q = 'SELECT count(id) as total from xlr_playerstats'
- cursor = self.query(q)
- if (cursor and (cursor.rowcount > 0) ):
- r = cursor.getRow()
- self._total = r['total']
- message = '^3XLR Ranking: ^7%s ^7: Rank ^2%s ^7out of ^2%s^7 total competing players' % (sclient.exactName, int(self._rang), int(self._total))
- cmd.sayLoudOrPM(client, message)
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement