FAQ Suchen Mitgliederliste Benutzergruppen Profil Anmelden, um private Nachrichten zu lesen
UGamela Forum Foren-Übersicht  Anmelden  Registrieren
cronjob problem
Seite 2 von 2 [23 Beiträge]   Gehe zu Seite: Zurück 1, 2

 Forum-Index » UGamela » Support
Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen
Autor Nachricht
Spieleguru
UGamela-Kenner
UGamela-Kenner


Anmeldedatum: 12.01.2008
Beiträge: 104
Wohnort: Kiel

BeitragVerfasst am: Mo 24 März 2008, 21:09    Titel:  

naja,

da kann ich dir leider nicht weiterhelfen...

aber wozu sollte man das tun... die version ist eh noch nicht spielbar und on der ß.5 soll das automatisch geschehen!


PS: bist du die ganze zeit on? und sind wir hier die einzigen die etwas schreiben? (mein account geht leider immer noch nicht im betauni... hätt ich bloß net den plani gelöscht...)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger 
ICQ-Nummer 
passivtod
Member
Member

Anmeldedatum: 05.02.2008
Beiträge: 21

BeitragVerfasst am: Di 25 März 2008, 00:12    Titel:  

Code:
<?php //statystyki.php by DxPpLmOs

/*******************************************************************************************************
*
*      german UGamela (C) 2008
*      OpenSource aslong as you don't remove our Copyright
*      Licence GNU (GPL)
*      http://ugamela-forum.pheelgood.net
*       UGamela basescripts from Perberos @2006 (all rights reversed)
*
*******************************************************************************************************/


define('INSIDE', true);

define('UGAMELA_ROOT_PATH', './');

include(UGAMELA_ROOT_PATH . 'extension.inc');
include(UGAMELA_ROOT_PATH . 'common.'.phpEx);

//***************************
//BADANIA////////////////
//***************************
$badania = doquery("SELECT * FROM {{table}}","users");
$userpoints = array();

while ($row = mysql_fetch_assoc($badania)){
   //***************************
   //points_tech////////////////
   //***************************
   $id_user_tech = $row['id'];
   //****************************
   //points_points (badania)////
   //****************************
   $pkt_tech = 0;
   $points_points_tech = 0;
   foreach($reslist['tech'] as $n => $i){
      if(0 < $row[$resource[$i]]){
         $points_points_tech = $points_points_tech + ($pricelist[$i]["crystal"] + $pricelist[$i]["metal"] + $pricelist[$i]["deuterium"])*pow($pricelist[$i]["factor"],($row[$resource[$i]]-1));
         $pkt_tech = $pkt_tech + $row[$resource[$i]];
      }
   }
   doquery("UPDATE {{table}} SET `points_tech`='$pkt_tech' WHERE `id` = '$id_user_tech'" ,"users");

   $userpoints[$id_user_tech] = (intval($userpoints[$id_user_tech]) + $pkt_tech);

   
}
//***************************
//PLANETA////////////////
//***************************
//***************************
//budynki////////////////
//***************************
$planeta = doquery("SELECT * FROM {{table}}","planets");
while ($row = mysql_fetch_assoc($planeta)){
   $id_planet = $row['id'];
   $id_user_build = $row['id_owner'];
   $points_points_fleet = 0;
   foreach($reslist['fleet'] as $n => $i){
      if(0 < $row[$resource[$i]]){
         $points_points_fleet = $points_points_fleet + ($pricelist[$i]["crystal"] + $pricelist[$i]["metal"] + $pricelist[$i]["deuterium"])*pow($pricelist[$i]["factor"],($row[$resource[$i]]-1));
      }
   }
   $points_points_defense = 0;
   foreach($reslist['defense'] as $n => $i){
      if(0 < $row[$resource[$i]]){
         $points_points_defense = $points_points_defense + ($pricelist[$i]["crystal"] + $pricelist[$i]["metal"] + $pricelist[$i]["deuterium"])*pow($pricelist[$i]["factor"],($row[$resource[$i]]-1));
      }
   }
   $points_points_build = 0;
   foreach($reslist['build'] as $n => $i){
      if(0 < $row[$resource[$i]]){
         $points_points_build = $points_points_build + ($pricelist[$i]["crystal"] + $pricelist[$i]["metal"] + $pricelist[$i]["deuterium"])*pow($pricelist[$i]["factor"],($row[$resource[$i]]-1));
      }
   }
   $flota = doquery("SELECT * FROM {{table}}","fleets",false);
   while ($rowflota = mysql_fetch_assoc($flota)){
   
   }

   $pkt_planet = $points_points_build + $points_points_defense + $points_points_fleet;
   doquery("UPDATE {{table}} SET `points`='$pkt_planet' WHERE `id` = '$id_planet'" ,"planets");
   $suma = mysql_fetch_assoc(doquery("SELECT SUM(`points`) as points from {{table}} WHERE `id_owner`='$id_user_build'","planets"));


   $userpoints[$id_user_build] = ($userpoints[$id_user_build] + $pkt_planet);


   doquery("UPDATE {{table}} SET `points_planets`='".$suma["points"]."' WHERE `id` = '$id_user_build'" ,"users");
}
//***************************
//flota w powietrzu/////////
//***************************
/*$flota = doquery("SELECT * FROM {{table}}","fleets",false);
while ($row = mysql_fetch_assoc($flota)){
   $id_fleet = $row['fleet_id'];
   $fleet = explode(";",$row['fleet_array']);
            foreach($fleet as $a => $b){
               if($b != ''){
                  $a = explode(",",$b);
               if ($a[0] == "202"){
                  $LMT = $a[1];
               }if ($a[0] == "203"){
                  $LDT = $a[1];
               }if ($a[0] == "204"){
                  $LLM = $a[1];
               }if ($a[0] == "205"){
                  $LCM = $a[1];
               }if ($a[0] == "206"){
                  $LKR = $a[1];
               }if ($a[0] == "207"){
                  $LOW = $a[1];
               }if ($a[0] == "208"){
                  $LKO = $a[1];
               }if ($a[0] == "209"){
                  $LRE = $a[1];
               }if ($a[0] == "210"){
                  $LSS = $a[1];
               }if ($a[0] == "211"){
                  $LBO = $a[1];
               }if ($a[0] == "212"){
                  $LSA = $a[1];
               }if ($a[0] == "213"){
                  $LNI = $a[1];
               }if ($a[0] == "214"){
                  $LGS = $a[1];
               }if ($a[0] == "215"){
                  $LPA = $a[1];
               }if ($a[0] == "216"){
                  $LDE = $a[1];
               }
$fleet_1 = 4000*$LMT;
$fleet_2 = 12000*$LDT;
$fleet_3 = 4000*$LLM;
$fleet_4 = 10000*$LCM;
$fleet_5 = 29000*$LKR;
$fleet_6 = 45000*$LOW;
$fleet_7 = 40000*$LKO;
$fleet_8 = 18000*$LRE;
$fleet_9 = 1000*$LSS;
$fleet_10 = 90000*$LBO;
$fleet_11 = 2500*$LSA;
$fleet_12 = 125000*$LNI;
$fleet_13 = 10000000*$LGS;
$fleet_14 = 85000*$LPA;
$fleet_15 = 205000*$LDE;
$pkt_fleet_fly = $fleet_1 + $fleet_2 + $fleet_3 + $fleet_4 + $fleet_5 + $fleet_6 + $fleet_7 + $fleet_8 + $fleet_9 + $fleet_10 + $fleet_11 + $fleet_12 + $fleet_13 + $fleet_14 + $fleet_15;
               doquery("UPDATE {{table}} SET `points_fly`='$pkt_fleet_fly' WHERE `id`='{$row['fleet_owner']}'","users");}
               //doquery("UPDATE {{table}} SET `fleet_points`='$pkt_fleet_fly' WHERE `fleet_id`='$id_fleet'","fleets");}
               }   
}*/

foreach ($userpoints as $userid => $points) {
   $punkte = round($points);

   $oldpoints = doquery("SELECT `points_points` FROM {{table}} WHERE id = '".intval($userid)."'","users");
   $oldpoint_temp = mysql_fetch_array($oldpoints);

   doquery("UPDATE {{table}} SET `points_points`='".$punkte."' WHERE `id`='".intval($userid)."'","users");
   doquery("UPDATE {{table}} SET `points_points_old`='".$oldpoint_temp['points_points']."' WHERE `id`='".intval($userid)."'","users");

}


$temp = doquery("SELECT `points_points`,`id`,`points_points_old`,`ally_id` FROM {{table}}","users");
$punkte = array();
$oldpints = array();
$allypoints = array();
$allymembers = array();

while ($row = mysql_fetch_assoc($temp)){

   $punkte[$row['id']] = $row['points_points'];
   $oldpints[$row['id']] = $row['points_points_old'];

   $allyid = intval($row['ally_id']);

   if (!empty($allyid)) {
      $points4ally = floor(($row['points_points'] / 1000000));
      $allypoints[$row['ally_id']] = ($points4ally + $allypoints[$row['ally_id']]);
      $allymembers[$row['ally_id']] = ($allymembers[$row['ally_id']] + 1);

   }
   
}






$i = 1;
/*
foreach ($punkte as $userid => $punkte) {
   $rank = doquery("SELECT `rank` FROM {{table}} WHERE `id`='".intval($userid)."'","users");
   $oldrank = mysql_fetch_array($rank);


   doquery("UPDATE {{table}} SET `rank`='".$i."' WHERE `id`='".intval($userid)."'","users");
   doquery("UPDATE {{table}} SET `rank_old`='".$oldrank['rank']."' WHERE `id`='".intval($userid)."'","users");
   $i++;
}
*/

   $sqlquery = doquery("SELECT `id`,`rank`,`points_points` FROM {{table}} ORDER BY `points_points` DESC","users");
$i = 1;
while ($row = mysql_fetch_assoc($sqlquery)){
   if (intval($row['id']) != 0) {
      $rank = doquery("SELECT `rank` FROM {{table}} WHERE `id`='".intval($row['id'])."'","users");
      $oldrank = mysql_fetch_array($rank);


      doquery("UPDATE {{table}} SET `rank`='".$i."' WHERE `id`='".intval($row['id'])."'","users");
      doquery("UPDATE {{table}} SET `rank_old`='".$oldrank['rank']."' WHERE `id`='".intval($row['id'])."'","users");

      echo "Rang: ".$i."<br>
UserID: ".$row['id']."<br>
Oldrank: ".$oldrank['rank']."<br>
---
";
   $i++;
   }

   
}


foreach ($allypoints as $allyid => $punkte) {
   if (intval($allymembers[$allyid]) != 0) {
      doquery("UPDATE {{table}} SET `ally_points`='".$punkte."', `ally_members` = '".$allymembers[$allyid]."' WHERE `id`='".$allyid."'","alliance");
   }

}

   usleep(500);

$allypoints = doquery("SELECT * FROM {{table}} ORDER BY `ally_points` ASC","alliance");

$i = 1;

while ($row = mysql_fetch_assoc($allypoints)){
   if (intval($row['id']) != 0) {
      // doquery("UPDATE {{table}} SET `ally_ranks`='".$i."' WHERE `id`='".intval($row['id'])."'","alliance");
      print_r($row);

      $i++;

   }

   
}


echo"done";


// Created by MoF. All rights reversed (c) 2OO7
?>

Und dann gehste auf cronjob.de
fertig
nehme einfach denn code ist meine komplete Points.php wie meikel schreibt Da ist schluss und check_user+include"ban.php" die zeilen sind bei mir gelöscht dann funzt das auch
und zu cronjob.de

das prob hatte ICH
wenn du z.b alle 10min aktualiseren willst musst du
ALLE stunden makieren Minuten dann 0 10 20 30 40 50 alle tage und alle Monate und fertig,aber die haben noch geändert das du da ne HTML datei hoch laden nimmste dir dann einfach denn editor speicher unter und denn genauen namen eingeben wie die datei heissen sollen steht dann da auf www.cronjob.de geschrieben wie sie heisen soll und MIT der endung speichern dann haste das gelich als html hochladen da wo die pkt html auch ist und fertig dann funzt es

MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden 
Spieleguru
UGamela-Kenner
UGamela-Kenner


Anmeldedatum: 12.01.2008
Beiträge: 104
Wohnort: Kiel

BeitragVerfasst am: Di 25 März 2008, 01:25    Titel:  

schlauer wäre jedochwenn man sich eine weiter function schreibt und dann das macht:

if (!check_user() && !check_cronjob()) {...}

dann wird das nur gebannt, wenn er sich nicht authentifizieren kann... also, wenn er nicht eingeloggt bzw. berechtigt ist..

mann muss jedoch noch die zugehörige funktion schreiben... das ich leider nicht machen kann (und will, da ich grad mein wiki für ugamela mache), außerdem soll das in der 0.5 automatisch funktionieren!


edit: obwohl was kann man schon damit anstellen ohne weitere funktion? jeder kann die punkte aktualisieren, wann er will, was nun auch nicht das schlimmste ist, oder?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger 
ICQ-Nummer 
Phoscur
Site Admin
Site Admin


Anmeldedatum: 07.12.2007
Beiträge: 914

BeitragVerfasst am: Di 25 März 2008, 01:43    Titel:  

Wie unterscheidest du Cron von nicht-User?
Punkte werden nach 0.5 überarbeitet werden und dann mithilfe automatischer Aktualisierung laufen.

das check_user ist in der points.php erst seitdem ich alle Header verändert habe, also für euch bekannt seit 0.4++ wenn ich mich recht entsinne, vorher konnte jeder x-beliebige points.php aufrufen.

_________________

Wenn du Hilfe brauchst wende dich an einen >Supporter<.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen 
Spieleguru
UGamela-Kenner
UGamela-Kenner


Anmeldedatum: 12.01.2008
Beiträge: 104
Wohnort: Kiel

BeitragVerfasst am: Di 25 März 2008, 02:02    Titel:  

ich dachte mir evt über den host oder so? würd das net gehen?

müsste zwar jeder anpassen aber es würde gehen oder?


PS: guck doch ma bitte was mit mein acc im beta los is... geht schon seit 1 tag net mehr...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger 
ICQ-Nummer 
-= MoF =-
UGamela PowerUser
UGamela PowerUser


Anmeldedatum: 09.12.2007
Beiträge: 345
Wohnort: Schweiz

BeitragVerfasst am: Di 25 März 2008, 15:40    Titel:  

Spieleguru hat Folgendes geschrieben:

PS: bist du die ganze zeit on? und sind wir hier die einzigen die etwas schreiben? (mein account geht leider immer noch nicht im betauni... hätt ich bloß net den plani gelöscht...)


Geh auf Imperium und wähl nen anderen Planeten.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden 
ICQ-Nummer 
Phoscur
Site Admin
Site Admin


Anmeldedatum: 07.12.2007
Beiträge: 914

BeitragVerfasst am: Di 25 März 2008, 18:18    Titel:  

Solved.

ist das mit den Crons nun auch geklärt? ..

_________________

Wenn du Hilfe brauchst wende dich an einen >Supporter<.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen 
Spieleguru
UGamela-Kenner
UGamela-Kenner


Anmeldedatum: 12.01.2008
Beiträge: 104
Wohnort: Kiel

BeitragVerfasst am: Di 25 März 2008, 21:54    Titel:  

würd ich mal sagen... ist alles erklärt und was man löschen muss etc...

ich würd sagen du kannst das schließen hier Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger 
ICQ-Nummer 
Beiträge der letzten Zeit anzeigen:   Sortieren nach:   
Seite 2 von 2 [23 Beiträge]   Gehe zu Seite: Zurück 1, 2
Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Vorheriges Thema anzeigen :: Nächstes Thema anzeigen
 Forum-Index » UGamela » Support
Gehe zu:  

Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht teilnehmen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen
[ Time: 0.0670s ][ Queries: 13 (0.0064s) ][ Debug Ein ]

Powered by phpBB © 2001, 2005 phpBB Group
BBTech Template by © 2003-04 MDesign
Categories Hierarchy 2.1.6g © 2003-2005 Ptirhiik RPGnet-Fr | Adaptation provided by Craterz.com