Seite 23 von 108

Verfasst: 22.05.2008 19:53
von fluidman
hier mal ein link zu einer ZIP Datei mit den Home/Away Trikots

http://rapidshare.com/files/116826544/e ... s.zip.html

Verfasst: 22.05.2008 22:13
von Svenson
3 Sachen habe ich noch:

1. Wie bekomme ich es hin, dass sowohl die Flaggen als auch die Trikots angezeigt werden? Glaub im WM-Mod damals war das möglich.

2. Würde das Elfmeterschiessen in den Finalrunden gerne so handhaben, dass das Siegerteam nur 1 Tor zusätzlich zugeschrieben bekommt. D.h. wenn Team A gegen Team B 2:2 spielt und Team A gewinnt das Elfmeterschiessen, dann sollten alle User die 3:2 getippt haben auch die volle Punktzahl bekommen. Trotzdem möchte ich als Ergebnis nicht 3:2 eintragen sondern das richtige Ergebnis, also z.B. 7:6 (n.E). Ich meine mich zu erinnern, dass das im WM-Mod auch so möglich war, oder?

3. Kann mal jemand prüfen, ob bei ihm die Tendenzpfeile in der Ranglist richtig funktionieren? Der grüne Pfeil will bei mir noch net...


Beste Grüße,
Svenson

Verfasst: 23.05.2008 06:46
von smithi
Patch hat geschrieben:
smithi hat geschrieben:@all
Das mit den Tendenzpfeilen interessiert mich auch brennend. Gibts hierfür schon Lösungsansätze?
öffne die em_stats.php
ersetzte mit:

Code: Alles auswählen

for ( $i = 0; $i < count($em_users_data); $i++ )
{
   // user position yesterday
   $int_userpos_yesterday = get_rank_of_yesterday($em_users_data[$i]['tipp_user']);


   $int_userposalt = $int_userpos;
   $int_userpos = ($int_userpkt != $em_users_data[$i]['user_points']) ? $int_userpos + 1 : $int_userpos;

   // compare the absolute positions
   if($int_userpos_yesterday < $int_userpos )
   {
      $userpos_change = '<img src="./images/em/down.gif" alt="Down" border="0" />';
   }
   else if ($int_userpos_yesterday == $int_userpos )
   {
      $userpos_change = '<img src="./images/em/stay.gif" alt="Stay" border="0" />';
   }
   else if ($int_userpos_yesterday > $int_userpos )
   {
      $userpos_change = '<img src="./images/em/up.gif" alt="Up" border="0" />';
   }
Hi,

die grünen Tendenzpfeile funktionieren leider nach dieser Änderung immernoch nicht. :cry:

UNd noch eine Frage:

Bei den Finalspielen kann ich nur das endgültige Spielergebnis nach evtl. Verlängerung/Elfmeterschießen tippen? Normalerweise tippt man doch nach 90 min. oder? Natürlich gäbs dann Probleme mit dem Ergebniseintrag. Seh ich das richtig?

Könnte man dann einen Hinweis schreiben sollte jemand ein Unentschieden tippen? Oder gar sperren mit optischem Hinweis z.b. "Achtung, bitte Ergebnis nach evtl. Verlängerung/Elfer eintragen"

Verfasst: 23.05.2008 08:47
von buegelfalte
smithi hat geschrieben:Oder gar sperren mit optischem Hinweis z.b. "Achtung, bitte Ergebnis nach evtl. Verlängerung/Elfer eintragen"
Also ich traue meinen Usern soviel Fussball-Kenntnis zu, daß sie in der Endrunde kein Unentschieden tippen ;)
(wers trotzdem macht, ist selbst schuld)

Wir machen es so: es wird das Ergebnis nach der regulären Spielzeit bzw. nach Verlängerung eingetragen. Kommt es zum Elfmeterschießen, wird das vorige Unentschieden durch die Tordifferenz beim ES erweitert.
Heißt: steht es vorher 2:2, nach dem ES aber 7:6, trage ich 3:2 ein, steht es vorher 1:1, nachher 6:3, trage ich 4:1 ein.
Grund: man hat sonst kaum Chance, das korrekte Ergebnis zu tippen, getippt wird also auf das "korrigierte" (und nicht das "richtige") Endergebnis, in jedem Fall aber auf das Endergebnis.
(Bei einem Finalspiel Unentschieden einzutragen - weil man z.B. auf das Ergebnis der regulären Spielzeit tippen will - geht nicht, weil das Tippspiel einen Sieger braucht, um zu wissen, wer weitergekommen ist.)

Verfasst: 23.05.2008 09:05
von Patch
smithi hat geschrieben:die grünen Tendenzpfeile funktionieren leider nach dieser Änderung immernoch nicht. :cry:
hast du ein testboard und schon ein paar ergebnisse eingetragen?
denn solange noch kein spiel eingetragen wurde sind alle user mit 0 punkten auf paltz 1 und haben tendenz gleichbleibend - was meiner meinung nach so auch richtig ist.

Verfasst: 23.05.2008 09:32
von smithi
Hi Patch,

ja ich hab ein Testboard und da einige Ergebnisse eingetragen auch die Spieltermine in die Vergangenheit gelegt. Dachte vielleicht das es daran scheitert. Aber mein Testprobant hat jemanden überholt und bekommt statt dem grünen Pfeil einen Punkt. Derjenige der runterrutscht bekommt den roten Pfeil.

Verfasst: 23.05.2008 09:36
von smithi
buegelfalte hat geschrieben:
smithi hat geschrieben:Oder gar sperren mit optischem Hinweis z.b. "Achtung, bitte Ergebnis nach evtl. Verlängerung/Elfer eintragen"
Also ich traue meinen Usern soviel Fussball-Kenntnis zu, daß sie in der Endrunde kein Unentschieden tippen ;)
(wers trotzdem macht, ist selbst schuld)

Wir machen es so: es wird das Ergebnis nach der regulären Spielzeit bzw. nach Verlängerung eingetragen. Kommt es zum Elfmeterschießen, wird das vorige Unentschieden durch die Tordifferenz beim ES erweitert.
Heißt: steht es vorher 2:2, nach dem ES aber 7:6, trage ich 3:2 ein, steht es vorher 1:1, nachher 6:3, trage ich 4:1 ein.
Grund: man hat sonst kaum Chance, das korrekte Ergebnis zu tippen, getippt wird also auf das "korrigierte" (und nicht das "richtige") Endergebnis, in jedem Fall aber auf das Endergebnis.
(Bei einem Finalspiel Unentschieden einzutragen - weil man z.B. auf das Ergebnis der regulären Spielzeit tippen will - geht nicht, weil das Tippspiel einen Sieger braucht, um zu wissen, wer weitergekommen ist.)
Nun gut.. sowas sollte man aber trotzdem an die Tipper kommunizieren. Weil der ein oder andere denkt vielleicht an eine Tippabgabe nach 90min. :D
Aber dann werd ich das mal in meine FAQ mit aufnehmen. Werd es dann genauso machen wie du. Danke für die Erläuterung.

Verfasst: 23.05.2008 09:50
von prinz1809
Hallo,

ich habe mir die beta4 (Link von Seite 1) heruntergeladen und festgestellt, dass in der enthaltenen Datei "db_update.php" lediglich die Schweiz und Österreich als Mannschaften enigetragen sind. Hat das einen grund? Ich meine ich könnte jetzt die anderen Mannschaften in meine Datenbank eintragen aber vielleicht bekommt man die Datei wo anders in einer aktuelleren Version... aber wo? Ich kann mir nicht vorstellen, dass sich jeder die Datei selber anpasst.

vieleln Dank für Hilfe

Grüße Daniel

Verfasst: 23.05.2008 09:54
von buegelfalte
smithi hat geschrieben:Nun gut.. sowas sollte man aber trotzdem an die Tipper kommunizieren.
Das versteht sich von selbst.

Verfasst: 23.05.2008 11:33
von Patch
smithi hat geschrieben:Hi Patch,

ja ich hab ein Testboard und da einige Ergebnisse eingetragen auch die Spieltermine in die Vergangenheit gelegt. Dachte vielleicht das es daran scheitert. Aber mein Testprobant hat jemanden überholt und bekommt statt dem grünen Pfeil einen Punkt. Derjenige der runterrutscht bekommt den roten Pfeil.
so ich war jetzt mal mutig und hab bei mir in der heißen DB rumgespielt und bin auf fehlersuche gegangen.
dabei ist mir folgendes aufgefallen: In der functions_em.php gibt es eine Funktion Namens get_timestamp_for_ranking_history. Diese ermittelt die Anstoßzeit des letzten Spieles. Jedoch werden hier nur die Zeiten der Finalspiele herangezogen, nicht die der Vorrundenspiele. Ich vermute das wurde beim WM Tippspiel 2006 nach Anbrechen der Finalrunde korrigert, da es zu diesem Zeitpunkt ebenfalls Probleme mit den Tendenzpfeilen gab.
Folgendes Workout sollte abhilfe schaffen:

öffne functions_em.php
finde:

Code: Alles auswählen

 function get_timestamp_for_ranking_history(){

    global $db;

   $timestamp_now=time();

   $month = strftime("%m",$timestamp_now);
   $day = strftime("%d",$timestamp_now);
   $year = strftime("%Y",$timestamp_now);

   $timestamp_today_begin = mktime(0,0,0,$month,$day,$year);
   $timestamp_today_end = mktime(23,59,0,$month,$day,$year);

   $timestamp_first_game_of_today;
   $timestamp_first_game_of_last_day_with_a_game;
   $timestamp_last_game_of_last_day_with_a_game;

   // get playing times of today
   $sql = "SELECT  game_time
      FROM  " . EM_FINALS_TABLE . "
      WHERE game_time > ". $timestamp_today_begin ."
         AND game_time < ". $timestamp_today_end ."
        ORDER BY game_time ASC";

   if( !($result_times = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not get playing times of today', '', __LINE__, __FILE__, $sql);
   }

   $row_times = $db->sql_fetchrow($result_times);
   $timestamp_first_game_of_today = $row_times['game_time'];


   if($timestamp_first_game_of_today < $timestamp_now){
      // first game of today has started -> use all results before this game
      return $timestamp_first_game_of_today;
   }else{
      // first game of today is not started
      // saerch the first game of last playing day
      $sql = "SELECT game_time
         FROM  " . EM_FINALS_TABLE . "
         WHERE game_time < ". $timestamp_today_begin ."
         ORDER BY game_time DESC";
      if( !($result_times = $db->sql_query($sql)) )
      {
         message_die(GENERAL_ERROR, 'Could not get playing times of today', '', __LINE__, __FILE__, $sql);
      }

      $row_times = $db->sql_fetchrow($result_times);
      $timestamp_last_game_of_last_day_with_a_game = $row_times['game_time'];

      $month_last_day_with_a_game = strftime("%m",$timestamp_last_game_of_last_day_with_a_game);
      $day_last_day_with_a_game = strftime("%d",$timestamp_last_game_of_last_day_with_a_game);
      $year_last_day_with_a_game = strftime("%Y",$timestamp_last_game_of_last_day_with_a_game);

      $timestamp_last_day_with_a_game_begin =
      mktime(0,0,0,$month_last_day_with_a_game,$day_last_day_with_a_game,$year_last_day_with_a_game);

      $timestamp_last_day_with_a_game_end =
      mktime(23,59,0,$month_last_day_with_a_game,$day_last_day_with_a_game,$year_last_day_with_a_game);


      $sql = "SELECT game_time
         FROM  " . EM_FINALS_TABLE . "
         WHERE game_time > ". $timestamp_last_day_with_a_game_begin ."
            AND game_time < ". $timestamp_last_day_with_a_game_end ."
         ORDER BY game_time ASC";
      if( !($result_times = $db->sql_query($sql)) )
      {
         message_die(GENERAL_ERROR, 'Could not get playing times of today', '', __LINE__, __FILE__, $sql);
      }

      $row_times = $db->sql_fetchrow($result_times);
      $timestamp_first_game_of_last_day_with_a_game = $row_times['game_time'];

      return $timestamp_first_game_of_last_day_with_a_game+1; // +1 becaouse of the < comparison
   }

 }


ersetze mit:

Code: Alles auswählen

 function get_timestamp_for_ranking_history(){

    global $db;

   $timestamp_now=time();

   $month = strftime("%m",$timestamp_now);
   $day = strftime("%d",$timestamp_now);
   $year = strftime("%Y",$timestamp_now);

   $timestamp_today_begin = mktime(0,0,0,$month,$day,$year);
   $timestamp_today_end = mktime(23,59,0,$month,$day,$year);

   $timestamp_first_game_of_today;
   $timestamp_first_game_of_last_day_with_a_game;
   $timestamp_last_game_of_last_day_with_a_game;

   // get playing times of today
   $sql = "SELECT  game_time
      FROM  " . EM_FINALS_TABLE . "
      WHERE game_time > ". $timestamp_today_begin ."
         AND game_time < ". $timestamp_today_end ."
         union
      SELECT game_time
        FROM  " . EM_GAMES_TABLE . "
         WHERE game_time > ". $timestamp_today_begin ."
         AND game_time < ". $timestamp_today_end ."
        ORDER BY game_time ASC";

   if( !($result_times = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not get playing times of today', '', __LINE__, __FILE__, $sql);
   }

   $row_times = $db->sql_fetchrow($result_times);
   $timestamp_first_game_of_today = $row_times['game_time'];


   if($timestamp_first_game_of_today < $timestamp_now){
      // first game of today has started -> use all results before this game
      return $timestamp_first_game_of_today;
   }else{
      // first game of today is not started
      // saerch the first game of last playing day
      $sql = "SELECT game_time
         FROM  " . EM_FINALS_TABLE . "
         WHERE game_time < ". $timestamp_today_begin ."
              union
      SELECT game_time
        FROM  " . EM_GAMES_TABLE . "
         WHERE game_time < ". $timestamp_today_begin ."
         ORDER BY game_time DESC";
      if( !($result_times = $db->sql_query($sql)) )
      {
         message_die(GENERAL_ERROR, 'Could not get playing times of today', '', __LINE__, __FILE__, $sql);
      }

      $row_times = $db->sql_fetchrow($result_times);
      $timestamp_last_game_of_last_day_with_a_game = $row_times['game_time'];

      $month_last_day_with_a_game = strftime("%m",$timestamp_last_game_of_last_day_with_a_game);
      $day_last_day_with_a_game = strftime("%d",$timestamp_last_game_of_last_day_with_a_game);
      $year_last_day_with_a_game = strftime("%Y",$timestamp_last_game_of_last_day_with_a_game);

      $timestamp_last_day_with_a_game_begin =
      mktime(0,0,0,$month_last_day_with_a_game,$day_last_day_with_a_game,$year_last_day_with_a_game);

      $timestamp_last_day_with_a_game_end =
      mktime(23,59,0,$month_last_day_with_a_game,$day_last_day_with_a_game,$year_last_day_with_a_game);


      $sql = "SELECT game_time
         FROM  " . EM_FINALS_TABLE . "
         WHERE game_time > ". $timestamp_last_day_with_a_game_begin ."
            AND game_time < ". $timestamp_last_day_with_a_game_end ."
        union
      SELECT game_time
        FROM  " . EM_GAMES_TABLE . "
         WHERE game_time > ". $timestamp_last_day_with_a_game_begin ."
            AND game_time < ". $timestamp_last_day_with_a_game_end ."
         ORDER BY game_time ASC";
      if( !($result_times = $db->sql_query($sql)) )
      {
         message_die(GENERAL_ERROR, 'Could not get playing times of today', '', __LINE__, __FILE__, $sql);
      }

      $row_times = $db->sql_fetchrow($result_times);
      $timestamp_first_game_of_last_day_with_a_game = $row_times['game_time'];

      return $timestamp_first_game_of_last_day_with_a_game+1; // +1 becaouse of the < comparison
   }

 }
Ich habe die ersten beiden Spiele Testweise eingetragen:
23.05.2008, 00:00 Schweiz - Tschechien 1 : 2
23.05.2008, 08:00 Portugal - Türkei 3 : 1


Resultat:
[ externes Bild ]

:grin: