求助,client_putinserver (id)与client_connect(id)的区别?(已解决)
本帖最后由 cityhonghu 于 2009-9-25 06:45 编辑(已解决)
如题。
1。这2个函数具体应用区别是?
我的理解是client_putinserver ( id )为已经选择队伍的玩家,M6的玩家不算。
client_connect(id)为正在连接进入服务器的玩家
2。对于这2个函数,其对应的函数都是client_disconnect(id)? client_putinserver - 玩家成功进入服务器.
client_connect - 玩家连接服务器.
client_disconnect - 玩家断开连接. 楼上说的不错。不过有一点要注意,通过我观察,如果玩家没有成功进入服务器,玩家中连接过程断开连接,好像是不会触发client_disconnect事件的。 明白了。
还有一点是,对于判断权限的时候(get_user_flags(id)),是不是要用client_putinserver ( id )才可以?
在玩家连接服务器中的时候能够正确获取权限吗? 是这样的 玩家连接过程中会依次产生这三个事件:
client_connect(id)
client_authorized(id)
client_putinserver(id)
而权限一般是在client_authorized事件中赋予的(查看admin.sma就知道了),所以,权限判断在client_connect是无效的,至少要在client_authorized中(在client_authorized中判断的话,插件在plugins.ini中的加载位置必须在admin.amxx之后)。 本帖最后由 cityhonghu 于 2009-9-25 06:44 编辑
谢谢3位。这个问题明白了。:victory: client_connect不能獲取權限應該是因為用戶還沒傳送個人資料吧?.? 主要原因是admin.sma中是在client_authorized(id)设置玩家权限的。当然,这跟client_connect中还未获取玩家steamid有关。如果你的服务器未使用steamid来判断玩家权限,则可以修改admin.sma,让其在client_connect里判断玩家权限,这样可以更早的完成玩家权限设置。
页:
[1]