[問題] 請問有管理員可以踢人下線的方法嗎??

WOG設定安裝教學

版主: 涅魂, 簫哥

1223334444
 
文章: 96
註冊時間: 2005-04-19 12:23 am

[問題] 請問有管理員可以踢人下線的方法嗎??

文章1223334444 » 2005-07-19 2:26 pm

不然每次線上一堆人掛網,佔用資源阿...不知有沒有辦法在後台增加這個功能??

ps:雖然可以設置幾秒無動作視為離線,但好像都沒有用?



FLOKY﹏。
 

文章FLOKY﹏。 » 2005-07-19 8:45 pm

代碼: 選擇全部
ps:雖然可以設置幾秒無動作視為離線,但好像都沒有用?


還會再影響私服器的!別人不斷地登入,登出,還佔用唷



1223334444
 
文章: 96
註冊時間: 2005-04-19 12:23 am

文章1223334444 » 2005-07-19 10:31 pm

FLOKY﹏。 寫:
代碼: 選擇全部
ps:雖然可以設置幾秒無動作視為離線,但好像都沒有用?


還會再影響私服器的!別人不斷地登入,登出,還佔用唷

....??看不太懂你在說什麼 = =
我的WOG有設置上限人數 但有人一直在線上發呆 導致其他玩家也無法登入,所以才有此一問!!!




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

文章涅魂 » 2005-07-19 10:36 pm

1223334444 寫:....??看不太懂你在說什麼 = =
我的WOG有設置上限人數 但有人一直在線上發呆 導致其他玩家也無法登入,所以才有此一問!!!

可是您也無法判定該玩家是否真的是在發呆吧....? :roll:
所以還是交給系統踢人就好了...。
系統預設10分鐘沒有動作會自動判定為離線。



1223334444
 
文章: 96
註冊時間: 2005-04-19 12:23 am

文章1223334444 » 2005-07-20 12:23 am

涅魂 寫:
1223334444 寫:....??看不太懂你在說什麼 = =
我的WOG有設置上限人數 但有人一直在線上發呆 導致其他玩家也無法登入,所以才有此一問!!!

可是您也無法判定該玩家是否真的是在發呆吧....? :roll:
所以還是交給系統踢人就好了...。
系統預設10分鐘沒有動作會自動判定為離線。

不用判定呀,交由管理員自己去看要踢誰

在輸入帳號的地方輸入欲踢除的玩家

多一個踢除鈕,不知可行否??



1223334444
 
文章: 96
註冊時間: 2005-04-19 12:23 am

文章1223334444 » 2005-07-21 12:12 am

...阿嗚嗚嗚

沒有辦法嗎 >"<



頭像
~木林森~
 
文章: 446
註冊時間: 2005-01-20 12:28 pm
來自: 澎湖的某一處

文章~木林森~ » 2005-07-21 12:39 am

系統已經預設自動踢除10分鐘無任何動作的玩家
所以應該不需要多此一舉......
這點涅魂大已經說的很清楚囉


龜速吸收PHP知識中...
"新"[團結就是力量論壇]登場!歡迎大家加入
WOG Only v2.08 + else Mod (簡單的架設結合許多優秀外掛的WOG)


K
企鵝管理員
 
文章: 1118
註冊時間: 2003-05-19 11:00 am
來自: 囧星
性別: 男生

文章K » 2005-07-21 12:41 am

我覺得有些狀況下就會需要這個功能

如..有某人作怪..可立即踢除..

之前水色我就踢過幾個XD


........圖檔
圖檔

1223334444
 
文章: 96
註冊時間: 2005-04-19 12:23 am

文章1223334444 » 2005-07-21 2:55 am

~木林森~ 寫:系統已經預設自動踢除10分鐘無任何動作的玩家
所以應該不需要多此一舉......
這點涅魂大已經說的很清楚囉

問題是很多都踢不掉呀,何解??
我自己掛整天都沒被踢掉




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

