Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Dodawanie monet dla gracza offline


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 mordoryjacz

    Profesjonalista

  • Użytkownik

Reputacja: 24
Życzliwy

  • Postów:171
Offline

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

  • +
  • -
  • 0

#2 Boski Z Polski

    Profesjonalista

  • Użytkownik

Reputacja: 61
Pomocny

  • Postów:183
  • Steam:steam
  • Imię:Olgierd
  • Lokalizacja:Leszno
Offline

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żytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych