搜索
查看: 5348|回复: 8

求助,client_putinserver (id)与client_connect(id)的区别?(已解决)

[复制链接]
发表于 2009-9-24 19:08:44 | 显示全部楼层 |阅读模式 来自 日本–东京都
本帖最后由 cityhonghu 于 2009-9-25 06:45 编辑

(已解决)
如题。
1。这2个函数具体应用区别是?
   我的理解是client_putinserver ( id )为已经选择队伍的玩家,M6的玩家不算。
   client_connect(id)为正在连接进入服务器的玩家
2。对于这2个函数,其对应的函数都是client_disconnect(id)?
发表于 2009-9-24 19:24:54 | 显示全部楼层 来自 中国–四川–遂宁
  1. client_putinserver - 玩家成功进入服务器.
  2. client_connect - 玩家连接服务器.
  3. client_disconnect - 玩家断开连接.
复制代码
回复

使用道具 举报

发表于 2009-9-24 19:39:51 | 显示全部楼层 来自 中国–福建–漳州
楼上说的不错。不过有一点要注意,通过我观察,如果玩家没有成功进入服务器,玩家中连接过程断开连接,好像是不会触发client_disconnect事件的。
回复

使用道具 举报

 楼主| 发表于 2009-9-24 20:30:50 | 显示全部楼层 来自 日本–东京都
明白了。
还有一点是,对于判断权限的时候(get_user_flags(id)),是不是要用client_putinserver ( id )才可以?
在玩家连接服务器中的时候能够正确获取权限吗?
回复

使用道具 举报

发表于 2009-9-24 20:36:57 | 显示全部楼层 来自 中国–广西–百色–那坡县
是这样的
回复

使用道具 举报

发表于 2009-9-24 22:32:44 | 显示全部楼层 来自 中国–福建–漳州
玩家连接过程中会依次产生这三个事件:
client_connect(id)
client_authorized(id)
client_putinserver(id)
而权限一般是在client_authorized事件中赋予的(查看admin.sma就知道了),所以,权限判断在client_connect是无效的,至少要在client_authorized中(在client_authorized中判断的话,插件在plugins.ini中的加载位置必须在admin.amxx之后)。
回复

使用道具 举报

 楼主| 发表于 2009-9-24 23:37:52 | 显示全部楼层 来自 日本–东京都
本帖最后由 cityhonghu 于 2009-9-25 06:44 编辑

谢谢3位。这个问题明白了。:victory:
回复

使用道具 举报

发表于 2009-10-20 04:37:17 | 显示全部楼层 来自 中国–香港
client_connect不能獲取權限應該是因為用戶還沒傳送個人資料吧?.?
回复

使用道具 举报

发表于 2009-10-20 13:04:26 | 显示全部楼层 来自 中国–福建–漳州
主要原因是admin.sma中是在client_authorized(id)设置玩家权限的。当然,这跟client_connect中还未获取玩家steamid有关。如果你的服务器未使用steamid来判断玩家权限,则可以修改admin.sma,让其在client_connect里判断玩家权限,这样可以更早的完成玩家权限设置。
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表