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

sklep SMS na serwer 1.6


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

#1 MAGNET FRA

    Nie polecam

  • Zbanowany

Reputacja: 30
Życzliwy

  • Postów:493
  • Imię:Marek
  • Lokalizacja:tam gdzie ty
Offline

Napisano 28.10.2017 09:43

witajcie mam do was pytanie chce dodać na swoj server 

 

sklep SMS na serwer 1.6   i mam jedno pytanie do was  gdzie mam dodac np haslo do rcon ? Zeby dodawało vipa np ? bo nie moge tego poszukać  patrzyłem chyba juz prawie w kazdy  kod .  bo gdzies chyba musi byc kod zeby podać nazwe ftp i haslo ? zeby mogło dodac do rcon ? albo jestem taki tępy ze nie moge poszukać :D



#2 Ogen Dogen

    Czempion

  • Power User

Reputacja: 261
Wszechwidzący

  • Postów:837
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 28.10.2017 11:59

Jaki sklep ? Jakieś dodatkowe informacje ?

Jeżeli kupiłeś to pytaj autora.


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#3 heniu1111

    Ja zjadłem ciastko ^^

  • Power User

Reputacja: 149
Zaawansowany

  • Postów:568
  • GG:
  • Imię:heniu
  • Lokalizacja:zapomniałem
Offline

Napisano 28.10.2017 12:24

Pisz normalnie bo oczojebne to. 


  • +
  • -
  • 0

Zawsze służę pomocą, pomogę na tyle ile jestem wstanie  :)

 

Poradnik do instalacji AmxBans: https://www.youtube....h?v=fYq5iKQhVIM

 

Link do lekkiej "modyfikacji" AmxBans: https://amxx.pl/topi...ndpost&p=733955

 


#4 MAGNET FRA

    Nie polecam

  • Autor tematu
  • Zbanowany

Reputacja: 30
Życzliwy

  • Postów:493
  • Imię:Marek
  • Lokalizacja:tam gdzie ty
Offline

Napisano 28.10.2017 12:29

Jaki sklep ? Jakieś dodatkowe informacje ?

Jeżeli kupiłeś to pytaj autora.

dobra juz poradziłem sobie z tym . tylko takie pytanie gdzie popełniłem bład ze np jak wpisuje kod to nawet nie pokazuje sie bład ze niepoprawny kod został wpisany ?

/////////////////////////////////////////////
/// Konfiguracja Sklepu SMS by KrwioPijca ///
/////////////////////////////////////////////

sklep_strona "Turbo1Frag.pl" // Adres strony www  np. amxx.pl
sklep_podstrona "Turbo1Frag.pl/sklep2" // Adres podstron www np. sklep/sklep.php

sklep_host "host"
sklep_user "user4253_bany"
sklep_pass "haslo bazy"
sklep_db "user4253_bany"
sklep_table "sklep_by_KrwioPijca"

sklep_zapis "0" // 0-Nick 1-Authid 

sklep_api "cssetti" // Api sklepu 1s1k/zabijaka/cssetti/pukawka/mintshost/simpay/hostplay
sklep_api_key_1s1k "" // Api 1S1K
sklep_api_key_zabijaka "" // Api Zabijaka
sklep_api_key_cssetti "22046" // Api cssetti
sklep_api_key_pukawka "" // Api pukawka
sklep_api_key_mintshost "" // Api mintshost
sklep_api_tresc_simpay "" // Tresc SMS SimPay
sklep_api_key_simpay1 "" // Api key (krotszy)
sklep_api_key_simpay2 "" // Api Key (dluzszy)
sklep_api_key_simpay3 "" // ID Uslugi
sklep_api_tresc_microsms   "" // Tresc SMS
sklep_api_key_microsms1 "" // User ID
sklep_api_key_microsms2 "" // ID uslugi
sklep_api_key_hostplay "" // ID konta
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <fakemeta_util>
#include <colorchat>
#include <sqlx>
#include <sklep>
#include <sockets>
#include <cstrike>


#define PLUGIN "Sklep SMS"
#define VERSION "1.0"
#define AUTHOR "KrwioPijca"



new cvar_strona_skryptu
new strona_skryptu[50]
new cvar_adres_skryptu
new adres_skryptu[50]


#define ADMIN_FLAG_V (1<<21)
#define ADMIN_FLAG_W (1<<22)
#define ADMIN_FLAG_X (1<<23)

new Haslo_Rcon[64]
new Data[1]
new Komendy[2000],Komenda[500]

/////////////////////////

#define ilosc_uslug_bazy 20


#define sizeof(komendy_sms) 5
#define PREFIX	"^x03[^x04SKLEP^x03]^x01"
new komendy_sms[sizeof(komendy_sms)][]={"sklepsms","sms","sklep-sms","smsy","sklepik"}
new komenda_sms[30]

new Handle:g_hSqlTuple;

new Host[50] 	
new User[50] 
new Pass[50] 	
new DB[50] 	
new Table[50]

new cvar_Host
new cvar_User
new cvar_Pass
new cvar_DB
new cvar_Table



new cvar_zapis
new wybor_zapisu

new info_gracz[3][33][64]
new saldo[33]

new ilosc_wszystkich_uslug
new usluga_z_bazy[101]
new nazwy_wszystkich_uslug[101][50]


#define ilosc_sms_1s1k	 	16
#define ilosc_sms_simpay 	16
#define ilosc_sms_zabijaka 	10
#define ilosc_sms_cssetti 	12
#define ilosc_sms_pukawka	10
#define ilosc_sms_mintshost	10
#define ilosc_sms_microsms	15
#define ilosc_sms_hostplay	13
new koszt_sms_1s1k[ilosc_sms_1s1k][]={"1.23","2.46","3.69","4.92","6.15","7.38","8.61","9.84","11.07","12.30","13.53","17.22","19.68","23.37","24.60","30.25"}
new wartosci_sms_1s1k[ilosc_sms_1s1k]={1,2,3,4,5,6,7,8,9,10,11,14,16,19,20,25}
new tresc_sms_1s1k[]="SHOT"
new numer_sms_1s1k[ilosc_sms_1s1k]={7136,7255,7355,7455,7555,7636,77464,78464,7936,91055,91155,91455,91664,91955,92055,92555}

new koszt_sms_simpay[ilosc_sms_simpay][]={"1.23","2.46","3.69","4.92","6.15","7.38","8.61","9.84","11.07","12.30","13.53","17.22","19.68","23.37","24.60","30.25"}
new wartosci_sms_simpay[ilosc_sms_simpay]={1,2,3,4,5,6,7,8,9,10,11,14,16,19,20,25}
//new tresc_sms_simpay[]="Nie wysylac"
new numer_sms_simpay[ilosc_sms_simpay]={7136,7255,7355,7455,7555,7636,77464,78464,7936,91055,91155,91455,91664,91955,92055,92555}


new koszt_sms_zabijaka[ilosc_sms_zabijaka][]={"1.23","2.46","3.69","4.92","6.15","7.38","11.07","17.22","23.37","30.25"}
new wartosci_sms_zabijaka[ilosc_sms_zabijaka]={1,2,3,4,5,6,9,14,19,25}
new netto_sms_zabijaka[ilosc_sms_zabijaka]={1,2,3,4,5,6,9,14,19,25}
new tresc_sms_zabijaka[]="AG.ZABIJAKA"
new numer_sms_zabijaka[ilosc_sms_zabijaka]={71480,72480,73480,74480,75480,76480,79480,91400,91900,92550}
new wybrany_sms[33]

new koszt_sms_cssetti[ilosc_sms_cssetti][]={"1.23","2.46","3.69","4.92","6.15","7.38","8.61","9.84","11.07","17.22","23.37","30.25"}
new wartosci_sms_cssetti[ilosc_sms_cssetti]={1,2,3,4,5,6,7,8,9,14,19,25}
new tresc_sms_cssetti[]="DP CSSETTI"
new numer_sms_cssetti[ilosc_sms_cssetti]={71624,72624,73624,74624,75624,76624,77464,78464,79624,91455,91974,92574}

new koszt_sms_pukawka[ilosc_sms_pukawka][]={"1.23","2.46","3.69","4.92","6.15","7.38","11.07","17.22","23.37","30.25"}
new wartosci_sms_pukawka[ilosc_sms_pukawka]={1,2,3,4,5,6,9,14,17,25}
new tresc_sms_pukawka[]="pukawka"
new numer_sms_pukawka[ilosc_sms_pukawka]={71480,72480,73480,74480,75480,76480,79480,91400,91900,92550}

new koszt_sms_mintshost[ilosc_sms_mintshost][]={"1.23","2.46","3.69","4.92","6.15","7.38","11.07","17.22","23.37","30.25"}
new wartosci_sms_mintshost[ilosc_sms_mintshost]={1,2,3,4,6,7,9,14,19,25}
new tresc_sms_mintshost[]="SIM.MINTS"
new numer_sms_mintshost[ilosc_sms_mintshost]={7136,7255,7355,7455,7555,7636,7936,91455,91955,92555}

new koszt_sms_microsms[ilosc_sms_microsms][]={"1.23","2.46","3.69","4.92","6.15","7.38","9.84","11.07","12.30","13.53","17.22","19.68","23.37","24.60","30.25"}
new wartosci_sms_microsms[ilosc_sms_microsms]={1,2,3,4,5,6,7,9,10,11,14,16,19,20,25}
//new tresc_sms_microsms[]="Nie wysylac"
new numer_sms_microsms[ilosc_sms_microsms]={7136,7255,7355,7455,7555,7636,77464,7936,91055,91155,91455,91664,91955,92055,92555}

new koszt_sms_hostplay[ilosc_sms_hostplay][]={"1.23","2.46","3.69","4.92","6.15","7.38","11.07","12.30","13.53","17.22","23.37","24.60","30.25"}
new wartosci_sms_hostplay[ilosc_sms_hostplay]={1,2,3,4,5,6,9,10,11,14,19,20,25}
new tresc_sms_hostplay[]="HOSTPLAY"
new numer_sms_hostplay[ilosc_sms_hostplay]={7155,7255,7355,7455,7555,76660,7955,91055,91155,91455,91955,92055,92520}

new cvar_API
new nowe_api[20]
new API
new cvar_1s1k
new key_1s1k[41]
new cvar_simpay1
new cvar_simpay2
new cvar_simpay3
new cvar_simpay_key
new key_simpay1[41]
new key_simpay2[41]
new key_simpay3[41]
new key_simpay_key[41]
new cvar_zabijaka
new key_zabijaka[41]
new cvar_cssetti
new key_cssetti[41]
new cvar_pukawka
new key_pukawka[41]
new cvar_mintshost
new key_mintshost[41]
new cvar_hostplay
new key_hostplay[41]


new cvar_microsms_key

new cvar_microsms1
new cvar_microsms2
new key_microsms1[41]
new key_microsms2[41]
new key_microsms_key[41]

new cale_saldo[33]

new Forward_menu_sklep
new Forward_sklep_wlaczenie_uslugi

new iRet


new bool:ma_konto[33]


new Forward_dodanie_flag,Forward_zabranie_flag
new bool:aktywna_usluga[33]

new waluta[10]

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	for(new i;i<sizeof(komendy_sms);i++)
	{
		formatex(komenda_sms,28,"say /%s",komendy_sms[i])
		register_clcmd(komenda_sms, "Menu");
		formatex(komenda_sms,28,"say_team /%s",komendy_sms[i])
		register_clcmd(komenda_sms, "Menu");
	}
	register_concmd("amx_sklep_kasa", "cmd_daj_kase", ADMIN_RCON, "<cel> <kasa>")
	register_concmd("amx_sklep_say", "cmd_napisz", ADMIN_RCON, "<cel> <kasa>")
	register_clcmd("wpisz_otrzymany_kod", "Doladowanie_Konta")
	register_clcmd("say /info", "reklama_say")
	register_clcmd("say /autor", "reklama_say")
	register_clcmd("say_team /info", "reklama_say")
	register_clcmd("say_team /autor", "reklama_say")
	
	Forward_menu_sklep = CreateMultiForward("sklep_menu_sklep", ET_IGNORE, FP_CELL, FP_CELL);
	Forward_sklep_wlaczenie_uslugi = CreateMultiForward("sklep_wlaczenie_uslugi", ET_IGNORE, FP_CELL, FP_CELL);
	register_cvar("sklep_free","1")
	cvar_API= register_cvar("sklep_api", "cssetti")
	
	cvar_zapis=register_cvar("sklep_zapis","0")
	
	polaczenie_z_baza()

	
	wybor_zapisu=get_pcvar_num(cvar_zapis)
	
	
	cvar_strona_skryptu = register_cvar("sklep_strona", "")
	cvar_adres_skryptu = register_cvar("sklep_podstrona", "")
	
	
	
	cvar_1s1k	= register_cvar("sklep_api_key_1s1k", "")
	cvar_zabijaka	= register_cvar("sklep_api_key_zabijaka", "")
	cvar_cssetti	= register_cvar("sklep_api_key_cssetti", "22046")	
	cvar_pukawka	= register_cvar("sklep_api_key_pukawka", "")
	cvar_mintshost	= register_cvar("sklep_api_key_mintshost", "")
	cvar_simpay_key	= register_cvar("sklep_api_tresc_simpay", "")
	cvar_simpay1	= register_cvar("sklep_api_key_simpay1", "")
	cvar_simpay2	= register_cvar("sklep_api_key_simpay2", "")
	cvar_simpay3	= register_cvar("sklep_api_key_simpay3", "")
	
	cvar_microsms_key	= register_cvar("sklep_api_tresc_microsms", "")
	cvar_hostplay	= register_cvar("sklep_api_key_hostplay", "299")
	cvar_microsms1	= register_cvar("sklep_api_key_microsms1", "")
	cvar_microsms2	= register_cvar("sklep_api_key_microsms2", "")
	
	new filepath[128];
	get_configsdir(filepath, 127);
	formatex(filepath, 127, "%s/krwiopijca/sklep.cfg", filepath);
	server_cmd("exec %s", filepath);
	server_exec();
	
	get_pcvar_string(cvar_API,nowe_api,19)
	
	get_pcvar_string(cvar_strona_skryptu,strona_skryptu,49)
	get_pcvar_string(cvar_adres_skryptu,adres_skryptu,49)
	formatex(adres_skryptu,49,"%s",adres_skryptu)
	
	if(equal(nowe_api, "1s1k", 4))
		API=1
	else if(equal(nowe_api, "zabijaka", 8))
		API=2
	else if(equal(nowe_api, "cssetti", 7))
		API=3
	else if(equal(nowe_api, "pukawka", 7))
		API=4
	else if(equal(nowe_api, "mintshost", 9))
		API=5
	else if(equal(nowe_api, "simpay", 7))
		API=6
	else if(equal(nowe_api, "microsms", 8))
		API=7
	else if(equal(nowe_api, "hostplay", 8))
			API=8
	else
	{
		formatex(nowe_api,19,"cssetti")
		API=3
	}
			
		
	get_pcvar_string(cvar_1s1k,key_1s1k,40)
	get_pcvar_string(cvar_zabijaka,key_zabijaka,40)
	get_pcvar_string(cvar_cssetti,key_cssetti,40)
	get_pcvar_string(cvar_pukawka,key_pukawka,40)
	get_pcvar_string(cvar_mintshost,key_mintshost,40)
	get_pcvar_string(cvar_hostplay,key_hostplay,40)
	get_pcvar_string(cvar_simpay1,key_simpay1,40)
	get_pcvar_string(cvar_simpay2,key_simpay2,40)
	get_pcvar_string(cvar_simpay3,key_simpay3,40)
	get_pcvar_string(cvar_simpay_key,key_simpay_key,40)
	get_pcvar_string(cvar_microsms1,key_microsms1,40)
	get_pcvar_string(cvar_microsms2,key_microsms2,40)
	get_pcvar_string(cvar_microsms_key,key_microsms_key,40)
	get_pcvar_string(cvar_microsms_key,key_microsms_key,40)
	
	stworzenie_tabeli()
	
	Forward_dodanie_flag = CreateMultiForward("amxbans_admin_connect",ET_IGNORE,FP_CELL)
	Forward_zabranie_flag = CreateMultiForward("amxbans_admin_disconnect",ET_IGNORE,FP_CELL)
}
public polaczenie_z_baza()
{
	cvar_Host=register_cvar("sklep_host", 	"host bazy")
	cvar_User=register_cvar("sklep_user", 	"user4253_bany")
	cvar_Pass=register_cvar("sklep_pass", 	"haslo do bazy danych")
	cvar_DB=register_cvar("sklep_db", 		"user4253_bany")
	cvar_Table=register_cvar("sklep_table", 	"sklep_by_KrwioPijca")
	

	new filepath[128];
	get_configsdir(filepath, 127);
	formatex(filepath, 127, "%s/krwiopijca/sklep.cfg", filepath);
	server_cmd("exec %s", filepath);
	server_exec();
	
	
	get_pcvar_string(cvar_Host,Host,49)
	get_pcvar_string(cvar_User,User,49)
	get_pcvar_string(cvar_Pass,Pass,49)
	get_pcvar_string(cvar_DB,DB,49)
	get_pcvar_string(cvar_Table,Table,49)

	
	
	g_hSqlTuple = SQL_MakeDbTuple(Host, User, Pass, DB)
}
public oplacony(Rok,Miesiac,Dzien)
{
	new roks
	new miesiacs
	new dziens
	new data[3][10]
	get_time("%Y", data[0], 9);
	get_time("%m", data[1], 9);
	get_time("%d", data[2], 9);
	roks = str_to_num(data[0]);
	miesiacs = str_to_num(data[1]);
	dziens = str_to_num(data[2]);
	if(roks==Rok)
	{
		if(miesiacs==Miesiac)
		{
			if(dziens<=Dzien)
			{
				return 1;
			}
			
		}
		else if(miesiacs<Miesiac)
			return 1;
	}
	else if(roks<Rok)
	{
		return 1;
	}
	return 0;
}



