[問題]請教 隨機掉寶及搶拍系統 V2.08

WOG設定安裝教學

版主: 涅魂, 簫哥

maxjbl
 
文章: 178
註冊時間: 2005-05-03 4:20 am

[問題]請教 隨機掉寶及搶拍系統 V2.08

文章maxjbl » 2005-05-18 6:43 pm

對PHP及MySQL不熟悉的玩家... 勿試...
在wog_player 加入欄位"p_magicfind",在wog_monster加入欄位"t_class",在wog_df加入欄位"t_class"及"t_getr".
欄位功用:
p_magicfind(玩家的打寶率)
t_class (物品的寶物等級)
t_getr (物品的最得機率)
優點:TC越高的怪可以掉所有在它TC以下的Item.例如: ItemA 的TC是3, 而怪物的TC是10.. 那就有機會掉... 如Item的TC是10.. 怪物的TC只有3.. 那就永不會掉了...
缺點:如果player的MF很高.. 那就會檢到一大堆垃圾.. -.-"

Get_Item的Funtion作以下修改:
代碼:
代碼: 選擇全部
get_item($user_id,$m[t_class],$p[p_magicfind]);

function get_item($user_id,$t_class,$magic_find)
{
 
   
        global $DB_site,$a_id;
   $sql="select d_id,d_name,d_type,t_class,t_getr from wog_df where t_class<=".$t_class." ORDER BY RAND() LIMIT 1";
   $item=$DB_site->query_first($sql);
        if((rand(1,$item[t_getr])/$magic_find)<=1)
        {
   check_type($item[d_type],1);
   $sql="select ".$a_id." from wog_item where p_id=".$user_id."";
   $pack=$DB_site->query_first($sql);
   $pack[0]=trim($pack[0]);
   $temp_pack=split(",",$pack[0]);
   if((count($temp_pack)+1) <= 10)
   {
      if($pack[0]=="N/A" || empty($pack[0]))
      {
         $pack[0]=$item[d_id];
      }else
      {
         if(substr($pack[0],strlen($pack[0])-1,strlen($pack[0]))==",")
         {
            $pack[0].="".$item[d_id];
         }else
         {
            $pack[0].=",".$item[d_id];
         }
      }
      $DB_site->query("update wog_item set ".$a_id."='".$pack[0]."' where p_id=".$user_id."");
      echo "parent.get_item('$item[d_name]',1)\n";
   }else
   {
      echo "parent.get_item('$item[d_name]',0)\n";
   }
       
        }
   unset($item);
   unset($temp_pack);
   unset($pack);
   unset($a_id);
}
 


根據上面的語法 2.08 版本 是否有辦法修改
如果可以 能否煩請做個大大指導

要如何修改隨機掉寶的方法 架構是 discuz2.5 sp1




涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2005-05-18 8:34 pm

這個外掛開發的時候是因應2.05版而設計的,而目前新版的2.08版的程式結構與以前的截然不同,因此有部分需要調整(其實也沒多少....),以下列出2.08版的完整安裝方法 :wink:

在您的資料庫輸入下列語法
代碼: 選擇全部
ALTER TABLE `wog_player` ADD `p_magicfind` SMALLINT( 5 ) UNSIGNED DEFAULT '1' NOT NULL ;
ALTER TABLE `wog_df` ADD `t_class` SMALLINT( 5 ) UNSIGNED DEFAULT '1' NOT NULL ,
ADD `t_getr` SMALLINT( 5 ) UNSIGNED DEFAULT '1' NOT NULL ;
ALTER TABLE `wog_monster` ADD `t_class` SMALLINT( 5 ) UNSIGNED DEFAULT '1' NOT NULL ;


開啟檔案wog/class/wog_fight_event.php

尋找
代碼: 選擇全部
function get_item($user_id,$m_d_id)
{
..........
..........
..........
}


