[問題]水怪rpg

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

我已經好一陣子沒有碰水怪 RPG 了,以前怎麼改的都忘了。
我只能將我 functions_post.php 中關於升級的部份貼給你看,
至於能不能幫上忙,我就不清楚了....

在加完錢和經驗值那一段後面是這樣的:

代碼: 選擇全部

		$sql = "UPDATE " . USERS_TABLE . " 
		SET user_posts = user_posts $sign $reward_sql WHERE user_id = $user_id";
		
		if ( !$db->sql_query($sql, END_TRANSACTION) )
		{
			message_die(GENERAL_ERROR, 'Error in posting' . $sql, '', __LINE__, __FILE__, $sql);
		}
		LevelUp($user_id);
	}
	
	return;
}

//
// Delete a post/poll
//
function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id)
{
	global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
	global $userdata, $user_ip;

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

	if ( $mode != 'poll_delete' )
	{
		$sql = "DELETE FROM " . POSTS_TABLE . " 
			WHERE post_id = $post_id";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
		}
至於原來有一段可以拿掉了,就是下面這一段,因為這一段已經被整合進新版的 function_rpg.php 了:

代碼: 選擇全部

      // RPG_EXP_MOD
      $sql = "SELECT rpg_cur_exp, rpg_max_exp FROM " . USERS_TABLE . " WHERE user_id = $user_id";
      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(GENERAL_ERROR, '無法更新 RPG 屬性!!', '', __LINE__, __FILE__, $sql);
      }
      if ( $row = $db->sql_fetchrow($result) )
      {
         if ($row['rpg_cur_exp'] >= $row['rpg_max_exp'])
         {
            $sql = 'UPDATE phpbb_users
               SET rpg_level = rpg_level + 1,
               rpg_cur_mp = rpg_max_mp,
               rpg_cur_hp = rpg_max_hp,
               rpg_cur_exp = rpg_cur_exp - rpg_max_exp,
               rpg_max_exp = FLOOR( POW( 10, POW( rpg_level, (1/3) ) ) ) - FLOOR( POW( 10, POW( rpg_level - 1, (1/3) ) ) )
               WHERE user_id = ' . $user_id;
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, '無法更新 RPG 屬性!!', '', __LINE__, __FILE__, $sql);
            }
      }
      else if($row['rpg_cur_exp'] < 0) // 計算如果經驗值變成負的計算方式 by Dada Artist
         {
            $sql = 'UPDATE phpbb_users
               SET rpg_level = rpg_level - 1,
               rpg_cur_mp = rpg_max_mp,
               rpg_cur_hp = rpg_max_hp,
               rpg_max_exp = FLOOR( POW( 10, POW( rpg_level, (1/3) ) ) ) - FLOOR( POW( 10, POW( rpg_level - 1, (1/3) ) ) ),
               rpg_cur_exp = rpg_max_exp + rpg_cur_exp
               WHERE user_id = ' . $user_id;
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, '無法更新 RPG 屬性!!', '', __LINE__, __FILE__, $sql);
            }
      }
      UpdateRPGProperties($user_id);
      }
      // RPG_EXP_MOD
      
      $sql = "UPDATE " . USERS_TABLE . "
         SET user_posts = user_posts $sign $reward_sql
         WHERE user_id = $user_id";
		if ( !$db->sql_query($sql, END_TRANSACTION) )
		{
			message_die(GENERAL_ERROR, 'Error in posting' . $sql, '', __LINE__, __FILE__, $sql);
		}
	}
有關水怪 RPG 的問題,應該問作者最快。
水怪網站上有好幾篇作者自己發佈的更新(修正)教學帖,包括正確的升級,但是要註冊才能進去。
我自己在水怪上的帳號老早就被砍了,我現在想看也看不到....
所以....自己想辦法吧!! ^^||
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
頭像
BUE
星球普通子民
星球普通子民
文章: 21
註冊時間: 2002-04-14 00:28
來自: 寒冷的淡水
聯繫:

文章 BUE »

感謝依夢兒大大的回覆,雖然我還是失敗了,
我在自己想辦法解決吧,感謝你的指教!!
道可道,非常道

名可名,非常名


一個在竹貓打混的會員~_~||
atthis
星球公民
星球公民
文章: 216
註冊時間: 2003-07-29 19:16

文章 atthis »

是不是function_rpg.php, function_eol.php, function_richer.php
我更新後也有同樣的問題,之後用Winmerge
比對三個檔案的新、舊檔
在function_rpg.php方面\r
新檔只多了一段升級的部分
在檔案最後一行的

代碼: 選擇全部

?>
之前加上

代碼: 選擇全部

