Hier die entsprechenden Codestücke aus dem Updater.
|
PHP-Quelltext
|
1
2
3
4
5
6
7
|
// Version info.
if (KvJumpToKey(kv, "Version"))
{
KvGetString(kv, "Latest", kvLatestVersion, sizeof(kvLatestVersion));
KvGetString(kv, "Previous", kvPrevVersion, sizeof(kvPrevVersion));
KvGoBack(kv);
}
|
|
PHP-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
// Check if we have the latest version.
decl String:sCurrentVersion[16], String:sFilename[64];
GetPluginInfo(hPlugin, PlInfo_Version, sCurrentVersion, sizeof(sCurrentVersion));
if (!StrEqual(sCurrentVersion, kvLatestVersion))
{
decl String:sName[64];
GetPluginFilename(hPlugin, sFilename, sizeof(sFilename));
GetPluginInfo(hPlugin, PlInfo_Name, sName, sizeof(sName));
Updater_Log("Update available for "%s" (%s). Current: %s - Latest: %s", sName, sFilename, sCurrentVersion, kvLatestVersion);
// .....
|
Hier zum selber probieren
|
PHP-Quelltext
|
1
2
3
4
5
6
7
8
9
|
new String:val[64];
new Handle:kv = CreateKeyValues("Updater");
KvJumpToKey(kv, "Information", true);
KvSetFloat(kv, "LatestVersion", 0.1);
KvGetString(kv, "LatestVersion", val, sizeof(val), "FAILED!");
CloseHandle(kv);
PrintToServer("KvVersion: %s", val);
|
Ergebnis
|
Quellcode
|
1
|
KvVersion: 0.100000
|
Der Typ in einer Keyvalues Datei wird wohl dynamisch erkannt, daher passiert das selbe wie oben.
Tony wollte eigentlich mal auf den SMC-Parser umsteigen, aber wie es aussieht ist er derzeit inaktiv.