[分享][V3~V4]聊天室V1.9b (UTF-8)

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

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


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

[分享][V3~V4]聊天室V1.9b (UTF-8)

文章涅魂 » 2009-09-09 9:45 pm




功能簡介 寫:V1.9b
  • 各項BUG修正,感謝aaasss9555的指正

[hr]歷史檔案[hr]
V1.7
  • 聊天功能
  • 聊天內容的顏色變化
  • 頻道(全體,工會,隊伍,密語)
  • 表情符號(表情符號列表可以按ESC來關閉)
  • 選擇性使用表情符號
  • 防洗頻功能
  • 聊天文本檔案大小控制
  • 禁語功能
  • 快捷設定(在密語對象格中按下ENTER會切換至訊息格,在訊息格按下ENTER能直接送出訊息)
  • 本程式可在新視窗中執行
  • 採用JQuery撰寫
  • 本程式已在Firefox 3, IE 6, 7, 8下測試,均能正常運行

V1.8
  • 修正bug: 聊天室出現Array的系統訊息
  • 加入頻道切換功能

V1.81
  • 系統訊息於顯示後三秒後刪除
  • 頁面清理功能

V1.81b
  • BUG: 表情符號視窗快捷鍵失效問題修正
  • 變更頻道標籤的位置
  • 加上LOADING的圖示,會在使用者送出訊息,或聊天室讀取訊息時顯示於左下角
  • 加入系統頻道(type=5),系統頻道不會受到頻道切換而被隱藏,也不會隨時間而消失。公告訊息與頻率可於chat.config.php內做設定

V1.81c
  • BUG: json_encode()問題修正
  • BUG: 點選人名後,密語對象變成[Object object]的錯誤

    感謝aaasss9555的協助

V1.82
  • 相容於WOG V4

V1.9
  • 支援在聊天室顯示裝備跳窗的連結
  • 加入玩家廣播功能,每次消費500元
  • 英雄玩家標明
  • 加入頻道開關
  • 表情符號視窗加入關閉按鈕
  • 修正點擊聊天室內的玩家名稱無法自動新增至密語對象欄的問題
  • 修正無法用ESC關閉表情符號跳窗
  • jQuery核心升級至1.4.2版本


檔案列表 寫:【WOG】┬【CHAT】┬【chat.class.php】
     │      ├【chat.config.php】
     │      ├【chat.htm】
     │      └【control.php】
     ├【JS】┬【chat.js】
     │    └【jquery-1.4.2.min.js】
     ├【CSS】─【chat.css】
     ├【LOG】─【chat.log】
     └【IMG】─【FACE】─【表情符號的圖檔】


檔案下載 寫:Chat V1.9b: 圖檔 圖檔

Chat Image: 圖檔 圖檔

[hr]歷史檔案[hr]
Chat V1.7: Skydrive 空間 Infoseek 空間

Chat V1.8: Skydrive 空間 Infoseek 空間

Chat V1.81: Skydrive 空間 Infoseek 空間

Chat V1.81b: Skydrive 空間 Infoseek 空間

Chat V1.81c: Skydrive 空間 Infoseek 空間

Chat V1.82: 圖檔 圖檔

Chat V1.9: 圖檔 圖檔


安裝(1.9以後) 寫:下載主程式,並將解壓縮後得到的檔案放在wog主目錄下

加入jQuery 1.4.2 核心

開啟檔案 wog/index.htm

找到
代碼: 選擇全部
<script language="javascript" src="./js/dom-drag.js"></script>

改成
代碼: 選擇全部
[color=red]<script language="javascript" src="./js/jquery-1.4.2.min.js"></script>[/color]
<script language="javascript" src="./js/dom-drag.js"></script>


登入時,將顯示的聊天室設置為本程式
開啟檔案: wog/js/wog_tool.js

找到
代碼: 選擇全部
function open_chat(bbs_id,team_id)
{
   if(UI.set_frame==1)
   {
      w_chat(chat_table1+'<tr><td><b>Online FF Battle - <a href="http://www.et99.org/wog4/index.htm" target="_blank">WOG</a> V4 Copyright (C) <a href="http://www.et99.org" target="_blank">ETERNAL</a></b></td><td><table align="right"><tr><td><a href="javascript:parent.chat_resize()" style="text-decoration:none;">↗</a></td></tr></table></td></tr><tr><td width="450" height="150" id="chat_table" colspan="2" ><www.et99.org id="frame_chat" name="frame_chat" src="./wog_chat/wog_chat.php" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></www.et99.org></td></tr>'+temp_table2);
   }else
   {
      w_chat(chat_table1+'<tr><td width="600" height="148" id="chat_table" ><www.et99.org id="frame_chat" name="frame_chat" src="./wog_chat/wog_chat.php" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></www.et99.org></td></tr>'+temp_table2);
   }
   p_chat();
   Drag.init(f.getElementById("wog_chat"));
};

改成
代碼: 選擇全部
function open_chat(bbs_id,team_id)
{
   [color=red]/*if(UI.set_frame==1)
   {
      w_chat(chat_table1+'<tr><td><b>Online FF Battle - <a href="http://www.et99.org/wog4/index.htm" target="_blank">WOG</a> V4 Copyright (C) <a href="http://www.et99.org" target="_blank">ETERNAL</a></b></td><td><table align="right"><tr><td><a href="javascript:parent.chat_resize()" style="text-decoration:none;">↗</a></td></tr></table></td></tr><tr><td width="450" height="150" id="chat_table" colspan="2" ><www.et99.org id="frame_chat" name="frame_chat" src="./wog_chat/wog_chat.php" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></www.et99.org></td></tr>'+temp_table2);
   }else
   {
      w_chat(chat_table1+'<tr><td width="600" height="148" id="chat_table" ><www.et99.org id="frame_chat" name="frame_chat" src="./wog_chat/wog_chat.php" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></www.et99.org></td></tr>'+temp_table2);
   }
   p_chat();*/
   $('#wog_chat', UI.set_frame == 1 ? f : dfoot).load('./chat/chat.htm');[/color]
   Drag.init(f.getElementById("wog_chat"));
};


相容於IE的CSS設定(請點我前往連結)

點選線上名單時,將名稱加入至密語對象

開啟檔案: wog/js/wog_tool.js

尋找
代碼: 選擇全部
function yesname(s)
{
   UI.set_target.menu.towho.value=s;
};

改成
代碼: 選擇全部
function yesname(s)
{
   //UI.set_target.menu.towho.value=s;
   [color=red]$('#chatTo', UI.set_frame == 1 ? f : dfoot ).val(s);[/color]
};


雙擊裝備名稱,在聊天室出現裝備連結

開啟檔案wog/js/wog_tool.js

尋找
代碼: 選擇全部
function set_arm_tochat(a1,a2)
{
   ...
};

改成
代碼: 選擇全部
function set_arm_tochat(a1,a2)
{
   var temp_f=null;
   if (UI.set_frame==1) {
      //temp_f=parent.wog_view.frame_chat.chat_in.document.f1;
      temp_f = parent.wog_view.document.getElementById('wog_chat');
   }
   else
   {
      //temp_f=parent.foot.frame_chat.chat_in.document.f1;
      temp_f = parent.foot.document.getElementById('wog_chat');
   }
   if(!temp_f){return;}
   /*var temp=temp_f.chat_temp.value;
   var s_num=temp.indexOf("[");
   var e_num=temp.indexOf("]");
   if(s_num>-1 && e_num>0)
   {
      var temp1=temp.substr(0,s_num);
      var temp2=temp.substr(e_num+1,temp.length-e_num);
      temp=temp1+temp2;
   }
   temp_f.chat_temp.value=temp+"["+a1+"]";
   temp_f.item_id_temp.value=a2;*/
   var $text = $('#chatMessage', temp_f);
   var text = $text.val();
   var s_num = text.indexOf('['), e_num = text.indexOf(']');
   if(s_num > -1 && e_num > s_num) {
      text = text.substr(0, s_num)+'['+a1+']'+text.substr(e_num+1);
   } else {
      text = '['+a1+']';
   }
   $text.focus().val(text);
   $('#item_id', temp_f).val(a2);
};

儲存、關閉所有檔案


安裝(1.82) 寫:下載主程式,並將解壓縮後得到的檔案放在wog主目錄下

開啟檔案 wog/index.htm

找到
代碼: 選擇全部
<script language="javascript" src="./js/dom-drag.js"></script>

改成
代碼: 選擇全部
[color=red]<script language="javascript" src="./js/jquery-1.3.min.js"></script>[/color]
<script language="javascript" src="./js/dom-drag.js"></script>


開啟檔案: wog/js/wog_tool.js

找到
代碼: 選擇全部
function open_chat(bbs_id,team_id)
{
   if(UI.set_frame==1)
   {
      w_chat(chat_table1+'<tr><td><b>Online FF Battle - <a href="http://www.et99.org/wog4/index.htm" target="_blank">WOG</a> V4 Copyright (C) <a href="http://www.et99.org" target="_blank">ETERNAL</a></b></td><td><table align="right"><tr><td><a href="javascript:parent.chat_resize()" style="text-decoration:none;">↗</a></td></tr></table></td></tr><tr><td width="450" height="150" id="chat_table" colspan="2" ><www.et99.org id="frame_chat" name="frame_chat" src="./wog_chat/wog_chat.php" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></www.et99.org></td></tr>'+temp_table2);
   }else
   {
      w_chat(chat_table1+'<tr><td width="600" height="148" id="chat_table" ><www.et99.org id="frame_chat" name="frame_chat" src="./wog_chat/wog_chat.php" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></www.et99.org></td></tr>'+temp_table2);
   }
   p_chat();
   Drag.init(f.getElementById("wog_chat"));
};

改成
代碼: 選擇全部
function open_chat(bbs_id,team_id)
{
   [color=red]/*if(UI.set_frame==1)
   {
      w_chat(chat_table1+'<tr><td><b>Online FF Battle - <a href="http://www.et99.org/wog4/index.htm" target="_blank">WOG</a> V4 Copyright (C) <a href="http://www.et99.org" target="_blank">ETERNAL</a></b></td><td><table align="right"><tr><td><a href="javascript:parent.chat_resize()" style="text-decoration:none;">↗</a></td></tr></table></td></tr><tr><td width="450" height="150" id="chat_table" colspan="2" ><www.et99.org id="frame_chat" name="frame_chat" src="./wog_chat/wog_chat.php" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></www.et99.org></td></tr>'+temp_table2);
   }else
   {
      w_chat(chat_table1+'<tr><td width="600" height="148" id="chat_table" ><www.et99.org id="frame_chat" name="frame_chat" src="./wog_chat/wog_chat.php" scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="100%" height="100%"></www.et99.org></td></tr>'+temp_table2);
   }
   p_chat();*/
   $('#wog_chat', UI.set_frame == 1 ? f : dfoot).load('./chat/chat.htm');[/color]
   Drag.init(f.getElementById("wog_chat"));
};


儲存、關閉所有檔案


安裝(1.82以前) 寫:下載主程式,並將解壓縮後得到的檔案放在wog主目錄下

開啟檔案 wog/index.htm

找到
代碼: 選擇全部
<frame src="wog_foot.htm" name="foot" id="foot" frameborder="0" scrolling="Auto" noresize marginwidth="0" marginheight="0">

改成
代碼: 選擇全部
[color=red]    <frameset cols="*, 600">
       <frame src="wog_foot.htm" name="foot" id="foot" frameborder="0" scrolling="Auto" noresize marginwidth="0" marginheight="0">
       <frame name="chat" id="chat" frameborder="0" scrolling="Auto" noresize marginwidth="0" marginheight="0">
    </frameset>[/color]


開啟檔案: wog/class/wog_act_chara.php

找到(共兩處: chara_save() & login() 內)
代碼: 選擇全部
showscript("parent.peolist.document.location.reload()");

改成
代碼: 選擇全部
showscript("parent.peolist.document.location.reload()[color=red]; parent.chat.location='./chat/chat.htm';[/color]");


儲存、關閉所有檔案




動作功能自本版本中剔除,如果仍有使用此功能的需要,請自行修改程式

本程式為[測試]AJAX + PHP 聊天室[外掛](3.0)聊天室 Ver 1.6的最新版本,使用這兩個版本的使用者,若要進行升級時,請將舊檔案刪除後再將新檔案放入wog目錄下即可。另外,log檔案的位置與表情符號的目錄有些許改變,在做升級動作時請記得檢查這兩部分的目錄設定有無正確。

以上,有任何問題請提出來,謝謝。
最後由 涅魂 於 2010-03-06 11:27 pm 編輯,總共編輯了 20 次。
圖檔

leo199345
 
文章: 198
註冊時間: 2006-01-18 9:32 pm

文章leo199345 » 2009-09-09 10:48 pm

涅大的作品終於出現囉~
明天才試裝測試~
先送上GP一枚

額外一問:big5版要自行轉檔?


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

文章涅魂 » 2009-09-09 11:33 pm

自行測試結果,不需修改也能在big5版本下運作

若有人在big5版本下出現問題,請再提報出來吧。
圖檔


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

文章涅魂 » 2009-09-10 1:36 am

臨時想到新功能,所以就馬上改版了 哈哈

更新內容 寫:
  • 修正bug: 聊天室出現Array的系統訊息
  • 加入頻道切換功能


從1.7到1.8升級的話,將整個程式覆蓋過去即可。
圖檔


黑咪
 
文章: 160
註冊時間: 2007-12-24 11:23 am
性別: 男生

文章黑咪 » 2009-09-10 10:21 am

回報問題:
登入前, chat的地方會顯示空白
表情符號列表可以按ESC來關閉失效
符號 < " ' \ 等會出現變化或者消失

希望:
需間隔一段時間後才能發言!!的紅色信息可否提示完會消失
增加自行清頻功能

(還有1點就是轉成big5版本後會顯示不到聊天信息)


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

文章涅魂 » 2009-09-10 10:38 am

黑咪 寫:回報問題:
登入前, chat的地方會顯示空白
表情符號列表可以按ESC來關閉失效
符號 < " ' \ 等會出現變化或者消失

希望:
需間隔一段時間後才能發言!!的紅色信息可否提示完會消失
增加自行清頻功能

(還有1點就是轉成big5版本後會顯示不到聊天信息)

回報問題時記得要提供您的瀏覽器環境,謝謝。

第一點,留空白是因為有人會想要在那邊做些文章,像是放上公告之類的,所以我才沒讓chat frame有預設頁面。要改掉的話請修改index.htm

第二點,只有當頁面的焦點是在chat frame上時才有效。或者,在送出發言時,表情列表也會自動關閉

第三點,一些符號的消失是防止使用者鑽漏洞去從事不法行為

而big5版本問題,請直接使用utf-8版本看看,我測試時並沒有發生什麼問題。

對了,mysql版本小於4.1的話記得要到chat.config.php作修改,把那三行調整資料庫編碼的程式碼註解掉。

下面兩個建議不錯,下次更新會放上 :)
圖檔


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

文章涅魂 » 2009-09-10 11:21 am

更新至V1.81


更新內容(V1.81) 寫:
  • 系統訊息於顯示後三秒後刪除
  • 頁面清理功能


謝謝黑咪的建議 :)
圖檔


黑咪
 
文章: 160
註冊時間: 2007-12-24 11:23 am
性別: 男生

文章黑咪 » 2009-09-10 11:39 am

原來是這樣
發現使用myie會令表情符號列表可以按ESC來關閉的功能失效


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

文章涅魂 » 2009-09-10 12:18 pm

照測試來看,應該是IE6, 7的問題

在這兩個版本的瀏覽器下,鍵盤相關的事件只能偵測到會產生文字的按鍵(a~z之類的),其他的無法偵測到(ESC, F1~F12等等)

而myie使用ie6作為核心,所以也會有ie6的問題

上述事項到了IE8都已獲得改善,可見是ie6, 不合標準的問題

建議您能使用符合w3c標準的瀏覽器會比較好,以確保能在合標準的瀏覽器上都能正常顯示。
圖檔


黑咪
 
