Seite 1 von 1

Activity Mod auch für gäste

Verfasst: 06.10.2003 15:42
von mirk
ich wollte das bei mir im forum auch gäste spielen dürfen...
jetzt klappt das schon mal soweit... aber jetzt brauch ich hilfe

ich will das ein gast noch seinen namen eingeben kann bevor das highscore in der db gespeichert wird...
also:

Code: Alles auswählen

if (!$userdata['session_logged_in'] && $user_id == ANONYMOUS)
und dannach brauche ich ein eigabe feld für den namen und das ergebnis (highscore) soll dann mit dem eingegebenen namen in der db gespeichert werden... (wie bei spielautomaten...)

Verfasst: 06.10.2003 17:56
von mirk
also die newscore.php muss bearbeitet werden:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

// Start session management
$userdata = session_pagestart($user_ip, PAGE_ACTIVITY);
init_userprefs($userdata);
// End session management

//===========================================================================



if (isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']))
{
  $mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
}
else 
{
  if( isset($HTTP_POST_VARS['check_score']) )
  {
    $mode = "check_score";
  }
  else if( isset($HTTP_POST_VARS['highscore']) )
  {
    $mode = "highscore";
  }
  else
  {
    $mode = "";
  }
}

if( $mode != "" )
{
  if ($mode == "check_score")
  {
    $name = (!empty($HTTP_POST_VARS['name'])) ? $HTTP_POST_VARS['name'] : $HTTP_GET_VARS['name'];
    $game_name = (!empty($HTTP_POST_VARS['game_name'])) ? $HTTP_POST_VARS['game_name'] : $HTTP_GET_VARS['game_name'];
    $score = (!empty($HTTP_POST_VARS['score'])) ? $HTTP_POST_VARS['score'] : $HTTP_GET_VARS['score'];

    if ($score)
    {
	  if (empty($name)) {
	    $name = $userdata['username'];
	  } 
      $sql = "SELECT * FROM " . iNA_GAMES . "
              WHERE game_name = '" . $game_name . "'";
      if(!$result = $db->sql_query($sql))
      {
        message_die(GENERAL_ERROR, "Couldn't obtain Game data", "", __LINE__, __FILE__, $sql);
      }
      $game_info = $db->sql_fetchrow($result);

      // Check for Highscore
      $sql = "SELECT * FROM " . iNA_SCORES . "
              WHERE game_name = '" . $game_name . "'
              ORDER BY score DESC";
      if(!$result = $db->sql_query($sql))
      {
        message_die(GENERAL_ERROR, "Couldn't obtain Scores data", "", __LINE__, __FILE__, $sql);
      }
      $score_info = $db->sql_fetchrow($result);

      $bonus = 0;
      if ($score > $score_info['score'])
      {
        $bonus = $game_info['game_bonus'];
      }

      // Add to scores list
      $sql = "INSERT INTO " . iNA_SCORES . " (game_name, player, score, date)
              VALUES ('$game_name', '$name', '$score', '" . time() . "')";
      if( !$result = $db->sql_query($sql) )
      {
        message_die(GENERAL_ERROR, "Couldn't insert score", "", __LINE__, __FILE__, $sql);
      }
	  $template->set_filenames(array('body' => 'saved_body.tpl'));

  	  $template->assign_vars(array('SAVED' => "Score Saved",
                               'GAME_NAME' => $game_name,
							   'U_CLOSE' => "javascript:parent.window.close();",
                               'L_CLOSE' => "Close")
      );
	  $gen_simple_header = true;
	  include($phpbb_root_path . 'includes/page_header.'.$phpEx);
      $template->pparse('body');
	  include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
    } else {
      $template->set_filenames(array('body' => 'saved_body.tpl'));

  	  $template->assign_vars(array('SAVED' => "No Score",
                               'GAME_NAME' => $game_name,
							   'U_CLOSE' => "javascript:parent.window.close();",
                               'L_CLOSE' => "Close")
      );
      $gen_simple_header = true;
      include($phpbb_root_path . 'includes/page_header.'.$phpEx);
      $template->pparse('body');
      include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
    }
  }
}
?>

hier muss der php code rein...

nach...

Code: Alles auswählen

//===========================================================================
und vor...

Code: Alles auswählen

if (isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']))
{
  $mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS
dazwischen kommt die abfrage

Code: Alles auswählen

if (!$userdata['session_logged_in'] && $user_id == ANONYMOUS)
und dann wenn der user anonymous ist soll da noch ein eingabe feld Name: _____ auftauchen und ein ok buttonwenn.... wenn ok geklickt dann weiter im code...
so da ist das erste problem

das zweite... hier:

Code: Alles auswählen

      $sql = "INSERT INTO " . iNA_SCORES . " (game_name, player, score, date)
              VALUES ('$game_name', '$name', '$score', '" . time() . "')";
      if( !$result = $db->sql_query($sql) )
      {
        message_die(GENERAL_ERROR, "Couldn't insert score", "", __LINE__, __FILE__, $sql);
hier muss ich noch den name aus dem feld oben übergeben und in die db speichern...

bin leider nicht so vertraut mit php darum hoffe ich sehr das mir jemand helfen kann...

Verfasst: 22.02.2004 00:00
von Sujao
Wie das geht würde mich auch mal interessieren! Gibt es denn keinen der da weiterhelfen kann ?

newscore???

Verfasst: 30.05.2007 20:06
von Mawuh
Hi,

Ich habe ein anderes Flashgame Modul und würde gerne die PHPbb Spiele auch nutzen können!

Da die Spiele über die Newscore.php den score eintragen wollte ich nur mal fragen was der wichtigste teil an der Datei ist da sie etwas groß ist und unübersichtlich!

Ich habe Xoops 2.0.16 und das Modul Flashgames 1.0.1!

Habe schon überall gesucht und finde nichts brauchbares!

Kann man es so umsetzten das es die Scores anderst speichert???

mfg mawuh