OK論壇

 找回密碼
 註冊
查看: 1316|回復: 9

關於自定義狀態,其中客戶端的stateiconinfo編寫疑問

 關閉 [複製鏈接]
  • TA的每日心情
    開心
    2020-10-27 09:10 PM
  • 簽到天數: 2555 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2015-6-30 20:32:02 | 顯示全部樓層 |閱讀模式
    目前發現伺服端發送狀態封包資料時,除了狀態的持續時間,還有發送該狀態的val值
    1.                         WBUFW(buf,0)=0x196;
    2. WBUFW(buf,2)=type;
    3. WBUFL(buf,4)=bl->id;
    4. WBUFB(buf,8)=flag;
    5. WBUFL(buf,9)=tick;//MaxMS
    6.                         WBUFL(buf,13)=tick;//RemainMS
    7.                         WBUFL(buf,17)=val1; //這邊
    8.                         WBUFL(buf,21)=val2; //還有這裡
    9.                         WBUFL(buf,25)=val3; //跟這裡
    複製代碼
    這邊想請問,如果要在狀態說明中添加該值的顯示要怎麼辦到呢?

    這是我自定義的狀態說明
    1. StateIconList[EFST_IDs.EFST_LIFEARTICLE] =               
    2. {               
    3.         haveTimeLimit = 1,       
    4.         posTimeLimitStr = 2,       
    5.         descript =        
    6.         {       
    7.                 {"生命", COLOR_TITLE_BUFF },
    8.                 {"%s", COLOR_TIME },
    9.                 {"剩餘生命數:", COLOR_TITLE_TOGGLE },
    10.         }       
    11. }       
    複製代碼
    其中有一行剩餘生命數,我希望後頭可以讓他顯示val1的值,這有辦法做的到嗎?請各位高手幫我解惑一下,感激不盡。

    回復

    使用道具 舉報

  • TA的每日心情
    擦汗
    2014-8-13 07:23 AM
  • 簽到天數: 109 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2015-7-1 00:40:53 | 顯示全部樓層
    自定義的stateiconinfo是以SI表示嗎?

    src/map/status.h
    SI那邊也定義了嗎?

    SC 必須對應 SI 應該就可以了,還沒嘗試這麼做過....!
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2020-10-27 09:10 PM
  • 簽到天數: 2555 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

     樓主| 發表於 2015-7-1 07:29:15 | 顯示全部樓層
    sense 發表於 2015-7-1 12:40 AM
    自定義的stateiconinfo是以SI表示嗎?

    src/map/status.h

    有,SI都有定義了

    進遊戲可以正常看到狀態圖示、說明、剩餘時間的顯示,但是現在就是希望可以看到狀態的VAL值。

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2015-7-1 09:20:51 | 顯示全部樓層
    直接新增一個%d 或%s 會如何?
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2020-10-27 09:10 PM
  • 簽到天數: 2555 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

     樓主| 發表於 2015-7-1 19:24:38 | 顯示全部樓層
    goddameit 發表於 2015-7-1 09:20 AM
    直接新增一個%d 或%s 會如何?

    遊戲中的狀態說明就會直接出現 %d 或 %s

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2020-10-27 09:10 PM
  • 簽到天數: 2555 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

     樓主| 發表於 2015-7-3 09:08:26 | 顯示全部樓層
    沒有人有解決辦法嗎?

    推一下避免閒置問題。
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2014-8-13 07:23 AM
  • 簽到天數: 109 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2015-7-3 09:50:18 | 顯示全部樓層
    he01204046 發表於 2015-7-3 09:08 AM
    沒有人有解決辦法嗎?

    推一下避免閒置問題。

    看了一下攜帶箭矢的那狀態(SI_CLIENT_ONLY_EQUIP_ARROW)
    是直接送封包給客戶端,貌似跟SC的val沒太大的關係,如果真是這樣技術上有點難度 .... !


    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2020-10-27 09:10 PM
  • 簽到天數: 2555 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

     樓主| 發表於 2015-7-3 19:55:10 | 顯示全部樓層
    本帖最後由 he01204046 於 2015-7-3 07:56 PM 編輯
    sense 發表於 2015-7-3 09:50 AM
    看了一下攜帶箭矢的那狀態(SI_CLIENT_ONLY_EQUIP_ARROW)
    是直接送封包給客戶端,貌似跟SC的val沒太大的關 ...

    不知道是不是服務器不同,我使用的3CEAM『SI_CLIENT_ONLY_EQUIP_ARROW』是被註解掉的狀態,另外去找了ra確實有該狀態和相關程式存在。
    1. void clif_arrowequip(struct map_session_data *sd,int val)
    2. {
    3.         int fd;

    4.         nullpo_retv(sd);

    5. #if PACKETVER >= 20121128 //這裡是ra新增的,3ceam則沒有
    6.         clif_status_change(&sd->bl, SI_CLIENT_ONLY_EQUIP_ARROW, 1, INVALID_TIMER, 0, 0, 0);
    7. #endif //至此
    8.         fd=sd->fd;
    9.         WFIFOHEAD(fd, packet_len(0x013c));
    10.         WFIFOW(fd,0)=0x013c;
    11.         WFIFOW(fd,2)=val+2; //Item ID of the arrow
    12.         WFIFOSET(fd,packet_len(0x013c));
    13. }
    複製代碼
    搜尋 efstids.lua 有該代碼存在
    1. EFST_CLIENT_ONLY_EQUIP_ARROW        = 695,
    複製代碼
    但是搜尋 stateiconinfo.lua 卻沒有相關的說明文字,箭矢部份應該是直接寫在登入器裡面了。

    另外狀態的封包0x983跟箭矢的封包0x013c也不一致,所以箭矢可能無法用來參考。

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2015-7-4 14:54:45 | 顯示全部樓層
    http://goo.gl/vgaiPB
    尚未有人回應.

    我看了許多lua lub, 也沒見到有使用到這功能的存在.
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2020-10-27 09:10 PM
  • 簽到天數: 2555 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

     樓主| 發表於 2015-7-4 20:03:49 | 顯示全部樓層
    goddameit 發表於 2015-7-4 02:54 PM
    http://goo.gl/vgaiPB
    尚未有人回應.

    感謝壇主還特地跑到別的論壇幫我發問。

    現在只能看看懂lua的高手有沒有解答了。

    回復 支持 反對

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 註冊

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-3-29 06:52 AM , Processed in 0.070065 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表