此系統可以將裝備物品通通拿來合成
不過只有普通的合成當然不好玩囉,所以在此提供三種合成方式
1.Normal Synthesizer System
普通的合成系統,會將所有的合成物品的編號加起來之後除上總數再加上隨機的一個數字來取得新物品的編號
2.Random Synthesizer System
隨機的合成系統,取出編號小於所有合成物品的編號加起來後除以3再乘上1.1的同類非貴重品的裝備。
3.Special Synthesizer System
特別的合成系統,將5項合成物品與wog_syn中的資料比對之後取出相符的syn_result。
※1.wog_syn中的物品編號必須按照順序排列
例如說您要新增一筆數據,syn_result是23,而成份為1,1,2,55,42
則該數據的設定內容如下
- 代碼: 選擇全部
syn_result=23
syn_ele1=1
syn_ele2=1
syn_ele3=2
syn_ele4=42
syn_ele5=55
※2.wog_syn中的沒有用到的物品編號必須設為0並且排在最後面
例如說您要新增一筆數據,syn_result是197,而成份為1,42
則該數據的設定內容如下
- 代碼: 選擇全部
syn_result=197
syn_ele1=1
syn_ele2=42
syn_ele3=0
syn_ele4=0
syn_ele5=0
--------------------分格線--------------------
在您的資料庫中輸入下列語法 寫:CREATE TABLE `wog_syn` (
`syn_id` int(11) NOT NULL auto_increment,
`syn_result` mediumint(4) unsigned NOT NULL default '0',
`syn_ele1` mediumint(4) unsigned NOT NULL default '0',
`syn_ele2` mediumint(4) unsigned NOT NULL default '0',
`syn_ele3` mediumint(4) unsigned NOT NULL default '0',
`syn_ele4` mediumint(4) unsigned NOT NULL default '0',
`syn_ele5` mediumint(4) unsigned NOT NULL default '0',
PRIMARY KEY (`syn_id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
開啟檔案 wog/wog.js 寫:尋找
- 代碼: 選擇全部
view_name.document.write('<tr><td><input type="button" value="武器裝具" onClick="parent.act_click(\'arm\',\'view\',\'a_id\')"> <input type="button" value="頭部裝具" onClick="parent.act_click(\'arm\',\'view\',\'d_head_id\')"> <input type="button" value="身體裝具" onClick="parent.act_click(\'arm\',\'view\',\'d_body_id\')"> <input type="button" value="手部裝具" onClick="parent.act_click(\'arm\',\'view\',\'d_hand_id\')"> <input type="button" value="腳部裝具" onClick="parent.act_click(\'arm\',\'view\',\'d_foot_id\')"> <input type="button" value="道具裝具" onClick="parent.act_click(\'arm\',\'view\',\'d_item_id\')"></tr>');
後面,加上
- 代碼: 選擇全部
//##########----------syn_system_start----------##########
view_name.document.write('<tr><td><input type="button" value="武器合成" onClick="parent.act_click(\'syn\',\'view\',\'a_id\')"> <input type="button" value="頭盔合成" onClick="parent.act_click(\'syn\',\'view\',\'d_head_id\')"> <input type="button" value="鎧甲合成" onClick="parent.act_click(\'syn\',\'view\',\'d_body_id\')"> <input type="button" value="護手合成" onClick="parent.act_click(\'syn\',\'view\',\'d_hand_id\')"> <input type="button" value="長靴合成" onClick="parent.act_click(\'syn\',\'view\',\'d_foot_id\')"> <input type="button" value="道具合成" onClick="parent.act_click(\'syn\',\'view\',\'d_item_id\')"></tr>');
//##########----------syn_system_end----------##########
尋找
- 代碼: 選擇全部
function srhCount(srhStr)
前面,加上
- 代碼: 選擇全部
//##########----------syn_system_start----------##########
function syn_view(a,d)
{
var view_name=parent.wog_view;
vData=d;
message_cls();
view_name.document.write('<form action="wog_act.php" method="post" target="mission" name=f1 >');
view_name.document.write(temp_table1);
view_name.document.write('<tr><td>合成選擇</td><td>物理攻擊力</td><td>魔力攻擊力</td><td>物理防禦力</td><td>魔力防禦力</td><td>提升速度</td><td>名稱</td><td>價格</td></tr>');
var s1=a.split(";");
for(var i=0;i<s1.length;i++)
{
var s2=s1[i].split(",");
var temps=srhCount(s2[0]);
for(var j=0;j<temps;j++)
{
view_name.document.write('<tr><td><input type="checkbox" name="syn[]" value="'+s2[0]+'"></td><td>'+s2[6]+'</td><td>'+s2[7]+'</td><td>'+s2[1]+'</td><td>'+s2[2]+'</td><td>'+s2[3]+'</td><td>'+s2[5]+'</td><td>'+s2[4]+'</td></tr>');
}
}
view_name.document.write('<tr><td colspan="10" >選擇合成方式:<select name="syn_way">');
var syn_option=new Array();
syn_option[0]="<option value=1 CHECKED>普通合成</option>";
syn_option[1]="<option value=2>隨機合成</option>";
syn_option[2]="<option value=3>限定合成</option>";
for(var a=0;a<syn_option.length;a++)
{
view_name.document.write(syn_option[a]);
}
view_name.document.write('</select></tr>');
view_name.document.write('<tr><td colspan="10" ><input type="submit" value="送入合成爐"></tr>');
view_name.document.write(temp_table2);
view_name.document.write('<input type="hidden" name="f" value="syn">');
view_name.document.write('<input type="hidden" name="act" value="purify">');
view_name.document.write('</form>');
}
function syn_end(s,end)
{
var view_name=parent.wog_view;
message_cls();
view_name.document.write(temp_table1);
view_name.document.write('<tr><td>在合成的途中合成爐突然發出閃閃的白光!<BR><p align=center><font size=7><b>轟隆隆隆隆隆隆隆隆隆隆!</b></p></font>');
var timerID=setTimeout('syn_end_view("'+s+'","'+end+'")',1000);
view_name.document.write('</td></tr>'+temp_table2+"<br>");
}
function syn_end_view(s,end)
{
var view_name=parent.wog_view;
view_name.document.write(temp_table1+'<tr><td>');
if(end==1)//合成成功
{view_name.document.write('你的眼前出現了一個閃閃發亮的物品,這次的合成似乎是成功了!<br><br>合成結果: <font color=#ffffaf>'+s+'</font> 入手!');}
if(end==2)//編號錯誤
{view_name.document.write('你合出了一團無法辨識的東西,或許是一團垃圾....');}
if(end==3)//合成失敗
{view_name.document.write('你的眼前出現了一團灰燼....。');}
view_name.document.write('</td></tr>'+temp_table2);
}
//##########----------syn_system_end----------##########
開啟檔案 wog/wog_act.php 寫:尋找
- 代碼: 選擇全部
case "cp":
前面,加上
- 代碼: 選擇全部
##########----------syn_system_start----------##########
case "syn":
include("./class/wog_act_arm.php");
switch ($_POST["act"])
{
case "view":
syn_view($HTTP_COOKIE_VARS["wog_cookie"]);
break;
case "purify":
syn_purify($HTTP_COOKIE_VARS["wog_cookie"]);
break;
}
break;
##########------------syn_system_end-----------##########
尋找
- 代碼: 選擇全部
//########################## show_chara function #################
前面,加上
- 代碼: 選擇全部
##########----------syn_system_start----------##########
function syn_view($user_id)
{
$wog_act_class = new wog_act_arm;
$wog_act_class->syn_view($user_id);
}
function syn_purify($user_id)
{
$wog_act_class = new wog_act_arm;
$wog_act_class->syn_purify($user_id);
}
##########----------syn_system_end----------##########
開啟檔案 wog/class/wog_act_arm.php 寫:尋找
- 代碼: 選擇全部
}
?>
前面,加上
- 代碼: 選擇全部
##########----------syn_system_start----------##########
function syn_view($user_id)
{
global $DB_site,$_POST,$lang;
$sql="select ".$_POST["temp_id"]." from wog_item where p_id=".$user_id." ";
$pack=$DB_site->query_first($sql);
if($pack[0]=="N/A" || empty($pack[0]))
{
alertWindowMsg('沒有任何裝備');
}else
{
$temp_str=$DB_site->query("select d_id,d_df,d_mdf,d_agl,d_mstr,d_magl,d_msmart,d_money,d_name,d_at,d_mat from wog_df where d_id in ($pack[0])");
$s="";
while($temp_strs=$DB_site->fetch_array($temp_str))
{
$s.=";".$temp_strs[d_id].",".$temp_strs[d_df].",".$temp_strs[d_mdf].",".$temp_strs[d_agl].",".$temp_strs[d_money].",".$temp_strs[d_name].",".$temp_strs[d_at].",".$temp_strs[d_mat].",".$temp_strs[d_mstr].",".$temp_strs[d_magl].",".$temp_strs[d_msmart];
}
$DB_site->free_result($temp_str);
unset($temp_strs);
$s=substr($s,1,strlen($s));
showscript("parent.syn_view('$s','$pack[0]')");
}
unset($pack);
unset($temp);
}
function syn_purify($user_id)
{
global $DB_site,$_POST,$a_id,$lang;
if(empty($_POST["syn_way"])){alertWindowMsg('沒有選擇合成方式!');}
if(count($_POST["syn"])<=1){alertWindowMsg('合成物品最少需要兩個!');}
$syn=$_POST["syn"];
check_type($_POST["syn"][0]);
$sql="select ".$a_id." from wog_item where p_id=".$user_id."";
$item=$DB_site->query_first($sql);
if($item[0]=="N/A" || $item[0]=="")
{alertWindowMsg('沒有任何裝備');}
else
{
$items=split(",",$item[0]);
$s="";
for($j=0;$j<count($items);$j++)
{
for($a=0;$a<count($_POST["syn"]);$a++)
{
if($syn[$a]==$items[$j])
{
$syn_debug++;
$syn[$a]=-1;
$items[$j]=0;
break;
}
}
if($items[$j]!=0)
{$s.=",".$items[$j];}
}
if($syn_debug!=count($_POST["syn"])){alertWindowMsg("錯誤操作!");}
$chang_d_type=$a_id;
$s=substr($s,1,strlen($s));
switch($_POST["syn_way"])
{
case "1":##########normal synthetic##########
$syn_tatal=0;
for($a=0;$a<count($_POST["syn"]);$a++)
{$syn_tatal+=$_POST["syn"][$a];}
$syn_id=floor($syn_tatal/(count($_POST["syn"])))+rand(-5,5);
$sql="select d_id,d_name from wog_df where d_id=".$syn_id."";
$new_arm=$DB_site->query_first($sql);
break;
case "2":##########random synthetic##########
$syn_num=0;
for($a=0;$a<count($_POST["syn"]);$a++)
{$syn_num+=$_POST["syn"][$a];}
$get_type=$DB_site->query_first("select d_type from wog_df where d_id=".$_POST["syn"][0]."");
$syn_id=floor(($syn_num/3)*1.1);
$sql="select d_id,d_name from wog_df where d_id<".$syn_id." and d_dbst=0 and d_type=".$get_type[0]." ORDER BY RAND() LIMIT 1";
$new_arm=$DB_site->query_first($sql);
break;
case "3":##########special synthetic##########
if(count($_POST["syn"])>5){alertWindowMsg("合成物品不可超過5項。");}
for($ch=0;$ch<5;$ch++)
{if(!$_POST["syn"][$ch] || empty($_POST["syn"])){$_POST["syn"][$ch]=0;}}
$new_arm=$DB_site->query_first("select a.syn_result,b.d_name from wog_syn a,wog_df b where a.syn_ele1=".$_POST["syn"][0]." and a.syn_ele2=".$_POST["syn"][1]." and a.syn_ele3=".$_POST["syn"][2]." and a.syn_ele4=".$_POST["syn"][3]." and a.syn_ele5=".$_POST["syn"][4]." and b.d_id=a.syn_result");
break;
default:##########error##########
alertWindowMsg('合成系統錯誤!請重新確認。');
break;
}
if(rand(1,5)==1)
{
$DB_site->query("update wog_item set ".$chang_d_type."='".$s."' where p_id=".$user_id." ");
showscript("parent.syn_end('no',3)");
}elseif($new_arm[0])
{
check_type($new_arm[0]);
if($a_id==$chang_d_type)
{
if($s && !empty($s)){$s.=",".$new_arm[0];}else{$s=$new_arm[0];}
}else
{
$new_blank=$DB_site->query_first("select ".$a_id." from wog_item where p_id=".$user_id."");
if($new_blank[0]!="N/A" && !empty($new_blank[0]))
{$new_blank[0].=",".$new_arm[0];}
else
{$new_blank[0]=$new_arm[0];}
$DB_site->query("update wog_item set ".$a_id."='".$new_blank[0]."' where p_id=".$user_id." ");
}
$DB_site->query("update wog_item set ".$chang_d_type."='".$s."' where p_id=".$user_id." ");
showscript("parent.syn_end('$new_arm[1]',1)");
}else
{
$DB_site->query("update wog_item set ".$chang_d_type."='".$s."' where p_id=".$user_id." ");
showscript("parent.syn_end('no',2)");
}
}
}
##########----------syn_system_end----------##########
儲存,關閉所有檔案
完畢,有任何問題請提出。