[問題][分享]实在太久没发贴,今晚兴趣所至来个问题..过路英雄请帮解答一下!

提供WOG各方面的技術問題,並提供最新path更新。

版主: 涅魂, 簫哥, 10度C~

kk0123456
 
文章: 107
註冊時間: 2008-12-16 11:53 am

[問題][分享]实在太久没发贴,今晚兴趣所至来个问题..过路英雄请帮解答一下!

文章kk0123456 » 2009-11-27 10:21 pm

:) 大家好!
本人还在用V3.因为觉得懒去研究V4 :P ET别见怪.当然V4俺收藏起来了..可是没工会 :cry: ,不过很容易明白为什么不放出工会 8) !
正题.从前,有看过有人问怎样解决 " 同一个角色同时在两个以上IE中登入游戏.并且可以进行不同的游戏功能.除了战斗不可能同时使用 " .这个相信都知道了.本人在此提供一个解决方法的思路.好可惜,这个思路并非我想像中如意,可能是俺功力浅,没法做到完整!恳请各位英雄能帮忙完成.

方法:利用cookie来实现.在角色登入的时候,SETcookie("COOKIE名字",一个随机数);然后UPDATE数据库人物ID中表中数值为这个随机数.之后就判断这个cookie是否等于人物表中的随机数,是的话没事发生,否即视为人物重复登入游戏.
问题:当我只开一个IE,登入游戏后,产生了COOKIE,而只要在同一个IE里分支出的新IE页面,再打开游戏,COOKIE还是那COOKIE.这时就没办法用cookie跟随机数做判断了.因随机数是变化了,可COOKIE也跟着新开的分支IE页面变化了.而游戏人物这时就出现在两个不同的IE页面里了.....

希望有大大帮忙完整一下这个小功能..再做成新外挂入档....




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

文章涅魂 » 2009-11-28 10:37 am

兩個IE雖然彼此為獨立個體,但用的IP是相同的(基本上),從這裡下手也是種方法

而這裡給的方法以資料庫為基礎,透過檢查p_id, p_ipadd, p_online_time的方式,確認使用者是否重複

open file: /wog/forum_support/global.php
find
代碼: 選擇全部
// end init db

after, add
代碼: 選擇全部
if($_COOKIE['wog_cookie']) {
   $p_id = $_COOKIE['wog_cookie'];
   $ip = get_ip();
   $user = $DB_site->query_first('SELECT p_id FROM wog_player WHERE p_ipadd = "'.$ip.'" AND p_online_time > '.(time() - $wog_arry['offline_time']).' ORDER BY p_online_time ASC');
   //alertWindowMsg($p_id.' '.$user['p_id']);
   if($user && $p_id != $user['p_id']) {
      alertWindowMsg('multi-logined!');
   }
   $DB_site->query('UPDATE wog_player SET p_ipadd = "'.$ip.'" WHERE p_id = "'.$p_id.'"');
}



圖檔


回到 Online FF Battle-WOG官方聯盟推廣處

誰在線上

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

cron