史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   論壇程式討論區 (http://forum.slime.com.tw/f79.html)
-   -   隨機獎勵金錢 (http://forum.slime.com.tw/thread151985.html)

貝斯特 2005-06-21 11:58 PM

隨機獎勵金錢
 
作用:在發表、回覆的時候隨機獎勵會員一定的金錢

適用版本:Discuz 2.0
(必須安裝過老師的完美銀行 http://phpbbs.cn18.net/phpbbs/viewthread.php?tid=3
和 phoenixp 的發表得分,回復得分,刪除文章得分可根據不同版塊分別設置
http://phpbbs.cn18.net/phpbbs/viewthread.php?tid=459)


修改include/post.php
找到:

PHP代碼:
function updatemember($operator, $username, $opercredit, $posts = 1) {


改成:

PHP代碼:
function updatemember($operator, $username, $opercredit, $posts = 1, $prize1=0) {


在這個下面,找到:

PHP代碼:
$db->query("UPDATE $table_members SET postnum=postnum$operator$posts, credit=credit$operator($opercredit) WHERE username IN ($username)");


改成:

PHP代碼:
$db->query("UPDATE $table_members SET postnum=postnum$operator$posts, credit=credit$operator($opercredit), money=money+($prize1) WHERE username IN ($username)");



接下來,修改include/newreply.php

找到:

PHP代碼:
$aid = 0;
}


在它下面添加:

PHP代碼:
//隨機獎勵、扣除金錢的hack開始開始
$pk0909_prize=0;
if(rand(1,1000) > 800 && strlen($message) > 100){//大於50個中文才會中獎
$pk0909_prize=rand(1,30);
switch ($pk0909_num=rand(1,5)){
case 1:
$pk0909_add_str="財神爺爺到";
break;
case 2:
$pk0909_add_str="富神爺爺到";
break;
case 3:
$pk0909_add_str="玉皇大帝到";
break;
case 4:
$pk0909_add_str="?#91;音娘娘到";
break;
case 5:
$pk0909_add_str="恭喜發財";
break;
}
$message ="隨著一聲『".$pk0909_add_str."』,從天上掉下一滴甘露正好落在你的嘴唇上!\n你在恍惚中看見了".$pk0909_prize."兩黃金。\n".$message;
}
elseif(rand(1,1000) > 900 && strlen($message) < 30){//小於15個中文掉錢
$pk0909_prize=rand(-40,-2);
switch ($pk0909_num=rand(1,3)){
case $num=1;
$message="近日強盜橫行,你被強盜搶去".abs($pk0909_prize)."兩黃金\n".$message;
break;
case $num=2;
$message="江南災情嚴重,你慷慨捐贈了".abs($pk0909_prize)."兩黃金\n".$message;
break;
case $num=3;
$message="你看見青年乞丐,就隨手丟給了他".abs($pk0909_prize)."兩黃金\n".$message;
break;
}
}
//隨機獎勵、扣除金錢的hack開始結束



找到:

PHP代碼:
updatemember('+', $username, $replycredit);


改成:

PHP代碼:
updatemember('+', $username, $replycredit,1,$pk0909_prize);



接下來,修改include/newthread.php

找到:

PHP代碼:
$tid = $db->insert_id();


在它下面添加:

PHP代碼:
//隨機獎勵、扣除金錢的hack開始開始
$pk0909_prize=0;
if(rand(1,1000) > 800 && strlen($message) > 100){//大於50個中文才會中獎
$pk0909_prize=rand(1,30);
switch ($pk0909_num=rand(1,5)){
case 1:
$pk0909_add_str="財神爺爺到";
break;
case 2:
$pk0909_add_str="富神爺爺到";
break;
case 3:
$pk0909_add_str="玉皇大帝到";
break;
case 4:
$pk0909_add_str="?#91;音娘娘到";
break;
case 5:
$pk0909_add_str="恭喜發財";
break;
}
$message ="隨著一聲『".$pk0909_add_str."』,從天上掉下一滴甘露正好落在你的嘴唇上!\n你在恍惚中看見了".$pk0909_prize."兩黃金。\n".$message;
}
elseif(rand(1,1000) > 900 && strlen($message) < 30){//小於15個中文掉錢
$pk0909_prize=rand(-40,-2);
switch ($pk0909_num=rand(1,3)){
case $num=1;
$message="近日強盜橫行,你被強盜搶去".abs($pk0909_prize)."兩黃金\n".$message;
break;
case $num=2;
$message="江南災情嚴重,你慷慨捐贈了".abs($pk0909_prize)."兩黃金\n".$message;
break;
case $num=3;
$message="你看見青年乞丐,就隨手丟給了他".abs($pk0909_prize)."兩黃金\n".$message;
break;
}
}
//隨機獎勵、扣除金錢的hack開始結束



找到:

PHP代碼:
updatemember('+', $username, $newcredit);


改成:

PHP代碼:
updatemember('+', $username, $newcredit,1,$pk0909_prize);



套件修改到此全部結束。

==================================================================
附帶說明:

PHP代碼:
if(rand(1,1000) > 800 && strlen($message) > 100){//大於50個中文才會中獎


這裡控制中獎條件和中獎機率
其中的800是中獎機率(數字越大,中獎幾率越小,超過1000不會中獎)
其中的100是限制文章內容要在100字元(50個中文)以上才能中獎



PHP代碼:
$pk0909_prize=rand(1,30);


中獎後,隨即獎勵的金錢的數量範圍,這裡設置的是1到30元


PHP代碼:
elseif(rand(1,1000) > 900 && strlen($message) < 30){//小於15個中文掉錢


這裡控制掉錢機率和條件,原理同上


PHP代碼:
$pk0909_prize=rand(-40,-2);


扣錢時,隨即扣除的金錢的數量範圍,這裡設置的是-2到-40元


所有時間均為台北時間。現在的時間是 04:14 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1