close× Call Us +49 (1805) 01 29 59

HarlekinPower
Thread Author: Vampir190
Thread ID: 188
Thread Info
Es gibt 479 Beiträge zu diesem Thema, und es wurde 118784 mal angesehen.  Es gibt auch Dateianhänge.
Wer ist hier? 2 Gäste

 Thema drucken
scoresystem
JC Drago

Zitat

spunk schrieb:
Es gibt was neues.
Ich bekomme Punkte für einen Forenbeitrag wenn ich DIESEN mit der Schnellantwort schreibe.
Ist das ein weiterer Hinweis für euch?

Kann mir bitte (nochmal?) jemand kurz erklären warum dem User V-Bank für jede Pluspunkte der User etwas abgezogen wird?

Andere Sache: Ich habe 135 User "ohne Account:". Wie kommt das und was mach ich mit denen?

Vielleicht sollte ich das Scoresystem einfach deinstallieren und nochmal neu infusionieren?


Hallo

Aber das ist doch der Sinn der Bank sie Zahlt und bekommt die Score´s

LG
Man muss nicht alles wissen....nur wo´s steht.

_______________________________________
KEIN Support per Mail, ICQ oder PN !
 
SC-Ad-Bot
 
spunk
Entferne ich diese Klammer, läd die Seite nicht mehr! hilflos
 
JC Drago

Zitat

spunk schrieb:
Entferne ich diese Klammer, läd die Seite nicht mehr! hilflos


Stimmt war mein Fehler ... DAU
Man muss nicht alles wissen....nur wo´s steht.

_______________________________________
KEIN Support per Mail, ICQ oder PN !
 
Schrank
So ich habe nun diesen Thread komplett durch gelesen. Leider keine funktionierende Antwort zum Problem gefunden. Ic brauche die Möglichkeit das Scores an einen User ausgegeben werden wenn ein Gast eine bestimmte Seite betritt. Das ganze funktioniert auch wenn ein anderer User auf die Seite kommt, leider aber nicht als Gast.

Zitat

Comet1986 schrieb:
@ emblinux:

Woahhh jetzt freu ich mir nen Pin!!!

Ich habs geschafft die nuss iss geknackt xD

Habe aus:


function score_free($titel, $aktion, $score, $maxi=5, $typ="P", $status=0, $user=0,$gast=false)
{
  global $userdata, $score_time, $score_time_on, $score_time_off;
  if (isnum($user) && $user != 0)



function score_free($titel, $aktion, $score, $maxi=5, $typ="P", $status=0, $user=0,$gast=false)
{
  global $userdata, $score_time, $score_time_on, $score_time_off;
  if (isnum($user) && $user != "")


gemacht und es klappt wunderbar! hoffe es gibt da keine probleme


Das habe ich auch schon probiert. Leider ohne Erfolg. Hat da noch jemand eine Idee?
 
emblinux
Gut, hatte ganz vergessen, das ich die eigentlichen Modifikationen fürs Scoresystem perp PM gesendet hatte. Werde das bei Gelegenheit nochmal fertig machen und hier mit einer kurzen Erklärung online stellen.

Aber du solltest aus diesem Thread bereits erfahren haben, das es nicht möglich ist, das ein Gast jemnad anderen Scores gutschreiben kann. Weil eine FUnktion aufgerufen wird, die das prüft.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Arsvivendi
Mal direkte Frage, ist es möglich Punkte fürs Voten von Granades Membercharts zu vergeben ?

Wenn ja wär nett wenn mir jemand helfen könnte Wink
 
wondergekko
Hi all....

Frage zum Scoresystem in Verbindung mit der V-Bank......

Ich habe den User für die Verwaltung der V-Bank "Bankier" genannt.... deser taucht nun immer in der Topliste des Scoresystms auf.

Kann man diesen User aus der Liste ausschliessen???

Thx 4 Help

Gruss
Kevin
 
wondergekko
GEFUNDEN...... DANKE!
Bearbeitet von wondergekko am 18.05.2010 00000005 07:39
 
Schrank

Zitat

emblinux schrieb:
Gut, hatte ganz vergessen, das ich die eigentlichen Modifikationen fürs Scoresystem perp PM gesendet hatte. Werde das bei Gelegenheit nochmal fertig machen und hier mit einer kurzen Erklärung online stellen.


Hi, wollte eben fragen wie weit es hier mit ist? Dieses "Gast und Scores" Problem ist das einzige was noch zu meinem Glück fehlt. blume
 
emblinux
Hier nun wie versprochen der kleine Patch mit kurzer Readme dazu.
emblinux hat folgende Datei angehängt:

scoresystem_patch.zip [4.5kB / 554 mal Heruntergeladen]


Downloaded by:

Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
DjMicha1985
So nun ich mal wieder, denn mir fällt gerade kein ansatz ein.

Ich arbeite gerade an einer Multisite. Ist ja einfach zu machen. Nun das Problem:

Da ich das scoresystem auch nutzen will muss es auf allen seite funzen, aber nur eine DB nutzen. Leider kann ich es nicht über die mulitinclude machen, da es noch viele infusionen gibt die nur auf den Jeweiligen seiten laufen dürfen. Ist es möglich das ohne die multiinclude zu lösen irgentwie?
 
Gr@n@dE
Hmmm, ist doch einfach!!!?

Du musst die Dateien ändern wie bei der Installation und den Prefix in der infusion_db.php anpassen....

Emmm.... schwer? NÖ Dickeslachen
Gruß Ralf
__________________________________
KEIN Support per Mail, ICQ oder PN !
 
DjMicha1985
Stimmt Ralf. Is ja logisch. Werde ich mich morgen mal ran setzen. Danke dir
 
Schrank

Zitat

emblinux schrieb:
Hier nun wie versprochen der kleine Patch mit kurzer Readme dazu.


Danke es hat geklappt.
Bin erst zum ausprobieren gekommen.
Wollte aber eben noch ein DANKE nach schieben. klatsch
 
Crusher
hi @all :)

das scoresystem gefällt mir wunderprächtig, und da wollte ich schon gleich loslegen mit meinen visionen,
nach einem guten jahr auszeit von phpfusion. :D

kurz um, ich habe ein problem:

ich wollte das scoresystem erweitern nach mehreren verschiedenen scores. zb. kann man jetzt bei mir auch zusätzlich holz lehm etc. od. energie, healt, power punkte verteilen und anzeigen.
es funktioniert soweit eigentlich ganz gut.

infusion.php

ich habe einfach nach acc_score weitere felder angelegt (rot)


acc_user_id            MEDIUMINT(8) NOT NULL,
acc_score               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_att               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_def               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_level               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_level_max               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_energie               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_energie_max               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_healt               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_healt_max               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_power               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_power_max               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_skill               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_a               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_b               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_c               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_d               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_e               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_f               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_g               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_h               MEDIUMINT(8) NOT NULL DEFAULT '0',
acc_i               MEDIUMINT(8) NOT NULL DEFAULT '0',

PRIMARY KEY  (acc_user_id)
) TYPE=MyISAM;";


scoresystem_main_include.php

jetzt musste ich nur noch die verschiedenen funktionen erweitern:



function score_account() {
   global $userdata;
   $result = dbquery("SELECT * FROM ".DB_SCORE_ACCOUNT." WHERE acc_user_id='".$userdata['user_id']."' LIMIT 1");
   if (!dbrows($result)) {
      $result = dbquery("INSERT INTO ".DB_SCORE_ACCOUNT." (acc_user_id, acc_score) VALUES ('".$userdata['user_id']."','0')");
   }
}
function energie_account() {
   global $userdata;
   $result = dbquery("SELECT * FROM ".DB_SCORE_ACCOUNT." WHERE acc_user_id='".$userdata['user_id']."' LIMIT 1");
   if (!dbrows($result)) {
      $result = dbquery("INSERT INTO ".DB_SCORE_ACCOUNT." (acc_user_id, acc_energie) VALUES ('".$userdata['user_id']."','0')");
   }
}

