Короче.. я как бы начал, и не закончил.. потому что нефига не получается.. вернее частично получилось!
Когда игрок заходит на сервер ему меняет ник: pName + [STEAM], потом я пытался поставить еще чек на infochanged,
и тут началось, когда игрок сам меняет ник, замыкается какой-то цикл, ник начинает менятся сам по себе... в общем вот говнокод, допиливайте..
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
new pName[13]
public plugin_init()
{
register_plugin("sorns", "1.0beta", "aux")
}
/*
public client_connect(id)
{
if(!is_user_steam(id))
return
new pname = get_user_name(id, nick, charsmax(nick))
client_cmd(id, "name ^"%s [%s]^"", pname, "STEAM")
return
}
public client_authorized(id)
{
if(!is_user_steam(id))
return
new pname = get_user_name(id, nick, charsmax(nick))
client_cmd(id, "name ^"%s [%s]^"", pname, "STEAM")
return
}
*/
public prefix_nickname(id)
{
get_user_name(id, pName, charsmax(pName))
if(equal(pName, "[STEAM]", 1))
return PLUGIN_HANDLED
if(is_user_steam(id) && is_user_alive(id))
client_cmd(id, "name ^"%s [%s]^"", pName, "STEAM")
return PLUGIN_HANDLED
}
public client_putinserver()
{
set_task(5.0, "prefix_nickname")
}
public client_infochanged(id)
{
get_user_name(id, pName, charsmax(pName))
if(equal(pName, "STEAM", 1))
return PLUGIN_HANDLED
if(is_user_steam(id) && is_user_alive(id))
client_cmd(id, "name ^"%s [%s]^"", pName, "STEAM")
return PLUGIN_HANDLED
}
/* START OF STOCK */
stock bool:is_user_steam(id)
{
static dp_pointer
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id)
server_exec()
return (get_pcvar_num(dp_pointer) == 2) ? true : false
}
return false
}
/* FINISH OF STOCK */
Отредактировал: zippel, - 17.10.2013, 22:14