| 
Sunday
 | 
Дата: Вторник, 13.11.2012, 00:51:39 | Сообщение # 1 |  
  
  |  
Сообщений: 186
 
Репутация: 24 [ +/- ]
 |   
 | 
Ребят, подскажите, что не правильно в скрипте, из за которого в лог выписываются такие ошибки? 
   лог:   Code    L 11/12/2012 - 14:13:20: SourceMod error session started   L 11/12/2012 - 14:13:20: Info (map "dm_killgardens_v3") (file "errors_20121112.log")   L 11/12/2012 - 14:13:20: [SM] Native "StartMessage" reported: Client 6 is not connected   L 11/12/2012 - 14:13:20: [SM] Displaying call stack trace for plugin " textrp.smx":   L 11/12/2012 - 14:13:20: [SM]   [0]  Line 108, textrp.sp::timer_strip()   L 11/12/2012 - 14:33:07: Error log file session closed.      
   Скрипт:   Code    #include <sourcemod>   #pragma semicolon 1 
   #define MAXTEXTCOLORS 100 
   new CountColors = 0;   new String:TextColors[MAXTEXTCOLORS][256]; 
   public OnPluginStart()   {      HookUserMessage(GetUserMessageId("TextMsg"), TextMsg, true);   } 
   public OnConfigsExecuted()   {      RefreshConfig();   } 
   stock RefreshConfig()   {      for (new X = 0; X < MAXTEXTCOLORS; X++)      {       TextColors[X] = "";      }      decl String:sPaths[PLATFORM_MAX_PATH];      BuildPath(Path_SM, sPaths, sizeof(sPaths),"configs/textrp.cfg");      new Handle:hFile = OpenFile(sPaths, "r");      new String:sBuffer[256];         CountColors = -1;      while (ReadFileLine(hFile, sBuffer, sizeof(sBuffer)))      {       TrimString(sBuffer);       if(!StrEqual(sBuffer,"",false))       {        ReplaceString(sBuffer, sizeof(sBuffer), "*", "\x08");        ReplaceString(sBuffer, sizeof(sBuffer), "&", "\x07");        CountColors++;        Format(TextColors[CountColors], sizeof(TextColors), "%s", sBuffer);        PrintToChatAll("\x01%s", sBuffer);       }      }      CloseHandle(hFile);   } 
   public Action:TextMsg(UserMsg:msg_id, Handle:bf, const players[], playersNum, bool:reliable, bool:init)   {      if(CountColors != -1)      {       if(reliable)       {        new String:buffer[256];        new Handle:pack;        BfReadString(bf, buffer, sizeof(buffer));        if(StrContains(buffer, "\x03[SM]") == 0)        {         CreateDataTimer(0.0, timer_strip, pack);         WritePackCell(pack, playersNum);         for(new i = 0; i < playersNum; i++)         {          WritePackCell(pack, players[i]);         }         WritePackString(pack, buffer);         ResetPack(pack);         return Plugin_Handled;        }       }      }      return Plugin_Continue;   } 
   public Action:timer_strip(Handle:timer, Handle:pack)   {      new playersNum = ReadPackCell(pack);      new players[playersNum];      for(new i = 0; i < playersNum; i++)      {       players[i] = ReadPackCell(pack);      }      new String:buffer[255];      ReadPackString(pack, buffer, sizeof(buffer));      new String:QuickFormat[255];      new ColorChoose = 0;      Format(QuickFormat, sizeof(QuickFormat), "%s", TextColors[ColorChoose]);      ReplaceStringEx(buffer, sizeof(buffer), "[SM]", QuickFormat);      new Handle:bf = StartMessage("SayText2", players, playersNum, USERMSG_RELIABLE|USERMSG_BLOCKHOOKS);      BfWriteByte(bf, -1);      BfWriteByte(bf, true);      BfWriteString(bf, buffer);      EndMessage();   }     
 
| 
Гости не могут скачивать файлы
 |   
 
 Сообщение отредактировал Sunday - Вторник, 13.11.2012, 16:53:38  | 
 
|   | 
 |    | 
| 
Scarface_slv
 | 
Дата: Вторник, 13.11.2012, 13:22:34 | Сообщение # 2 |  
  
  |  
Сообщений: 737
 
Репутация: 61 [ +/- ]
 |   
 | 
 написано что клиента нет на сервере в StartMessage   [SM] Native "StartMessage" reported: Client 6 is not connected 
 | 
 
|   | 
 |    | 
| 
Sunday
 | 
Дата: Вторник, 13.11.2012, 16:50:22 | Сообщение # 3 |  
  
  |  
Сообщений: 186
 
Репутация: 24 [ +/- ]
 |   
 | 
 да, я английский читабельно знаю... вопрос был в другом. Как решить эту проблему? 
 
 Сообщение отредактировал Sunday - Вторник, 13.11.2012, 16:53:02  | 
 
|   | 
 |    | 
| 
Scarface_slv
 | 
Дата: Вторник, 13.11.2012, 18:04:54 | Сообщение # 4 |  
  
  |  
Сообщений: 737
 
Репутация: 61 [ +/- ]
 |   
 | 
 ну сделай проверку, есть ли этот индекс на сервере или нет   if(IsClientInGame(client)) ..... 
 
 Сообщение отредактировал Scarface_slv - Вторник, 13.11.2012, 18:08:08  | 
 
|   | 
 |    | 
| 
Sunday
 | 
Дата: Вторник, 13.11.2012, 23:26:59 | Сообщение # 5 |  
  
  |  
Сообщений: 186
 
Репутация: 24 [ +/- ]
 |   
 | 
 не, так не получиться,, потому что скрипт то должен выводить всем, логики не будет, на клиента... 
 | 
 
|   | 
 |    | 
| 
Scarface_slv
 | 
Дата: Среда, 14.11.2012, 01:47:20 | Сообщение # 6 |  
  
  |  
Сообщений: 737
 
Репутация: 61 [ +/- ]
 |   
 | 
=) не понимаю этот плагин, че он делает? заменяет [SM] и [UMC] на че то другое?   И все равно помоему над сделать проверку тут:   Code    for(new i = 0; i < playersNum; i++)   {            if (IsClientInGame(i)) players[i] = ReadPackCell(pack);   }        Или жди WS может я не правильно подсказываю) а он подправит=) 
 
 Сообщение отредактировал Scarface_slv - Среда, 14.11.2012, 01:49:37  | 
 
|   | 
 |    |