Hejter
xor ebx, ebx
- Сообщения
- 1,759
- Реакции
- 393
Не создает больше 1 ящика, точнее записывается в конфиг всего лишь одна строка.
Каждую новую карту загружаю конфиг.
PHP:
public Action:Command_Create(client, args)
{
if (!client || !IsClientInGame(client))
{
ReplyToCommand(client, "ERROR: You can't use that command while not in game!");
return Plugin_Handled;
}
decl Float:pos[3];
if (kv_cfg != INVALID_HANDLE && GetPlayerEye(client, pos))
{
pos[2] += 30.0;
KvJumpToKey(kv_cfg, g_cMap, true);
{
KvGotoFirstSubKey(kv_cfg);
KvSetVector(kv_cfg, "crate", pos);
}
KvRewind(kv_cfg);
KeyValuesToFile(kv_cfg, g_cfg_file);
PrintToChat(client, "%s: %d:%d:%d", "Ящик создан", pos[0], pos[1], pos[2]);
}
else
{
PrintToChat(client, "%s", "Произошла ошибка.");
}
return Plugin_Handled;
}
Каждую новую карту загружаю конфиг.
PHP:
LoadCfg()
{
if (kv_cfg == INVALID_HANDLE)
{
kv_cfg = CreateKeyValues("Crates");
if (!FileToKeyValues(kv_cfg, g_cfg_file))
{
CloseHandle(kv_cfg);
kv_cfg = INVALID_HANDLE;
ThrowError("Could not parse %s", g_cfg_file);
}
}
if (KvJumpToKey(kv_cfg, g_cMap, false))
{
KvGotoFirstSubKey(kv_cfg);
do
{
KvGetVector(kv_cfg, "crate", g_crate);
}
while (KvGotoNextKey(kv_cfg))
}
else
{
}
KvRewind(kv_cfg);
}