nVault
► Покажи скъсения текст
1. Добавяме нужната библиотека.
2. Добавяме глобална променлива, която ще държи съхранителя на сейфа.
3. В plugin_init() отваряме сейфа и му задаваме някакво име. Това е името на файла, който ще бъде запазаен в по-горепосочената папката.
4. Създаваме функция, която ще запазва и взима данните от сейфа. В случая ще запазваме убийствата и умиранията на играча по никнейм.
5. Когато играчът напусне сървъра, запазваме данните му, а когато влезне - взимаме ги от сейфа.
6. В plugin_end() затваряме сейфа. Също така, тъй като искаме да запазим убийствата и умиранията само до края на картата, а не завинаги, нужно е да изтрием данните от сейфа в края на картата. Ако искате да ги запазите завинаги - просто не добавяйте реда съдържащ функцията за изтриване (nvault_prune).
Код за потвърждение: Избери целия код
#include <nvault>
Код за потвърждение: Избери целия код
new g_iVault
Код за потвърждение: Избери целия код
g_iVault = nvault_open("Ime")
Код за потвърждение: Избери целия код
UseVault(id, iType)
{
new szName[32], szData[16]
get_user_name(id, szName, charsmax(szName))
switch(iType)
{
case 0:
{
formatex(szData, charsmax(szData), "%i %i", get_user_frags(id), cs_get_user_deaths(id))
nvault_set(g_iVault, szName, szData)
}
case 1:
{
nvault_get(g_iVault, szName, szData, charsmax(szData))
new szArg[2][8]
parse(szData, szArg[0], charsmax(szArg[]), szArg[1], charsmax(szArg[]))
set_user_frags(id, str_to_num(szArg[0]))
cs_set_user_deaths(id, str_to_num(szArg[1]))
}
}
}
Код за потвърждение: Избери целия код
public client_disconnect(id)
UseVault(id, 0)
public client_connect(id)
UseVault(id, 1)
Код за потвърждение: Избери целия код
public plugin_end()
{
nvault_close(g_iVault)
nvault_prune(g_iVault, 0, get_systime() + 1)
}
fVault
► Покажи скъсения текст
1. Добавяме нужната библиотека.
2. Добавяме глобална променлива, която ще държи името на сейфа. Това е името на файла, който ще бъде запазаен в по-горепосочената папката.
3. Създаваме функция, която ще запазва и взима данните от сейфа. В случая ще запазваме убийствата и умиранията на играча по никнейм.
4. Когато играчът напусне сървъра, запазваме данните му, а когато влезне - взимаме ги от сейфа.
5. Тъй като искаме да запазим убийствата и умиранията само до края на картата, а не завинаги, нужно е да изтрием данните от сейфа в края на картата. Ако искате да ги запазите завинаги - просто не добавяйте реда съдържащ функцията за изтриване (fvault_clear).
Код за потвърждение: Избери целия код
#include <fvault>
Код за потвърждение: Избери целия код
new const g_szVault[] = "Ime"
Код за потвърждение: Избери целия код
UseVault(id, iType)
{
new szName[32], szData[16]
get_user_name(id, szName, charsmax(szName))
switch(iType)
{
case 0:
{
formatex(szData, charsmax(szData), "%i %i", get_user_frags(id), cs_get_user_deaths(id))
fvault_set_data(g_szVault, szName, szData)
}
case 1:
{
fvault_get_data(g_szVault, szName, szData, charsmax(szData))
new szArg[2][8]
parse(szData, szArg[0], charsmax(szArg[]), szArg[1], charsmax(szArg[]))
set_user_frags(id, str_to_num(szArg[0]))
cs_set_user_deaths(id, str_to_num(szArg[1]))
}
}
}
Код за потвърждение: Избери целия код
public client_disconnect(id)
UseVault(id, 0)
public client_connect(id)
UseVault(id, 1)
Код за потвърждение: Избери целия код
public plugin_end()
fvault_clear(g_szVault)