Pointsystem

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Pointsystem

      Produkt: Pointsystem

      Version: unbekannt

      Editor: Norman Rath

      Entwickler: Norman Rath, Wladimir Palant

      Entwicklungsjahr: 2004

      Benötigte Ressourcen: -

      Alternative Ressourcen: -

      Screen Shots: -


      Beschreibung:

      Dieses Plugin vergibt den Benutzern Punkte, die sich nach ihrer Online-Zeit richten. Es gibt eine Top-Liste. Die Administratoren können Punkte vergeben oder abziehen.

      ----------------------------

      Viel Spaß damit wünscht das GTChat-Developer.com - Team!

      Zum Eintrag in der Datenbank
      Guten Abend!

      Habe das Pointsystem eingebaut und es funktioniert super! Nun habe ich aber das Problem, dass sich die Onlineminuten und Punkte erst aktualisieren, wenn man sich ausloggt! Würde das aber gerne haben, wenn man das Profil des Users öffnet!

      Ich habe irgendwo mal gelesen, dass man die Profileloader.pm bearbeiten muss. Ich habe aber keine Ahnung, wie das aussehen sollte! (der /save Command erfüllt auch genau diese Funktion, nur ist es halt umständlich immer über Save die Minuten und Punkte zu aktualisieren)

      Über eine einfache Lösung wäre ich dankbar! Nochmal in Kurzfassung:

      User öffnet Profil -->Punkte & Minuten werden aktualisiert!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Philipp“ ()

      Meinst du, wenn man sein eigenes Profil öffnet? Du kannst dir das Savepoint Addon einbauen => Savecommand

      Dann verbindest du das Ganze mit einem onload Befehl im Profil:

      Quellcode

      1. <body onload="sendText('/save')">


      So ca. sollte es klappen =) Die Meldung beim Speichern der Punkte kann man dann alternativ noch unterdrücken.
      Für die Suchfunktion: [pointsystem, minuten, automatisch, profil, aktualisieren, selber]

      Ja so hatte ich es auch geplant, nur stört es unheimlich das dann immer die angesprochene Meldung kommt!

      Wenn du mir nen Tipp geben könntest wie ich die Meldung unterbinde? Genügt es, wenn ich einfach den Info-Handler aus der german.lng rauslösche oder muss ich da in der SaveCommand.pm herumbasteln?

      LG Philipp

      edit: OK nur german.lng Änderung geht nicht, da kommt dann eine Fehlermeldung, dass das info_saved nicht existiert.

      genügt es wenn ich das entferne?


      my $output = $main->createInfoOutput('saved',{nick => $user->{nick},});
      return [$output->restrictToCurrentUser];


      edit2: TrioxX hat es hinbekommen, dass die Punkte nun für alle User ohne Infooutput aktualisiert wird!


      Anleitung um Punkte & Minuten automatisch bei Profilaufruf zu aktualisieren:

      Voraussetzung: SaveAll-Command muss eingebaut sein (forum.gt-chat.de/jgs_db.php?ac…w&eintrags_id=503&katid=6)

      Nun öffnet man die users.html und sucht nach:


      onclick="openWindow('profile&username


      ersetzen mit:


      onclick="sendText('/saveall');openWindow('profile&username



      Hinweis: Das ganze funktioniert nur, wenn jemand das Profil über die users.html aufruft. Nicht aber per Befehl /profile Nick !

      Fertig!

      Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von „Philipp“ ()

      Selbstverständlich wird der Befehl sofort wieder beendet ;) Aber du hast Recht. Das Problem gab es schon zu Gästebuch Zeiten. Hier war das Problem ebenfalls der sendText. Der Unterschied dazu ist jedoch, dass beim Gästebuch das Ganze über onload lief. An die von dir verwendete Methode habe ich ehrlich gesagt garnicht gedacht. Dass es hiermit nicht geht, ist schon recht komisch. Ich werde mir mal etwas einfallen lassen :)
      Naja beim Gästebuch war genau das gleiche Problem! Danach konnte man auch nichts mehr schreiben!

      Wäre toll wenn du dir was einfallen lassen könntest! Man müsste den info_output irgendwie ausblenden! Weil lässt man die SaveCommand.pm unberührt dann erscheint nach jedem Aufruf "Chatname: Deine Punkte wurden gespeichert" Und dann aktualisiert es sich auch und schreiben kann man auch! Aber wenn dann immer das mit dem Speichern kommt, ist auch nicht die feine Art!


      edit: Problem gelöst, siehe oben

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Philipp“ ()

      Suchen nach "{NEED|$user_information}"

      Direkt danach folgendes einfügen:

      {NEED|$pointsystem_profil} <--- dient dazu, das die Punkte gerundet werden und die Zeit umgewandelt wird


      Und nun an den Stellen, wo die Punkte un Onlinezeit angezeigt werden sollen, einfach folgende Felder nutzen:

      {GET|$user_information.points} # Zeigt die Punktzahl an
      {GET|$user_information.days} # Zeigt die Tage an, welche man online war
      {GET|$user_information.hours} # Zeigt die Stunden an, welche man online war
      {GET|$user_information.minutes} # Zeigt die Minuten an, welche man online war
      {GET|$user_information.seconds} # Zeigt die Sekunden an, welche man online war



      Lässt man {NEED|$pointsystem_profil} weg, dann stehen folgende Möglichkeiten zur verfügung:

      {GET|$user_information.points} # Zeigt die genaue Punktzahl an, Bsp: 1542.454788, also nicht gerundet
      {GET|$user_information.onlinetime} # Zeigt die Zeit im Unixformat an, Bsp: 14578547


      Ich habe es bei mir so:

      <tr>
      <td><b>Online Zeit:</b></td>
      <td>{GET|$user_information.days} Tage, {GET|$user_information.hours} Stunden, {GET|$user_information.minutes} Minuten, {GET|$user_information.seconds} Sekunden</td>
      </tr>
      <tr>
      <td><b>Online Punkte:</b></td>
      <td>{GET|$user_information.points} </td>
      </tr>

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NokSma“ ()

      Ich habe diesen Teil in profile.html kopiert unter den herzen anzeige
      <tr>
      <td><b>Online Zeit:</b></td>
      <td>{GET|$user_information.days} Tage, {GET|$user_information.hours} Stunden, {GET|$user_information.minutes} Minuten, {GET|$user_information.seconds} Sekunden</td>
      </tr>
      <tr>
      <td><b>Online Punkte:</b></td>
      <td>{GET|$user_information.points} </td>
      </tr>

      Die Punkte werden angezeigt jedoch keine Zeit, da steht nur Tage, Stunde, etc.

      Mfg Manfred