文章涅魂 » 2005-07-21 10:52 am

嗯,重新確認一次系統的設定之後發現只要玩家沒有把視窗關閉的話那麼該玩家便不會被系統踢除。
因為在更新(線上玩家)這一欄的時候會自動將該玩家的p_online_time設為目前時間,所以系統沒辦法踢除...。

以下為踢人系統(裝在控制台內)

開啟檔案wog/acpleft.php
尋找
代碼: 選擇全部
      <tr>
         <td align="left">
         <p><font size="1" face="新細明體">
         <input class="text" type="submit" value="停權" name="actions">&nbsp;
         <input class="text" type="submit" value="解除停權" name="actions"></font></td>
      </tr>

後面,加上
代碼: 選擇全部
      <tr>
         <td align="left">
         <p><font size="1" face="新細明體">
         <input class="text" type="submit" value="強制踢人" name="actions">&nbsp;</font></td>
      </tr>



開啟檔案wog/acpmain.php
尋找
代碼: 選擇全部
case "禁言":

前面,加上
代碼: 選擇全部
case "強制踢人":
print_header();
loginout_player();
print_footer();
break;



尋找
代碼: 選擇全部
//將玩家禁言

前面,加上
代碼: 選擇全部
//將玩家強制踢除
function loginout_player()
{
   check_ulv();
   if(empty($_POST["target_name"]) || $_POST["target_name"]=="" || $_POST["target_name"]=="輸入玩家名稱"){alertMsg("沒有輸入對方名稱");exit;}
   global $DB_site;
   $p_online_time=time()-10*60;
   $check=$DB_site->query("update wog_player set p_online_time=".$p_online_time." where p_name  ='".$_POST["target_name"]."' ");
   echo ("<br><b><font color='Red'>使用者帳號:(".$_POST["target_name"].") 已經強制踢出遊戲。</font></b>");
}


開啟檔案wog/class/wog_act_chara.php
尋找
代碼: 選擇全部
setcookie("wog_cookie",$p[p_id]);

前面,加上
代碼: 選擇全部
$DB_site->query('update wog_player set p_online_time='.time().' where p_name='.$_POST["id"].' and p_password='.$_POST["pass"].'');


開啟檔案wog/class/wog_etc_peo.php
尋找
代碼: 選擇全部
$DB_site->query("update wog_player set p_online_time=".time().",p_ip='".$p_ip."' where p_id=".$userid." ");

前面,加上
代碼: 選擇全部
         $p=$DB_site->query_first("select p_online_time from wog_player where p_id=".$userid);
         if($p[p_online_time]<=time()-$wog_arry["offline_time"])
         {
            setcookie("wog_cookie","");
            setcookie("wog_cookie_name","");
            setcookie("wog_bbs_id","");
            echo "<script>alert('您已被判定為登出。');</script>\n";
            showscript("parent.document.URL='".$wog_arry["logout_url"]."';");
         }


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




K
企鵝管理員
 
文章: 1118
註冊時間: 2003-05-19 11:00 am
來自: 囧星
性別: 男生

文章K » 2005-07-21 11:49 am

=0=||裝完後使用踢人踢不在線的玩家..結果反而讓玩家出現在在線列表|||


........圖檔
圖檔


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

文章涅魂 » 2005-07-21 12:17 pm

K 寫:=0=||裝完後使用踢人踢不在線的玩家..結果反而讓玩家出現在在線列表|||

呃,這是在惡搞吧XD?
預設是將玩家的離線時間設為目前時間減10分鐘,若要改的話把
代碼: 選擇全部
$p_online_time=time()-[color=red]10*60[/color]

改成想要的數字即可(例如30分鐘的話就改成30*60)。 :wink:



頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

文章Kagami » 2005-07-21 2:19 pm

我裝了之後...不能登入的@@
是不是我裝錯了?




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

