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

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

  • Страница 1 из 1
  • 1
Native "KvJumpToKey" reported
IIPO100_HY6 Дата: Понедельник, 06.01.2014, 17:48:39 | Сообщение # 1
Сообщений: 10
Репутация: 1 [ +/- ]
Наконец я нуб разобрался с кей валюес но у меня осталась одна проблема: когда я запускаю сервак и захожу туда успешно получаю сообщение Игрок НИК[СТИМИД] присоединился к игре с КОЛИЧЕСТВОМ поинтами. Но если на серваке кто нибудь есть то я не получаю сообщение а в консоли чёто типа Native "KvJumpToKey" reported : invalid key value handle. Как быть? Вот код:
Код
new points[MAXPLAYERS+1];
new Handle:kv;
new String:g_SteamID[MAXPLAYERS+1][64];

public OnPluginStart()
{
kv = CreateKeyValues("wS_Group");

FileToKeyValues(kv, "cfg/stats.txt");
}

public OnPluginEnd()
{
KvRewind(kv);
SaveStats();
CloseHandle(kv);
}

public OnClientPutInServer(client)
{

if (client < 1 || IsFakeClient(client))
{
return;
}

GetClientAuthString(client, g_SteamID[client], 64 );

if (KvJumpToKey(kv, g_SteamID[client], false))
{
points[client] = KvGetNum(kv, "points");

CPrintToChatAll("{green}Игрок {olive}%N{green}[{olive}%s{green}] присоединился к игре с {olive}%d {green}поинтами!",client,g_SteamID[client],points[client]);
}
else
{
points[client] = 200;

KvJumpToKey(kv, g_SteamID[client], true)
KvSetNum(kv, "points", points[client]);

CPrintToChatAll("{green}Новый игрок {olive}%N{green}[{olive}%s{green}] присоединился к игре и получил %d поинтов!",client,g_SteamID[client],points[client]);

KvRewind(kv);

}

}

SaveStats()
{
  KeyValuesToFile(kv, "cfg/stats.txt");
}


Сообщение отредактировал IIPO100_HY6 - Понедельник, 06.01.2014, 17:50:17
 
_wS_ Дата: Понедельник, 06.01.2014, 18:12:59 | Сообщение # 2
Код
if (KvJumpToKey(kv, g_SteamID[client], false))
{
    points[client] = KvGetNum(kv, "points");
    KvRewind(kv);
 
IIPO100_HY6 Дата: Понедельник, 06.01.2014, 18:45:10 | Сообщение # 3
Сообщений: 10
Репутация: 1 [ +/- ]
Код
KvRewind(kv);

вставка этого не помогла (


Сообщение отредактировал IIPO100_HY6 - Понедельник, 06.01.2014, 18:46:11
 
ThRunningMan Дата: Вторник, 07.01.2014, 09:03:37 | Сообщение # 4
Сообщений: 140
Репутация: 12 [ +/- ]
создавай хендл в OnMapStart вместо OnPluginStart
если не проканет, то оставь т очто исправил и добавь еще раз new Handle:kv = CreateKeyValues("wS_Group");
в функцию OnClientPutInServer в самом начале вставь
 
IIPO100_HY6 Дата: Вторник, 07.01.2014, 11:54:14 | Сообщение # 5
Сообщений: 10
Репутация: 1 [ +/- ]
Не уверен
Код
new Handle:WelcomeTimers[MAXPLAYERS+1];

public OnClientPutInServer(client)
{
  if (client < 1 || IsFakeClient(client))
  {
   return;
  }
   
  WelcomeTimers[client] = CreateTimer(2.0, WelcomePlayer, client)
}

public Action:WelcomePlayer(Handle:timer, any:client)
{
  всё что было в ОнКлиентПутИнСервер
}


но вроде помогло
 
  • Страница 1 из 1
  • 1
Поиск: