Problem mit points mod nach monthhigscore list mod einbau

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
bigthing
Mitglied
Beiträge: 150
Registriert: 19.03.2004 21:03
Wohnort: Groß-Schweinbarth
Kontaktdaten:

Problem mit points mod nach monthhigscore list mod einbau

Beitrag von bigthing »

Hi ich habe vor kurzem den highscore per month mod eingebaut + den highscore DB patch.
Der highscore per month mod funktioniert soweit gut nur habe ich jetzt probleme mit dem Points mod. Wenn man einen Highscore schafft bekommt man keine Belohnung mehr. Ich habe unten die ganze newscore.php angefügt.

Bitte um Hilfe

Code: Alles auswählen

<?php

/***************************************************************************>

 *

 *                              newscore.php

 *                            ------------------

 *   begin                : Thursday, August 1, 2002

 *   copyright            : (c)2002 iNetAngel

 *   email                : support@inetangel.com

 *

 *   $Id: newscore.php, v1.0.0 2003/12/18 12:59:59 Napoleon Exp $

 *

 ***************************************************************************

 *

 *   This program is free software; you can redistribute it and/or modify

 *   it under the terms of the GNU General Public License as published by

 *   the Free Software Foundation; either version 2 of the License, or

 *   (at your option) any later version.

 *

 ***************************************************************************

 *

 *   This is a MOD for phpbb v2+. The phpbb group has all rights to the

 *   phpbb source. They can be contacted at :

 *

 *      I-Net : www.phpbb.com

 *      E-Mail: support@phpbb.com

 *

 *   If you have made any changes then please notify me so they can be added

 *   if they are improvments. You of course will get the credit for helping

 *   out. If you would like to see other MODs that I have made then check

 *   out my forum at : www.iNetAngel.com and click on the community button.

 *

 ***************************************************************************/



define('IN_PHPBB', true);

$phpbb_root_path = './';

include($phpbb_root_path . 'extension.inc');

include($phpbb_root_path . 'common.'.$phpEx);

include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_activity.' . $phpEx);



if($board_config['use_rewards_mod'])

{

        if($board_config['use_point_system'])

        {

                include($phpbb_root_path . 'includes/functions_points.'.$phpEx);

        }

        if($board_config['use_cash_system'] || $board_config['use_allowance_system'])

        {

                include($phpbb_root_path . 'includes/rewards_api.'.$phpEx);

        }

}






