Example #1
0
// Nombre onlien
$iNBOnline = count(file(PATH_FROM_ONLINE));
$iXPPermin = $iNBOnline * PERMIN_XP;
if ($iXPPermin < 25) {
    $iXPPermin = 25;
}
// Parcours les variable mirc et trie les donnée
$oFile = fopen(PATH_FROM_ONLINE, "r");
while (!feof($oFile)) {
    $sName = formatName(fgets($oFile, 4096));
    if ($sName) {
        // AJOUTE OU MET A JOUR LE VIEWER AVEC SON isOnline
        $aAccount = $oPDO->query('SELECT * FROM viewer WHERE name="' . $sName . '"')->fetch(PDO::FETCH_ASSOC);
        if (!$aAccount) {
            // VERIFIE SI ANCIEN VIEWER
            $aOld = $oPDO->query('SELECT * FROM viewerOld where name="' . $sName . '"')->fetch(PDO::FETCH_ASSOC);
            if (!empty($aOld)) {
                $oPDO->query('INSERT INTO viewer SET name="' . $sName . '", isOnline="' . microtrue() . '", xpreq="' . XPReq($aOld['level']) . '", gils="' . PERMIN_GILS . '", xpcurrent="' . $iXPPermin . '", timetotal=' . $aOld['timetotal'] . ', level=' . $aOld['level']);
            } else {
                $oPDO->query('INSERT INTO viewer SET name="' . $sName . '", isOnline="' . microtrue() . '", xpreq="' . XPReq(1) . '", gils="' . PERMIN_GILS . '", xpcurrent="' . $iXPPermin . '", timetotal=1');
            }
        } else {
            $oPDO->query('UPDATE viewer SET isOnline="' . microtrue() . '", xpcurrent=xpcurrent+' . calcXPTotal($aAccount, $iXPPermin) . ', gils=gils+' . calcGILSTotal($aAccount, PERMIN_GILS) . ', timetotal=timetotal+1 WHERE name="' . $sName . '"');
        }
    }
}
fclose($oFile);
//unlink(PATH_FROM_ONLINE);
include './php/levelup.php';
include './php/toplist.php';
$oPDO = null;
Example #2
0
 if (isset($aLine[1])) {
     $sRep = strtolower($aLine[1]);
 } else {
     $sRep = '';
 }
 echo $sName . ' REPOND ' . $sRep . '<br />';
 $aViewer = $oPDO->query('SELECT * FROM viewer WHERE name="' . $sName . '"')->fetch(PDO::FETCH_ASSOC);
 if ($aViewer && $sRep != '') {
     if ($aQuizz['auteur'] != $aViewer['name']) {
         if ($aViewer['gils'] > 0) {
             // RETIRE LES GILS
             $oPDO->query('UPDATE viewer SET gils=gils-1 WHERE name="' . $sName . '"');
             if (strtolower($sRep) == strtolower($aQuizz['reponse'])) {
                 // BONNE REPONSE
                 $oPDO->query('UPDATE quizz SET actual=0, used=1 WHERE actual=1');
                 $iGils = calcGILSTotal($aViewer, QUIZZ_REP_GILS);
                 $iXP = $aViewer['xpreq'] * QUIZZ_REP_XP;
                 $iXP = calcXPTotal($aViewer, $iXP);
                 $oPDO->query('UPDATE viewer SET scoreQuizz=scoreQuizz+1, gils=gils+' . $iGils . ', xpcurrent=' . $iXP . ' WHERE name="' . $sName . '"');
                 $oPDO->query('DELETE FROM cooldown WHERE name="EVENT"');
                 dire('[QUIZZ] Bravo ' . $sName . ', la réponse était: ' . $aQuizz['reponse'] . $aQuizz['info']);
                 $iQuizzPos = $oPDO->query('SELECT COUNT(*) FROM viewer WHERE name!="nestoyeur" AND name!="nestbot" AND scoreQuizz>' . $aViewer['scoreQuizz'])->fetch(PDO::FETCH_COLUMN);
                 $iQuizzPos = intval($iQuizzPos) + 1;
                 dire('[QUIZZ] Classement #' . $iQuizzPos . '(' . ($aQuizz['scoreQuizz'] + 1) . ' pts), Gils: ' . $aViewer['gils'] . '+' . QUIZZ_REP_GILS . ', LVL: ' . $iLevel['level'] . ' (' . $iLevel['xpcurrent'] . '/' . $iLevel['xpreq'] . ' XP) + 20% = ' . round($iLevel['xpcurrent'] / $iLevel['xpreq'] * 100) . '%');
                 break;
             }
         } else {
             dire('[QUIZZ] Pas asse de gils ' . $sName . '! Il faut 1 gils par réponse proposer.');
         }
     } else {
         dire('[QUIZZ] L\'auteur de la question ne peux pas répondre, mais gagne ' . QUIZZ_AUTEUR_XP * 100 . '% d\'XP et ' . QUIZZ_AUTEUR_GILS . ' gils à chaque fois que la question passe.');
Example #3
0
            // explose la ligne
            $aLine = explode(',', $sLine);
            $sName = formatName($aLine[0]);
            if (isset($aLine[1])) {
                $sMob = strtolower($aLine[1]);
            } else {
                $sMob = '';
            }
            echo $sName . ' ATK ' . $sMob . '<br />';
            if ($sMob == strtolower($aPVE['name'])) {
                // LE NOM EST CORRECT ET LE MOB A DES HP
                $iVerif = $oPDO->query('SELECT COUNT(*) FROM cooldown WHERE name="KILL_ATK" AND stepNext="' . $sName . '"')->fetch(PDO::FETCH_COLUMN);
                if ($iVerif == '0' && $aPVE['pv'] > 0) {
                    echo 'atk ok<br />';
                    // ATTAQUE OK
                    $oPDO->query('INSERT INTO cooldown SET name="KILL_ATK", stepNext="' . $sName . '"');
                    $aViewer = $oPDO->query('SELECT * FROM viewer WHERE name="' . $sName . '"')->fetch(PDO::FETCH_ASSOC);
                    $iXP = $aViewer['xpreq'] * PVE_ATK_XP;
                    $iXP = calcXPTotal($aViewer, $iXP);
                    $iGils = calcGILSTotal($aViewer, PVE_ATK_GILS);
                    echo 'xp: ' . $iXP . ' gils: ' . $iGils . '<br />';
                    $oPDO->query('UPDATE viewer SET gils=gils+' . $iGils . ', scorePve=scorePve+1, xpcurrent=xpcurrent+' . $iXP . ' WHERE name="' . $sName . '"');
                    $oPDO->query('UPDATE pve SET pv=pv-1 WHERE actual=1');
                    $aPVE['pv'] = $aPVE['pv'] - 1;
                }
            }
        }
        $oFile = fopen(PATH_FROM_KILL, "w+");
        fclose($oFile);
    }
}