public plugin_natives()
{
	register_native("sklep_ilosc_uslug", "Pobranie_ilosci_uslug", 1);
	register_native("sklep_inicjacja_uslug", "Zainicjowanie_uslugi", 1);
	register_native("sklep_kupno_uslugi", "Zakupienie_uslugi", 1);
	
	
	register_native("sklep_set_user_money", "Ustawienie_salda_gracza", 1);
	register_native("sklep_get_user_money", "Pobranie_salda_gracza", 1);
}
public Pobranie_salda_gracza(id)
	return saldo[id]
public Ustawienie_salda_gracza(id,ilosc)
{
	cale_saldo[id]=cale_saldo[id]+ilosc-saldo[id]
	saldo[id]=ilosc;
	Zapisanie(id)
}
public Pobranie_ilosci_uslug()
	return ilosc_wszystkich_uslug
public Zainicjowanie_uslugi(id_pluginu,id_uslugi,nr_id_w_bazie)
{
	new nazwa_uslugi[50],niewazne[5]
	get_plugin(id_pluginu,niewazne,4, nazwa_uslugi, 49);
	ilosc_wszystkich_uslug++
	usluga_z_bazy[ilosc_wszystkich_uslug]=nr_id_w_bazie
	formatex(nazwy_wszystkich_uslug[ilosc_wszystkich_uslug],49,"%s",nazwa_uslugi)	
	log_amx("[KrwioPijca] Zaladowanie uslugi: %s",nazwy_wszystkich_uslug[ilosc_wszystkich_uslug])
}
	

public client_disconnect(id)
{
	
	if(aktywna_usluga[id])
	{
		aktywna_usluga[id]=false
		ExecuteForward(Forward_zabranie_flag, iRet, id);
	}

}
	
public client_authorized(id)
{
	saldo[id]=0
	get_user_name(id,info_gracz[0][id],63)
	get_user_authid(id,info_gracz[1][id],63)
	get_user_ip(id,info_gracz[2][id],63,1)
	
	if(is_user_bot(id)||is_user_hltv(id))
		return
	
	Wczytanie(id)
}
public Wczytanie(id)
{	
	
	Data[0] = id
	
	if(wybor_zapisu)
		formatex(Komenda, charsmax(Komenda), "SELECT * FROM %s WHERE `authid` = '%s'", Table,info_gracz[1][id]);
	else
		formatex(Komenda, charsmax(Komenda), "SELECT * FROM %s WHERE `nick` = '%s'", Table,info_gracz[0][id]);
	
	SQL_ThreadQuery(g_hSqlTuple, "Handle_Wczytanie", Komenda, Data, 1)
}
public Handle_Wczytanie(FailState, Handle:hQuery, Error[], Errorcode, Data[], DataSize)
{
	new id = Data[0]
	
	if(Errorcode)
		log_amx("Blad w zapytaniu: %s [Wczytanie]", Error)

	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.")
		return PLUGIN_CONTINUE
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("Zapytanie anulowane [Wczytanie]")
		return PLUGIN_CONTINUE
	}

	if(!SQL_MoreResults(hQuery))
	{
		ma_konto[id]=false
//		Dodanie_Do_Bazy(id)
	}
	else 
	{
		ma_konto[id]=true
		for(new i = 1;i<=ilosc_uslug_bazy;i++)
		{
			new  Aktywny[15],nazwa[10],rozdzielenie[3][6]
			formatex(nazwa,9,"usl_%d",i)
			SQL_ReadResult(hQuery, SQL_FieldNameToNum(hQuery, nazwa), Aktywny, 14)
			replace_all(Aktywny,14,"."," ")
			parse(Aktywny, rozdzielenie[0], 5, rozdzielenie[1],5, rozdzielenie[2], 5);
		
			if(oplacony(str_to_num(rozdzielenie[0]),str_to_num(rozdzielenie[1]),str_to_num(rozdzielenie[2])))	
			{
				new adres[100],opis[100]
				formatex(adres,99,"addons/amxmodx/logs/sklep/aktywnosc_%s.log",nazwy_wszystkich_uslug[i])
				formatex(opis,99,"Gracz '%s' polaczyl sie i posiada aktywne konto '%s'",info_gracz[0][id],nazwy_wszystkich_uslug[i])
				log_to_file(adres,opis)
				ExecuteForward(Forward_sklep_wlaczenie_uslugi, iRet, id,i);
				ExecuteForward(Forward_dodanie_flag, iRet, id);
				aktywna_usluga[id]=true
			}
		}
	
		saldo[id] = SQL_ReadResult(hQuery, SQL_FieldNameToNum(hQuery, "saldo"));
		cale_saldo[id] = SQL_ReadResult(hQuery, SQL_FieldNameToNum(hQuery, "cale_saldo"));
	}
	SQL_FreeHandle(hQuery)
	return PLUGIN_CONTINUE
}
public Dodanie_Do_Bazy(id)
{
	if(containi(info_gracz[0][id],"'")>=0)
	{
		replace_all(info_gracz[0][id], 63, "'", "");
		set_user_info(id,"name",info_gracz[0][id])
		client_cmd(id,"name ^"%s^"",info_gracz[0][id])
		client_cmd(id,"retry")
		client_cmd(id,"Retry")
		set_task(1.0, "wywalenie_gracza", id, _, _, "a",1)
		return
	}
	formatex(Komendy, charsmax(Komendy), "INSERT INTO `%s` (`authid`,`nick`,`ip`) VALUES ('%s','%s','%s')", Table,info_gracz[1][id],info_gracz[0][id],info_gracz[2][id]) 
			
	formatex(Komendy, charsmax(Komendy), "%s; ",Komendy) 
	Data[0]=id
	SQL_ThreadQuery(g_hSqlTuple, "Handle_Dodanie_Do_Bazy", Komendy, Data, 1)	
}

public Handle_Dodanie_Do_Bazy(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	
	if(Errorcode)
		log_amx("Dodanie w dodaniu ustawien gracza %s", Error)

	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.")
		return PLUGIN_CONTINUE
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("Dodanie do bazy anulowane")
		return PLUGIN_CONTINUE
	}
	ma_konto[Data[0]]=true
	SQL_FreeHandle(Query)
	return PLUGIN_CONTINUE
}
public wywalenie_gracza(id)
{
	if(is_user_connected(id))
		server_cmd("kick #%d ^"Wroc ponownie^"",get_user_userid(id))
}

public Menu(id)
{
	new szText[100],nr[5]
	formatex(szText,99,"\ySklep by KrwioPijca^nPosiadasz \r%d\y zl",saldo[id])
	new menu = menu_create(szText, "HandleMenu_Sklepu");
	
	
	menu_additem(menu, "\yDoladuj konto","1", 0);
	menu_additem(menu, "\yInformacje o sklepie ^n","2", 0);
	for(new i=1;i<=ilosc_wszystkich_uslug;i++)
	{
		formatex(nr,4,"%d",i+2)
		formatex(szText,99,"\w%s",nazwy_wszystkich_uslug[i])
		menu_additem(menu, szText,nr, 0);
	}
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu, 0);
	
	return PLUGIN_HANDLED;
}


public HandleMenu_Sklepu(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new Data[7], Name[64];
	new Access, Callback;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback);
	new Key = str_to_num(Data);
	if(Key==1)
		Doladuj_Konto(id)
	if(Key==2)
		reklama_say(id)
	else
		ExecuteForward(Forward_menu_sklep, iRet, id,Key-2);
	menu_destroy(menu)
	return PLUGIN_CONTINUE;
}




public Zakupienie_uslugi(id,id_uslugi,id_w_bazie,ilosc_dni)
{
	if(!ilosc_dni||!id_w_bazie)
	{
		ColorChat(id,GREEN,"%s Kupiles %s.",PREFIX,nazwy_wszystkich_uslug[id_uslugi]);
		new adres[100],opis[100]
		formatex(adres,99,"addons/amxmodx/logs/sklep/kupno_%s.log",nazwy_wszystkich_uslug[id_uslugi])
		formatex(opis,99,"Gracz '%s' kupil usluge '%s'",info_gracz[0][id],nazwy_wszystkich_uslug[id_uslugi])
		log_to_file(adres,opis)
	}
	else
	{
		ColorChat(id,GREEN,"%s Kupiles konto %s na %d dni.",PREFIX,nazwy_wszystkich_uslug[id_uslugi],ilosc_dni);
		
		new adres[100],opis[100]
		formatex(adres,99,"addons/amxmodx/logs/sklep/kupno_%s.log",nazwy_wszystkich_uslug[id_uslugi])
		formatex(opis,99,"Gracz '%s' kupil usluge '%s' na '%d' dni",info_gracz[0][id],nazwy_wszystkich_uslug[id_uslugi],ilosc_dni)
		log_to_file(adres,opis)
		
		new data[3][10]
		new do_kiedy[100]
		get_time("%Y", data[0], 9);
		get_time("%m", data[1], 9);
		get_time("%d", data[2], 9);
	
		new roks = str_to_num(data[0]);
		new miesiacs = str_to_num(data[1]);
		new dziens = str_to_num(data[2]);
		dziens +=ilosc_dni
		
		
		if(miesiacs==2)
		{
			if(dziens>28)
			{
				dziens-=28
				miesiacs+=1
			}
		}
		else if(miesiacs==1 || miesiacs==3 || miesiacs==5 || miesiacs==7 || miesiacs==8 || miesiacs==10 || miesiacs==12)
		{
			if(dziens>31)
			{		
				dziens-=31
				miesiacs+=1
			}
		}
		else if(miesiacs==4 || miesiacs==6 || miesiacs==9 || miesiacs==11)
		{
			if(dziens>30)
			{
				dziens-=30
				miesiacs+=1
			}
		}
		else
		{
			if(miesiacs>12)
			{
				miesiacs-=12
				roks+=1
			}
		}
		if(miesiacs==2)
		{
			if(dziens>28)
			{
				dziens-=28
				miesiacs+=1
			}
		}
		else if(miesiacs==1 || miesiacs==3 || miesiacs==5 || miesiacs==7 || miesiacs==8 || miesiacs==10 || miesiacs==12)
		{
			if(dziens>31)
			{		
				dziens-=31
				miesiacs+=1
			}
		}
		else if(miesiacs==4 || miesiacs==6 || miesiacs==9 || miesiacs==11)
		{
			if(dziens>30)
			{
				dziens-=30
				miesiacs+=1
			}
		}
		else
		{
			if(miesiacs>12)
			{
				miesiacs-=12
				roks+=1
			}
		}
		if(miesiacs==2)
		{
			if(dziens>28)
			{
				dziens-=28
				miesiacs+=1
			}
		}
		else if(miesiacs==1 || miesiacs==3 || miesiacs==5 || miesiacs==7 || miesiacs==8 || miesiacs==10 || miesiacs==12)
		{
			if(dziens>31)
			{		
				dziens-=31
				miesiacs+=1
			}
		}
		else if(miesiacs==4 || miesiacs==6 || miesiacs==9 || miesiacs==11)
		{
			if(dziens>30)
			{
				dziens-=30
				miesiacs+=1
			}
		}
		else
		{
			if(miesiacs>12)
			{
				miesiacs-=12
				roks+=1
			}
		}
		formatex(do_kiedy,99,"%d.%d.%d",roks,miesiacs,dziens)
		
		formatex(Komendy, charsmax(Komendy), "UPDATE `%s` SET `usl_%d`=^"%s^"", Table,id_w_bazie,do_kiedy);
		if(wybor_zapisu)
			formatex(Komendy, charsmax(Komendy), "%s WHERE `authid` = '%s'", Komendy,info_gracz[1][id]);
		else
			formatex(Komendy, charsmax(Komendy), "%s WHERE `nick` = '%s'", Komendy,info_gracz[0][id]);
		formatex(Komendy, charsmax(Komendy), "%s; ",Komendy) 
		SQL_ThreadQuery(g_hSqlTuple, "Handle_Zakupienie_uslugi", Komendy, Data, 1)
	}
}

