Compartilhe
Ir em baixo
avatar
MEMBRO

MEMBRO
Mensagens : 6
Data de inscrição : 25/03/2015
Ver perfil do usuário

Rewards for connecting

em Dom Dez 10, 2017 1:21 am
I made this code for rewards for the most active users with infinity levels.

Level 1: 7 hours
Level 2: 12 hours
Level 3: Level 1 + Level 2
Level 4: Level 2 + Level 3
Level X: Level x-2 + Level x-1 = Infinity...  You can change the hours for example, level 1 = 1 hours, level 2 = 2 hours...



Start!

On database you need save this tables or modify code for change tables.:

nivel, horas, minutos, horasnecesarias, horasnecesarias2

I will use on code:

nivel, horas, minutos, horasnecesarias, horasnecesarias2


On login:


Código:
 if this.privLevel >= 1:
                if this.nivel == 1:
                    this.horasnecesarias= 7
                if this.nivel == 2:
                    this.horasnecesarias = 12
                if this.nivel == 3:
                    this.horasnecesarias = 19
                if this.nivel >= 4:
                    this.horasnecesarias3 = this.horasnecesarias
                    this.horasnecesarias = int(this.horasnecesarias)+int(this.horasnecesarias2)
                reactor.callLater(60, this.checkminuto)


CHECKMINUTO after class client


Código:
def checkminuto(this):
        reactor.callLater(60, this.checkminuto)
        if not "Mapa" in this.roomName:
            if not this.horas == this.horasnecesarias:
                if this.minutos == 60:
                    this.horas += 1
                    this.minutos = 0
                    this.sendClientMessage('<j>¡Has subido una hora de juego! <vp>' + str(this.horas) + '<r>/<vp>' + str(this.horasnecesarias) + '')
                    this.shopFraises += 100
                    this.sendAnimZelda(2, 2)
                    this.sendClientMessage('<font color="#00FBFF">¡Has conseguido 100 fresas por pasar tiempo conectad@!</font>')
                else:
                    this.minutos += 1
            else:
                if this.nivel == 1:
                    this.horasnecesarias = 12
                    this.horasnecesarias2 = 7
                if this.nivel >= 2:
                    this.horasnecesarias3 = this.horasnecesarias
                    this.horasnecesarias = int(this.horasnecesarias)+int(this.horasnecesarias2)
                    this.horasnecesarias2 = this.horasnecesarias3
                this.nivel +=1
                this.shopFraises += 1000
                this.sendAnimZelda(2, 2)
                this.sendClientMessage('<font color="#00FBFF">¡Has conseguido 1000 fresas por pasar tiempo conectad@!</font>')
                this.horas = 0
                this.minutos = 0
                sql = sqls('UPDATE users SET horasnecesarias = %s, horasnecesarias2 = %s, nivel = %s, minutos = %s, horas = %s WHERE name = %s', [this.horasnecesarias, this.horasnecesarias2, this.nivel, this.minutos, this.horas, this.Username])



Default values for new users:

horasnecesarias = 7
horasnecesarias2 = 0
nivel = 1
minutos = 0
horas = 0

You can change rewards on checkminuto, for example:


Código:
if this.nivel == 6 and this.horas == this.horasnecesarias:
     this.firstCount += 50



Connection lost:

Código:
sql = sqls('UPDATE users set minutos = %s, horas = %s, nivel = %s where name = %s', (this.minutos, this.horas, this.nivel, this.Username))

If you like see her rep in profil:

On def sendprofile:


Código:
p.writeUTF(player.marriage+"\n\n<N>Reputación : "+str(player.reputacion)+"</b>")

On login:


Código:
this.reputacion: <b><vp>"+str(this.nivel)+"</b> <j>"+str(this.horas)+"<R><b>/</b><j>"+str(this.horasnecesarias)+"
Voltar ao Topo
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum