廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 6038 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
文♂ 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x76 鮮花 x100
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[1.6][插件] 編譯插件無限循環問題
複製程式
LoadData(id)
{
       static vaultkey[64], vaultdata[512], datalen
       
       format(vaultkey, charsmax(vaultkey), "%s#", user_name[id])
       format(vaultdata, charsmax(vaultdata), "%s#%i#%i#%i#%i#%i#%i#%i#%s#%i#%i", user_password[id], user_status[id][0], user_status[id][1], user_status[id][2], user_status[id][3], user_status[id][4], user_status[id][5], user_status[id][6], user_ipaddress[id], user_status[id][7], user_status[id][8])
           datalen = nvault_get(nvault_data, vaultkey, vaultdata, charsmax(vaultdata))
       
       if (datalen)
       {
              user_registered[id] = true

              replace_all(vaultdata, 255, "#", " ")

              static cache_status[33][33]
              parse(vaultdata, user_password[id], charsmax(user_password[]), cache_status[0], charsmax(cache_status[]), cache_status[1], charsmax(cache_status[]), cache_status[2], charsmax(cache_status[]), cache_status[3], charsmax(cache_status[]), cache_status[4], charsmax(cache_status[]), cache_status[5], charsmax(cache_status[]), cache_status[6], charsmax(cache_status[]), user_ipaddress[id], charsmax(user_ipaddress[]), cache_status[7], charsmax(cache_status[]), cache_status[8], charsmax(cache_status[]))

              for (new i = 0;i <= 8;i++)
                     user_status[id][i] = str_to_num(cache_status[i])
       }
       else
              user_registered[id] = false

       set_task(1.0, "player_login", id)
}
以上是我的登入程序

問題來了
編譯插件時無限loop
等了十分鐘依舊在編譯

複製程式
parse(vaultdata, user_password[id], charsmax(user_password[]), cache_status[0], charsmax(cache_status[]), cache_status[1], charsmax(cache_status[]), cache_status[2], charsmax(cache_status[]), cache_status[3], charsmax(cache_status[]), cache_status[4], charsmax(cache_status[]), cache_status[5], charsmax(cache_status[]), cache_status[6], charsmax(cache_status[]), user_ipaddress[id], charsmax(user_ipaddress[]), cache_status[7], charsmax(cache_status[]), cache_status[8], charsmax(cache_status[]))

後來發現將這段語法刪去便沒有無限循環的情況
有大大知道這是怎麼問題了表情



獻花 x0 回到頂端 [樓 主] From:未知地址 | Posted:2013-10-01 11:32 |
op47 0
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x54 鮮花 x129
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

應該是charsmax問題


獻花 x0 回到頂端 [1 樓] From:香港特別行政區 | Posted:2013-10-01 11:54 |
文♂ 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x76 鮮花 x100
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 op47 於 2013-10-01 11:54 發表的 : 到引言文
應該是charsmax問題

不清楚

複製程式
parse(vaultdata, user_password[id], charsmax(user_password[]), cache_status[0], charsmax(cache_status[]), cache_status[1], charsmax(cache_status[]), cache_status[2], charsmax(cache_status[]), cache_status[3], charsmax(cache_status[]), cache_status[4], charsmax(cache_status[]), cache_status[5], charsmax(cache_status[]), cache_status[6], charsmax(cache_status[]), user_ipaddress[id], charsmax(user_ipaddress[]), cache_status[7], charsmax(cache_status[])[color=#FF0000], cache_status[8], charsmax(cache_status[])[/color])

將紅字部份刪除之後
都能解決無限循環問題
難道parse語法不能設太多參數?表情


獻花 x0 回到頂端 [2 樓] From:未知地址 | Posted:2013-10-01 12:04 |
op47 0
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x54 鮮花 x129
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

有隔行嗎


獻花 x0 回到頂端 [3 樓] From:香港特別行政區 | Posted:2013-10-01 12:09 |
弒血
個人頭像
個人文章 個人相簿 個人日記 個人地圖
社區建設獎 特殊貢獻獎 創作大師獎
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x108 鮮花 x240
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 文♂ 於 2013-10-01 12:04 發表的 : 到引言文

不清楚
複製程式
parse(vaultdata, user_password[id], charsmax(user_password[]), cache_status[0], charsmax(cache_status[]), cache_status[1], charsmax(cache_status[]), cache_status[2], charsmax(cache_status[]), cache_status[3], charsmax(cache_status[]), cache_status[4], charsmax(cache_status[]), cache_status[5], charsmax(cache_status[]), cache_status[6], charsmax(cache_status[]), user_ipaddress[id], charsmax(user_ipaddress[]), cache_status[7], charsmax(cache_status[])[color=#FF0000], cache_status[8], charsmax(cache_status[])[/color])
將紅字部份刪除之後
都能解決無限循環問題
.......



是不是因為你陣列設置太多了的關析表情 


cache_status[33][33] 

你好像只用到8個陣列數


這個問題我沒有遇過..第一次看到無限LOOP..



目前傳授教學&有興趣者可以問我
BOT瞄準攻擊NPC&模仿事件觸發計算出場&新增地圖重生位置等等
已修復entity的attachment錯誤問題,開始嘗試寫出各種npc_boss成品
按這裡檢視影片,登入論壇可以直接觀看
按這裡檢視影片,登入論壇可以直接觀看
按這裡檢視影片,登入論壇可以直接觀看
按這裡檢視影片,登入論壇可以直接觀看
獻花 x0 回到頂端 [4 樓] From:臺灣中華電信股份有限公司 | Posted:2013-10-01 13:02 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

原因是出在你用了 charsmax … 表情
畢竟 charsmax 只是<string>用 define 定義出來的…
有時候太死板就容易出問題…
至於原因…我不想管~ 表情

反正我將 parse 內全部的 charsmax 全換成 sizeof ? -1 就沒問題了…
複製程式
parse(vaultdata, user_password[id], sizeof user_password -1, cache_status[0], sizeof cache_status -1, cache_status[1], sizeof cache_status -1, cache_status[2], sizeof cache_status -1, cache_status[3], sizeof cache_status -1, cache_status[4], sizeof cache_status -1, cache_status[5], sizeof cache_status -1, cache_status[6], sizeof cache_status -1, user_ipaddress[id], charsmax(user_ipaddress[]), cache_status[7], sizeof cache_status -1, cache_status[8], sizeof cache_status -1)


[ 此文章被a7811311622在2013-10-02 16:01重新編輯 ]


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [5 樓] From:臺灣中華電信股份有限公司 | Posted:2013-10-01 15:42 |
文♂ 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x76 鮮花 x100
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 a7811311622 於 2013-10-01 15:42 發表的 : 到引言文
原因是出在你用了 charsmax … 表情  
畢竟 charsmax 只是<string>用 define 定義出來的…
有時候太死板就容易出問題…
至於原因…我不想管~ 表情  
反正我將 parse 內全部的 charsmax 全換成 sizeof ? -1 就沒問題了…
.......

呆死了表情
感謝A大大


獻花 x0 回到頂端 [6 樓] From:未知地址 | Posted:2013-10-05 10:27 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.020231 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言