广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 2276 个阅读者
 
<<   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.056761 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言