文章涅魂 » 2005-07-21 2:21 pm

jas 寫:我裝了之後...不能登入的@@
是不是我裝錯了?

wog_act_chara.php有裝正確嗎?



頭像
Kagami
 
文章: 256
註冊時間: 2005-07-01 2:38 pm
來自: HongKong    

文章Kagami » 2005-07-21 2:35 pm

涅魂 寫:
jas 寫:我裝了之後...不能登入的@@
是不是我裝錯了?

wog_act_chara.php有裝正確嗎?

以下是我login的code..不知是不是和我安裝的chatroom相撞了
代碼: 選擇全部
function login($bbs_id,$p_ip,$user_id)
{
   global $DB_site,$_POST,$wog_arry;
   if (eregi("[<>'", ]", $_POST["id"]) || eregi("[<>'", ]", $_POST["pass"])) 
   {
      die("含有非法符號");
   }
   $p=$DB_site->query("SELECT p_id FROM wog_player WHERE p_id != 0 AND p_online_time < ".(time()-($wog_arry["del_day"]*24*60*60))." "); //刪除角色
   while($ps=$DB_site->fetch_array($p))
   {
      kill_sub($ps["p_id"]);
   }
   $p=$DB_site->query_first("SELECT p_id,p_name,p_lock,p_bbsid,p_st,p_online_time,p_ip FROM wog_player WHERE p_name='".$_POST["id"]."' and p_password='".$_POST["pass"]."' ");
   if($p)
   {
         if($p[p_lock]==1)
         {
            alertWindowMsg("你被凍結了");
         }
         if($p[p_st]==0)
         {
            $datecut = time() - $wog_arry["offline_time"];
            $online=$DB_site->query_first("SELECT count(p_name) as num FROM wog_player WHERE p_online_time > $datecut");
            if($online[num]>=$wog_arry["online_limit"])
            {
               showscript("parent.incd(".$wog_arry["login_time"].")");
            }
         }
         if($p[p_bbsid]==0)
         {
            $sql="SELECT p_bank FROM  wog_player WHERE p_id = ".$p[p_id]." ";
            $bank=$DB_site->query_first($sql);
            $DB_site->query("update phpbb_users set user_bank=user_bank+".$bank["p_bank"]." WHERE user_id=".$bbs_id."");
         }
         $DB_site->query("update wog_player set p_online_time=".time().",p_bbsid=".$bbs_id.",p_ip='".$p_ip."',p_place=0 WHERE p_id=".$p[p_id]."");
         $datecut = time() - $wog_arry["offline_time"];
                        $DB_site->query('update wog_player set p_online_time='.time().' where p_name='.$_POST["id"].' and p_password='.$_POST["pass"].'');
         setcookie("wog_cookie",$p[p_id]);
         setcookie("wog_cookie_name",$p[p_name]);
         setcookie("wog_bbs_id",$bbs_id);
           setcookie("wog_cookie_debug",md5($p[p_id].$bbs_id.$wog_arry[cookie_debug]));

                                if ($p[p_online_time] <= $datecut) {
              $filename="chatlog".date("ymda",time()+$wog_arry["server_time_offset"]).".txt";
              $fp=fopen($filename,"a");
              $word_say=date("H:i:s",time()+$wog_arry["server_time_offset"])."&&".$p[p_name]."&&0&&".$p_ip."&&&&1&&登入了&&\n";
              while(!is_writeable($filename)){
              }
              fputs($fp,$word_say);
              fclose($fp);
         }
           
           echo "<script>\nparent.frames['chat'].location.href="wog_chat.php";\n</script>\n";
         show_chara($p[p_id],$bbs_id,1);
         showscript("parent.peolist.document.location.reload();parent.foot.toggle()");
   }else
   {
      alertWindowMsg("帳號錯誤 或 密碼錯誤 或 尚未創造角色"); 
   }
   unset($p);
}




下一頁

回到 精華區

誰在線上

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