//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_PLAYING_SCORE);
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") && ($userdata['user_session_page'] == PAGE_PLAYING_GAMES))

        {

                $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'];

                $score = floor($score);



                $gen_simple_header = TRUE;



                if ($score)

            {

                        if (empty($name))

                        {

                                $name = $userdata['username'];

                          }



                        if (!$userdata['session_logged_in'] && $userdata['user_id'] == ANONYMOUS)

                        {

                                $message = "Du bist nicht eingeloged... <br/> <br />Das Fenster schließ nach 3 sek automatisch.";



                                $template->assign_vars(array(

                                'META_INDEX' => '<meta http-equiv="refresh" content="3;url=javascript:window.close()">'

                                ));



                                message_die(GENERAL_MESSAGE, $message);

                                EXIT;

                        }

                        $sql = "SELECT * FROM " . iNA_GAMES . "

                                WHERE game_name = '" . $game_name . "'";

                        if(!$result = $db->sql_query($sql))

                        {

                                message_die(GENERAL_ERROR, $lang['no_game_data'], "", __LINE__, __FILE__, $sql);

                        }

                        $game_info = $db->sql_fetchrow($result);



                        // Check for all Highscores

                        $sql = "SELECT * FROM " . iNA_SCORES . "

                                WHERE game_name = '" . $game_name . "'

                                ORDER BY score DESC";

                        if(!$result = $db->sql_query($sql))

                        {

                                message_die(GENERAL_ERROR, $lang['no_score_data'], "", __LINE__, __FILE__, $sql);

                        }

                        $score_info = $db->sql_fetchrow($result);



                        $bonus = 0;

                        if ($score > $score_info['score'])

                        {

                                $bonus = $game_info['game_bonus'];

                        }

//
// BEGIN Highscore - Mod
// by ChriChra

                        // Check if an Score exist
                        if ($game_info['reverse_list']) {
                                $list_type = 'ASC';
                        } else {
                                $list_type = 'DESC';
                        }

                        $sql = "SELECT highscore_id, highscore_score FROM " . iNA_HIGHSCORES . "
                                WHERE highscore_year = '".date(Y)."'
                                AND highscore_mon = '".date(m)."'
                                AND highscore_game = '" . $game_name . "'
                                ORDER BY highscore_score ".$list_type."
                                LIMIT 1";
                        if(!$result = $db->sql_query($sql))
                        {
                                message_die(GENERAL_ERROR, $lang['no_score_data'], "", __LINE__, __FILE__, $sql);
                        }
                        $highscore = $db->sql_fetchrow($result);

                        if ($highscore['highscore_score'] == "") {

                                // Add to Highscores list
                                $sql = "INSERT INTO " . iNA_HIGHSCORES . " (highscore_year, highscore_mon, highscore_game, highscore_player, highscore_score, highscore_date)
                                        VALUES ('".date(Y)."', '".date(m)."', '$game_name', '$name', '$score', '" . time() . "')";
                                if( !$result = $db->sql_query($sql) )
                                {
                                        message_die(GENERAL_ERROR, $lang['no_score_insert'], "", __LINE__, __FILE__, $sql);
                                }
                                $new_highscore = "1";
                                $message_highscore = $lang['highscore_new_mon_score'];

                        } else {

                                // Update Highscores list
                                if ((($score > $highscore['highscore_score']) && (!$game_info['reverse_list'])) || (($score < $highscore['highscore_score']) && ($game_info['reverse_list'])))
                                {
                                        $sql = "UPDATE " . iNA_HIGHSCORES . "
                                                SET highscore_player = '$name', highscore_score = '$score', highscore_date = '" . time() . "'
                                                WHERE highscore_id = ".$highscore['highscore_id'];
                                        if( !$result = $db->sql_query($sql) )
                                        {
                                                message_die(GENERAL_ERROR, $lang['no_score_update'], "", __LINE__, __FILE__, $sql);
                                        }
                                        $new_highscore = "1";
                                        $message_highscore = $lang['highscore_new_mon_score'];
                                } else {
                                        $message_highscore = $lang['highscore_no_new_mon_score'];
                                }

                        }
                        $template->assign_vars(array('HIGHSCORSAVED' => $message_highscore));

//
// END Highscore - Mod
// by ChriChra






//
// BEGIN Score - Update - Mod
// by ChriChra

// Original:

/*
                        // 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, $lang['no_score_insert'], "", __LINE__, __FILE__, $sql);
                        }

                        //Update Users Money
                        $user_id = $userdata['user_id'];

                        if($board_config['use_point_system'] && $board_config['use_rewards_mod'] && ($game_info['game_reward'] > 0))
                        {
                                $reward = (intval($score) / intval($game_info['game_reward']) + $bonus);
                                add_points($user_id,$reward);
                        }

                        if(($board_config['use_cash_system'] || $board_config['use_allowance_system']) && $board_config['use_rewards_mod'] && ($game_info['game_reward'] > 0))
                        {
                                $reward = (intval($score) / intval($game_info['game_reward']) + $bonus);
                                add_reward($user_id,$reward);
                        }

                        $template->set_filenames(array('body' => 'saved_body.tpl'));

                        $template->assign_vars(array('SAVED' => $lang['game_score_saved'],
                                'GAME_NAME' => $game_name,
                                'U_CLOSE' => "javascript:parent.window.close();",
                                'L_CLOSE' => $lang['game_score_close'])
                        );

*/

// New:
                        // Check if an Score exist
                        if ($game_info['reverse_list']) {
                                $list_type = 'ASC';
                        } else {
                                $list_type = 'DESC';
                        }

                        $sql = "SELECT * FROM " . iNA_SCORES . "
                                WHERE game_name = '" . $game_name . "'
                                AND player = '".$name."'
                                ORDER BY score ".$list_type."
                                LIMIT 1";
                        if(!$result = $db->sql_query($sql))
                        {
                                message_die(GENERAL_ERROR, $lang['no_score_data'], "", __LINE__, __FILE__, $sql);
                        }
                        $personal_highscore = $db->sql_fetchrow($result);

                        if ($personal_highscore['score'] == "") {

                                // 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, $lang['no_score_insert'], "", __LINE__, __FILE__, $sql);
                                }

                                $template->set_filenames(array('body' => 'saved_body.tpl'));

                                $template->assign_vars(array('SAVED' => $lang['game_score_saved'],
                                        'GAME_NAME' => $game_name,
                                        'U_CLOSE' => "javascript:parent.window.close();",
                                        'L_CLOSE' => $lang['game_score_close'])
                                );

                        } else {

                                // Update scores list
                                if ((($score > $personal_highscore['score']) && (!$game_info['reverse_list'])) || (($score < $personal_highscore['score']) && ($game_info['reverse_list'])))
                                {
                                        $sql = "UPDATE " . iNA_SCORES . "
                                                SET score = '$score', date = '" . time() . "'
                                                WHERE score_id = ".$personal_highscore['score_id'];
                                        if( !$result = $db->sql_query($sql) )
                                        {
                                                message_die(GENERAL_ERROR, $lang['no_score_update'], "", __LINE__, __FILE__, $sql);
                                        }

                                        $template->set_filenames(array('body' => 'saved_body.tpl'));

                                        $template->assign_vars(array('SAVED' => $lang['game_score_updated'],
                                                'GAME_NAME' => $game_name,
                                                'U_CLOSE' => "javascript:parent.window.close();",
                                                'L_CLOSE' => $lang['game_score_close'])
                                );
                                } else {

                                        $template->set_filenames(array('body' => 'saved_body.tpl'));

                                        $template->assign_vars(array('SAVED' => $lang['game_score_not_updated'],
                                                'GAME_NAME' => $game_name,
                                                'U_CLOSE' => "javascript:parent.window.close();",
                                                'L_CLOSE' => $lang['game_score_close'])
                                );
                                }
                        }


                        //Update Users Money
                        $user_id = $userdata['user_id'];

                        if($board_config['use_point_system'] && $board_config['use_rewards_mod'] && ($game_info['game_reward'] > 0))
                        {
                                $reward = (intval($score) / intval($game_info['game_reward']) + $bonus);
                                add_points($user_id,$reward);
                        }

                        if(($board_config['use_cash_system'] || $board_config['use_allowance_system']) && $board_config['use_rewards_mod'] && ($game_info['game_reward'] > 0))
                        {
                                $reward = (intval($score) / intval($game_info['game_reward']) + $bonus);
                                add_reward($user_id,$reward);
                        }

//
// END Score - Update - Mod
// by ChriChra

                }



                // This may have been set by game.php so if it is, then we'll

                // put it back the way it was.

                if ($userdata['user_session_page'] == PAGE_PLAYING_GAMES)

                {

                        $sql = "UPDATE " . USERS_TABLE . "

                                SET user_session_page = '" . PAGE_ACTIVITY . "'

                                WHERE user_id = " . $userdata['user_id'];

                        if (!$db->sql_query($sql))

                        {

                                message_die(GENERAL_ERROR, $lang['no_user_update'], '', __LINE__, __FILE__, $sql);

                        }

                }



        }

        else if ( ($mode == "check_score") && ($userdata['user_session_page'] != PAGE_PLAYING_GAMES) )

        {

                $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 (empty($name))

                {

                        $name = $userdata['username'];

                  }



                $ip_num = gethostbyname($_SERVER['REMOTE_ADDR']);

                $ip_nam = gethostbyaddr($_SERVER['REMOTE_ADDR']);

                $ip_line = " [ NAME : " . $ip_nam . " ]--[ IP# : " . $ip_num . " ]--[USERNAME : " . $name . "][GAME : " . $game_name . "]";



                if ($userdata['user_session_page'] == PAGE_PLAYING_GAMES)

                {

                        $sql = "UPDATE " . USERS_TABLE . "

                                SET user_session_page = '" . PAGE_ACTIVITY . "'

                                WHERE user_id = " . $userdata['user_id'];

                        if (!$db->sql_query($sql))

                        {

                                message_die(GENERAL_ERROR, $lang['no_user_update'], '', __LINE__, __FILE__, $sql);

                        }

                }



                if ($board_config['report_cheater'])

                {

                        mail($board_config['board_email'], $game_name, $ip_line);

                }



                if ($board_config['warn_cheater'])

                {

                        die($lang['admin_cheater_warning']);

                } else {

                echo '<html>

                          <HEAD>

                          <TITLE></TITLE>

                          </HEAD>

                          <body>

                          <script language="JavaScript">

                          <!--

                          window.close();

                          -->

                          </script>

                          </body>

                          </html>';

                EXIT;

                }

        }



        else if ($mode == "highscore")

        {

                $game_name = (!empty($HTTP_POST_VARS['game_name'])) ? $HTTP_POST_VARS['game_name'] : $HTTP_GET_VARS['game_name'];



                $sql = "SELECT * FROM " . iNA_GAMES . "

                        WHERE game_name = '" . $game_name . "'";

                if(!$result = $db->sql_query($sql))

                {

                        message_die(GENERAL_ERROR, $lang['no_game_data'], "", __LINE__, __FILE__, $sql);

                }

                $game_info = $db->sql_fetchrow($result);



                $highscore_limit = $game_info['highscore_limit'];



                $template->set_filenames(array('body' => 'activity_scores.tpl') );

                $template->assign_vars(array("TITLE" => $game_name,

                        "L_HIGHSCORE" => $lang['game_highscores'],

                        "L_SCORE" => $lang['game_score'],

                        "L_PLAYED" => $lang['game_played'],

                        "DASH" => $lang['game_dash']));



                if ($game_info['reverse_list'])

                {

                        $list_type = 'ASC';

                }

                else

                {

                        $list_type = 'DESC';

                }



                if (!empty($highscore_limit))

                {

                        $sql = "SELECT * FROM " . iNA_SCORES . "

                                WHERE game_name = '" . $game_name . "'

                                ORDER BY score $list_type LIMIT 0,$highscore_limit";

                }

                else

                {

                        $sql = "SELECT * FROM " . iNA_SCORES . "

                                WHERE game_name = '" . $game_name . "'

                                ORDER BY score $list_type";

                }

                if(!$result = $db->sql_query($sql))

                {

                        message_die(GENERAL_ERROR, $lang['no_score_data'], "", __LINE__, __FILE__, $sql);

                }



                if ($row = $db->sql_fetchrow($result))

                {

                        $i = 1;

                        do

                        {

                                $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];

                                $row_class = ( !($i % 2) ) ? "row1" : "row2";



                                $template->assign_block_vars("scores", array("ROW_COLOR" => $lang['game_number'] . $row_color,

                                        "ROW_CLASS" => $row_class,

                                        "POS" => $i,

                                        "NAME" => $row['player'],

                                        "SCORE" => $row['score'],

                                        "DATE" => create_date($board_config['default_dateformat'], $row['date'], $board_config['board_timezone']))

                                );

                                $i++;

                        }

                        while ($row = $db->sql_fetchrow($result));

                }

        }

}



                // This may have been set by game.php so if it is, then we'll

                // put it back the way it was.

                if ($userdata['user_session_page'] == PAGE_PLAYING_GAMES)

                {

                        $sql = "UPDATE " . USERS_TABLE . "

                                SET user_session_page = '" . PAGE_ACTIVITY . "'

                                WHERE user_id = " . $userdata['user_id'];

                        if (!$db->sql_query($sql))

                        {

                                message_die(GENERAL_ERROR, $lang['no_user_update'], '', __LINE__, __FILE__, $sql);

                        }

                }



// Generate page

include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);



?>
Antworten

Zurück zu „phpBB 2.0: Mod Support“