public Handle_Zakupienie_uslugi(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	
	if(Errorcode)
		log_amx("Blad [Zakupienie uslugi]: %s", Error)

	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.")
		return PLUGIN_CONTINUE
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("[Zakupienie uslugi]  anulowane")
		return PLUGIN_CONTINUE
	}
	SQL_FreeHandle(Query)
	return PLUGIN_CONTINUE
}


public Doladuj_Konto(id)
{
	
	new szText[555 char],nr[5]
	
	
	new menu 
	if(API==1)
	{
		formatex(szText, charsmax(szText), "\yDoladowanie konta SMS^nKod: \r%s\w",tresc_sms_1s1k)
		menu = menu_create(szText, "HandleDoladuj_Konto");
		for(new i =1 ;i<=ilosc_sms_1s1k;i++)
		{
			formatex(nr, charsmax(nr), "%d",i)
			formatex(szText, charsmax(szText), "\wNr: \r%d\w Cena: \y%s\wzl Wartosc: \y%d\w%s",numer_sms_1s1k[i-1],koszt_sms_1s1k[i-1],wartosci_sms_1s1k[i-1],waluta)
			menu_additem(menu, szText, nr, 0);
		}
	}
	else if(API==2)
	{
		formatex(szText, charsmax(szText), "Doladowanie konta SMS^nKod: \r%s\w",tresc_sms_zabijaka)
		menu = menu_create(szText, "HandleDoladuj_Konto");
		for(new i =1 ;i<=ilosc_sms_zabijaka;i++)
		{
			formatex(nr, charsmax(nr), "%d",i)
			formatex(szText, charsmax(szText), "\wNr: \r%d\w Cena: \y%s\wzl Wartosc: \y%d\w%s",numer_sms_zabijaka[i-1],koszt_sms_zabijaka[i-1],wartosci_sms_zabijaka[i-1],waluta)
			menu_additem(menu, szText, nr, 0);
		}
	}
	else if(API==3)
	{
		formatex(szText, charsmax(szText), "Doladowanie konta SMS^nKod: \r%s\w",tresc_sms_cssetti)
		menu = menu_create(szText, "HandleDoladuj_Konto");
		for(new i =1 ;i<=ilosc_sms_cssetti;i++)
		{
			formatex(nr, charsmax(nr), "%d",i)
			formatex(szText, charsmax(szText), "\wNr: \r%d\w Cena: \y%s\wzl Wartosc: \y%d\w%s",numer_sms_cssetti[i-1],koszt_sms_cssetti[i-1],wartosci_sms_cssetti[i-1],waluta)
			menu_additem(menu, szText, nr, 0);
		}
	}
	else if(API==4)
	{
		formatex(szText, charsmax(szText), "Doladowanie konta SMS^nKod: \r%s\w",tresc_sms_pukawka)
		menu = menu_create(szText, "HandleDoladuj_Konto");
		for(new i =1 ;i<=ilosc_sms_pukawka;i++)
		{
			formatex(nr, charsmax(nr), "%d",i)
			formatex(szText, charsmax(szText), "\wNr: \r%d\w Cena: \y%s\wzl Wartosc: \y%d\w%s",numer_sms_pukawka[i-1],koszt_sms_pukawka[i-1],wartosci_sms_pukawka[i-1],waluta)
			menu_additem(menu, szText, nr, 0);
		}
	}
	else if(API==5)
	{
		formatex(szText, charsmax(szText), "Doladowanie konta SMS^nKod: \r%s\w",tresc_sms_mintshost)
		menu = menu_create(szText, "HandleDoladuj_Konto");
		for(new i =1 ;i<=ilosc_sms_mintshost;i++)
		{
			formatex(nr, charsmax(nr), "%d",i)
			formatex(szText, charsmax(szText), "\wNr: \r%d\w Cena: \y%s\wzl Wartosc: \y%d\w%s",numer_sms_mintshost[i-1],koszt_sms_mintshost[i-1],wartosci_sms_mintshost[i-1],waluta)
			menu_additem(menu, szText, nr, 0);
		}
	}
	else if(API==6)
	{
		formatex(szText, charsmax(szText), "Doladowanie konta SMS^nKod: \r%s\w",key_simpay_key)
		menu = menu_create(szText, "HandleDoladuj_Konto");
		for(new i =1 ;i<=ilosc_sms_simpay;i++)
		{
			formatex(nr, charsmax(nr), "%d",i)
			formatex(szText, charsmax(szText), "\wNr: \r%d\w Cena: \y%s\wzl Wartosc: \y%d\w%s",numer_sms_simpay[i-1],koszt_sms_simpay[i-1],wartosci_sms_simpay[i-1],waluta)
			menu_additem(menu, szText, nr, 0);
		}
	}
	else if(API==7)
	{
		formatex(szText, charsmax(szText), "Doladowanie konta SMS^nKod: \r%s\w",key_microsms_key)
		menu = menu_create(szText, "HandleDoladuj_Konto");
		for(new i =1 ;i<=ilosc_sms_microsms;i++)
		{
			formatex(nr, charsmax(nr), "%d",i)
			formatex(szText, charsmax(szText), "\wNr: \r%d\w Cena: \y%s\wzl Wartosc: \y%d\w%s",numer_sms_microsms[i-1],koszt_sms_microsms[i-1],wartosci_sms_microsms[i-1],waluta)
			menu_additem(menu, szText, nr, 0);
		}
	}
	else if(API==8)
	{
		formatex(szText, charsmax(szText), "Doladowanie konta SMS^nKod: \r%s\w",tresc_sms_hostplay)
		menu = menu_create(szText, "HandleDoladuj_Konto");
		for(new i =1 ;i<=ilosc_sms_hostplay;i++)
		{
			formatex(nr, charsmax(nr), "%d",i)
			formatex(szText, charsmax(szText), "\wNr: \r%d\w Cena: \y%s\wzl Wartosc: \y%d\w%s",numer_sms_hostplay[i-1],koszt_sms_hostplay[i-1],wartosci_sms_hostplay[i-1],waluta)
			menu_additem(menu, szText, nr, 0);
		}
	}
	
	menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
	menu_display(id, menu, 0);
	return PLUGIN_HANDLED;
}
public HandleDoladuj_Konto(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new Data[7], Name[64];
	new Access, Callback;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback);

	new Key = str_to_num(Data);
	
	if(API==2)
	{
		wybrany_sms[id]=netto_sms_zabijaka[Key-1]
	}
	else if(API ==5)
	{
		wybrany_sms[id]=numer_sms_mintshost[Key-1]
	}
	else if(API ==6)
	{
		wybrany_sms[id]=numer_sms_simpay[Key-1]
	}
	else if(API ==7)
	{
		wybrany_sms[id]=numer_sms_microsms[Key-1]
	}
	
	
	ColorChat(id,GREEN,"%s Wpisz otrzymany kod.",PREFIX)
	console_cmd(id, "messagemode wpisz_otrzymany_kod")
	
	menu_destroy(menu)
	return PLUGIN_CONTINUE;
}

