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.'); } } } $oFile = fopen(PATH_FROM_QUIZZ, "w+"); fclose($oFile); } if ($aCooldown['timerNext'] < microtrue()) { // TEMPS ECOULé $oPDO->query('UPDATE quizz SET actual=0, used=1 WHERE actual=1'); dire('[QUIZZ] Le temps est écoulé, vous trouverez la réponse une prochaine fois.'); $oPDO->query('DELETE FROM cooldown WHERE name="EVENT"'); purgeQuizzPve(); exit; } // NEED INDICE $aIndice = $oPDO->query('SELECT * FROM cooldown WHERE name="QUIZZ_INDICE"')->fetch(PDO::FETCH_ASSOC); if ($aIndice) { if ($aIndice['timerNext'] < microtrue()) { // INDICE TEMPS ECOULé dire('[QUIZZ] La moitié du temps est écoulé, un indice: ' . $aQuizz['indice']); $oPDO->query('DELETE FROM cooldown WHERE name="QUIZZ_INDICE"'); } } }
function calcGILSTotal($aViewer, $iGils) { $iBonus = 0; if ($aViewer['fortuneGils'] > microtrue()) { $iBonus = $iBonus + $iGils; } return $iBonus + $iGils; }
echo $sName . ' FOLLOW<br />'; if (!isset($aFollower[$sName])) { // NOUVEAU FOLLOWER $aFollower[$sName] = 1; $oPDO->query('INSERT INTO follower SET name="' . $sName . '"'); echo $sName . ' NEW FOLLOW<br />'; $iPrice = rand(0, 7); if (strtolower($sName) == 'pandacool75') { $iPrice = 3; } if (strtolower($sName) == 'tiignon') { $iPrice = 3; } newFollower($sName, $iPrice); setCountFollower(intval(getCountFollower()) + 1); $i7Day = microtrue() + 60 * 60 * 24 * 7; if ($iPrice == 0) { $oPDO->query('UPDATE viewer SET level=level+40, follower=1, followVerif=1, followerLast="' . $sToday . '" WHERE name="' . $sName . '"'); } if ($iPrice == 1) { $oPDO->query('UPDATE viewer SET level=level+20, follower=1, followVerif=1, followerLast="' . $sToday . '" WHERE name="' . $sName . '"'); } if ($iPrice == 2) { $oPDO->query('UPDATE viewer SET level=level+10, follower=1, followVerif=1, followerLast="' . $sToday . '" WHERE name="' . $sName . '"'); } if ($iPrice == 3) { $oPDO->query('UPDATE viewer SET fortuneGils=' . $i7Day . ', follower=1, followVerif=1, followerLast="' . $sToday . '" WHERE name="' . $sName . '"'); } if ($iPrice == 4) { $oPDO->query('UPDATE viewer SET gils=gils+4000, follower=1, followVerif=1, followerLast="' . $sToday . '" WHERE name="' . $sName . '"'); }
include './DatabaseConfig.php'; include './php/config.php'; include './php/functions.php'; $sEvent = getEvent(); if ($sEvent == 'RESET') { $oPDO->query('DELETE FROM cooldown WHERE name="EVENT"'); } if ($sEvent == 'STOP') { $oPDO->query('UPDATE quizz SET actual=0, used=1 WHERE actual=1'); $oPDO->query('UPDATE pve SET actual=0, used=1 WHERE actual=1'); $oPDO->query('DELETE FROM cooldown WHERE name="EVENT"'); $oPDO->query('INSERT INTO cooldown SET name="EVENT", status="10", stepNext="pause"'); setEvent(''); } $aCooldown = $oPDO->query('SELECT * FROM cooldown WHERE name="EVENT"')->fetch(PDO::FETCH_ASSOC); if (!$aCooldown) { $oPDO->query('INSERT INTO cooldown SET name="EVENT", status=0, timerNext="' . (microtrue() + COOLDOWN_PVE * 60) . '", stepNext="PVE"'); $aCooldown['name'] = 'EVENT'; $aCooldown['status'] = '0'; $aCooldown['timerNext'] = microtrue() + COOLDOWN_PVE * 60; $aCooldown['stepNext'] = 'PVE'; } if ($aCooldown['stepNext'] == 'PVE') { include './php/pve.php'; } if ($aCooldown['stepNext'] == 'QUIZZ') { include './php/quizz.php'; } purgeQuizzPve(); include './php/eventClose.php'; $oPDO = null;
// 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;
if ($iCount == '0') { $oPDO->query('INSERT INTO xph SET level=' . intval($_GET['level']) . ', xpcurrent=' . intval($_GET['xp']) . ', xpreq=' . intval($_GET['max']) . ', microtrue=' . microtrue()); } else { $oPDO->query('UPDATE xph SET xpcurrent=' . intval($_GET['xp']) . ', xpreq=' . intval($_GET['max']) . ', microtrue=' . microtrue() . ' WHERE ID>1 AND level=' . intval($_GET['level'])); } $oPDO->query('UPDATE xph SET xpcurrent=xpreq WHERE level<' . intval($_GET['level']) . ' AND ID>1'); } else { $oPDO->query('INSERT INTO xph SET level=' . intval($_GET['level']) . ', xpcurrent=' . intval($_GET['xp']) . ', xpreq=' . intval($_GET['max']) . ', microtrue=' . microtrue()); $oPDO->query('INSERT INTO xph SET level=' . intval($_GET['level']) . ', xpcurrent=' . intval($_GET['xp']) . ', xpreq=' . intval($_GET['max']) . ', microtrue=' . microtrue()); } } // CALCULE LEGS & SET $iMicro = intval(getMicroItem()); $iCountLegs = getCountLegs(); $iCountSet = getCountSet(); $iSecondes = microtrue() - $iMicro; $iHour = $iSecondes / 60 / 60; $sHLegs = round($iCountLegs / $iHour, 1); $sHSet = round($iCountSet / $iHour, 1); setHLegs($sHLegs); setHSet($sHSet); // CALCULE XP/H $aXP = $oPDO->query('SELECT * FROM xph WHERE ID>0 ORDER BY ID ASC')->fetchAll(PDO::FETCH_ASSOC); $iXP = 0; if (!empty($aXP)) { foreach ($aXP as $aValue) { if ($aValue['ID'] == 1) { $iDECLevel = $aValue['level']; $iDECXP = $aValue['xpcurrent']; $iSTARTMicro = $aValue['microtrue']; } else {
$iMSGStatus = 1; } } } // SINON CHOPE UNE PHRASE DANS LA TABLE if ($iMSGStatus == 0) { include './php/messageStats.php'; // VERIFIE LE TIMER $oPDO->query('DELETE FROM cooldown WHERE timerNext<' . microtrue() . ' AND name="MESSAGE"'); $aCD = $oPDO->query('SELECT * FROM cooldown WHERE timerNext>' . microtrue() . ' AND name="MESSAGE"')->fetch(PDO::FETCH_ASSOC); if (!$aCD) { // AUCUN MESSAGE $oPDO->query('UPDATE message SET actual=0, used=1 WHERE actual=1'); $aMSG = $oPDO->query('SELECT * FROM message WHERE actual=0 AND used=0 ORDER BY RAND() LIMIT 0,1')->fetch(PDO::FETCH_ASSOC); if (!$aMSG) { $oPDO->query('UPDATE message SET actual=0, used=0'); $aMSG = $oPDO->query('SELECT * FROM message WHERE actual=0 AND used=0 ORDER BY RAND() LIMIT 0,1')->fetch(PDO::FETCH_ASSOC); } $oPDO->query('UPDATE message SET actual=1 WHERE ID="' . $aMSG['ID'] . '"'); $oPDO->query('INSERT INTO cooldown SET name="MESSAGE", timerNext=' . (microtrue() + COOLDOWN_MSG_LIFETIME)); } else { $aMSG = $oPDO->query('SELECT * FROM message WHERE actual=1')->fetch(PDO::FETCH_ASSOC); } $sMSG = $aMSG['message']; $sTITRE = $aMSG['titre']; $iMSGStatus = 1; } // CREER LE MESSAGE SI STATUS = 1 if ($iMSGStatus == 1) { setMSG($sTITRE, $sMSG); }
<?php set_time_limit(0); error_reporting(E_ALL); session_start(); //sleep(1); // Récupére la date date_default_timezone_set('Europe/Paris'); $sToday = date('d/m/Y'); // Initialise PDO pour les requete sql include './DatabaseConfig.php'; include './php/config.php'; include './php/functions.php'; $oPDO->query('DELETE FROM viewer WHERE follower=0 AND timetotal<10 AND isOnline<' . (microtrue() - 60)); $oPDO = null;
<?php $i7Days = microtrue() + 60 * 60 * 24 * 7; $aCooldown = $oPDO->query('SELECT * FROM cooldown WHERE name="CLOSE_EVENT"')->fetch(PDO::FETCH_ASSOC); if (!$aCooldown) { $oPDO->query('INSERT INTO cooldown SET name="CLOSE_EVENT", status="0", timerNext=' . $i7Days . ', stepNext="close_event"'); } if ($aCooldown['status'] == 0 && $aCooldown['stepNext'] == 'close_event' && $aCooldown['timerNext'] < microtrue()) { // STATUS: ATTENTE, STEPNEXT: CLOSE_EVENT, TIMERNEXT: DEPASSé // Ferme les event et incrémente le score de tout le monde dire('[QUIZZ/PVE] Le classement de la semaine sera bientôt disponible sur la page facebook: http://facebook.com/nesstream'); // INCREMENTE DE 10 LES SCORE $oPDO->query('UPDATE viewer SET winPVE=winPVE+1 WHERE winPVE!=0'); $oPDO->query('UPDATE viewer SET winQuizz=winQuizz+1 WHERE winQuizz!=0'); // LISTE LES GAGNANT $aWINQuizz = $oPDO->query('SELECT * FROM viewer WHERE scoreQuizz>0 ORDER BY scoreQuizz DESC, level DESC, timetotal DESC LIMIT 0,5')->fetchAll(PDO::FETCH_ASSOC); $aWINPVE = $oPDO->query('SELECT * FROM viewer WHERE scorePVE>0 ORDER BY scorePVE DESC, level DESC, timetotal DESC LIMIT 0,5')->fetchAll(PDO::FETCH_ASSOC); // SAVE LA LISTE foreach ($aWINQuizz as $iKey => $aValue) { $iPos = $iKey + 1; $oPDO->query('UPDATE viewer SET winQuizz=0.' . (6 - $iPos) . ' WHERE name="' . $aValue['name'] . '"'); } foreach ($aWINPVE as $iKey => $aValue) { $iPos = $iKey + 1; $oPDO->query('UPDATE viewer SET winPVE=0.' . (6 - $iPos) . ' WHERE name="' . $aValue['name'] . '"'); } // RESET LE SCORE $oPDO->query('UPDATE viewer SET scoreQuizz=0, scorePVE=0 WHERE scoreQuizz!=0 OR scorePVE!=0'); // RELANCE LE TIMER $oPDO->query('UPDATE cooldown SET timerNext=' . $i7Days . ' WHERE name="CLOSE_EVENT"'); }
$sDire = $aPVE['name'] . $sMort . ', les viewer suivant gagnent ' . PVE_ATK_XP * 100 . '% XP de leurs level et ' . PVE_ATK_GILS . ' gils: '; } if ($sListe == '') { $sListe = $aValue['stepNext']; } else { $sListe .= ', ' . $aValue['stepNext']; } } if ($sDire == '') { $sDire = $aPVE['name'] . $sMort . '.'; } dire('[PVE] ' . $sDire); if ($sListe != '') { dire('[PVE] ' . $sListe); } $oPDO->query('UPDATE cooldown SET status=0, stepNext="' . EVENT_STEP_AFTER_PVE . '", timerNext=' . (microtrue() + COOLDOWN_QUIZZ * 60) . ' WHERE name="EVENT"'); $oPDO->query('DELETE FROM cooldown WHERE name="KILL_ATK"'); purgeQuizzPve(); exit; } // Parcours le fichier kill.txt if (is_file(PATH_FROM_KILL)) { $oFile = fopen(PATH_FROM_KILL, "r"); $aProfile = array(); while (!feof($oFile)) { $sLine = trim(fgets($oFile, 4096)); // explose la ligne $aLine = explode(',', $sLine); $sName = formatName($aLine[0]); if (isset($aLine[1])) { $sMob = strtolower($aLine[1]);
$aProfile[$sName]['level'] = intval($aLine[1]); } // RECUPERE LE REBORN if (preg_match('#profile\\.reborn\\.#si', $sLine)) { $aLine = explode('profile.reborn.', $sLine); $aLine = explode(' ', $aLine[1]); $sName = formatName($aLine[0]); $aProfile[$sName]['reborn'] = intval($aLine[1]); } } fclose($oFile); $oPDO->query('TRUNCATE viewer'); $oPDO->query('TRUNCATE viewerOld'); $oPDO->query('TRUNCATE follower'); $oPDO->query('TRUNCATE dislike'); $oPDO->query('TRUNCATE message_viewer'); $oPDO->query('TRUNCATE cooldown'); $iCount = 0; foreach ($aProfile as $sName => $aValue) { if ($aValue['timetotal'] > 30) { $iCount++; if (isset($aValue['reborn']) && $aValue['reborn'] == 2) { $aValue['level'] = 100 + ceil($aValue['level'] / 2); } $oPDO->query('INSERT INTO viewerOld SET name="' . $sName . '", isOnline="' . microtrue() . '", timetotal="' . $aValue['timetotal'] . '", level="' . $aValue['level'] . '", xpreq="' . XPReq($aValue['level']) . '"'); } } echo '<br >'; var_export($iCount); var_dump($aProfile); $oPDO = null;
<?php // FOLLOWER ONLINE $iOnline = $oPDO->query('SELECT COUNT(*) FROM viewer WHERE name!="nestbot" AND name!="nestoyeur" AND isOnline>' . (microtrue() - 60))->fetch(PDO::FETCH_COLUMN); $iPickup = $oPDO->query('SELECT COUNT(*) FROM viewer WHERE name!="nestbot" AND name!="nestoyeur" AND follower=0 AND isOnline>' . (microtrue() - 60))->fetch(PDO::FETCH_COLUMN); $iFollower = $oPDO->query('SELECT COUNT(*) FROM viewer WHERE name!="nestbot" AND name!="nestoyeur" AND follower=1 AND isOnline>' . (microtrue() - 60))->fetch(PDO::FETCH_COLUMN); if (!$iPickup) { $iPickup = 0; } $iPickupPercent = round($iPickup / $iOnline * 100); $iFollowerPercent = 100 - $iPickupPercent; $sMSG = 'En ce moment il y a ' . $iOnline . ' viewer online dont ' . $iFollower . ' follower (' . $iFollowerPercent . '%).. merci a vous *^*'; $oPDO->query('UPDATE message SET message="' . $sMSG . '" WHERE ID=1'); // LE PLUS RICHE $aRiche = $oPDO->query('SELECT * FROM viewer WHERE name!="nestbot" AND name!="nestoyeur" ORDER BY gils DESC LIMIT 0,1')->fetch(PDO::FETCH_ASSOC); $aRicheOnline = $oPDO->query('SELECT * FROM viewer WHERE name!="nestbot" AND name!="nestoyeur" AND isOnline>' . (microtrue() - 60) . ' ORDER BY gils DESC LIMIT 0,1')->fetch(PDO::FETCH_ASSOC); $sMSG = $aRiche['name'] . ' est le plus riche avec ' . $aRiche['gils'] . ' gils. ' . $aRicheOnline['name'] . ' est le plus riche online avec ' . $aRicheOnline['gils'] . ' gils.'; $oPDO->query('UPDATE message SET message="' . $sMSG . '" WHERE ID=2'); // QUIZZ TOTAL $iQuizzTotal = $oPDO->query('SELECT COUNT(*) FROM quizz')->fetch(PDO::FETCH_COLUMN); $iQuizzDistinct = $oPDO->query('SELECT COUNT(DISTINCT auteur) FROM quizz WHERE ID>0')->fetch(PDO::FETCH_COLUMN); $sMSG = 'Le quizz contiens ' . $iQuizzTotal . ' questions provenant de ' . $iQuizzDistinct . ' auteurs différents.'; $oPDO->query('UPDATE message SET message="' . $sMSG . '" WHERE ID=3'); // ROBOT UPTIME $iUptime = $oPDO->query('SELECT timetotal FROM viewer WHERE name="nestbot"')->fetch(PDO::FETCH_COLUMN); $iHour = round($iUptime / 60); $sMSG = 'Nestbot à passé ' . $iUptime . ' minutes sur le stream, soit ' . $iHour . ' heures.'; $oPDO->query('UPDATE message SET message="' . $sMSG . '" WHERE ID=4'); // STREAM UPTIME $iUptime = $oPDO->query('SELECT timetotal FROM viewer WHERE name="nestoyeur"')->fetch(PDO::FETCH_COLUMN); $iHour = round($iUptime / 60);
} $iNewToken = $iToken + 1; if ($iNewToken > 1) { $oPDO->query('UPDATE cooldown SET stepNext="0" WHERE name="YOUTUBE_VIEWER_TURN"'); } else { $oPDO->query('UPDATE cooldown SET stepNext="' . $iNewToken . '" WHERE name="YOUTUBE_VIEWER_TURN"'); } // SINON RECUPERE UN MORCEAU RANDOM if (!$aVideo) { $aVideo = $oPDO->query('SELECT * FROM youtube WHERE ' . $sPlaylist . ' AND played>0 ORDER BY played ASC, RAND() LIMIT 0,1')->fetch(PDO::FETCH_ASSOC); } if ($iPlayedMax == $aVideo['played']) { $iPlayedMax++; } // COMPTE LES DISLIKE $iDislike = $oPDO->query('SELECT COUNT(*) FROM dislike, viewer WHERE dislike.youtubeID=' . $aVideo['ID'] . ' AND dislike.viewer=viewer.name AND viewer.isOnline>' . (microtrue() - 60))->fetch(PDO::FETCH_COLUMN); // FAKE LA LECTURE SI LE FICHIER A UNE PENALITE OU UN DISLIKE if ($aVideo['penalite'] != 0 || $iDislike != '0') { $oPDO->query('UPDATE youtube SET played=' . $iPlayedMax . ', penalite=0 WHERE ID=' . $aVideo['ID']); // SINON ACTIVE LA LECTURE } else { // ACTIVE LA LECTURE $oPDO->query('UPDATE youtube SET timePlay=' . intval(microtime(true)) . ', timeStop=' . (intval(microtime(true)) + intval($aVideo['duree'])) . ', played=' . $iPlayedMax . ' WHERE ID=' . $aVideo['ID']); // ECRIS LINFO setYoutube('PLAY', $aVideo['youtubeID'], '0'); } } else { $aVideo = $oPDO->query('SELECT * FROM youtube WHERE timePlay!=0 AND timeStop>' . intval(microtime(true)))->fetch(PDO::FETCH_ASSOC); $iTime = intval(microtime(true)) - intval($aVideo['timePlay']); if ($iTime < 5) { $iTime = -2;