[問題] 水怪 RPG 完整安裝版

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

版主: 版主管理群

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

文章 依夢兒 »

ha202020 寫:viewtopic.php <-- 找不到符合的字串
您是找不到哪一段啊??
viewtopic.php 要修改到的地方不止一處喲....

如果您的 phpBB 已經安裝過很多外掛,
那麼安裝說明中指示的搜尋相關字串可能會有一點點小變動,請自己試著找出來。
例如:

代碼: 選擇全部

#-----[ 尋找這一段 ]-----------------------------------------------------------------
#
$sql = "SELECT u.username, u.user_id
	FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
	WHERE p.topic_id = $topic_id
如果找不到第一行 $sql = "SELECT u.username, u.user_id
請改找第二行 FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
反正在 viewtopic.php 中有一段長得很像我上述提到的那三句就是了。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
lwclam
星球普通子民
星球普通子民
文章: 10
註冊時間: 2003-08-22 11:34
來自: 香港
聯繫:

文章 lwclam »

也有可能是\r
$sql = "SELECT u.*
StickyKid
竹貓忠實會員
竹貓忠實會員
文章: 1019
註冊時間: 2003-01-31 10:32
來自: Taichung, Taiwan
聯繫:

文章 StickyKid »

給同學你一個建議.....
其實在瀏覽文章的時候顯示RPG資料...
如果主機速度不佳 或者配備不好的話...會讓論壇嚴重延遲喔:-p
像之前水怪的官方網站就是因為這樣把RPG移除的
Helvetica is a feature-length independent film about typography.
kinlo
星球普通子民
星球普通子民
文章: 1
註冊時間: 2003-11-14 17:40

文章 kinlo »

lwclam 寫:請問可以把這個function在funtion_rpg.php中拿走嗎?

竹貓分站我亦有留言,但仍未有回覆
所以才到此留言發問~
go the includes/function_post.php and comment out the following line
include($phpbb_root_path . 'rpg/function_rpg.'.$phpEx);

:-D
咖啡豆子
星球普通子民
星球普通子民
文章: 19
註冊時間: 2002-11-13 07:54

文章 咖啡豆子 »

在functioc_post.php中:

代碼: 選擇全部

include($phpbb_root_path . 'rpg/function_rpg.'.$phpEx);
這一行不要加入。

接著在下面加入經驗值的部份
尋找:

代碼: 選擇全部

	if ($mode != 'poll_delete')
	{
		// 水怪 RPG
		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' . $sql, '', __LINE__, __FILE__, $sql);
		}
		[color=#ff002a]LevelUp_Post($user_id);[/color]
	}
	
	return;
}

請注意紅色部分,這部份是呼叫LevelUp參數,我已經有修改過,我改成LevelUp_Post,這個參數可隨意改但是要和下面的部份一樣。在上述CODE之後加上:

代碼: 選擇全部

//以下判斷升級
[color=#ff00ff]function UpdateRPGProperties_Post($uid)[/color]
{
	global $db;

	$attplus = 1.0;
	$defplus = 1.0;
	$magplus = 1.0;
	$spdplus = 1.0;
	$hp_plus = 0.0;
	$mp_plus = 0.0;
	$sql = 'SELECT MAX(position_order) as basetop FROM phpbb_rpg_position WHERE position_class = 0';
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, '無法取得基礎職業屬性!!', '', __LINE__, __FILE__, $sql);
	}
	if ( $row = $db->sql_fetchrow($result) )
	{
		$sql = 'SELECT * FROM phpbb_rpg_position WHERE position_class = 0 AND position_order = ' . $row['basetop'];
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, '無法取得基礎職業屬性!!', '', __LINE__, __FILE__, $sql);
		}
		if ( $row = $db->sql_fetchrow($result) )
		{
			// 取得基礎職業的標準值\r
			$base_att = $row['attack_property'];
			$base_def = $row['defense_property'];
			$base_mag = $row['magic_property'];
			$base_spd = $row['speed_property'];
			$base_hpp = $row['hp_property'];
			$base_mpp = $row['magic_property'];
		}
		$sql = 'SELECT p.* FROM phpbb_rpg_position p, phpbb_rpg_medals m WHERE p.position_class = m.position_class
			AND p.position_order = m.position_order AND m.last_class = 1 AND m.position_class <> 0 AND m.user_id = ' . $uid;
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, '無法取得專業職業屬性!!', '', __LINE__, __FILE__, $sql);
		}
		if ( $row = $db->sql_fetchrow($result) )
		{
			$i = 1;
			$newposition = '';
			do
			{
				if ($i == 1)
				{
					$attplus = $row['attack_property'];
					$defplus = $row['defense_property'];
					$magplus = $row['magic_property'];
					$spdplus = $row['speed_property'];
					$hp_plus = $row['hp_property'];
					$mp_plus = $row['magic_property'];
					$newposition = $row['position_name'];
				}
				else
				{
					$attplus += $row['attack_property'] - $base_att;
					$defplus += $row['defense_property'] - $base_def;
					$magplus += $row['magic_property'] - $base_mag;
					$spdplus += $row['speed_property'] - $base_spd;
					$hp_plus += $row['hp_property'] - $base_hpp;
					$mp_plus += $row['magic_property'] - $base_mpp;
					$newposition .= '<br />' . $row['position_name'];
				}
				$i++;
			}
			while ( $row = $db->sql_fetchrow($result) );

			if(strlen($newposition) > 200)
			{
				$newposition = substr($newposition, 0, 200);
			}
		}
		else
		{
			// 只有基礎職業
			$sql = 'SELECT p.* FROM phpbb_rpg_position p, phpbb_rpg_medals m WHERE p.position_class = 0 AND m.last_class = 1
				AND m.position_class = 0 AND p.position_order = m.position_order AND m.user_id = ' . $uid;
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, '無法取得基礎職業屬性!!', '', __LINE__, __FILE__, $sql);
			}
			if ( $row = $db->sql_fetchrow($result) )
			{
				$attplus = $row['attack_property'];
				$defplus = $row['defense_property'];
				$magplus = $row['magic_property'];
				$spdplus = $row['speed_property'];
				$hp_plus = $row['hp_property'];
				$mp_plus = $row['magic_property'];
				$newposition = $row['position_name'];
			}
		}
	}

	$sql = 'SELECT IFNULL(SUM(i.attack_property), 0) as attack_x, IFNULL(SUM(i.defense_property), 0) as defense_x,
		IFNULL(SUM(i.magic_property), 0) as magic_x, IFNULL(SUM(i.speed_property), 0) as speed_x,
		IFNULL(SUM(i.hp_property), 0) as hp_x, IFNULL(SUM(i.mp_property), 0) as mp_x FROM phpbb_rpg_items i,
		phpbb_rpg_owns o WHERE i.item_id = o.item_id AND o.user_id = ' . $uid;
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, '無法取得攜帶物品屬性!!', '', __LINE__, __FILE__, $sql);
	}
	if ( $row = $db->sql_fetchrow($result) )
	{
		$attplus += $row['attack_x'];
		$defplus += $row['defense_x'];
		$magplus += $row['magic_x'];
		$spdplus += $row['speed_x'];
		$hp_plus += $row['hp_x'];
		$mp_plus += $row['mp_x'];
	}

	$sql = "update phpbb_users set rpg_max_hp = floor(rpg_level * (100 + $hp_plus + rpg_level)),
		rpg_max_mp = floor(rpg_level * (80 + rpg_level) + rpg_level * $mp_plus),
		rpg_attack = round(rpg_level * $attplus), rpg_defense = round(rpg_level * $defplus),
		rpg_magic = round(rpg_level * $magplus), rpg_speed = round(rpg_level * $spdplus),
		rpg_medals = '$newposition' where user_id = $uid";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, '無法更新 RPG 屬性!!', '', __LINE__, __FILE__, $sql);
	}
}


