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

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

  • Страница 1 из 1
  • 1
Перезаписывает KeyValue
BarD Дата: Воскресенье, 16.02.2014, 03:37:20 | Сообщение # 1
Сообщений: 943
Репутация: 137 [ +/- ]
У меня есть код:
Код
#include <sourcemod>
#include <cstrike>
#include <sdktools>

new g_SteamID[MAXPLAYERS +1][30];
new Handle:g_Kv;

public OnPluginStart()  
{  
g_Kv = CreateKeyValues("ids");
FileToKeyValues(g_Kv, "cfg/doc.txt"); // Извлекаем наш файл
}

public OnClientPutInServer(client)  
{
GetClientAuthString(client, g_SteamID[client], 30); // Когда клиент заходит, получаем его айди

if (KvJumpToKey(g_Kv, g_SteamID[client], false)) //Если игрок есть в нашем файле, то пропускаем его
      {
      }   
else if (KvJumpToKey(g_Kv, g_SteamID[client], true)) // Если игрока нет в файле, то заносим его
     {
     // Код Код Код

     KeyValuesToFile(g_Kv, "cfg/doc.txt");// Сохраняем файл
     }

}

Он записывает айдишники всех, кто зашел на серв. Но айдишники автоматом перезаписываются, когда заходит новый человек. Как это исправить? Исправьте данный код, пожалуйста!

Вот содержание моего файла:
Код
"STEAM_0:0011001" // Айди, который перезаписывается
{
}

Добавлено (16.02.2014, 03:37:20)
---------------------------------------------
Ну, что, никто не знает?

 
_wS_ Дата: Воскресенье, 16.02.2014, 05:50:23 | Сообщение # 2
Код
public OnClientPutInServer(client)
{
     if (IsFakeClient(client) || !GetClientAuthString(client, g_SteamID[client], 30))
         return;

     KvRewind(g_Kv);

     // wtf
     if (!KvJumpToKey(g_Kv, g_SteamID[client], true))
         return;

     // 'Если игрок есть в нашем файле, то пропускаем его'
     if (KvGetNum(g_Kv, "indb") == 1)
         return;

     // 'заносим его'
     KvSetNum(g_Kv, "indb", 1);

     // Код Код Код

     KvRewind(g_Kv);
     KeyValuesToFile(g_Kv, "cfg/doc.txt");
}

KeyValues = лаги (в этом случае).
 
sssw Дата: Воскресенье, 16.02.2014, 05:54:13 | Сообщение # 3
Сообщений: 123
Репутация: 14 [ +/- ]
Поэтому Valve сделали файлы переводов компилируемыми.
 
  • Страница 1 из 1
  • 1
Поиск: