广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 5997 个阅读者
 
<<   1   2   3  下页 >>(共 3 页)
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
calove00
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x171 鲜花 x99
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[1.6] [AMXX]return问题
有时看到有些amxx是这的

public function(id)
{
 return xxxxxxxx(id)
}

xxxxx(id)

那儿其实是怎么才会触发...

我不用上这..

但看别的有用...

想知道表情


献花 x0 回到顶端 [楼 主] From:香港有线宽频 | Posted:2010-04-07 11:31 |
Abcdzxc555
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x71 鲜花 x83
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

return XXXXXX(id)?? 有这样的指令吗表情
应该是
return PLUGIN_CONTINUE;等等的吧 表情


献花 x0 回到顶端 [1 楼] From:香港网上行 | Posted:2010-04-07 12:24 |
lkh1018
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x2
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

return XXXXXX(id)?? 有这样的指令吗
有!!

例如
public event_ResetHUD(id) {
  if(is_user_alive(id))
    return function2(id)
  if(is_user_bot(id))
    return function3(id)
  return function4(id)
}

function2(id) {
  ...
  ...
  ...
  return PLUGIN_CONTINUE
}

function3(id) {
  ...
  ...
  ...
  return PLUGIN_HANDLED
}

function4(id) {
  ...
  ...
  ...
  return PLUGIN_HANDLED_MAIN
}

例如ResetHUD这event被触法
而那人是在生的, 就会跑到function2(id),
而function2(id)最后是return plugin_continue,
那function1(id)那里的function2(id)的value就是plugin_continue
那function1(id)最后return的就是plugin_continue

所以这段编码就是,
而那人是在生的, 就return plugin_continue
而那人是死亡又是bot的, 就return plugin_handled
而其余的, 就return plugin_handled_main