[color=#ff002a]function LevelUp_Post($uid, $full_mh = false)[/color]
{
	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_cur_hp = rpg_max_hp, rpg_cur_mp = rpg_max_mp,
					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);
				[color=#ff00ff]UpdateRPGProperties_Post($uid);[/color]
			}
			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);
}
//判斷升級結束
存檔,functions_post.php修改完畢。這樣應該OK了,至少我目前還沒發現問題。
請注意以上顏色對應部份,那是相關的function呼叫,名字必須一樣。
下面這一段CODE我是從function_rpg.php最後兩段抄過來的,因為include($phpbb_root_path . 'rpg/function_rpg.'.$phpEx);這一段就是呼叫function_rpg.php裡面那兩段關於升級判斷的參數,加上上面那段敘述會無法進入水怪RPG頁面,不加入的話PO文無法升級(只要PO文一律出現錯誤訊息)。所以我只好土法煉鋼,把兩段敘述抄過來並且更改參數名稱。這是最不得已的方法,因為等於有重複的敘述,我不知道對於論壇速度影響有多大。(小弟不會寫程式,只會改)
如果有人有更佳解決方案,一起討論唷~
garychia
星球普通子民
星球普通子民
文章: 25
註冊時間: 2003-12-23 22:13

文章 garychia »

pelin 寫:想請問我在匯入資料庫的時候出現了以下的錯誤訊息\r


錯誤

SQL 語法 :

INSERT INTO nuke_config
VALUES (

"rpg_jackpot", "100000"
)

MySQL 傳回:


#1136 - Column count doesn't match value count at row 1


我的資料庫名稱是nuke,所以我有把sql內的所有phpbb都改為nuke
不知道為何會出現這樣的錯誤?
請問我的資料庫安裝發生類似情況如下[2.0.6版]

代碼: 選擇全部

INSERT INTO phpbb_config
VALUES (

"rpg_jackpot", "100000"
) 

MySQL 傳回: 


Duplicate entry 'rpg_jackpot' for key 1
資料庫的 TABLE 是 phpbb 開頭\r
請問如何修正,我僅有裝WOG&CASHMOD

感謝先進的回覆
garychia
星球普通子民
星球普通子民
文章: 25
註冊時間: 2003-12-23 22:13

文章 garychia »

依夢兒 寫:
pelin 寫:不過我匯入資料庫的時候一樣會出現以下的錯誤訊息
可能是您資料庫的問題。

您試試看,將 SQL.sql 的第一行:

INSERT INTO nuke_config VALUES("rpg_jackpot", "100000");

改成

INSERT INTO nuke_config VALUES('rpg_jackpot', '100000');

另外由於您的 phpBB 並非是官方釋出的 phpBB ....看起來應該是 PHP-Nuke 釋出的模組,沒錯吧??
所以在安裝上可能需要再調整一下。

hgm 寫:執行大大房屋仲介的擲骰子後發生如下錯誤訊息
您下載的版本是 1.0.0 還是 1.0.1 ??
昨天晚上我有釋出修正一個小地方的 1.0.1 版。
修正的那一小段,正好是您錯誤訊息指出的部份,不過在我的 phpBB 2.0.6 上倒是沒有出現錯誤訊息的狀況。
不然請您先參考下面那一篇文章,將 1.0.1 版更動的部份還原到 1.0.0 版 richer.php 還沒更動時的樣子。
http://phpbb-tw.net/phpbb/viewtopic.php?p=118809#118809

或是,您是不是先前下載的是 1.0.0 版,後來參考我發表的更動方法去修正,結果沒弄好??請您再檢查一下。
請問將 SQL.sql 的第一行:
INSERT INTO nuke_config VALUES('rpg_jackpot', '100000');
則顯示如下{裝完整版本}
錯誤

SQL 語法 :

INSERT INTO phpbb_config
VALUES (

'rpg_jackpot', '100000'
)

MySQL 傳回:


Duplicate entry 'rpg_jackpot' for key 1


我是第一次安裝
請教如何修正謝謝
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

garychia 寫:Duplicate entry 'rpg_jackpot' for key 1
這一筆資料是重覆的....
可能你之前已經安裝過水怪 RPG ,或是曾經嘗試安裝但失敗,不然你資料庫內不可能已經有 rpg_jackpot 這一筆資料。

解決辦法就是,新增 SQL 的部份,請跳過 rpg_jackpot 的部份不要安裝。
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
garychia
星球普通子民
星球普通子民
文章: 25
註冊時間: 2003-12-23 22:13

文章 garychia »

依夢兒 寫:
garychia 寫:Duplicate entry 'rpg_jackpot' for key 1
這一筆資料是重覆的....
可能你之前已經安裝過水怪 RPG ,或是曾經嘗試安裝但失敗,不然你資料庫內不可能已經有 rpg_jackpot 這一筆資料。

解決辦法就是,新增 SQL 的部份,請跳過 rpg_jackpot 的部份不要安裝。
非常感謝請問無法看主體內容是否告知如何處理
依夢兒
竹貓忠實會員
竹貓忠實會員
文章: 2013
註冊時間: 2002-11-20 00:07

文章 依夢兒 »

garychia 寫:請問無法看主體內容是否告知如何處理
不懂你的意思....?
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。



搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
garychia
星球普通子民
星球普通子民
文章: 25
註冊時間: 2003-12-23 22:13

文章 garychia »

依夢兒 寫:
garychia 寫:請問無法看主體內容是否告知如何處理
不懂你的意思....?
對不起我未說清楚實施情況如下:

網頁進入開主題時顯示如下

代碼: 選擇全部

Could not obtain post/user information. 

DEBUG MODE 

SQL Error : 1054 Unknown column 'u.user_robfail' in 'field list' 

SELECT u.username, u.user_points, u.user_money, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile,u.user_robfail, u.rpg_level, u.rpg_cur_hp, u.rpg_max_hp, u.rpg_cur_mp, u.rpg_max_mp, u.rpg_cur_exp, u.rpg_max_exp, u.rpg_attack, u.rpg_defense, u.rpg_magic, u.rpg_speed, u.rpg_medals, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt WHERE p.topic_id = 279 AND pt.post_id = p.post_id AND u.user_id = p.poster_id ORDER BY p.post_time ASC LIMIT 0, 15 

Line : 396 
File : /home2/garychi/public_html/bbs/viewtopic.php 
問題我不會請教一下謝謝您
dominic2708
星球普通子民
星球普通子民
文章: 21
註冊時間: 2003-12-23 05:25
聯繫:

文章 dominic2708 »

你的sql新增不完全....你必須打開對照你的sql將sql.sql檔案中已經建過的地方刪掉後重新執行sql.sql
garychia
星球普通子民
星球普通子民
文章: 25
註冊時間: 2003-12-23 22:13

文章 garychia »

dominic2708 寫:你的sql新增不完全....你必須打開對照你的sql將sql.sql檔案中已經建過的地方刪掉後重新執行sql.sql
非常感謝我試
garychia
星球普通子民
星球普通子民
文章: 25
註冊時間: 2003-12-23 22:13

[問題]請教水怪 RPG 完整安裝

文章 garychia »

依夢兒 寫:
garychia 寫:請問無法看主體內容是否告知如何處理
不懂你的意思....?
水怪 RPG 完整安裝版{PHPBB2.0.6版}
依各位指導重新安裝出現下列情況:
{資料庫安裝完成}
其中因為有重複的未安裝者

代碼: 選擇全部

# 頭彩
INSERT INTO phpbb_config VALUES("rpg_jackpot", "100000");

代碼: 選擇全部