覆蓋為
代碼: 選擇全部
function get_item($user_id,$t_class,$magic_find)
{
 
   
        global $DB_site,$a_id;
   $sql="select d_id,d_name,d_type,t_class,t_getr from wog_df where t_class<=".$t_class." ORDER BY RAND() LIMIT 1";
   $item=$DB_site->query_first($sql);
        if((rand(1,$item[t_getr])/$magic_find)<=1)
        {
   check_type($item[d_type],1);
   $sql="select ".$a_id." from wog_item where p_id=".$user_id."";
   $pack=$DB_site->query_first($sql);
   $pack[0]=trim($pack[0]);
   $temp_pack=split(",",$pack[0]);
   if((count($temp_pack)+1) <= 10)
   {
      if($pack[0]=="N/A" || empty($pack[0]))
      {
         $pack[0]=$item[d_id];
      }else
      {
         if(substr($pack[0],strlen($pack[0])-1,strlen($pack[0]))==",")
         {
            $pack[0].="".$item[d_id];
         }else
         {
            $pack[0].=",".$item[d_id];
         }
      }
      $DB_site->query("update wog_item set ".$a_id."='".$pack[0]."' where p_id=".$user_id."");
      echo "parent.get_item('$item[d_name]',1)\n";
   }else
   {
      echo "parent.get_item('$item[d_name]',0)\n";
   }
       
        }
   unset($item);
   unset($temp_pack);
   unset($pack);
   unset($a_id);
}


開啟檔案wog/class/wog_fight_select.php

尋找
代碼: 選擇全部
      $sql="select a.p_name,a.p_at,a.p_df,a.p_mat,a.p_mdf,a.p_s,a.p_agl,a.p_hp,a.p_hpmax,a.p_luck
      ,a.p_sat_name,a.p_lv,a.p_exp,a.p_nextexp,a.p_life,a.ch_id,a.a_id,a.p_ch_s_id,a.p_key,a.p_st
      ,f.d_g_hp,f.d_name,a.d_item_id ,a.i_img
      from wog_player a left join wog_df f on a.d_item_id=f.d_id 
      where a.p_id=".$user_id." and a.p_act_time < $datecut and p_lock=0
      ";


覆蓋為
代碼: 選擇全部
      $sql="select a.p_name,a.p_at,a.p_df,a.p_mat,a.p_mdf,a.p_s,a.p_agl,a.p_hp,a.p_hpmax,a.p_luck
      ,a.p_sat_name,a.p_lv,a.p_exp,a.p_nextexp,a.p_life,a.ch_id,a.a_id,a.p_ch_s_id,a.p_key,a.p_st,a.p_magicfind
      ,f.d_g_hp,f.d_name,a.d_item_id ,a.i_img
      from wog_player a left join wog_df f on a.d_item_id=f.d_id 
      where a.p_id=".$user_id." and a.p_act_time < $datecut and p_lock=0
      ";


尋找
代碼: 選擇全部
$wog_event_class->get_item($user_id,$m[d_id]);


覆蓋為
代碼: 選擇全部
$wog_event_class->get_item($user_id,$m[t_class],$p[p_magicfind]);


儲存,關閉所有檔案
完畢。 :wink:


圖檔

maxjbl
 
文章: 178
註冊時間: 2005-05-03 4:20 am

文章maxjbl » 2005-05-18 10:44 pm

挖哈 大大您真好 什麼都教 看來這真的學到不少多西 難怪之前的用的不能成功是有原因的!QQQ

感謝您 !!!!!




涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2005-05-18 10:54 pm

只要是我能力範圍之內的我都很樂意教 :D

至於超出我能力所及的....就要看情況了.. :oops:


圖檔

maxjbl
 
文章: 178
註冊時間: 2005-05-03 4:20 am

文章maxjbl » 2005-05-19 6:25 pm

您所說的意思 就是我上次提的 藥水 增設修改的那個問題是嗎??

沒關係啦 那時一時想到 因為這裡 有設那種寶物 所以也想來弄一個

沒想到要改整個系統 又牽扯到 架設的專業知識 所以就沒在繼續問下去啦

等 V3.0 看看有沒有再說啦 這樣常常麻煩您 也不太好一意思說!! 還感謝謝你啦

為我解答那麼多疑問 讓我的 WOG 更添特色!!



maxjbl
 
文章: 178
註冊時間: 2005-05-03 4:20 am

文章maxjbl » 2005-05-19 9:57 pm

大大喔!!

我裝了 下面這段與法的話
要怎樣改


代碼: 選擇全部
function arm_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><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="radio" name="adds" 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[8]+' 速:'+s2[9]+' 智:'+s2[10]+'</td><td>'+s2[5]+'</td><td>'+s2[4]+'</td><td><input type="radio" name="items" value="'+s2[0]+','+s2[5]+'"></td></tr>');
      }
   }
   view_name.document.write('<tr><td colspan="10" ><input type="submit" value="裝備"> <input type="button" value="轉移" onClick="parent.foot_trun(\'arm\',\'move\',document.f1.pay_id.value,\'\',document.f1.adds)"> <input type="button" value="販賣" onClick="parent.foot_trun(\'arm\',\'sale\',document.f1.pay_id.value,\'\',document.f1.items)"> <input type="button" value="拍賣" onClick="parent.sale_item(document.f1.items)"></td></tr>');
   view_name.document.write('<tr><td colspan="10" >欲轉移需輸入對方遊戲的帳號 <input type="text" name="pay_id" size="16"></td></tr>');
   view_name.document.write(temp_table2);
   view_name.document.write('<input type="hidden" name="f" value="arm">');   
   view_name.document.write('<input type="hidden" name="act" value="setup">');