function LevelUp($uid, $full_mh = false)
{
    global $db;

    $sql = "select rpg_level, rpg_cur_exp, rpg_max_exp from phpbb_users where user_id = $uid";
    $result = $db->sql_query($sql);
    if ( $row2 = $db->sql_fetchrow($result) )
    {
        if ( $row2['rpg_cur_exp'] >= $row2['rpg_max_exp'] )
        {
            if ( $row2['rpg_level'] < 250 )
            {
                $sql = "update phpbb_users set rpg_level = rpg_level + 1, rpg_cur_exp = rpg_cur_exp - rpg_max_exp, 
                    rpg_max_exp = FLOOR( POW( 10, POW( rpg_level, (1/3) ) ) ) - FLOOR( POW( 10, POW( rpg_level - 1, (1/3) ) ) ) 
                    where user_id = $uid";
                $db->sql_query($sql);
                UpdateRPGProperties($uid);
            }
            if ( $full_mh )
            {
                $sql = "update phpbb_users set rpg_cur_hp = rpg_max_hp, rpg_cur_mp = rpg_max_mp where user_id = $uid";
                $db->sql_query($sql);
            }
        }
    }
    unset($sql);
    unset($row2);
    unset($result);
}
就跟新檔一模一樣了,而且也不會有錯誤訊息出現\r
其它兩個檔也一樣\r
function_richer.php 只有兩個地方要改\r
function_eol.php 要改的地方不少
你自己用Winmerge比對後慢慢加吧\r

我目前改過function_rpg.php 及 function_eol.php 都沒有問題
function_richer.php還沒改(懶~)

順便問一下,你有找到防具店的部分嗎??
lasthero
星球公民
星球公民
文章: 172
註冊時間: 2002-07-18 11:23
來自: 那普勒星
聯繫:

文章 lasthero »

請問各位大大, 我修改完functions_post.php後(程式碼如下):
if ($mode != 'poll_delete')
{

if ( $mode == "newtopic" )
{
$reward_sql = ", rpg_cur_hp = rpg_cur_hp - 3, rpg_cur_mp = rpg_cur_mp - 3, rpg_cur_exp = rpg_cur_exp + 3"; // 發表主題 HP 減 3 , MP 減 3 ,經驗值加 3
}

if ( $mode == "reply" )
{
$reward_sql = ", rpg_cur_hp = rpg_cur_hp - 2, rpg_cur_mp = rpg_cur_mp - 2, rpg_cur_exp = rpg_cur_exp + 2"; // 回覆文章 HP 減 2 , MP 減 2 ,經驗值加 2
}

$sql = "UPDATE " . USERS_TABLE . "
SET user_posts = user_posts $sign $reward_sql
WHERE user_id = $user_id";
if (!$db->sql_query($sql, END_TRANSACTION))
{
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
}
LevelUp($user_id);
}

return;
}
當我在貼文章或刪文章的時候, 他都會出現錯誤訊息:

Fatal error: Call to undefined function: levelup() in C:\Program Files\Apache Group\Apache2\htdocs\phpBB2\includes\functions_post.php on line 515

而他所指的515行是:

LevelUp($user_id);

請問我該怎麼去改呢? 謝謝!!
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

lasthero 寫:而他所指的515行是:

LevelUp($user_id);

請問我該怎麼去改呢? 謝謝!!
你的 function_rpg.php 更新了嗎??
請更新至水怪提供的最新版,這一段才會有效果。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
lasthero
星球公民
星球公民
文章: 172
註冊時間: 2002-07-18 11:23
來自: 那普勒星
聯繫:

文章 lasthero »

依夢兒 寫:
lasthero 寫:而他所指的515行是:

LevelUp($user_id);

請問我該怎麼去改呢? 謝謝!!
你的 function_rpg.php 更新了嗎??
請更新至水怪提供的最新版,這一段才會有效果。
我剛剛更新了, 結果還是一樣耶.......是不是SQL要增加啥東西呢?

我剛剛用winmerge去比對新舊版的function_rpg.php, 它只差以下部分:
function LevelUp($uid, $full_mh = false)
{
global $db;

$sql = "select rpg_level, rpg_cur_exp, rpg_max_exp from phpbb_users where user_id = $uid";
$result = $db->sql_query($sql);
if ( $row2 = $db->sql_fetchrow($result) )
{
if ( $row2['rpg_cur_exp'] >= $row2['rpg_max_exp'] )
{
if ( $row2['rpg_level'] < 250 )
{
$sql = "update phpbb_users set rpg_level = rpg_level + 1, rpg_cur_exp = rpg_cur_exp - rpg_max_exp,
rpg_max_exp = FLOOR( POW( 10, POW( rpg_level, (1/3) ) ) ) - FLOOR( POW( 10, POW( rpg_level - 1, (1/3) ) ) )
where user_id = $uid";
$db->sql_query($sql);
UpdateRPGProperties($uid);
}
if ( $full_mh )
{
$sql = "update phpbb_users set rpg_cur_hp = rpg_max_hp, rpg_cur_mp = rpg_max_mp where user_id = $uid";
$db->sql_query($sql);
}
}
}
unset($sql);
unset($row2);
unset($result);
}
我更新後, 再次張貼文章, 結果仍然會有錯誤訊息出來:

