KeyValues
|
|
Darkeneez
|
Дата: Вторник, 16.04.2013, 09:48:06 | Сообщение # 1 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Код public Action:test(client, args) { new String:sFile[PLATFORM_MAX_PATH]; BuildPath(Path_SM, sFile, sizeof(sFile), "configs/zombiemoney/zombiemoney.cfg"); new String:client_model[256]; client_model[client] = GetClientModel(client, client_model, sizeof(client_model)); if (FileExists(sFile)) { new Handle:kv = CreateKeyValues("Settings"); FileToKeyValues(kv, sFile); if (KvJumpToKey(kv, client_model, false)) { new a = KvGetNum(kv, NULL_STRING, 100); PrintToChat(client,"Все ок %d", a); } else { PrintToChat(client, "Ключа нет "); } CloseHandle(kv); } }
Такая ситуация, независимо от того смог ли плагин KvJumpToKey или нет, он пишет "Все ок 0". А должен при отстутствии ключа писать "Ключа нет"
Сообщение отредактировал Darkeneez - Вторник, 16.04.2013, 10:43:30 |
|
| |
Scarface_slv
|
Дата: Вторник, 16.04.2013, 14:11:15 | Сообщение # 2 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
попробуй заменить строку client_model[client] = GetClientModel(client, client_model, sizeof(client_model)); на GetClientModel(client, client_model, sizeof(client_model)); и if (KvJumpToKey(kv, client_model, false)) на if (KvJumpToKey(kv, client_model))
Сообщение отредактировал Scarface_slv - Вторник, 16.04.2013, 14:31:35 |
|
| |
Darkeneez
|
Дата: Вторник, 16.04.2013, 14:42:11 | Сообщение # 3 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Теперь пишет ключа нет даже если модель и ключ совпадают. Попробую немного помучится. Файл выглядит так. "Settings" { "models/player/t_guerilla.mdl" "100" }
|
|
| |
Scarface_slv
|
Дата: Вторник, 16.04.2013, 16:31:36 | Сообщение # 4 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Делай так Код "Settings" { "models/player/t_guerilla.mdl" { "num" "100" } } и вместо new a = KvGetNum(kv, NULL_STRING, 100); делаешь так new a = KvGetNum(kv, "num", -1);
Добавлено (16.04.2013, 16:31:22) --------------------------------------------- Можно еще так, может сработает.. (не уверен) Код .... new String:num[10]; if (KvJumpToKey(kv, "Models")) { KvGetString(kv, client_model, num, 256, "-1"); new a = StringToInt(num); if(a != -1) PrintToChatAll("%d", a); else PrintToChatAll("модель не найдена"); } .... и вид файла Код "Settings" { "Models" { "models/player/t_guerilla.mdl" "100" "models/player/ct.mdl" "100" "models/player/spec.mdl" "100" } }
Сообщение отредактировал Scarface_slv - Вторник, 16.04.2013, 16:39:17 |
|
| |
Darkeneez
|
Дата: Суббота, 20.04.2013, 15:12:30 | Сообщение # 5 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Не работает. И это тоже
Код new String:num[10]; if (KvJumpToKey(kv, "Models")) { KvGetString(kv, client_model, num, 256, "-1"); new a = KvGetNum(kv, num, 300); PrintToChatAll("%d", a); }
|
|
| |
Scarface_slv
|
Дата: Суббота, 20.04.2013, 15:25:45 | Сообщение # 6 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Я разве давал такой пример?
|
|
| |
Darkeneez
|
Дата: Суббота, 20.04.2013, 15:30:45 | Сообщение # 7 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Это уже я попробовал когда проверил на работоспособность код двумя постами выше.
|
|
| |
devim13
|
Дата: Суббота, 20.04.2013, 15:46:09 | Сообщение # 8 |
|
Сообщений: 8
Репутация: 0 [ +/- ]
|
|
Так попробуй Код public Action:test(client, args) { new String:sFile[PLATFORM_MAX_PATH]; BuildPath(Path_SM, sFile, sizeof(sFile), "configs/zombiemoney/zombiemoney.cfg"); new String:client_model[256]; GetClientModel(client, client_model, sizeof(client_model)); if (FileExists(sFile)) { new a; new Handle:kv = CreateKeyValues("Settings"); FileToKeyValues(kv, sFile); if ((a = KvGetNum(kv, client_model)) != -1) { PrintToChat(client,"Всё ок %d", a); } else { PrintToChat(client, "Ключа нет"); } CloseHandle(kv); } }
Сообщение отредактировал devim13 - Суббота, 20.04.2013, 15:56:57 |
|
| |
Scarface_slv
|
Дата: Суббота, 20.04.2013, 15:49:53 | Сообщение # 9 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Может быть он не может получить из за символов "/"
|
|
| |
Darkeneez
|
Дата: Суббота, 20.04.2013, 15:58:02 | Сообщение # 10 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Может, но это тупо =/
|
|
| |
Scarface_slv
|
Дата: Суббота, 20.04.2013, 16:05:34 | Сообщение # 11 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Можно сделать так, как вариант. и файл должен выглядеть так Код "Settings" { "t_guerilla.mdl" "100" "ct_guerilla.mdl" "200" "t_guerilla4.mdl" "50" }
Гости не могут скачивать файлы
|
Сообщение отредактировал Scarface_slv - Суббота, 20.04.2013, 18:50:35 |
|
| |
devim13
|
Дата: Суббота, 20.04.2013, 16:08:53 | Сообщение # 12 |
|
Сообщений: 8
Репутация: 0 [ +/- ]
|
|
Смысл использовать KvGetString, если там только цифровые значения?
|
|
| |
Darkeneez
|
Дата: Суббота, 20.04.2013, 16:17:00 | Сообщение # 13 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Scarface_slv, вроде работает.
|
|
| |
Scarface_slv
|
Дата: Суббота, 20.04.2013, 16:17:27 | Сообщение # 14 |
|
Сообщений: 737
Репутация: 61 [ +/- ]
|
|
Переделал
Сообщение отредактировал Scarface_slv - Суббота, 20.04.2013, 18:53:29 |
|
| |
Darkeneez
|
Дата: Суббота, 20.04.2013, 16:26:43 | Сообщение # 15 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Все работает всем спасибо.Добавлено (20.04.2013, 16:26:43) --------------------------------------------- ReplaceString
Если не трудно можешь расжувать?
|
|
| |