//   view_name.document.write('<input type="hidden" name="temp_id" value="'+temp_id+'">');
   view_name.document.write('</form>');
[/code]




涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2005-05-19 10:31 pm

這個是New-TypeChobits所開發的搶拍系統...理由也跟上面那個一樣= =....(重新整理也挺累人的... :roll: )
下面列出2.08版的完整安裝方法 :wink:

在您的資料庫中輸入下列語法
代碼: 選擇全部
ALTER TABLE `wog_sale` ADD `f_money` INT( 9 ) UNSIGNED DEFAULT '0' NOT NULL ,
ADD `b_money` INT( 9 ) UNSIGNED DEFAULT '0' NOT NULL ,
ADD `bid_count` INT( 11 ) DEFAULT '0' NOT NULL ,
ADD `b_id` INT( 11 ) DEFAULT '0' NOT NULL ;


開啟檔案wog/wog.js

尋找
代碼: 選擇全部
function sale_item(s)
{
..........
..........
..........
}
function sale_view(saletotal,page,s,type)
{
..........
..........
..........
}


覆蓋為
代碼: 選擇全部
function sale_item(s)
{
   var temp_s="";
   if(s!=null)
   {
      if(s.length!=undefined)
      {
         for(var i=0;i<s.length;i++)
         {
            if(s[i].checked==true)
            {
               temp_s+=","+s[i].value;
            }         
         }
         temp_s=temp_s.substr(1,temp_s.length);
      }else
      {
         temp_s=s.value;
      }
   }
   var s1=temp_s.split(",");
   message_cls();
   var view_name=parent.wog_view;
   view_name.document.write('<form action="wog_act.php" method="post" target="mission">');
   view_name.document.write(temp_table1);
   view_name.document.write('<tr><td colspan="5">拍賣商品</td></tr>');
   view_name.document.write('<tr><td colspan="5">拍賣時間單位為天數,時間到期自動下架</td></tr>');
   view_name.document.write('<tr><td>'+s1[1]+'</td><td>底價 <input type="text" name="money" size="9" maxlength="9">元<BR>(必須輸入)</td><td>搶先買價錢<input type="text" name="f_money" size="9" maxlength="9">元<BR>(如果關閉此功能請留空)</td><td>每口叫價<input type="text" name="b_money" size="9" maxlength="9">元<BR>(如果關閉此功能請留空)</td><td>拍賣時間 <input type="text" name="day" size="2" maxlength="2">天<BR>(必須輸入)</td></tr>');
   view_name.document.write('<tr><td colspan="5"><input class="text" type="submit" value="開始拍賣"></td></tr>');
   view_name.document.write('<tr><td colspan="5">拍賣時間不能超過10天,一人拍賣的商品不能超過5種</td></tr>');
   view_name.document.write(temp_table2);
   view_name.document.write('<input type="hidden" name="f" value="sale">');   
   view_name.document.write('<input type="hidden" name="act" value="sale">');
   view_name.document.write('<input type="hidden" name="item_id" value="'+s1[0]+'">');
   view_name.document.write('</form>');
}
function sale_view(saletotal,page,s,type)
{
   message_cls();
   var view_name=parent.wog_view;
   view_name.document.write('<form action="wog_etc.php" method="get" name="pageform" target="mission">');
   pagesplit(saletotal,page);
   view_name.document.write('<input type="hidden" name="page" value="1">');
   view_name.document.write('<input type="hidden" name="type" value="'+type+'">');
   view_name.document.write('<input type="hidden" name="f" value="sale">');   
   view_name.document.write('<input type="hidden" name="act" value="view">');
   view_name.document.write('</form>');
   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 colspan="16"><a href=javascript:parent.sel_type("0");>武器</a> <a href=javascript:parent.sel_type("1");>頭部</a>  <a href=javascript:parent.sel_type("2");>身體</a> <a href=javascript:parent.sel_type("3");>手套</a> <a href=javascript:parent.sel_type("4");>鞋子</a> <a href=javascript:parent.sel_type("5");>道具</a> <a href=javascript:parent.sel_type("8");>寵物</a></td></tr>');
   view_name.document.write('<tr><td colspan="16">拍賣商品</td></tr>');
   if(type < 7)
   {   
      view_name.document.write('<tr><td>拍賣者</td><td>出價最高者</td><td>商品</td><td>物攻</td><td>魔攻</td><td>物防</td><td>魔防</td><td>速度</td><td>能力限制</td><td>現價</td><td>搶先買!</td><td>原價</td><td>到期日</td><td>競投次數</td><td>每口價</td><td>選擇</td></tr>');
      if(s!="")
      {
         var s1=s.split(";");
         for(var i=0;i<s1.length;i++)
         {
            var s2=s1[i].split(",");
            view_name.document.write('<tr><td>'+s2[0]+'</td><td>'+s2[16]+'</td><td>'+s2[1]+'</td><td>'+s2[2]+'</td><td>'+s2[3]+'</td><td>'+s2[4]+'</td><td>'+s2[5]+'</td><td>'+s2[6]+'</td><td>力:'+s2[7]+' 速:'+s2[8]+' 智:'+s2[9]+'</td><td>'+s2[12]+'</td><td>'+s2[15]+'</td><td>'+s2[10]+'</td><td>'+s2[13]+'</td><td>'+s2[14]+'</td><td>'+s2[17]+'</td><td><input type="radio" name="s_id" value="'+s2[11]+'"></td></tr>');
         }
      }
   view_name.document.write('<input type="hidden" name="stype" value="0">');
        view_name.document.write('<tr><td colspan="16">你的出價:<input class="text" name="buy_money" type="text" value="">  搶先買:<input name="f_buy" type="checkbox" value="1">  <input class="text" type="submit" value="競投"></td></tr>');
   }else
   {
      view_name.document.write('<tr><td>拍賣者</td><td>商品</td><td>AT</td><td>MT</td><td>DEF</td><td>個性</td><td>年紀</td><td>出擊值</td><td>金額</td><td>到期日</td><td></td></tr>');
      if(s!="")
      {
         var s1=s.split(";");
         for(var i=0;i<s1.length;i++)
         {
            var s2=s1[i].split(",");
            view_name.document.write('<tr><td>'+s2[0]+'</td><td>'+s2[2]+'-'+s2[3]+'</td><td>'+s2[4]+'</td><td>'+s2[5]+'</td><td>'+s2[6]+'</td><td>'+pet_type(s2[7])+'</td><td>'+s2[8]+'</td><td>'+s2[9]+'</td><td>'+s2[10]+'</td><td>'+s2[11]+'</td><td><input type="radio" name="s_id" value="'+s2[1]+'"></td></tr>');
         }
      }   
      view_name.document.write('<input type="hidden" name="stype" value="1">');
                view_name.document.write('<tr><td colspan="12"><input class="text" type="submit" value="購買"></td></tr>');
   }
   view_name.document.write(temp_table2);
   view_name.document.write('<input type="hidden" name="f" value="sale">');
   view_name.document.write('<input type="hidden" name="act" value="buy">');
   view_name.document.write('</form>');
}


尋找
代碼: 選擇全部
s[12]="";


覆蓋為
代碼: 選擇全部
s[12]="出價成功";


開啟檔案wog/class/wog_act_bid.php

全部,覆蓋為
代碼: 選擇全部
<?
/*=====================================================
 Copyright (C) ETERNAL<iqstar@ms24.hinet.net>
 Modify : 2005/01/01
 URL : http://www.2233.idv.tw
 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.
===================================================== */

class wog_act_bid{
function bid($user_id)
{
   global $DB_site,$_POST,$a_id,$temp_ss,$wog_arry;
   $money=(int)$_POST["money"];
        $f_money=(int)$_POST["f_money"];
        $b_money=(int)$_POST["b_money"];
       
   $day=(int)$_POST["day"];
   if(empty($_POST["item_id"]))
   {
      alertWindowMsg("沒有選擇欲拍賣的裝備");
      exit();
   }
   if(empty($day) || empty($money))
   {
      alertWindowMsg("沒有填入天數 或 拍賣金額");
      exit();
   }
   if($money<0 || $day<0 || !is_numeric($_POST["money"]) || !is_numeric($_POST["day"]) )
   {
      alertWindowMsg("天數或金額不能為負數,或資料錯誤");
      exit();
   }

   if($f_money != "" && !is_numeric($f_money) )
   {
      alertWindowMsg("搶先買金額不能為負數,或資料錯誤");
      exit();
   }
       
   if($b_money != "" && !is_numeric($b_money) )
   {
      alertWindowMsg("每口價金額不能為負數,或資料錯誤");
      exit();
   }
       
        if($f_money < $money and $f_money != ""){
        alertWindowMsg("搶先買金額不能少於拍賣金額");
   exit();
        }

        if($b_money > ($money/10) and $b_money != ""){
        alertWindowMsg("每口價金額不能大於底價的10%");
   exit();
        }
       
   if($day>$wog_arry["sale_day"])
   {
      alertWindowMsg("拍賣天數不能大於".$wog_arry["sale_day"]);
      exit();
   }
   $total=$DB_site->query_first("select count(s_id) as s_id from wog_sale where p_id=".$user_id." ");
   if($total[0]>=5)
   {
      alertWindowMsg("拍賣的商品不能超過5樣");
      exit();
   }
   $s2=item_check($user_id,$_POST["item_id"]);
        if ($a_id == "d_ssk_id"){
           alertWindowMsg("特殊技不能拍賣!");
      exit();
        }
   $DB_site->query("update wog_item set ".$a_id."='".$temp_ss."' where p_id=".$user_id." ");
        $DB_site->query("insert wog_sale(p_id,d_id,s_money,f_money,b_money,dateline)values(".$user_id.",".$_POST["item_id"].",".$money.",".$f_money.",".$b_money.",".(time()+($day*24*60*60)).")");

   showscript("parent.arm_select()");
   unset($d_money);
   unset($pay);
   unset($s2);
   unset($a_id);
}


   function sale_buy_item($user_id)
   {
   global $DB_site,$_POST,$a_id;
   $temp["money"]="d_money";
   $temp["table"]="wog_df";
   if(!isset($_POST["s_id"]))
   {
      alertWindowMsg($lang['wog_act_arm_noselect']);
   }
   $pack=$DB_site->query_first("select b.d_type,b.d_id,a.p_id,a.s_money,b.d_name,a.b_id,a.f_money,a.b_money from wog_sale a,wog_df b where a.s_id=".$_POST["s_id"]." and a.d_id=b.d_id ");
   if(!$pack)
   {
      alertWindowMsg($lang['wog_act_bid_buyed']);
   }
   check_type($pack[0],1);
   $temp_add=$pack[1];
   $temp["user_id"]=$pack[2];
   $temp["d_name"]=$pack[4];
   $must_price=$pack[3];
        $temp_price=$pack[3];
        $temp["buyer_id"]=$pack[5];
        $f_money = $pack[6];
        $b_money = $pack[7];
   if ( $_POST["f_buy"] != 1 and $b_money == 0){
   if($_POST["buy_money"]<0 || !is_numeric($_POST["buy_money"]))
   {
      alertWindowMsg("出價金額不能為負數,或資料錯誤");
      exit();
   }}   
       
   if ($_POST["f_buy"] == 1 and  $f_money == 0){
      alertWindowMsg("搶先買修件不合!");
      exit();
   }
       
        if($_POST["f_buy"] == 1){
        $must_price=$pack[6];
        }

        if ($temp["buyer_id"] == $user_id and $_POST["f_buy"] != 1){
      alertWindowMsg("你已是出價的最高者!");
      exit();
   }
   $sql="select ".$a_id." from wog_item where p_id=".$user_id."  ";
   $pack=$DB_site->query_first($sql);
   $pack[0]=trim($pack[0]);
   $temp_pack=split(",",$pack[0]);
   if(count($temp_pack)+1 > 10)
   {
      alertWindowMsg($lang['wog_act_bid_full']);
      unset($temp_pack);
      exit();
   }
   if(empty($temp_add))
   {
      alertWindowMsg("沒有選擇欲購買的裝備");
      exit();
   }
   $have_price=$DB_site->query_first("select p_money,p_name from wog_player where p_id=".$user_id."");
   if($must_price>$have_price[0] || $_POST["buy_money"]>$have_price[0]){
      alertWindowMsg("金額不足");
      exit();
   }

   if ($must_price >= $_POST["buy_money"] and $_POST["f_buy"] != 1 and $b_money == 0){
      alertWindowMsg("你已不是最高出價者!");
      exit();
   }
   if ($_POST["f_buy"] != 1){
   if ($b_money != 0){
   //每口價
        $DB_site->query("update wog_player set p_money=p_money-".($must_price + $b_money)." where p_id=".$user_id."");           
        }else{
        //普通拍賣
        $DB_site->query("update wog_player set p_money=p_money-".$_POST["buy_money"]." where p_id=".$user_id."");
        }
        if ($temp["buyer_id"] != 0){
        $DB_site->query("insert into wog_message(p_id,title,dateline)values(".$temp["buyer_id"].",'您已不是 ".$temp["d_name"]." 的最高出價者',".time().")");
        $DB_site->query("update wog_player set p_money=p_money+".$must_price." where p_id=".$temp["buyer_id"]."");
        }
        //Update 拍賣資料!
        if ($b_money != 0){
        //Update每口價
        $DB_site->query("update wog_sale set b_id='".$user_id."',bid_count=bid_count+1 ,s_money=s_money+".$b_money." where s_id='".$_POST["s_id"]."'");
        }else{
        $DB_site->query("update wog_sale set b_id='".$user_id."',bid_count=bid_count+1 ,s_money='".$_POST["buy_money"]."' where s_id='".$_POST["s_id"]."'");       
        }
       
        }else{
        //搶先買!
        if ($temp["buyer_id"] != 0){
        $DB_site->query("update wog_player set p_money=p_money+".$temp_price." where p_id=".$temp["buyer_id"]."");
        $DB_site->query("insert into wog_message(p_id,title,dateline)values(".$temp["buyer_id"].",'你想競投的 ".$temp["d_name"]." 已被 ".$have_price["p_name"]." 用 搶先買的方式 買走了 ',".time().")");
        }
   $DB_site->query("update wog_player set p_money=p_money-".$must_price." where p_id=".$user_id."");
   $DB_site->query("update wog_player set p_money=p_money+".$must_price." where p_id=".$temp["user_id"]."");
   $DB_site->query("insert into wog_message(p_id,title,dateline)values(".$temp["user_id"].",'您拍賣的 ".$temp["d_name"]." 被 ".$have_price["p_name"]." 買走',".time().")");
   if($pack)
   {
      if($pack[0]=="N/A" || empty($pack[0]))
      {
            $pack[0]=$temp_add;
      }else
      {
            $pack[0].=",".$temp_add;
      }
      $DB_site->query("update wog_item set ".$a_id."='".$pack[0]."' where p_id=".$user_id."");
   }else
   {
      $DB_site->query("insert into wog_item(".$a_id.",p_id)values('".$temp_add."',".$user_id.")");
   }
   $DB_site->query("delete from wog_sale where s_id=".$_POST["s_id"]."");
        }
   unset($pack);
   unset($temp_add);
   unset($must_price);
   unset($have_price);
   unset($temp);
   unset($a_id);
        if ($_POST["f_buy"] != 1){
        showscript("parent.job_end(12)");}else{showscript("parent.job_end(6)");}

}

   function sale_buy_pet($user_id)
   {
      global $DB_site,$_POST,$lang;
      if(!isset($_POST["s_id"]))
      {
         alertWindowMsg($lang['wog_act_arm_noselect']);
         
      }
      $pack=$DB_site->query_first("select pe_money,pe_p_id,pe_name from wog_pet where pe_id=".$_POST["s_id"]." and pe_st=1 ");
      if(!$pack)
      {
         alertWindowMsg($lang['wog_act_bid_buyed']);
      }
      $temp["money"]=$pack["pe_money"];
      $temp["user_id"]=$pack["pe_p_id"];
      $temp["d_name"]=$pack["pe_name"];
      $sql="select pe_id from wog_pet where pe_p_id=".$user_id." and pe_st=0 ";
      $pack=$DB_site->query_first($sql);
      if($pack)
      {
         alertWindowMsg($lang['wog_act_bid_one']);
      }
      $have_price=$DB_site->query_first("select p_money,p_name from wog_player where p_id=".$user_id."");
      if($temp["money"]>$have_price[0]){
         alertWindowMsg($lang['wog_act_nomoney']);
      }
      $DB_site->query("update wog_player set p_money=p_money-".$temp["money"]." where p_id=".$user_id);
      $DB_site->query("update wog_player set p_money=p_money+".$temp["money"]." where p_id=".$temp["user_id"]);
      $DB_site->query("update wog_pet set pe_p_id=".$user_id.",pe_st=0,pe_he=0 where pe_id=".$_POST["s_id"]);
      $DB_site->query("insert into wog_message(p_id,title,dateline)values(".$temp["user_id"].",'您拍賣的 ".$temp["d_name"]." 被 ".$have_price["p_name"]." 買走',".time().")");
      unset($pack);
      unset($have_price);
      unset($temp);
      unset($a_id);
      showscript("parent.job_end(6)");
   }

function bid_view()
{
   global $DB_site,$_GET,$a_id;
   $ttime=time();
//派拍賣物品
        $pack=$DB_site->query("select b.d_type,b.d_id,a.p_id,a.b_id,b.d_name,a.s_money from wog_sale a,wog_df b where a.dateline < ".$ttime." and a.d_id=b.d_id ");
   while($packs=$DB_site->fetch_array($pack))
   {
       
      check_type($packs[0],1);
                if ($packs[3] != 0){
                $sql="select ".$a_id." from wog_item where p_id=".$packs[3]."  ";
                }else{
      $sql="select ".$a_id." from wog_item where p_id=".$packs[2]."  ";
                }
      $temp_pack=$DB_site->query_first($sql);
      if($temp_pack)
      {
         $temp_pack[0]=trim($temp_pack[0]);
         $temp_pack_check=split(",",$temp_pack[0]);
         if(count($temp_pack_check)+1 < 10)
         {
            if($temp_pack[0]=="N/A" || empty($temp_pack[0]))
            {
                  $temp_pack[0]=$packs[1];
            }else
            {
                  $temp_pack[0].=",".$packs[1];
            }
                                if ($packs[3] != 0){
            $DB_site->query("update wog_item set ".$a_id."='".$temp_pack[0]."' where p_id=".$packs[3]."");
                                $DB_site->query("update wog_player set p_money=p_money+".$packs[5]." where p_id=".$packs[2]."");
                                $DB_site->query("insert into wog_message(p_id,title,dateline)values(".$packs[3].",'您已獲得競投物品 ".$packs[4]." 可喜可賀~',".time().")");
                                $DB_site->query("insert into wog_message(p_id,title,dateline)values(".$packs[2].",'您拍賣的 ".$packs[4]." 已被買走',".time().")");
                                }else{
                                $DB_site->query("update wog_item set ".$a_id."='".$temp_pack[0]."' where p_id=".$packs[2]."");
                                }
         }
      }
               
   }
        $DB_site->query("delete from wog_sale where dateline < ".$ttime." ");
   $DB_site->query("delete from wog_pet where pe_st=1 and pe_s_dateline < ".$ttime." ");

   if(empty($_GET["type"]) || !is_numeric($_GET["type"]))
   {
      $_GET["type"]="0";
   }
   if((int)$_GET["type"] < 7)
   {
      $sale_total=$DB_site->query_first("select count(a.s_id) as s_id from wog_sale a,wog_player b,wog_df c where a.p_id=b.p_id and a.d_id=c.d_id and c.d_type=".$_GET["type"]."");
   }else
   {
      $sale_total=$DB_site->query_first("select count(a.pe_id) as pe_id from wog_pet a,wog_player b where a.pe_p_id=b.p_id and a.pe_st=1");
   }
       
   
   if(empty($_GET["page"]) || !is_numeric($_GET["page"]))
   {
      $_GET["page"]="1";
   }
          $temp_s="";
   $spage=((int)$_GET["page"]*8)-8;
   if((int)$_GET["type"] < 7)
   {
   $sale=$DB_site->query("select b.p_name,c.d_name,c.d_at,c.d_mat,c.d_df,c.d_mdf,c.d_agl,c.d_mstr,c.d_magl,c.d_msmart,c.d_money,a.s_id,a.s_money,a.dateline,a.bid_count,a.f_money,a.b_id,a.b_money from wog_sale a,wog_player b,wog_df c where a.p_id=b.p_id and a.d_id=c.d_id and c.d_type=".$_GET["type"]." ORDER BY a.s_id desc LIMIT ".$spage.",8 ");
   while($sales=$DB_site->fetch_array($sale))
   {
        //Detect搶先買
                if ($sales[15] != 0){
                $temp_f_money = $sales[15];
                }else{
                $temp_f_money = "---";
                }
               
                if ($sales[16] != 0){
                $top_buyer = $sales[16];
                $temp_tbuyer = $DB_site->query_first("select p_name from wog_player where p_id='".$top_buyer."'");
                $top_buyer = $temp_tbuyer["p_name"];
                }else{
                $top_buyer = "---";
                }
                if ($sales[17] != 0){
                $b_money = $sales[17];
                }else{
                $b_money= "---";
                }
               
      $temp_s.=";".$sales[0].",".$sales[1].",".$sales[2].",".$sales[3].",".$sales[4].",".$sales[5].",".$sales[6].",".$sales[7].",".$sales[8].",".$sales[9].",".$sales[10].",".$sales[11].",".$sales[12].",".date("Y-m-d h:i A",$sales[13]).",".$sales[14].",".$temp_f_money.",".$top_buyer.",".$b_money;
   }
        }else
   {
                $pet_age=3600*24*10;
      $sale=$DB_site->query("select b.p_name,a.pe_id,a.pe_name,a.pe_mname,a.pe_at,a.pe_mt,a.pe_def,a.pe_type,a.pe_b_dateline,a.pe_fi,a.pe_money,a.pe_s_dateline from wog_pet a,wog_player b where a.pe_p_id=b.p_id and a.pe_st=1 ORDER BY a.pe_s_dateline desc LIMIT ".$spage.",8 ");
      while($sales=$DB_site->fetch_array($sale))
      {
         $temp_s.=";".$sales[0].",".$sales[1].",".$sales[2].",".$sales[3].",".$sales[4].",".$sales[5].",".$sales[6].",".$sales[7].",".round((time()-$sales[8])/$pet_age).",".$sales[9].",".$sales[10].",".date("Y-m-d",$sales[11]);
      }
   }
       
   $DB_site->free_result($sale);
   unset($sales);
   $temp_s=substr($temp_s,1,strlen($temp_s));
   showscript("parent.sale_view($sale_total[0],".$_GET["page"].",'$temp_s',".$_GET["type"].")");
   unset($temp_s);
   unset($sale_total);
}
}
?>


儲存,關閉所有檔案
完畢,有問題請提出。 :wink:


最後由 涅魂 於 2005-07-29 11:13 pm 編輯,總共編輯了 1 次。

maxjbl
 
文章: 178
註冊時間: 2005-05-03 4:20 am

文章maxjbl » 2005-05-19 11:13 pm

抱歉了 都問這種高難度的問題 讓您費神了
不過阿
會員反應熱烈 狀設完成無不良訊息
萬分感謝!!!! 有問題再向您請教 !!!



maxjbl
 
文章: 178
註冊時間: 2005-05-03 4:20 am

文章maxjbl » 2005-05-20 3:54 pm

大大 我又來了 一樣是跟上面的問題有關

在拍賣限制上啊 是不是這樣改 如果不是 再麻大大賜教
wog.js
代碼: 選擇全部
view_name.document.write('<tr><td colspan="[color=red]5[/color]">拍賣時間不能超過10天,一人拍賣的商品不能超過5種</td></tr>');


wog/class/wog_act_bid.php

代碼: 選擇全部
$total=$DB_site->query_first("select count(s_id) as s_id from wog_sale where p_id=".$user_id." ");
   if($total[0]>=[color=red]5[/color])
   {
      alertWindowMsg("拍賣的商品不能超過[color=red]5[/color]樣");
      exit();


謝謝!!!!




涅魂
 
文章: 4463
註冊時間: 2004-01-04 11:17 am
來自: Taiwan
性別: 男生

文章涅魂 » 2005-05-20 6:39 pm

maxjbl 寫:大大 我又來了 一樣是跟上面的問題有關

在拍賣限制上啊 是不是這樣改 如果不是 再麻大大賜教
wog.js
代碼: 選擇全部
view_name.document.write('<tr><td colspan="[color=red]5[/color]">拍賣時間不能超過10天,一人拍賣的商品不能超過5種</td></tr>');

colspan是表格的屬性,不必改。
maxjbl 寫:wog/class/wog_act_bid.php

代碼: 選擇全部
$total=$DB_site->query_first("select count(s_id) as s_id from wog_sale where p_id=".$user_id." ");
   if($total[0]>=[color=red]5[/color])
   {
      alertWindowMsg("拍賣的商品不能超過[color=red]5[/color]樣");
      exit();


謝謝!!!!

沒錯。 :wink:
只要多多接觸之後,就能夠慢慢的瞭解裡面的程式碼所代表的意義了,多多加油吧 :D


圖檔

maxjbl
 
文章: 178
註冊時間: 2005-05-03 4:20 am

文章maxjbl » 2005-05-20 7:27 pm

嘿嘿 是矇到的啦!! 哈 謝啦!!




回到 精華區

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客