bis function i_account()



function score_account_stand($user=0) {
   global $userdata;
   if (isnum($user) && $user != 0) { // Variable $user prüfen
      $score_user = $user;
   } else {
      $score_user = $userdata['user_id'];
   }
   if (!score_ban($score_user)) { // Kontostatus abfragen
      $acc_result = dbquery("SELECT * FROM ".DB_SCORE_ACCOUNT." WHERE acc_user_id='".$score_user."' LIMIT 1");
      if (dbrows($acc_result)) {
         $acc_data = dbarray($acc_result);
         return $acc_data['acc_score']; // Aktueller Kontostand
      } else {
         return 0; // Keine Daten vorhanden
      }
   } else {
      return false; // Konto Gesperrt
   }
}
function energie_account_stand($user=0) {
   global $userdata;
   if (isnum($user) && $user != 0) { // Variable $user prüfen
      $score_user = $user;
   } else {
      $score_user = $userdata['user_id'];
   }
   if (!score_ban($score_user)) { // Kontostatus abfragen
      $acc_result = dbquery("SELECT * FROM ".DB_SCORE_ACCOUNT." WHERE acc_user_id='".$score_user."' LIMIT 1");
      if (dbrows($acc_result)) {
         $acc_data = dbarray($acc_result);
         return $acc_data['acc_energie']; // Aktueller Kontostand
      } else {
         return 0; // Keine Daten vorhanden
      }
   } else {
      return false; // Konto Gesperrt
   }
}

bis function i_account_stand

Jetzt noch in der // MAIN FUNCTION START erweitern.
Mir wars jetzt wichtig, dass die erweiterungen nicht in den transfers auftauchen und ich da nicht im admin rumfummeln muss,
deshalb hab ich da die score_free function benutzt und erweitert:


function score_free($titel, $aktion, $score, $maxi=5, $typ="P", $status=0, $user=0) {
   global $userdata, $score_time, $score_time_on, $score_time_off;
   if (isnum($user) && $user != 0) {
      $score_user = $user;
   } else {
      $score_user = $userdata['user_id'];
   }
   if (!score_ban($score_user) && isnum($score) && isnum($status) && isnum($maxi)) {
      $titel = stripinput($titel);
      $aktion = stripinput($aktion);
      $max = ($status ? 1 : $maxi);
      $only = ($status ? "" : " AND tra_time>='".$score_time_on."' AND tra_time<='".$score_time_off."'");
      $status_max = dbcount("(tra_id)", DB_SCORE_TRANSFER, "tra_user_id='".$score_user."' AND tra_aktion='".$aktion."'".$only."");
      if ($max > $status_max) {
         $acc_result = dbquery("SELECT * FROM ".DB_SCORE_ACCOUNT." WHERE acc_user_id='".$score_user."' LIMIT 1");
         if (dbrows($acc_result)) {
            $acc_data = dbarray($acc_result);
            if ($typ == "P") {
               $new_score = $acc_data['acc_score'] + $score; $new_typ = $typ; $new_status = $status;
            } elseif ($typ == "N") {
               if ($acc_data['acc_score'] >= $score) {
                  $new_score = $acc_data['acc_score'] - $score; $new_typ = $typ; $new_status = $status;
               } else {
                  return false;
               }
            } elseif ($typ == "OP") {
               $new_score = $acc_data['acc_score'] + $score; $new_typ = "O"; $new_status = "3";
            } elseif ($typ == "ON") {
               if ($acc_data['acc_score'] >= $score) {
                  $new_score = $acc_data['acc_score'] - $score; $new_typ = "O"; $new_status = "4";
               } else {
                  return false;
               }
            } elseif ($typ == "S") {
               $new_score = $acc_data['acc_score'] - $score; $new_typ = $typ; $new_status = $status;
            } else {
               return false;
            }
            $acc_result2 = dbquery("UPDATE ".DB_SCORE_ACCOUNT." SET acc_score=".$new_score." WHERE acc_user_id='".$score_user."'");
         } else {
            if ($typ == "P") {
               $new_score = $score; $new_typ = $typ; $new_status = $status;
            } elseif ($typ == "N") {
               return false;
            } elseif ($typ == "OP") {
               $new_score = $score; $new_typ = "O"; $new_status = "3";
            } elseif ($typ == "ON") {
               return false;
            } elseif ($typ == "S") {
               $new_score = 0 - $score; $new_typ = $typ; $new_status = $status;
            } else {
               return false;
            }
            $acc_result2 = dbquery("INSERT INTO ".DB_SCORE_ACCOUNT." (acc_user_id, acc_score) VALUES ('".$score_user."','".$new_score."')");
         }
         $tra_result = dbquery("INSERT INTO ".DB_SCORE_TRANSFER." (tra_user_id, tra_titel, tra_typ, tra_aktion, tra_score, tra_status, tra_time) VALUES ('".$score_user."', '".$titel."', '".$new_typ."', '".$aktion."', '".$score."', '".$new_status."', '".$score_time."')");
         return true;
      } else {
         return false;
      }
   } else {
      return false;
   }
}
// energie function
function score_energie($titel, $aktion, $score, $maxi=5, $typ="P", $status=0, $user=0) {
   global $userdata, $score_time, $score_time_on, $score_time_off;
   if (isnum($user) && $user != 0) {
      $score_user = $user;
   } else {
      $score_user = $userdata['user_id'];
   }
   if (!score_ban($score_user) && isnum($score) && isnum($status) && isnum($maxi)) {
      $titel = stripinput($titel);
      $aktion = stripinput($aktion);
      $max = ($status ? 1 : $maxi);
      $only = ($status ? "" : " AND tra_time>='".$score_time_on."' AND tra_time<='".$score_time_off."'");
      $status_max = dbcount("(tra_id)", DB_SCORE_TRANSFER, "tra_user_id='".$score_user."' AND tra_aktion='".$aktion."'".$only."");
      if ($max > $status_max) {
         $acc_result = dbquery("SELECT * FROM ".DB_SCORE_ACCOUNT." WHERE acc_user_id='".$score_user."' LIMIT 1");
         if (dbrows($acc_result)) {
            $acc_data = dbarray($acc_result);
            if ($typ == "P") {
               $new_score = $acc_data['acc_energie'] + $score; $new_typ = $typ; $new_status = $status;
            } elseif ($typ == "N") {
               if ($acc_data['acc_energie'] >= $score) {
                  $new_score = $acc_data['acc_energie'] - $score; $new_typ = $typ; $new_status = $status;
               } else {
                  return false;
               }
            } elseif ($typ == "OP") {
               $new_score = $acc_data['acc_energie'] + $score; $new_typ = "O"; $new_status = "3";
            } elseif ($typ == "ON") {
               if ($acc_data['acc_energie'] >= $score) {
                  $new_score = $acc_data['acc_energie'] - $score; $new_typ = "O"; $new_status = "4";
               } else {
                  return false;
               }
            } elseif ($typ == "S") {
               $new_score = $acc_data['acc_energie'] - $score; $new_typ = $typ; $new_status = $status;
            } else {
               return false;
            }
            $acc_result2 = dbquery("UPDATE ".DB_SCORE_ACCOUNT." SET acc_energie=".$new_score." WHERE acc_user_id='".$score_user."'");
         } else {
            if ($typ == "P") {
               $new_score = $score; $new_typ = $typ; $new_status = $status;
            } elseif ($typ == "N") {
               return false;
            } elseif ($typ == "OP") {
               $new_score = $score; $new_typ = "O"; $new_status = "3";
            } elseif ($typ == "ON") {
               return false;
            } elseif ($typ == "S") {
               $new_score = 0 - $score; $new_typ = $typ; $new_status = $status;
            } else {
               return false;
            }
            $acc_result2 = dbquery("INSERT INTO ".DB_SCORE_ACCOUNT." (acc_user_id, acc_energie) VALUES ('".$score_user."','".$new_score."')");
         }

         //$tra_result = dbquery("INSERT INTO ".DB_SCORE_TRANSFER." (tra_user_id, tra_titel, tra_typ, tra_aktion, tra_score, tra_status, tra_time) VALUES ('".$score_user."', '".$titel."', '".$new_typ."', '".$aktion."', '".$score."', '".$new_status."', '".$score_time."')");
         return true;
      } else {
         return false;
      }
   } else {
      return false;
   }
}


$tra_result = ..... auskommentiert
es funktioniert wunderbar, die punkte werden übergeben, taucht nicht im transfer auf, die anzeige im profil und alles, ausser die maximale (einmaliger transfer) vergütung:

footer includes.php



if (iMEMBER) {
score_positive("START");
score_energie_max("energie000", "ENG00", 100, 1, "P", 1, 0);
score_level_max("level000", "LVL00", 100, 1, "P", 1, 0);
score_healt_max("healt000", "HLT00", 100, 1, "P", 1, 0);
score_power_max("power000", "PWR00", 100, 1, "P", 1, 0);


}


das sollte eigentlich eine einmalige vergütung werden, aber die punkte werden immer wieder dazugezählt. :P

jemand ne ahnung?
 
wanili
Hallöchen, eine Frage:

Kann man irgendwie im Scoresystem eine Funktion hinzufügen, das wenn ein User eine bestimmte Scoreanzahl erreicht hat z.B.
nur noch 20 Scores hat , dass er dann automatisch summe xyz gutgeschrieben bekommt?

So das ich nicht jeden Tag den Scorestand kontrollieren muss das ein User zu wenig Scores hat um weiterhin alle Funktionen meiner Seite zu benutzen, bei 20 User kein Problem... bei 500 schon... lach

Grüße
wanili
 
VIP-phiL
Muss man das verstehen?

das ist zu hoch für mich ^^
 
wanili
Hmm, ganz einfach, user zu wenig scores, dann automatisch neue scores von scoresystem geschickt bekommen...

Da sonnst user nicht mehr spielen kann,usw......
 
Gr@n@dE
Hier mal ein kleine Lösung (Einbau in die header_include.php im Include Ordner):


if (iMEMBER) {
   if (score_account_stand() < 20) {
      score_free('Extra Scores', 'EXTRA', 20);
   }
}


Weitere Einstellmöglichkeiten für die "score_free" Funktion findest du unter Installationshilfe im Score-Einstellungen Bereich.
Gruß Ralf
__________________________________
KEIN Support per Mail, ICQ oder PN !
 
VIP-phiL
Mach doch die Spiele einfach Kostenlos dann haste das problem doch nicht mehr ^^
 
Springe ins Forum:

 Ähnliche Themen 

TEST
Thema Forum Antworten Letzter Beitrag
Scoresystem unter 7.02 installieren (Anleitung) Gemischtes 96 21.09.2017 00000009 09:58
Scoresystem für 7.02.07 Allgemeine Support Fragen 5 27.01.2017 00000001 15:01
Scoresystem (7.02) admin_password Infusionen 28 26.06.2016 00000006 17:39
PN bei User-Transfer (Scoresystem) Infusionen 18 06.01.2016 00000001 05:06
Scoresystem usw, wie geht es weiter? Allgemeine Diskussionen 4 29.04.2015 00000004 12:55