[wouso-dev] [wouso-content] Mai multe challenge-uri?

Alex Eftimie alex at eftimie.ro
Thu Oct 27 14:40:51 EEST 2011


2011/10/27 Mihai Maruseac <mihai.maruseac at gmail.com>:
> 2011/10/27 Razvan Deaconescu <razvan at rosedu.org>:
>> On Thu, 2011-10-27 at 12:43 +0300, Mihai Maruseac wrote:
>>> Poti face așa: îi iei pe ultimii 30 din clasament si dai primilor 20
>>> care se loghează acest artefact. Dacă dupa o zi nu le-ai dat pe toate
>>> 20 dublezi, îi iei în calcul pe ultimii 50. Tot crești din 20 in 20
>>> până ce dai cele 20 de artefacte ;)
>>
>> Cred că e cam complicat sistemul ăsta. E o regulă relativ complicată și,
>> în plus, e complicat de implementat.
>
> Atunci le putem da de mână dacă avem o listă cu data ultimei logari pe site.

Vă invit să vă jucați cu ./manage.py shell - rulat din instanța wouso,
oferă un shell Python cu environmentul wouso setat. Astfel, problema
se poate rezolva așa (pseudocod py):

from wouso.interface.activity import signals
from wouso.interface.top.models import TopUser

def give_onemore(player):
  player.give_modifier('challenge-one-more', amount=1)
  signals.addActivity.send(sender=None, user_from=player, message='a
primit inca o provocare', game=None)

for p in TopUser.objects.all().order_by('-position')[:-10]:
  give_onemore(p)

Alex


More information about the wouso-dev mailing list