廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2241 個閱讀者
 
<<   1   2  下頁 >>(共 2 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
1234561231
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[1.6][插件] 插件結構
請問各位大大像有這種new PlayerFlags[33]
中的[33]是什麼又是怎麼定義的
還有這種new arg[32]
 read_argv(1, arg, 31)
為什麼沒有賦值
請各位大大詳細的告訴我類似的問題


獻花 x0 回到頂端 [樓 主] From:台灣中華電信 | Posted:2010-12-25 21:59 |
sonic0103
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

new PlayerFlags[33],其中中括弧[]內所代表的是一個陣列大小,
而這個大小定義通常是程式設計者依適合插件及功能需求的情況去
分配的,太小則會有溢位問題,若設定太大則又會有記憶體浪費的問題!

舉例來說就像是一間餐廳中的桌椅數量,擺太少桌椅在客人多時位置則會
不夠用,相對的位子多但沒什麼人來餐廳則顯得浪費!

另外的問題,我對賦值這一名詞實在不太了解
read_argv(1, arg, 31)  就是函式的引數傳遞,而這例子中是傳遞 1,arg,31
給原型式,arg
因為前面有宣告過,所以他是個陣列,但至於傳遞引數是字
串還是數字,則就要看原型式的宣告方式了!


有說錯還請各位大大更正!


[ 此文章被sonic0103在2010-12-26 00:28重新編輯 ]


獻花 x0 回到頂端 [1 樓] From:台灣威達超舜電信 | Posted:2010-12-26 00:20 |
i-c0112
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x6 鮮花 x194
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

然後33是因為cs1.6的玩家id範圍是1~32...剛好配合到
複製程式
new arg[32]
 read_argv(1, arg, 31) 
初始化時不一定要賦值
而此陣列的值是由函數read_argv給予
read_argv(param, array, size) //用於clcmd, concmd, srvcmd
@param 指令的第x個引數(為字串)
@array 要賦值的陣列
@size 此陣列的size - 1   //- 1 是因為字串的最後一個字元必為 '^0'


ex: 有人是用指令 amx_slay #1 #2 #3
new sz[32]
read_argv(2, sz, charsmax(sz))
server_print(sz)
結果:]#2


獻花 x0 回到頂端 [2 樓] From:台灣中華電信 | Posted:2010-12-26 00:39 |
z1022001
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x2 鮮花 x28
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

陣列有兩種用法

一種就像1樓說的,分配位置
33個長度的陣列
是因為HL內定最多玩家是32人
玩家 id 分別是 1~32
再加上 id=0 的世界(例如摔傷就是從world給的攻擊)
例如說ZP插件裡的 bool:g_isbot[33]
如果 id=3 的 player 是 BOT
那麼 g_isbot[3]=true
餘此類推


另一種是用來儲存字串的
read_argv 的功能是,取得某個引數儲存到指定字串裡
arg[32] 指的是一個可以存31個字元的字元陣列
所以 read_argv 第三個值是31

再來 read_argv 的第一個值
則是指函數本身的引數序號
複製程式
       register_clcmd("say","say_cheese")
...
public say_cheese(id)
{
       new said[191]
       read_args(1, said, 190)
}
你在這個插件執行的時候
按 Y 鍵說話說出 "Hellow World!"
就會變成 said = "Hellow World!"



一般來說定義長度為 33 的陣列都是用來儲存玩家狀態用的
像是精驗模組的等級,或是ZP模組的'是不是喪屍'等等
而定義成32或191或其他奇怪的數字的多半都是儲存字串用的
一般玩家名稱或武器名稱不會太長就用32就差不多了
其他的就看程式的設計了...


獻花 x0 回到頂端 [3 樓] From:台灣凱擘 | Posted:2010-12-26 00:48 |
i-c0112
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x6 鮮花 x194
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

話說樓主常問關於語法的問題...先找關於C語言的資料讀讀吧
還是你想看純英文的PAWN語言介紹   http://wiki.allied...t/Pawn

[回樓上]
id: 0好像是server...嗎
[離題]
32不奇怪啊>< 這可是個2進位的世界啊
[/離題]
[/回樓上]


獻花 x0 回到頂端 [4 樓] From:台灣中華電信 | Posted:2010-12-26 01:00 |
1234561231
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

謝謝!!!!!!!


獻花 x0 回到頂端 [5 樓] From:台灣中華電信 | Posted:2010-12-26 10:43 |
1234561231
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

對了那請問要如何判斷我需要的
長度的陣列?


獻花 x0 回到頂端 [6 樓] From:台灣中華電信 | Posted:2010-12-26 17:21 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 1234561231 於 2010-12-26 17:21 發表的 : 到引言文
對了那請問要如何判斷我需要的
長度的陣列?

你想表達的是「如何判斷某陣列的長度」嗎…?表情


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [7 樓] From:台灣教育部 | Posted:2010-12-26 17:46 |
z1022001
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x2 鮮花 x28
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

怎麼判斷需要的長度
那就要看程式設計了...
人名武器名多半32就夠了
選單類的可能要1024以上
我有看過motd的長度有到4096呢
端看你會存多少長度的字串進去


獻花 x0 回到頂端 [8 樓] From:台灣凱擘 | Posted:2010-12-26 19:19 |
1234561231
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

所謂的程式設計可不可以請你說的詳細一點? 表情


獻花 x0 回到頂端 [9 樓] From:台灣中華電信 | Posted:2010-12-26 22:08 |

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