Fatal error: Call to undefined function: levelup() in C:\Program Files\Apache Group\Apache2\htdocs\phpBB2\includes\functions_post.php on line 515

還有哪裡要改的阿?? :cry:
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

lasthero 寫:我剛剛更新了, 結果還是一樣耶.......是不是SQL要增加啥東西呢?
印象中不需要。

順便問一下,誰目前是黑暗水怪大陸的會員啊,幫忙當一下推薦人介紹我註冊,好嗎??
放心,我不是要進去搞破壞,只是要進去看看以前那一堆 RPG 的安裝與修正教學文章。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
lasthero
星球公民
星球公民
文章: 172
註冊時間: 2002-07-18 11:23
來自: 那普勒星
聯繫:

文章 lasthero »

伊夢兒大大, 不知道是否是因為我的eol.sql不完整的關係, 麻煩幫我看一下:
ALTER TABLE phpbb_users
ADD rpg_eol_data varchar(20),
ADD rpg_eol_kill smallint(5) unsigned default 0,
ADD rpg_eol_killed smallint(5) unsigned default 0,
ADD rpg_eol_url varchar(60);

DROP TABLE IF EXISTS phpbb_rpg_eol;

CREATE TABLE `phpbb_rpg_eol` (
`eol_id` mediumint(8) NOT NULL auto_increment,
`map_id` tinyint(2) default NULL,
`map_x` smallint(4) default NULL,
`map_y` smallint(4) default NULL,
`tile_id` mediumint(8) default NULL,
`can_not_pass` tinyint(1) default '0',
PRIMARY KEY (`eol_id`)
) TYPE=MyISAM;

因太多其餘不列出
在這裡我並沒有發現有關於level的設定, 是否跟這個有關係呢? 謝謝!!
atthis
星球公民
星球公民
文章: 216
註冊時間: 2003-07-29 19:16

文章 atthis »

依夢兒 寫: 順便問一下,誰目前是黑暗水怪大陸的會員啊,幫忙當一下推薦人介紹我註冊,好嗎??
放心,我不是要進去搞破壞,只是要進去看看以前那一堆 RPG 的安裝與修正教學文章。
光明的水怪大陸看看,那裡有蠻多黑暗的人\r

------------------------
希望依夢兒大大能成功,
鳴~~我也想知道RPG要怎麼裝
店~~~~~~~~
lasthero
星球公民
星球公民
文章: 172
註冊時間: 2002-07-18 11:23
來自: 那普勒星
聯繫:

文章 lasthero »

在光明的水怪大陸有人回答我:

在functions_post.php加一句\r
include($phpbb_root_path . 'rpg/function_rpg.'.$phpEx);

加在\r
if (!defined('IN_PHPBB'))
{
die('Hacking attempt');
}
之後

不知道這可不可行......
Ricky Zero
星球公民
星球公民
文章: 60
註冊時間: 2003-08-25 15:53
來自: 哈哈哈王國
聯繫:

文章 Ricky Zero »

lasthero 寫:請問各位大大, 我修改完functions_post.php後(程式碼如下):

代碼: 選擇全部

if ($mode != 'poll_delete') 
{ 

if ( $mode == "newtopic" ) 
{ 
$reward_sql = ", rpg_cur_hp = rpg_cur_hp - 3, rpg_cur_mp = rpg_cur_mp - 3, rpg_cur_exp = rpg_cur_exp + 3"; // 發表主題 HP 減 3 , MP 減 3 ,經驗值加 3 
} 

if ( $mode == "reply" ) 
{ 
$reward_sql = ", rpg_cur_hp = rpg_cur_hp - 2, rpg_cur_mp = rpg_cur_mp - 2, rpg_cur_exp = rpg_cur_exp + 2"; // 回覆文章 HP 減 2 , MP 減 2 ,經驗值加 2 
} 

$sql = "UPDATE " . USERS_TABLE . " 
SET user_posts = user_posts $sign $reward_sql 
WHERE user_id = $user_id"; 
if (!$db->sql_query($sql, END_TRANSACTION)) 
{ 
message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); 
[color=#ff003b]} 
LevelUp($user_id); 
} 

return; 
}[/color] 

代碼: 選擇全部

LevelUp($user_id); 
} 

return; 
}
下面的return;}重覆了,所以不用再貼上去!!

我已經裝好了,而且可以用了
水怪的版本是伊夢兒提供下載的那個版本\r

因此,免更新\r

只要確定functions_post.php有加那二句加減hp、mp、exp的語法,然後確定沒有像lasthero貼出來的functions_post.php中多出來的return;}那幾句,就一定可以唷\r

謝謝在這裏討論的幾位網友提供的幫助^^Y
主題已鎖定

回到「外掛問題討論」