KeyValues
|
|
Scarface_slv
|
Дата: Вторник, 28.08.2012, 01:13:22 | Сообщение # 1 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
в KeyValues есть ключ по которому находиться остальная информация например стим ид но можно ли если у игрока не подходит стим ид проверить еще и ип то есть так: Code "STEAM_0:0:12345678" { "name" "Noobik" "ip" "93.157.254.133" } вот так например записано в текстовике и если стим ид не подходит проверяет на ип в этом же стим иде, и так далее пока все не пройдет, возможно?
|
|
| |
_wS_
|
Дата: Вторник, 28.08.2012, 01:22:54 | Сообщение # 2 |
|
Не делай так, просто создавай IP в качестве ключа, как ты делаешь со steamid:
Code "mygroup" { "STEAM_0:0:12345678" { "name" "Noobik" } "93.157.254.133" { "name" "Noobik" } } Code if (!KvJumpToKey(kv, "steamid")) { if (!KvJumpToKey(kv, "ip")) { // этого "steamid" и "ip" нет в группе return; } } // запись найдена, что-то делаем и потом: KvRewind(kv);
|
|
| |
Scarface_slv
|
Дата: Четверг, 30.08.2012, 15:36:07 | Сообщение # 3 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
ок спасибо=)
Добавлено (30.08.2012, 14:00:24) --------------------------------------------- У меня вопрос, если сервер зависнет выключиться вылетит, можно как то успеть сохранить в текстовик инфу командой KeyValuesToFile?
Сообщение отредактировал Scarface_slv - Четверг, 30.08.2012, 16:16:29 |
|
| |
_wS_
|
Дата: Четверг, 30.08.2012, 16:49:11 | Сообщение # 4 |
|
Ну события OnServerCrash нету, используй другие, список ты знаешь где найти. Наверно не получится.
|
|
| |
Scarface_slv
|
Дата: Среда, 05.09.2012, 13:17:49 | Сообщение # 5 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
плохо попробовал с OnPluginEnd() не получилось)
Добавлено (05.09.2012, 13:17:49) --------------------------------------------- не могу отредактировать c keyvalues clients.txt от mani admin все потому что там так: Code "clients.txt" { "version" "1" "players" { "Scarface" { "name" "Scarface" "ip" "00.000.000.000" } } } Неужели никак не получить хотя бы "Scarface"? или может есть другой способ удаления от туда зная ник игрока
Сообщение отредактировал Scarface_slv - Среда, 05.09.2012, 13:19:46 |
|
| |
_wS_
|
Дата: Среда, 05.09.2012, 13:50:38 | Сообщение # 6 |
|
cstrike/clients.txt :
Code public OnPluginStart() { new Handle:kv = CreateKeyValues("clients"); if (!FileToKeyValues(kv, "clients.txt")) { PrintToServer("1"); return; } if (KvJumpToKey(kv, "players")) { if (KvJumpToKey(kv, "Scarface")) { decl String:ip[35]; KvGetString(kv, "ip", ip, 35); decl String:section[35]; section[0] = '\0'; KvGetSectionName(kv, section, 35); PrintToServer("section: \"%s\" | ip: \"%s\"", section, ip); return; } } PrintToServer("2"); }
|
|
| |
Scarface_slv
|
Дата: Среда, 05.09.2012, 14:18:42 | Сообщение # 7 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Аааа я так же делал, у меня ошибка вышла и я решил что так нельзя=) Спасибо снова)
|
|
| |
Naykon
|
Дата: Пятница, 05.10.2012, 16:27:00 | Сообщение # 8 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
Code public Action:Command_Menu(admin, args) { if (admin > 0) { new String:SteamID[25]; GetClientAuthString(admin, SteamID, 25) Adminkv = CreateKeyValues("Rank_1"); if (Adminkv != INVALID_HANDLE) { if (!FileToKeyValues(Adminkv, "Admins/Rank_1.txt")) { } else if (KvJumpToKey(Adminkv, SteamID)) { Admin(admin); Rank[admin] = 1; } else { CloseHandle(Adminkv); } } Adminkv1 = CreateKeyValues("Rank_2"); if (Adminkv1 != INVALID_HANDLE) { if (!FileToKeyValues(Adminkv1, "Admins/Rank_2.txt")) { } else if (KvJumpToKey(Adminkv1, SteamID)) { Admin(admin); Rank[admin] = 2; } else { CloseHandle(Adminkv1); } } Adminkv2 = CreateKeyValues("Rank_3"); if (Adminkv2 != INVALID_HANDLE) { if (!FileToKeyValues(Adminkv2, "Admins/Rank_3.txt")) { } else if (KvJumpToKey(Adminkv2, SteamID)) { Admin(admin); Rank[admin] = 3; } else { CloseHandle(Adminkv2); NoAdmin(admin); } } } }
Цель сделать так чтобы игрок проходил проверку по порядку с Rank_1.txt до Rank_3.txt... но заметил такую закономерность когда СТИМ ИГРОКА НАХОДИТЬСЯ во всех трех txt. Выбирается последний Rank_3, а Rank_1 и 2 не видит(((
|
|
| |