献花 x0 回到顶端 [2 楼] From:香港特别行政区 | Posted:2010-04-07 13:22 |
chuchung712 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 优秀管理员勋章 特殊贡献奖-2
知名人士
级别: 知名人士 该用户目前不上站
推文 x774 鲜花 x1169
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 lkh1018 于 2010-04-07 13:22 发表的 : 到引言文
return XXXXXX(id)?? 有这样的指令吗
有!!
例如
public event_ResetHUD(id) {
  if(is_user_alive(id))
.......

我想问问
return PLUGIN_CONTINUE
return PLUGIN_HANDLED
这两个有啥分别?
return 0 啊, 1啊, -1啊又怎样用?
感谢~


没有理想的世界
献花 x0 回到顶端 [3 楼] From:香港有线宽频 | Posted:2010-04-07 17:28 |
a7811311622 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 优秀管理员勋章 社区建设奖
头衔:我…在工作了…我…在工作了…
版主
级别: 版主 该用户目前不上站
版区: CS提问区
推文 x771 鲜花 x2152
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 chuchung712 于 2010-04-07 17:28 发表的 : 到引言文

我想问问
return PLUGIN_CONTINUE
return PLUGIN_HANDLED
这两个有啥分别?
return 0 啊, 1啊, -1啊又怎样用?
感谢~

比较简单的说法是:
PLUGIN_CONTINUE:可能只跳过程式里面的其中几段
PLUGIN_HANDLED:整段程式直接跳过
这要有例子才比较好讲解…表情


尚无签名,欢迎 [新增个性化签名]
献花 x0 回到顶端 [4 楼] From:台湾教育部 | Posted:2010-04-07 17:45 |
chuchung712 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 优秀管理员勋章 特殊贡献奖-2
知名人士
级别: 知名人士 该用户目前不上站
推文 x774 鲜花 x1169
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 a7811311622 于 2010-04-07 17:45 发表的 : 到引言文

比较简单的说法是:
PLUGIN_CONTINUE:可能只跳过程式里面的其中几段
PLUGIN_HANDLED:整段程式直接跳过
这要有例子才比较好讲解…表情

这是AlliedModders的黄金AK插件中的其中一部分 @@
复制程式
public checkWeapon(id) 
{ 
 new plrClip, plrAmmo, plrWeap[32] 
 new plrWeapId 
  
 plrWeapId = get_user_weapon(id, plrClip , plrAmmo) 
  
 if (plrWeapId == CSW_AK47 && g_HasAk[id]) 
 { 
  checkModel(id) 
 } 
 else 
 { 
  return PLUGIN_CONTINUE
 } 
  
 if (plrClip == 0 && get_pcvar_num(cvar_uclip)) 
 { 
  // If the user is out of ammo.. 
  get_weaponname(plrWeapId, plrWeap, 31) 
  // Get the name of their weapon 
  give_item(id, plrWeap) 
  engclient_cmd(id, plrWeap) 
  engclient_cmd(id, plrWeap) 
  engclient_cmd(id, plrWeap) 
 } 
 return PLUGIN_HANDLED
}


没有理想的世界
献花 x0 回到顶端 [5 楼] From:香港有线宽频 | Posted:2010-04-07 18:38 |
a7811311622 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 优秀管理员勋章 社区建设奖
头衔:我…在工作了…我…在工作了…
版主
级别: 版主 该用户目前不上站
版区: CS提问区
推文 x771 鲜花 x2152
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 chuchung712 于 2010-04-07 18:38 发表的 : 到引言文

这是AlliedModders的黄金AK插件中的其中一部分 @@

复制程式
public checkWeapon(id) 
{ 
 new plrClip, plrAmmo, plrWeap[32] 
.......[/quote] 
[code] 
public checkWeapon(id)  
{  
 new plrClip, plrAmmo, plrWeap[32]  
 new plrWeapId  
   
 plrWeapId = get_user_weapon(id, plrClip , plrAmmo)  
   
 if (plrWeapId == CSW_AK47 && g_HasAk[id])  
 {  
  checkModel(id)  
 }  
 else  
 {  
  return PLUGIN_CONTINUE 
  /* 
  这段回传的结果是脱离「public checkWeapon(id)」这段假设,
  如果条件符合,则从这段开始往下的内容就不会判断和执行
  */ 
 }  
   
 if (plrClip == 0 && get_pcvar_num(cvar_uclip))  
 {  
  // If the user is out of ammo..  
  get_weaponname(plrWeapId, plrWeap, 31)  
  // Get the name of their weapon  
  give_item(id, plrWeap)  
  engclient_cmd(id, plrWeap)  
  engclient_cmd(id, plrWeap)  
  engclient_cmd(id, plrWeap)  
 }  
 return PLUGIN_HANDLED // 单纯让上面的「return PLUGIN_CONTINUE」有回传值罢了… 
} 


[ 此文章被a7811311622在2010-04-07 21:06重新编辑 ]


尚无签名,欢迎 [新增个性化签名]
献花 x0 回到顶端 [6 楼] From:台湾教育部 | Posted:2010-04-07 18:58 |
chuchung712 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 优秀管理员勋章 特殊贡献奖-2
知名人士
级别: 知名人士 该用户目前不上站
推文 x774 鲜花 x1169
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 a7811311622 于 2010-04-07 18:58 发表的 : 到引言文

[code]public checkWeapon(id)
{
 new plrClip, plrAmmo, plrWeap[32]
.......

开始明白了...
但如果if 里有continue呢?
还有return 0, -1, 1是什么意思...
谢 


没有理想的世界
献花 x1 回到顶端 [7 楼] From:香港有线宽频 | Posted:2010-04-07 20:30 |
a7811311622 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 优秀管理员勋章 社区建设奖
头衔:我…在工作了…我…在工作了…
版主
级别: 版主 该用户目前不上站
版区: CS提问区
推文 x771 鲜花 x2152
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 chuchung712 于 2010-04-07 20:30 发表的 : 到引言文

开始明白了...
但如果if 里有continue呢?
还有return 0, -1, 1是什么意思...
谢 

后来发现我上面说错了…(最近上课学JAVA后搞乱了…)
continue其实和PLUGIN_CONTINUE是一样的用意,
至于return 0,1 其实就等于PLUGIN_CONTINUE和PLUGIN_HANDLED
这在<amxconst.inc>里面有说明,
不过我倒是没看过return -1 的说…保守猜测成回传空值(null)好了…


尚无签名,欢迎 [新增个性化签名]
献花 x1 回到顶端 [8 楼] From:台湾教育部 | Posted:2010-04-07 21:05 |
chuchung712 会员卡
个人头像
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 社区建设奖 优秀管理员勋章 特殊贡献奖-2
知名人士
级别: 知名人士 该用户目前不上站
推文 x774 鲜花 x1169
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 a7811311622 于 2010-04-07 21:05 发表的 : 到引言文

后来发现我上面说错了…(最近上课学JAVA后搞乱了…)
continue其实和PLUGIN_CONTINUE是一样的用意,
至于return 0,1 其实就等于PLUGIN_CONTINUE和PLUGIN_HANDLED
这在<amxconst.inc>里面有说明,
不过我倒是没看过return -1 的说…保守猜测成回传空值(null)好了…

恩...
发现了
复制程式
#define PLUGIN_CONTINUE  0 /* Results returned by public functions */
#define PLUGIN_HANDLED  1 /* stop other plugins */
#define PLUGIN_HANDLED_MAIN 2 /* to use in client_command(), continue all plugins but stop the command */
再问一个问题
if 里面可以有 PLUGIN_HANDLED 的吗?
反之 public 里, if 外面可以有 PLUGIN_CONTINUE 吗?


没有理想的世界
献花 x0 回到顶端 [9 楼] From:香港有线宽频 | Posted:2010-04-08 11:09 |

<<   1   2   3  下页 >>(共 3 页)
首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.048998 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言