Szukam pluginu ktory dodaje monety dla gracza ktorego nie ma na serwerze
zapis monet jest na nvault
Użytkownik mordoryjacz edytował ten post 23.12.2022 12:48
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 23.12.2022 12:42
Szukam pluginu ktory dodaje monety dla gracza ktorego nie ma na serwerze
zapis monet jest na nvault
Użytkownik mordoryjacz edytował ten post 23.12.2022 12:48
Napisano 23.12.2022 18:18
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <nvault>
#include <nvault_util>
#define PLUGIN "Monety, gdy nie ma na serwerze"
#define VERSION "1.0.0"
#define AUTHOR "Boski Z Polski"
native pobierz_monety(id);
native ustaw_monety(id, wartosc);
new nazwa_pliku[] = "aaa"
new vault;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_concmd("dodaj_monety","dodaj_monety", ADMIN_IMMUNITY, "<nazwa gracza> <ilosc monet>");
vault = nvault_open(nazwa_pliku);
}
public plugin_end()
{
nvault_close(vault);
}
public dodaj_monety(id, level, cid)
{
if(!cmd_access(id, level, cid, 3))
{
return PLUGIN_HANDLED;
}
new nazwa_wyszukiwanego[64]
read_argv(1, nazwa_wyszukiwanego,charsmax(nazwa_wyszukiwanego))
new ilosc_dodanych_monet[64]
read_argv(2, ilosc_dodanych_monet,charsmax(ilosc_dodanych_monet))
if(str_to_num(ilosc_dodanych_monet) <= 0 || !is_str_num(ilosc_dodanych_monet))
{
return PLUGIN_HANDLED;
}
new znalezione;
for(new i = 0;i < 32; i++)
{
if(!is_user_connected(i) || is_user_hltv(i))
{
continue;
}
new name[33];
get_user_name(i, name, charsmax(name)); //jesli chcesz zeby bylo na sid to zmieniasz na get_user_authid w zaleznosci od formy zapisu
if(equal(nazwa_wyszukiwanego, name))
{
znalezione = true;
ColorChat(id, TEAM_COLOR, "^x04[Monety]^x03 Dodales^x04 %s^x03 az^x04 %s monet!", nazwa_wyszukiwanego, ilosc_dodanych_monet);
ustaw_monety(i, pobierz_monety(i) + str_to_num(ilosc_dodanych_monet))
return PLUGIN_CONTINUE;
}
}
new u_vault = nvault_util_open(nazwa_pliku); //plik nvault;
new iPos;
new iTimeStamp;
new iCount = nvault_util_count(u_vault);
new szKey[64];
new szVal[64];
for(new iCurrent = 1, n = 1; iCurrent <= iCount ;iCurrent++ )
{
iPos = nvault_util_read( u_vault , iPos , szKey , charsmax( szKey ) , szVal , charsmax( szVal ) , iTimeStamp );
n += iCurrent;
// teraz wszystko zalezy w jaki sposob masz zapisane dane w oryginalnym pluginie od monet
// ja mam zapisane w ^"%s^" na nick
new g_nick[33];
new g_monety[33];
parse(szKey, g_nick, charsmax(g_nick));
replace_all(g_nick, charsmax(g_nick), "^"", " ");
parse(szVal, g_monety, charsmax(g_monety));
replace_all(g_monety, charsmax(g_monety), "^"", " ");
if(equal(nazwa_wyszukiwanego, g_nick))
{
new nick[64];
formatex(nick, charsmax(nick), "^"%s^"", nazwa_wyszukiwanego);
new monety[64];
formatex(monety, charsmax(monety), "%i", str_to_num(g_monety) + str_to_num(ilosc_dodanych_monet));
nvault_set(vault, nick, monety);
znalezione = true;
break;
}
}
if(znalezione)
{
ColorChat(id, TEAM_COLOR, "^x04[Monety]^x03 Dodales^x04 %s^x03 az^x04 %s monet!", nazwa_wyszukiwanego, ilosc_dodanych_monet);
}
else
{
ColorChat(id, TEAM_COLOR, "^x04[Monety]^x03 Nie znaleziono gracza^x04 %s^x03 Poczekaj na zmiane mapy!", nazwa_wyszukiwanego);
}
return PLUGIN_HANDLED;
}
Odczyt danych musi być taki sam jak odczyt z silnika od monet. Zapis jest na nick oraz dodatkowo, tu masz linka do inc nvault_util: Dokumentacja AMXX.pl: nvault_util.inc
Użytkownik Boski Z Polski edytował ten post 23.12.2022 18:23
0 użytkowników, 0 gości, 0 anonimowych