Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
RankMe connect anousner помощь.
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 [ +/- ]
Тут просто идет отсылка в базу данных,надо делать не на эвенте загрузки игрока,а к пример когда он выбрал команду или ток присоеденился и + таймер,Ну или чтото в этом духе
а там уже выполнять проверки...
 
  • Страница 1 из 1
  • 1
Поиск: