MeDestroyer
|
Дата: Вторник, 31.03.2015, 18:56:23 | Сообщение # 1 |
|
Сообщений: 55
Репутация: -1 [ +/- ]
|
|
Когда кто-то заходит пишет что он подключается только в том случае, если он входит в статистику rankme. Как можно сделать чтобы писало что игрок, который не входит в статистику заходит на сервер первый раз? Цитата CPrintToChatAll("Игрок \x03%s \x01заходит на сервер первый раз. Поприветствуем его! :)",sClientName); Код 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; } Сам долго мучался, так и ничего не получилось.
|
|
| |
infodanya
|
Дата: Среда, 01.04.2015, 18:34:01 | Сообщение # 2 |
|
Сообщений: 10
Репутация: -1 [ +/- ]
|
|
А зачем ты его подключаешь к RankMe? Вот он и пишет тебе через ранг.Добавлено (01.04.2015, 18:34:01) --------------------------------------------- Это nahal 2 АКК с телефона
|
|
| |
MeDestroyer
|
Дата: Среда, 01.04.2015, 20:55:21 | Сообщение # 3 |
|
Сообщений: 55
Репутация: -1 [ +/- ]
|
|
Nahal, Потому что мне так нужно. При коннекте показывает какой ранг и сколько поинтов, при коннекте випа еще и показывает в центре... В общем я так думаю оно как-то берёт Код public Action:RankMe_OnPlayerLoaded(client) { if(!g_bAnnounceConnect && !g_bAnnounceTopConnect) return Plugin_Handled;
RankMe_GetRank(client,RankConnectCallback); return Plugin_Continue; } и проверяет есть ли игрок в статистике, если нет то плагин не работает. Так вот можно же как-то сделать так, чтобы писало сообщение в том случае если проверка не удалась... Мне трудно объяснить.
|
|
| |
iEx
|
Дата: Среда, 01.04.2015, 21:13:19 | Сообщение # 4 |
|
Сообщений: 304
Репутация: 23 [ +/- ]
|
|
Тут просто идет отсылка в базу данных,надо делать не на эвенте загрузки игрока,а к пример когда он выбрал команду или ток присоеденился и + таймер,Ну или чтото в этом духе а там уже выполнять проверки...
|
|
| |