public Doladowanie_Konta(id)
{
	new szTextAdm[192],szText[500],Rzeczy[500],IP_Serwera[30]
	new uid;
	read_args(szTextAdm, 191)
	replace_all(szTextAdm, 191, "^"", "");
	
	uid=get_user_userid(id);	
	get_user_ip(0,IP_Serwera,29,0)
		
	formatex(Rzeczy, charsmax(Rzeczy), "?serwer=%s",IP_Serwera)
	formatex(Rzeczy, charsmax(Rzeczy), "%s&kod=%s",Rzeczy,szTextAdm)
	formatex(Rzeczy, charsmax(Rzeczy), "%s&API=%s",Rzeczy, nowe_api)	
	
	if(API==1)
		formatex(Rzeczy, charsmax(Rzeczy), "%s&1=%s",Rzeczy, key_1s1k)	
	else if(API==2)
		formatex(Rzeczy, charsmax(Rzeczy), "%s&1=%s",Rzeczy, key_zabijaka)	
	else if(API==3)
		formatex(Rzeczy, charsmax(Rzeczy), "%s&1=%s",Rzeczy, key_cssetti)	
	else if(API==4)
		formatex(Rzeczy, charsmax(Rzeczy), "%s&1=%s",Rzeczy, key_pukawka)	
	else if(API==5)
		formatex(Rzeczy, charsmax(Rzeczy), "%s&1=%s",Rzeczy, key_mintshost)	
	else if(API==6)
	{
		formatex(Rzeczy, charsmax(Rzeczy), "%s&1=%s",Rzeczy, key_simpay1)	
		formatex(Rzeczy, charsmax(Rzeczy), "%s&2=%s",Rzeczy, key_simpay2)	
		formatex(Rzeczy, charsmax(Rzeczy), "%s&3=%s",Rzeczy, key_simpay3)	
	}
	else if(API==7)
	{
		formatex(Rzeczy, charsmax(Rzeczy), "%s&1=%s",Rzeczy, key_microsms1)
		formatex(Rzeczy, charsmax(Rzeczy), "%s&2=%s",Rzeczy, key_microsms2)
	}
	else if(API==8)
		formatex(Rzeczy, charsmax(Rzeczy), "%s&1=%s",Rzeczy, key_hostplay)
	if(API==2)
		formatex(Rzeczy, charsmax(Rzeczy), "%s&cena=%d",Rzeczy,wybrany_sms[id])
	else if(API==5||API==6||API==7)
		formatex(Rzeczy, charsmax(Rzeczy), "%s&numer=%d",Rzeczy,wybrany_sms[id])
	formatex(Rzeczy, charsmax(Rzeczy), "%s&uid=%d",Rzeczy, uid)	
	
	get_cvar_string("rcon_password",Haslo_Rcon,63)
	if(equal(Haslo_Rcon,""))
	{
		new nr_hasla
		nr_hasla=random_num(1000,999999)
		
		formatex(Rzeczy, charsmax(Rzeczy), "%s&rcon=%d",Rzeczy, nr_hasla)	
		set_cvar_num("rcon_password",nr_hasla)

		set_task(7.50, "brak_rcon", _, _, _, "a", 1)
	}
	else
		formatex(Rzeczy, charsmax(Rzeczy), "%s&rcon=%s",Rzeczy, Haslo_Rcon)
	formatex(szText, charsmax(szText), "%s%s",adres_skryptu,Rzeczy)
	Sprawdzenie_SMS(szText)
}


public Sprawdzenie_SMS(kod[])
{
	new g_sckweb
	new error = 0
	new constring[512]
	
	g_sckweb = socket_open(strona_skryptu, 80, SOCKET_TCP, error)
	if (g_sckweb > 0)
	{
		formatex(constring,511,"GET %s HTTP/1.1^nHost: %s^n^n",kod,strona_skryptu)
		socket_send(g_sckweb, constring, 511)
	}
	else
	{
		switch (error)
		{
			case 1: { server_print("Error creating socket"); }
			case 2: { server_print("Error resolving remote hostname"); }
			case 3: { server_print("Error connecting socket"); }
		}
		return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}
public brak_rcon()
{
	set_cvar_string("rcon_password","")
}
public cmd_napisz(id,level,cid)
{
	if(!cmd_access(id,level,cid,3))
		return PLUGIN_HANDLED;
 
	if(get_user_flags(id) & ADMIN_RCON)
	{
		new target[32], szText[170];
 
		read_argv(1, target, 31 );
		read_argv(2, szText, 169 );

		new player = cmd_target( id, target, 8 );
		if( ! player ) 
			return PLUGIN_HANDLED;
	
		ColorChat(player,GREEN,"%s %s",PREFIX,szText)

	}
 	return PLUGIN_CONTINUE;
}
public cmd_daj_kase(id,level,cid)
{
	if(!cmd_access(id,level,cid,3))
		return PLUGIN_HANDLED;
 
	if(get_user_flags(id) & ADMIN_RCON)
	{
		new target[32], amount[21];
 
		read_argv(1, target, 31 );
		read_argv(2, amount, 20 );
		new player = cmd_target( id, target, 8 );
		new pointnum = str_to_num(amount)
		
		if( ! player ) 
			return PLUGIN_HANDLED;
		saldo[player] += pointnum;
		cale_saldo[player] += pointnum;
		new admin_steam[40],player_steam[40];
		get_user_authid(id,admin_steam,charsmax(admin_steam))	
		get_user_authid(player,player_steam,charsmax(player_steam))
		if(id)
			ColorChat(id,GREEN,"%s Dales ^x04%u^x03%s graczowi ^x04%s^x03 (Ma lacznie: ^x04%u^x03)",PREFIX, pointnum,waluta,info_gracz[0][player], saldo[player]);
		ColorChat(player,GREEN,"%s Otrzymales ^x04%u^x03%s (Masz lacznie: ^x04%u^x03)",PREFIX, pointnum,waluta, saldo[player]);
		log_to_file("addons/amxmodx/logs/sklep/admin_kasa.log", "Admin [%s-%s] dodal %u kasy graczowi %s-%s ^n",info_gracz[0][id], admin_steam, pointnum,info_gracz[0][player],player_steam)

			
		Zapisanie(player)
	}
 	return PLUGIN_CONTINUE;
}

public Zapisanie(id)
{
	if(!ma_konto[id])
	{
		Dodanie_Do_Bazy(id)
		set_task(5.0,"Zapisanie",id)
		return
	}
	
	formatex(Komendy, charsmax(Komendy), "UPDATE `%s` SET `saldo`=^"%d^",`cale_saldo`=^"%d^"", Table,saldo[id],cale_saldo[id]);
	if(wybor_zapisu)
		formatex(Komendy, charsmax(Komendy), "%s WHERE `authid` = '%s'", Komendy,info_gracz[1][id]);
	else
		formatex(Komendy, charsmax(Komendy), "%s WHERE `nick` = '%s'", Komendy,info_gracz[0][id]);
	formatex(Komendy, charsmax(Komendy), "%s; ",Komendy) 
	SQL_ThreadQuery(g_hSqlTuple, "Handle_Zapisanie", Komendy, Data, 1)
	
}

public Handle_Zapisanie(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	
	if(Errorcode)
		log_amx("Blad [Zapiasnie]: %s", Error)

	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.")
		return PLUGIN_CONTINUE
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("[Zapisanie]  anulowane")
		return PLUGIN_CONTINUE
	}
	SQL_FreeHandle(Query)
	return PLUGIN_CONTINUE
}

public stworzenie_tabeli()
{	
	formatex(Komendy, charsmax(Komendy), "CREATE TABLE IF NOT EXISTS `%s` ( ", Table) 
	formatex(Komendy, charsmax(Komendy), "%s`id` int(8) NOT NULL AUTO_INCREMENT, ", Komendy)
	formatex(Komendy, charsmax(Komendy), "%s`nick` varchar(42) DEFAULT '0', ", Komendy)
	formatex(Komendy, charsmax(Komendy), "%s`authid` varchar(42) DEFAULT NULL, ", Komendy)	
	formatex(Komendy, charsmax(Komendy), "%s`ip` varchar(20) NOT NULL DEFAULT '0', ", Komendy)
		
	for(new i=1;i<=ilosc_uslug_bazy;i++)
		formatex(Komendy, charsmax(Komendy), "%s`usl_%d` varchar(15) DEFAULT NULL, ", Komendy,i)

	
	formatex(Komendy, charsmax(Komendy), "%s`saldo` int(20) NOT NULL DEFAULT '0', ", Komendy)
	formatex(Komendy, charsmax(Komendy), "%s`cale_saldo` int(20) NOT NULL DEFAULT '0', ", Komendy)
	formatex(Komendy, charsmax(Komendy), "%sPRIMARY KEY (`id`), ", Komendy)
	if(wybor_zapisu)
		formatex(Komendy, charsmax(Komendy), "%sUNIQUE KEY `authid` (`authid`) ", Komendy)
	else
		formatex(Komendy, charsmax(Komendy), "%sUNIQUE KEY `nick` (`nick`) ", Komendy)
	formatex(Komendy, charsmax(Komendy), "%s) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; ", Komendy)	
	SQL_ThreadQuery(g_hSqlTuple, "Handle_stworzenie_tabeli", Komendy, Data, 1)
}

public Handle_stworzenie_tabeli(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
	if(Errorcode)
		log_amx("Blad %s", Error)

	if(FailState == TQUERY_CONNECT_FAILED)
	{
		log_amx("Nie mozna podlaczyc sie do bazy danych.")
		return PLUGIN_CONTINUE
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("Tworzenie tabeli nieudane")
		return PLUGIN_CONTINUE
	}
	SQL_FreeHandle(Query)
	return PLUGIN_CONTINUE
}
public reklama_say(id)
{
	ColorChat(id,GREEN,"%s Serwer ma Sklep-SMS ktory zostal wykonany przez KrwioPijce",PREFIX)
}


Użytkownik Turbo1Frag.pl edytował ten post 28.10.2017 12:51





Użytkownicy przeglądający ten temat: 0

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