文章: 160
註冊時間: 2007-12-24 11:23 am
性別: 男生

文章黑咪 » 2009-09-10 1:16 pm

有時候用慣了一種IE
要轉變也麻煩...呵

不過在BIG5版本的WOG中使用UTF8版本的CHAT
在登入資訊方面不能正常顯示

leo199345
 
文章: 198
註冊時間: 2006-01-18 9:32 pm

文章leo199345 » 2009-09-10 8:10 pm

剛在自己的wog實裝了一會兒....玩家們都忍受不了...又改回1.6了

以下是玩家的意見:

1.聊天室經常lag -- ie6,ie7
 - 一切換頻道,發言時,聊天室就不會自動更新或變得非常lag了
 - 很容易出現"錯誤的行為(chat)"
 - 一lag...當掉...不知道....聊天室又不會更新

2.聊天室頁面太小
 - 頁面太小,不一會兒內容就被洗走了 -- 1024*768頁面
 - 字體太小,內容非常難看
 - 頻道按鍵佔位太多,導致可見的聊天內容減少

3.有辦法改回新發言在上面嗎? 一直wog的聊天室都是由上至下看的

4.可增設關閉頻道功能嗎?

希望這版聊天室能改到最完美吧~!


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

文章涅魂 » 2009-09-11 5:55 pm

leo199345 寫:剛在自己的wog實裝了一會兒....玩家們都忍受不了...又改回1.6了

以下是玩家的意見:

1.聊天室經常lag -- ie6,ie7
 - 一切換頻道,發言時,聊天室就不會自動更新或變得非常lag了
 - 很容易出現"錯誤的行為(chat)"
 - 一lag...當掉...不知道....聊天室又不會更新

頻道切換時,聊天室仍舊會更新,只是不會看到屬於目前頻道的對話,要切換至對應的頻道或是全體頻道才能看到。

而發言時,系統會將自動更新關閉,等到發言成功後才會再啟動,所以若玩家對遊戲的連線狀況不佳的話,會發生更新效率低落的問題。

至於錯誤行為的問題,請打開control.php,找到
代碼: 選擇全部
alert('錯誤的行為(chat)');
改成
代碼: 選擇全部
alert('錯誤的行為('.$act.')');

之後如果有再出現這個問題的話請將顯示的內容回報吧,謝謝

另外,要檢查是lag還是程式沒有更新的話可以使用一些開發工具去測試,我這裡無法進行壓力測試,無法得知是哪方面的問題。
leo199345 寫:2.聊天室頁面太小
 - 頁面太小,不一會兒內容就被洗走了 -- 1024*768頁面
 - 字體太小,內容非常難看
 - 頻道按鍵佔位太多,導致可見的聊天內容減少

頁面小跟字太小不是我的錯,請自己調整成適合自己的設定。

leo199345 寫:3.有辦法改回新發言在上面嗎? 一直wog的聊天室都是由上至下看的

以視覺來說,顯示在下面比顯示在上面要方便閱讀。如果玩家不習慣,請系統管理員自己修改,我不會針對這個問題去作修改。
leo199345 寫:4.可增設關閉頻道功能嗎?

希望這版聊天室能改到最完美吧~!

這會加在下次的更新中,謝謝您的建議 :)
圖檔

minglo
 
文章: 250
註冊時間: 2004-01-17 10:05 am
來自: hong kong

文章minglo » 2009-09-11 6:15 pm

正呀~不過我下載不到 cry
歡迎來到我的論壇:
論壇 :
http://www.kw86.com/upload/

WOG:
http://www.kw86.com/upload/wog/


黑咪
 
文章: 160
註冊時間: 2007-12-24 11:23 am
性別: 男生

文章黑咪 » 2009-09-11 8:47 pm

我希望可以把上面的頻道列改為左手面前排
將一般等文字改為單字英文來表示, 我覺得會比較簡潔和可能看多一條記錄

aaasss9555
 
文章: 163
註冊時間: 2009-07-30 9:15 pm

文章aaasss9555 » 2009-09-12 6:40 pm

我無法下載

我最愛的1.6終於改版了

下一頁

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

誰在線上

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

cron