Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 45

Thema: Leadrally für Bonusaktionsaddon KB

  1. #31
    Benutzer
    Registriert seit
    16.08.2006
    Beiträge
    60
    So ich habe die Fehler die hier aufgeführt wurden behoben und die neue Datei hochgeladen.

    http://ul.to/sioxab

    Danke jpwfour für die Verbesserungen.

    (Wo meine Gedanken bei den beiden Fehlern waren will ich lieber nicht wissen )

    mfg
    Aradiv

  2. #32
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Also die Rally hat einige große Fehler welche ich Schlachtherr nun schon behoben habe.

    Die Berechnung bei einer dynamischen Rally funktioniert überhaupt nicht, hier werden die $punkte die an die Funktion übergeben werden gar nicht beachtet, sondern es wird eine sehr sinnlose Formel genommen:

    PHP-Code:
    $config['rp']/$config['pro']*$config['rp'
    Oder so ähnlich

    Bei einer dynamischen Rally wird bei Endzeit statt dem Datum der Unix-Timestamp angezeigt, das ganze dann noch formatiert und mit der Info "bis zum erreichen von $unix_timestamp Punkten"

    Das war das, was mir bislang so aufgefallen ist, könnte natürlich noch einiges mehr drin sein
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  3. #33
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.561
    Zitat Zitat von Gremlin Beitrag anzeigen
    Also die Rally hat einige große Fehler welche ich Schlachtherr nun schon behoben habe.

    Die Berechnung bei einer dynamischen Rally funktioniert überhaupt nicht, hier werden die $punkte die an die Funktion übergeben werden gar nicht beachtet, sondern es wird eine sehr sinnlose Formel genommen:

    PHP-Code:
    $config['rp']/$config['pro']*$config['rp'
    Oder so ähnlich

    Bei einer dynamischen Rally wird bei Endzeit statt dem Datum der Unix-Timestamp angezeigt, das ganze dann noch formatiert und mit der Info "bis zum erreichen von $unix_timestamp Punkten"

    Das war das, was mir bislang so aufgefallen ist, könnte natürlich noch einiges mehr drin sein
    Also kann man die "Leadrally" in seiner jetzigen Fassung in die Tonne kloppen, oder wäre es möglich, das ganze in überarbeiteter Fassung bereit zu stellen?

    Vielleicht möchten ja noch mehr von dem Addon profitieren...

  4. #34
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    content/ralleys/leadrally.php

    PHP-Code:
    <?
    // Variabeln
    $filename = 'lib/texte/leadralley.txt';
    $rp = 1;

    // Ralleydaten auslesen
    $ralleydaten = mysql_fetch_array (db_query ('SELECT * FROM '.$db_prefix.'_ralleydaten WHERE ralley = "leadralley" LIMIT 1'));

    // Datei auslesen
    if (is_readable ($filename)) $inhalt = implode ('', file ($filename));
    else echo 'Datei '.$filename.' kann nicht gelesen werden!';

    if ($inhalt != ''){
        head ('Unsere Leadralley');
        echo nl2br ($inhalt);
        foot ();
    }


    head ('Platzierungen und Preise');
    if ($ralleydaten['art'] == 'statisch_fest') {
    echo'
    <div align="left">
    Dieses Leadralley läuft von <b>'.date("d.m.Y - H:i:s",$ralleydaten['start']).'</b> bis <b>'.date("d.m.Y - H:i:s",$ralleydaten['ende']).'</b>.<br>
    Für diese Leadralley sind <b>'.number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung.'</b> ausgelobt und werden wie unten angezeigt auf die 
    Plätze <b>1</b> bis <b>'.$ralleydaten['plaetze'].'</b> verteilt.<br />
    Pro Lead gibt es 1 Punkt
    </div><br />
    ';
    } elseif ($ralleydaten['art'] == 'statisch_provi') {
    echo'
    <div align="left">
    Dieses Leadralley läuft von <b>'.date("d.m.Y - H:i:s",$ralleydaten['start']).'</b> bis <b>'.date("d.m.Y - H:i:s",$ralleydaten['ende']).'</b>.<br>
    Für diese Leadralley sind <b>'.number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung.'</b> ausgelobt und werden wie unten angezeigt auf die 
    Plätze <b>1</b> bis <b>'.$ralleydaten['plaetze'].'</b> verteilt.<br />
    F&uuml;r je '.number_format($ralleydaten['rp'], 2, ',', '.').' '.$waehrung.' Verdienst gibt es 1 Punkt
    </div><br />
    ';
    }elseif ($ralleydaten['art'] == 'ap_fest') {
    echo'
    <div align="left">
    Dieses Leadralley läuft von <b>'.date("d.m.Y - H:i:s",$ralleydaten['start']).'</b> bis zum erreichen von <b>'.number_format($ralleydaten['ende'], 0, ',', '.').' Punkten</b>.<br>
    Für diese Leadralley sind <b>'.number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung.'</b> ausgelobt und werden wie unten angezeigt auf die 
    Plätze <b>1</b> bis <b>'.$ralleydaten['plaetze'].'</b> verteilt.<br />
    Pro Lead gibt es 1 Punkt
    </div><br />
    ';
    }elseif ($ralleydaten['art'] == 'ap_provi') {
    echo'
    <div align="left">
    Dieses Leadralley läuft von <b>'.date("d.m.Y - H:i:s",$ralleydaten['start']).'</b> bis zum erreichen von <b>'.number_format($ralleydaten['ende'], 0, ',', '.').' Punkten</b>.<br>
    Für diese Leadralley sind <b>'.number_format($ralleydaten['p1']+$ralleydaten['p2']+$ralleydaten['p3']+$ralleydaten['p4']+$ralleydaten['p5']+$ralleydaten['p6']+$ralleydaten['p7']+$ralleydaten['p8']+$ralleydaten['p9']+$ralleydaten['p10'],2,",",".").' '.$waehrung.'</b> ausgelobt und werden wie unten angezeigt auf die 
    Plätze <b>1</b> bis <b>'.$ralleydaten['plaetze'].'</b> verteilt.<br />
    F&uuml;r je '.number_format($ralleydaten['rp'], 2, ',', '.').' '.$waehrung.' Verdienst gibt es 1 Punkt
    </div><br />
    ';
    }elseif ($ralleydaten['art'] == 'dynamisch_fest') {
    echo'
    <div align="left">
    Dieses Leadralley läuft von <b>'.date("d.m.Y - H:i:s",$ralleydaten['start']).'</b> bis zum erreichen von <b>'.number_format($ralleydaten['ende'], 0, ',', '.').' Punkten</b>.<br>
    Dabei handelt es sich um eine dynamische Leadralley wo pro Punkt <b>'.number_format($ralleydaten['pro'],2,",",".").' '.$waehrung.'</b> in den Jackpot fliesen.
    Im Jackpot befinden sicher gerade <b>'.number_format($ralleydaten['jackpot'],2,",",".").' '.$waehrung.'</b> die wie unten aufgeführt auf die Plätze <b>1 
    bis '.$ralleydaten['plaetze'].'</b> verteilt werden.
    Pro Lead gibt es 1 Punkt
    </div><br />
    ';
    }elseif ($ralleydaten['art'] == 'dynamisch_provi') {
    echo'
    <div align="left">
    Dieses Leadralley läuft von <b>'.date("d.m.Y - H:i:s",$ralleydaten['start']).'</b> bis zum <b>'.date('d.m.Y - H:i:s',$ralleydaten['ende']).'</b>.<br>
    Dabei handelt es sich um eine dynamische Leadralley wo pro Punkt <b>'.number_format($ralleydaten['pro'],2,",",".").' '.$waehrung.'</b> in den Jackpot fliesen.
    Im Jackpot befinden sicher gerade <b>'.number_format($ralleydaten['jackpot'],2,",",".").' '.$waehrung.'</b> die wie unten aufgeführt auf die Plätze <b>1 
    bis '.$ralleydaten['plaetze'].'</b> verteilt werden.
    F&uuml;r je '.number_format($ralleydaten['rp'], 2, ',', '.').' '.$waehrung.' Verdienst gibt es 1 Punkt
    </div><br />
    ';
    }
    ?>

    <table width="100%" cellpadding="1" cellspacing="1" border="0">
        <tr class="tr_head">
            <td width="50"><b>Rang</b></td>
            <td><b>User</b></td>
            <td width="100"><b>Punkte</b></td>
            <td width="150"><b>m&ouml;glicher Gewinn</b></td>
        </tr>
    <?
    $platz = db_query ('SELECT k.punkte,u.nickname FROM '.$db_prefix.'_leadralley k LEFT JOIN '.$db_prefix.'_userdaten u ON u.uid = k.uid ORDER BY punkte DESC LIMIT 10'); 

    echo mysql_error(); 
    while ($pa = mysql_fetch_array($platz)) {
            $row = ($rp % 2 == 0) ? 0 : 1;
            $mg = ($ralleydaten['art'] == 'statisch_fest' || $ralleydaten['art'] == 'statisch_provi' || $ralleydaten['art'] == 'ap_fest' || $ralleydaten['art'] == 'ap_provi') ? number_format($ralleydaten['p'.$rp], 2, ',', '.').' '.$waehrung : number_format(($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp]), 2, ',', '.').' '.$waehrung;
            if ($rp > $ralleydaten['plaetze']) $mg = '---'; ?>
        <tr class="tr_row<?=$row;?>">
            <td align="right"><?=$rp++;?>.&nbsp;</td>
            <td>&nbsp;<?=$pa['nickname'];?></td>
            <td align="right"><?=number_format($pa['punkte'], 0);?>&nbsp;</td>
            <td align="right"><?=$mg;?>&nbsp;</td>
        </tr>
    <?
    }

    for($x=$rp;$x<11;$x++){
        $mg = ($ralleydaten['art'] == 'statisch_fest' || $ralleydaten['art'] == 'statisch_provi' || $ralleydaten['art'] == 'ap_fest' || $ralleydaten['art'] == 'ap_provi') ? number_format($ralleydaten['p'.$rp], 2, ',', '.').' '.$waehrung : number_format(($ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp]), 2, ',', '.').' '.$waehrung;
        $row = ($rp % 2 == 0) ? 0 : 1;
        if ($x > $ralleydaten['plaetze']) $mg = '---'; ?>
        <tr class="tr_row<?=$row;?>">
            <td align="right"><?=$rp++;?>.&nbsp;</td>
            <td>&nbsp;n/a</td>
            <td align="right">0&nbsp;</td>
            <td align="right"><?=$mg;?>&nbsp;</td>
        </tr>
    <?
    } ?>
    </table>
    <?
    foot(); ?>
    Und die Funktion

    PHP-Code:
    function leadralley($user,$provi){
        global 
    $db_prefix;
        
    $conf=mysql_fetch_assoc(db_query("SELECT art, start, ende, pro, rp FROM vms_ralleydaten WHERE ralley='leadralley'"));
        if(
    $conf['start']<time()){
            if(
    $conf['art']=="statisch_fest"){
                if(
    $conf['ende']>time()){
                    
    db_query("UPDATE ".$db_prefix."_leadralley SET punkte=punkte + 1 WHERE uid=".$user." LIMIT 1;");
                    if(
    mysql_affected_rows()<1)db_query("INSERT INTO ".$db_prefix."_leadralley(uid, punkte) VALUES(".$user.",1)");
                }
            }elseif(
    $conf['art']=="statisch_provi"){
                if(
    $conf['ende']>time()){
                    
    db_query("UPDATE ".$db_prefix."_leadralley SET punkte=punkte + ".$provi/$conf['rp']." WHERE uid=".$user." LIMIT 1;");
                    if(
    mysql_affected_rows()<1)db_query("INSERT INTO ".$db_prefix."_leadralley(uid, punkte) VALUES(".$user.",".$provi/$conf['rp'].")");
                }
            }elseif(
    $conf['art']=="dynamisch_fest"){
                if(
    $conf['ende']>time()){
                    
    db_query("UPDATE ".$db_prefix."_ralleydaten SET jackpot = jackpot + ".$conf['pro']." WHERE ralley='leadralley'");
                    
    db_query("UPDATE ".$db_prefix."_leadralley SET punkte=punkte + 1 WHERE uid=".$user." LIMIT 1;");
                    if(
    mysql_affected_rows()<1)db_query("INSERT INTO ".$db_prefix."_leadralley(uid, punkte) VALUES(".$user.",1)");
                }
            }elseif(
    $conf['art']=="dynamisch_provi"){
                if(
    $conf['ende']>time()){
                    
    db_query("UPDATE ".$db_prefix."_ralleydaten SET jackpot = jackpot + ".$provi*$conf['pro']." WHERE ralley='leadralley'");
                    
    db_query("UPDATE ".$db_prefix."_leadralley SET punkte=punkte + ".$provi/$conf['rp']." WHERE uid=".$user." LIMIT 1;");
                    if(
    mysql_affected_rows()<1)db_query("INSERT INTO ".$db_prefix."_leadralley(uid, punkte) VALUES(".$user.",".$provi/$conf['rp'].")");
                }
            }elseif(
    $conf['art']=="ap_fest"){
                
    $punkte=mysql_fetch_assoc(db_query("SELECT SUM(punkte) as now FROM vms_leadralley"));
                if(
    $punkte['now']<$conf['ende']){
                    
    db_query("UPDATE ".$db_prefix."_leadralley SET punkte=punkte + 1 WHERE uid=".$user." LIMIT 1;");
                    if(
    mysql_affected_rows()<1)db_query("INSERT INTO ".$db_prefix."_leadralley(uid, punkte) VALUES(".$user.",1)");
                }
            }elseif(
    $conf['art']=="ap_provi"){
                
    $punkte=mysql_fetch_assoc(db_query("SELECT SUM(punkte) as now FROM vms_leadralley"));
                if(
    $punkte['now']<$conf['ende']){
                    
    db_query("UPDATE ".$db_prefix."_leadralley SET punkte=punkte + ".$provi/$conf['rp']." WHERE uid=".$user." LIMIT 1;");
                    if(
    mysql_affected_rows()<1)db_query("INSERT INTO ".$db_prefix."_leadralley(uid, punkte) VALUES(".$user.",".$provi/$conf['rp'].")");
                }
            }
        }

    Wie gesagt, keine Garantie das alles behoben ist ;-) wir haben nur dsa bei dynamisch_provi getestet
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  5. #35
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.561
    Du machst mir ja Hoffnung^^...Abwarten und Tee trinken...

    Habs dennoch mal umgebaut...Wenns nicht passt,fliegts wieder raus...

  6. #36
    Erfahrener Benutzer Avatar von SilentRunner
    Registriert seit
    18.08.2006
    Beiträge
    1.076
    Zitat Zitat von Sam2004 Beitrag anzeigen
    Also kann man die "Leadrally" in seiner jetzigen Fassung in die Tonne kloppen, oder wäre es möglich, das ganze in überarbeiteter Fassung bereit zu stellen?

    Vielleicht möchten ja noch mehr von dem Addon profitieren...
    hier blickt ma ja garnicht mehr durch, wer stellt es denn mal komplett überarbeitet und funtzend rein bitte?

  7. #37
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.561
    Zitat Zitat von SilentRunner Beitrag anzeigen
    hier blickt ma ja garnicht mehr durch, wer stellt es denn mal komplett überarbeitet und funtzend rein bitte?
    Ich nicht, da ich nicht weiß ob es funzt. Theoretisch ist ja bis auf die geänderten Dateien alles beim alten. Wenn es was gibt, was sofort getrackt wird, könnte man ja weiter dran arbeiten...aber da musste Gremlin fragen...

  8. #38
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Praktisch wärs, wenn man genau wüsste, welche Funktion welche Spalte der Tabelle denn nun hat, dann wäre so eine Rallye viel einfacher und DB schonender, da jede erfolgreiche Teilnahme ja eh gespeichert wird, und man die Daten daraus nehmen könnte.
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  9. #39
    Erfahrener Benutzer
    Registriert seit
    12.11.2008
    Beiträge
    1.561
    Da gibt es ja nicht so viel. Die Tabellen die es gibt die KB
    betreffen sind:
    vms_kingbonus_aktionen
    vms_kingbonus_config
    vms_kingbonus_track

    Ich denke die namen der Tabellen sprechen für sich. Probehalber wurde mal an Aktionen teilgenommen und wurden in vms_kingbonus_track eingetragen.

    Müßt man dann nur noch iwie gebacken bekommen, dass nach Tracking, die Gutschrift erfolgt.
    Da es ja bei Dynamischen schon zu Problemen kam und "wahrscheinlich" an die Statische nicht zu denken ist, muss wohl der "Grundgedanke" überarbeitet werden...

    Aber ich nix Experte...

  10. #40
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Wichtig für die Teilnahmen ist die vms_kingbonus_track hier gibt es folgende Felder:


    id - eindeutige ID, wird hier von KingBonus übernommen, damit es gleichzeitigzum Abgleich gneutzt wird

    aktion - Name der Aktion

    user - userid vom teilnehmer

    time - wann tauchte die aktion erstmalig im System auf / wann wurde teilgenommen

    edit_time - wann wurde die Teilnahme vergütet/storniert

    status - Status der Aktion (0=offen, 1=vergütet, 2=storniert)

    provi - Wieviel der User bekommen hat
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Ähnliche Themen

  1. [S] Bonusaktionsaddon!
    Von Golem im Forum Scripte
    Antworten: 2
    Letzter Beitrag: 13.05.2011, 13:33
  2. Problem mit dem Bonusaktionsaddon
    Von icemen33 im Forum Support zu Addons & Erweiterungen
    Antworten: 3
    Letzter Beitrag: 15.01.2010, 20:12
  3. Suche Bonusaktionsaddon
    Von Hansir im Forum Scripte
    Antworten: 9
    Letzter Beitrag: 04.01.2010, 22:46
  4. Antworten: 23
    Letzter Beitrag: 07.07.2009, 17:23
  5. [V] Auto. bonusaktionsaddon
    Von SebbyPHM im Forum Scripte
    Antworten: 25
    Letzter Beitrag: 31.03.2008, 09:58

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •