[原創]福利补助FOR V3

版主: 涅魂, 簫哥

翔戈斯
 
文章: 4
註冊時間: 2006-06-23 11:35 am

[原創]福利补助FOR V3

文章翔戈斯 » 2006-06-23 12:00 pm

很多站点的WOG 设定的倍率都不高

福利功能可以在一定程度上对玩家进行资金补助

修改难度: 简单

1、修改数据库,在wog_player 表中增加p_fw_flag 字段
代碼: 選擇全部
ALTER TABLE `wog_player` ADD `p_fw_flag` INT( 11 ) UNSIGNED DEFAULT '0' NOT NULL;


2、修改wog_foot.htm,在适当的位置添加
代碼: 選擇全部
<input type="button" value="领取补助" onClick="parent.act_click('welfare')" />


3、修改wog_act.php
找到
代碼: 選擇全部
case "pk":
...
break;

在下面添加
代碼: 選擇全部
case "welfare":
      include("./class/wog_act_welfare.php");
      $wog_act_class = new wog_act_welfare;
      $wog_act_class->welfare_show($HTTP_COOKIE_VARS["wog_cookie"]);
      break;


4、在/wog/class 目录下新建一个文件wog_act_welfare.php
写入以下代码,保存即可
代碼: 選擇全部
<?php
class wog_act_welfare {
   var $welfare_low_level = 50;
   var $welfare_inc_level = 10;
   var $welfare_low_money = 20000;
   var $welfare_inc_money = 20000;
   var $welfare = 0;
   
   function welfare_show($user_id) {
      global $DB_site;
      $p = $DB_site->query_first("SELECT a.p_name, a.p_lv, a.p_fw_flag, a.p_money, a.p_bank FROM wog_player a WHERE a.p_id=".$user_id);
      $temp_welfare_level = intval($p['p_lv'] / $this->welfare_inc_level - $this->welfare_low_level / $this->welfare_inc_level + 1);
      
      if ($temp_welfare_level <= 0) {
         $text = "您的等级不到".$this->welfare_low_level."级".
                 "\\n还无法领取补助!".
               "\\n\\n ☆CK99.COM☆ 祝您游戏快乐!";
      } elseif ($temp_welfare_level == $p['p_fw_flag']) {
         $text = "您已经领取过属于您的补助!".
               "\\n\\n ☆CK99.COM☆ 祝您游戏快乐!";
      } else {
         for ($i = $p['p_fw_flag']; $i < $temp_welfare_level; $i++) {
            $this->welfare += $this->welfare_low_money + $i * $this->welfare_inc_money;
         }
         $text =    "您的帐号: ".$p['p_name'].
               "\\n您的等级: ".$p['p_lv'].
               "\\n可得补助: ".$temp_welfare_level." 级".
               "\\n当前补助: ".$p['p_fw_flag']." 级".
               "\\n可得金钱: ".$this->welfare.
               "\\n\\n ☆CK99.COM☆ 祝您游戏快乐!";
         
         if (($p['p_money'] + $this->welfare) > 4294967295) { // 检查是否超过usigned 最大值
            $money = ", p_money=4294967295";
         } else {
            $money = ", p_money=p_money+".$this->welfare;
         }
         $DB_site->query("UPDATE wog_player SET p_fw_flag=".$temp_welfare_level.$money." WHERE p_id=".$user_id);
      }
      alertWindowMsg($text); // 完成返回
   }
}
?>


以下几个变量为配置
代碼: 選擇全部
var $welfare_low_level = 50; // 最低多少等级可以得到补助
var $welfare_inc_level = 10;          // 每像个多少等级可以再次领取补助
var $welfare_low_money = 20000;  // 基础补助金额
var $welfare_inc_money = 20000;  // 每次增加的补助金额


以上面的配置为例
玩家到达50级,可以领取20000;
到达60级,可以领取20000 + 20000 = 40000
如果玩家50级没有及时领取,到了60级去领取的时候
可以得到 20000(50级) + 40000(60级) = 60000

有任何问题可以跟帖提问,无须另外开主题[/i]




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

文章涅魂 » 2006-06-23 7:49 pm

發任何文章時請先發在討論區中,請勿在外掛區或精華區中分享

若該區的資料開放任意發文的話將造成管理上的不便,請配合謝謝。 :o

(好文章,請收下GP吧~(誤))



翔戈斯
 
文章: 4
註冊時間: 2006-06-23 11:35 am

文章翔戈斯 » 2006-06-23 9:47 pm

涅魂 寫:發任何文章時請先發在討論區中,請勿在外掛區或精華區中分享

若該區的資料開放任意發文的話將造成管理上的不便,請配合謝謝。 :o

(好文章,請收下GP吧~(誤))


下次不会再犯这样的错误,不好意思 :wink:




回到 外掛區

誰在線上

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

cron