Kruzi
Участник
- Сообщения
- 153
- Реакции
- 20
Когда кто-то заходит пишет что он подключается только в том случае, если он входит в статистику rankme. Как можно сделать чтобы писало что игрок, который не входит в статистику заходит на сервер первый раз?
Сам долго мучался, так и ничего не получилось.
CPrintToChatAll("Игрок \x03%s \x01заходит на сервер первый раз. Поприветствуем его! :)",sClientName);
C-подобный:
public OnLibraryAdded(const String:name[])
{
if (StrEqual(name, "rankme"))
{
LogMessage("RankMe Loaded. Plugin is working.");
}
}
public OnLibraryRemoved(const String:name[])
{
if (StrEqual(name, "rankme"))
{
LogError("RankMe Unloaded. Plugin won't work.");
}
}
public Action:RankMe_OnPlayerLoaded(client)
{
if(!g_bAnnounceConnect && !g_bAnnounceTopConnect)
return Plugin_Handled;
RankMe_GetRank(client,RankConnectCallback);
return Plugin_Continue;
}
public RankConnectCallback(client, rank, any:data)
{
g_aPointsOnConnect[client] = RankMe_GetPoints(client);
g_aRankOnConnect[client] = rank;
new String:sClientName[MAX_NAME_LENGTH];
GetClientName(client,sClientName,sizeof(sClientName));
if(g_bAnnounceConnect)
{
if(g_bAnnounceConnectCenter)
{
PrintCenterTextAll("%t","PlayerJoinedCenterHint",sClientName,g_aRankOnConnect[client],g_aPointsOnConnect[client]);
}
if(g_bAnnounceConnectChat)
{
CPrintToChatAll("*{lightgreen}%s\x01*\x0B [Ранк \x05%d\x0B : Очков \x05%d\x0B] \x08подключается.",sClientName,g_aRankOnConnect[client],g_aPointsOnConnect[client]);
}
if(g_bAnnounceConnectHint)
{
PrintHintTextToAll("%t","PlayerJoinedCenterHint",sClientName,g_aRankOnConnect[client],g_aPointsOnConnect[client]);
}
}
if(g_bAnnounceTopConnect && rank <= g_AnnounceTopPosConnect)
{
if(g_bAnnounceTopConnectCenter)
{
PrintCenterTextAll("%t","TopPlayerJoinedCenterHint",g_AnnounceTopPosConnect,sClientName,g_aRankOnConnect[client]);
}
if(g_bAnnounceTopConnectChat)
{
CPrintToChatAll("[\x0ETop{green}%d\x01] \x0Eигрок {lightgreen}%s{default} \x0Eподключился. [Ранк {lightgreen}%d\x0E]",g_AnnounceTopPosConnect,sClientName,g_aRankOnConnect[client]);
}
if(g_bAnnounceTopConnectHint)
{
PrintHintTextToAll("%t","TopPlayerJoinedCenterHint",g_AnnounceTopPosConnect,sClientName,g_aRankOnConnect[client]);
}
}
}
public OnClientDisconnect(client)
{
if(!g_bAnnounceDisconnect)
return;
new String:sName[MAX_NAME_LENGTH];
GetClientName(client,sName,MAX_NAME_LENGTH);
strcopy(g_sBufferClientName[client],MAX_NAME_LENGTH,sName);
g_aPointsOnDisconnect[client] = RankMe_GetPoints(client);
RankMe_GetRank(client,RankDisconnectCallback);
}
public RankDisconnectCallback(client, rank, any:data)
{
if(g_bAnnounceDisconnect)
{
CPrintToChatAll("Игрок \x03%s \x01остоединился. Надеемся он еще вернётся",g_sBufferClientName[client]);
}
return;
}
public Action:player_connect(Handle:event, const String:name[], bool:silent)
{
if (!GetConVarBool(msg_player_connect)) return Plugin_Handled;
return Plugin_Continue;
}
public Action:player_disconnect(Handle:event, const String:name[], bool:silent)
{
if (!GetConVarBool(msg_player_disconnect)) return Plugin_Handled;
return Plugin_Continue;
}
public Action:player_team(Handle:event, const String:name[], bool:silent)
{
if (!GetConVarBool(msg_player_team)) return Plugin_Handled;
return Plugin_Continue;
}