# 個人資料
ALTER TABLE `phpbb_users`
ADD `user_bank` int(11) unsigned NOT NULL default '0',
ADD `user_bank_time` int(11) default '0',
ADD `user_robfail` smallint(5) default '0',
ADD `rpg_rob_cnt` smallint(5) unsigned default '0',
ADD `rpg_robbed_cnt` smallint(5) unsigned default '0',
ADD `rpg_rob_succ` smallint(5) unsigned default '0',
ADD `rpg_rob_fail` smallint(5) unsigned default '0',
ADD `rpg_rob_money` int(11) unsigned default '0',
ADD `rpg_robbed_money` int(11) unsigned default '0',
ADD `rpg_level` smallint(5) NOT NULL default '1',
ADD `rpg_cur_exp` mediumint(8) NOT NULL default '0',
ADD `rpg_max_exp` mediumint(8) NOT NULL default '9',
ADD `rpg_cur_hp` mediumint(8) NOT NULL default '18',
ADD `rpg_max_hp` mediumint(8) NOT NULL default '18',
ADD `rpg_cur_mp` mediumint(8) NOT NULL default '8',
ADD `rpg_max_mp` mediumint(8) NOT NULL default '8',
ADD `rpg_attack` mediumint(8) NOT NULL default '1',
ADD `rpg_defense` mediumint(8) NOT NULL default '1',
ADD `rpg_magic` mediumint(8) NOT NULL default '1',
ADD `rpg_speed` mediumint(8) NOT NULL default '1',
ADD `rpg_medals` varchar(200) default '路人',
ADD `rpg_richer_pos` int(10) default NULL;
以上是我安裝步驟{可以使用水怪 RPG }但僅進入主題頁面時顯示如下

代碼: 選擇全部

Could not obtain post/user information.

DEBUG MODE

SQL Error : 1054 Unknown column 'u.user_robfail' in 'field list'

SELECT u.username, u.user_points, u.user_money, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile,u.user_robfail, u.rpg_level, u.rpg_cur_hp, u.rpg_max_hp, u.rpg_cur_mp, u.rpg_max_mp, u.rpg_cur_exp, u.rpg_max_exp, u.rpg_attack, u.rpg_defense, u.rpg_magic, u.rpg_speed, u.rpg_medals, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt WHERE p.topic_id = 279 AND pt.post_id = p.post_id AND u.user_id = p.poster_id ORDER BY p.post_time ASC LIMIT 0, 15

Line : 396
File : /home2/garychi/public_html/bbs/viewtopic.php
以上問題我不會請先進幫忙好嗎?先謝謝了
======================================
======================================
我想是資料表phpbb_users少了欄位,有可能是此兩欄位
user_robfail&rpg_rob_cnt那麼我要加入是否這樣\r
ALTER TABLE `phpbb_users`
ADD 'user_robfail' smallint(5) default '0',
ADD 'rpg_rob_cnt' smallint(5) unsigned default '0',


請先進指導謝謝
=======================================
=======================================
我先一個結果顯示如下

代碼: 選擇全部

資料庫 garychi_bbs - 資料表 phpbb_users 在 localhost 執行 
錯誤

SQL 語法 :  

ADD 'user_robfail'smallint( 5 ) default '0', 

MySQL 傳回: 


You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ADD  'user_robfail'smallint( 5  ) default  '0',' at line 1
回上一頁 
我不會請教各位先進如何寫語法才對,謝謝
夢幻LUGIA
竹貓忠實會員
竹貓忠實會員
文章: 352
註冊時間: 2003-11-16 07:27
來自: 竹貓不忠實會員

文章 夢幻LUGIA »

我之前好像也是這樣裝,但是後來自己不知道怎麼改的就改好了〈汗〉

語法錯誤了
反正我也不知道>_<......試試看這個吧\r
ALTER TABLE `phpbb_users`
ADD 'user_robfail' smallint(5) default '0',
ADD 'rpg_rob_cnt' smallint(5) unsigned default '0';
搞掛了別找我.....〈逃〉
主題已鎖定

回到「外掛問題討論」