All pastes #2091149 Raw Edit

Something

public text v1 · immutable
#2091149 ·published 2011-10-18 18:55 UTC
rendered paste body

#include <RP>

#if !defined SetPlayerMapIcon
    #error Version 0.3c or higher of SA:MP Server requiered
#endif

#define LOGIN						1
#define REG							2
#define DIALOG_REG2					3
#define DIALOG_PW					4
#define AFK							5
#define D_PRZYPISZ					6
#define ITEM_SZUKAJ 				7
#define D_STACJA    				8
#define DIALOG_INT  				9
#define D_1         				10
#define D_2         				11
#define D_3        			 		12
#define D_4         				13
#define D_5         				14
#define D_6         				15
#define D_7         				16
#define D_8         				17
#define D_9         				18
#define D_10        				19
#define D_11        				20
#define D_12        				21
#define D_13        				22
#define D_14        				23
#define D_15        				24
#define D_16        				25
#define D_17        				26
#define P_OFFER     				27
#define P_OFFER_ACCEPT  			28
#define DIALOG_JOB  				29
#define POMOC_1     				30
#define D_ANIM      				31
#define DIALOG_P1   				32
#define D_TEL       				33
#define D_VEH       				34
#define D_VEH2      				35
#define DIALOG_911  				36
#define DIALOG_912  				37
#define DIALOG_DOOR 				38
#define D_CLOTH 					39
#define DIALOG_DOOR2 				40
#define DIALOG_DOOR3 				41
#define DIALOG_DOOR4 				42
#define D_RADIO     				43
#define D_WLASNA    				44
#define DIALOG_TEL  				45
#define DIALOG_TEL2 				46
#define DIALOG_TELE 				47
#define DIALOG_DOOR22 				48
#define DIALOG_PODAJ 				49
#define DIALOG_PODAJ2 				50
#define D_FIND      				51
#define D_TUNING    				52
#define DIALOG_SETRINGTONE 			53
#define DIALOG_SELECT_ORDER 		54
#define DIALOG_SELECT_LICENSECAT 	55
#define DIALOG_OFFER_INPUT_PRICE    56
#define DIALOG_SEND_VCARD           57
#define DIALOG_CREATE               58
#define DIALOG_CREATE_VEH           59
#define DIALOG_CREATE_VEH_COLOR     60
#define DIALOG_CREATE_VEH_COLOR2    61
#define DIALOG_CREATE_DOOR          62
#define DIALOG_CREATE_DOOR_PICKUP   63
#define DIALOG_CREATE_DOOR_NAME     64
#define DIALOG_CREATE_DOOR_TYP      65
#define DIALOG_CREATE_DOOR_OWNER    66
#define DIALOG_CREATE_ITEM      	67
#define DIALOG_CREATE_ITEM_VALUE1   68
#define DIALOG_CREATE_ITEM_VALUE2   69
#define DIALOG_CREATE_ITEM_NAME     70
#define DIALOG_CREATE_BIZ           71
#define DIALOG_CREATE_ORG           72
#define DIALOG_CREATE_ITEM_WAGA     73
#define DIALOG_CREATE_BIZ_OWNER     74
#define DIALOG_CREATE_BIZ_NAME     	75
#define DIALOG_CREATE_ORG_OWNER     76
#define DIALOG_CREATE_ORG_NAME     	77
#define DIALOG_CREATE_ORG_TYP       78
#define DIALOG_CONTAINER            79
#define DIALOG_WLOZ                 80
#define LOGIN_EX                    81
#define D_PRZYPISZ_EX               82
#define DIALOG_EDIT                 83
#define DIALOG_EDIT_CHAR            84
#define DIALOG_EDIT_BIZ             85
#define DIALOG_EDIT_ORG             86
#define DIALOG_EDIT_DOOR            87
#define DIALOG_EDIT_ITEM            88
#define DIALOG_EDIT_VEH             89
#define DIALOG_EDIT_VEH_OWNER       90
#define DIALOG_EDIT_VEH_EDIT       	91
#define DIALOG_EDIT_VEH_EDIT_COLOR  92
#define DIALOG_EDIT_VEH_EDIT_FUEL   93
#define DIALOG_EDIT_VEH_EDIT_OWNER  94
#define DIALOG_EDIT_VEH_EDIT_HP     95
#define DIALOG_EDIT_VEH_EDIT_DISTANCE 96
#define DIALOG_EDIT_VEH_EDIT_FUELTYP 97
#define DIALOG_EDIT_VEH_EDIT_OWNER2 98
#define DIALOG_EDIT_VEH_EDIT_MODEL  99
#define DIALOG_777                  100
#define DIALOG_777_2                101
#define DIALOG_777_ILOSC            102
#define DIALOG_SELECT_VEH           103
#define DIALOG_777_VEH              104
#define D_BUS                       105
#define D_BUS_2                     106
#define DIALOG_SELECT_GUN           107
#define SELECT_SPAWN                108
#define DIALOG_STATS                109
#define DIALOG_EDIT_DOOR_OWNER      110
#define DIALOG_M                    111
#define DIALOG_ITEM2                113
#define DIALOG_ITEM_OFFER           114
#define DIALOG_ITEM_OFFER2          115
#define DIALOG_ITEM_LOADWEAPON		116
#define DIALOG_CREATE_PICKUP		117
#define DIALOG_CREATE_PICKUP_TYP	118
#define DIALOG_SELECT_JEDZ			119
#define DIALOG_SELECT_JEDZ_ILOSC    120
#define DIALOG_SHOW_LICEN           121
#define DIALOG_SELECT_COMP          122
#define DIALOG_INSTALL              121
#define DIALOG_INSTALL_EX           122

#define TEXT_LOGIN  "{FFFFFF}Witaj na serwerze {008000}"servname".\n{FFFFFF}Aby się zalogować wpisz poniżej swoje hasło i\nrozpocznij wirtualną przygodę razem z nami."
#define TEXT_OOC    "{FFFFFF}Administrator {E31919}zablokował Ci możliwość rozmowy na kanale OOC.\n\n{FFFFFF}Jeśli uważasz że ta kara zostala nadana bezpodstawnie, {008000}napisz apelacje na forum{FFFFFF}."
#define TEXT_NOVEH  "{FFFFFF}Administrator {E31919}zablokował Ci możliwość korzystania z aut.\n\n{FFFFFF}Jeśli uważasz że ta kara zostala nadana bezpodstawnie, {008000}napisz apelacje na forum{FFFFFF}."
#define TEXT_P1     "{FFFFFF}Witamy na {008000}"servname"{FFFFFF}.\nZostałeś właśnie wciągnięty w wirtualny świat naszego serwera.\nPamiętaj o przestrzeganiu zasad i komendzie {2F991A}/pomoc{FFFFFF}.\nŻyczymy przyjemnej rozgrywki.\n\t\t\t\t\t\tEkipa {008000}"servname""
#define SEND_OFFER  "{008000}Oferta została wysłana{FFFFFF}, teraz poczekaj na reakcje gracza."
#define TEXT_BRON   "{FFFFFF}Administrator {E31919}zablokował Ci możliwość używania broni.\n\n{FFFFFF}Jeśli uważasz że ta kara zostala nadana bezpodstawnie, {2F991A}napisz apelacje na forum{FFFFFF}."
#define TEXT_AJ     "{E31919}W tym miejscu nie możesz używać czatu {FFFFFF}IC{E31919}!"
#define SAN_NEWS    "~>~ Country News:~w~ Aktualnie nic nie jest nadawane."
#define BUY         "Telefon\t\t\t70$\nZegarek\t\t20$\nKostka do gry\t\t10$\nPapierosy\t\t8$\nPiwo\t\t\t5$\nWino\t\t\t10$\nCiastko\t\t\t2$\nPortfel\t\t\t20$"
#define ZAMOW       "1. Pojazdy\n2. Bronie\n3. Artykuły spożywcze\n3. Części zamienne"

#define NPC_TRAM    	"tramwaj"
#define NPC_TRAM_NAME 	"tramwaj"
#define PICKUP_JOB  	1

#define MAX_SLOT    	50
#define PRICE_TRENING   190
#define TIME_REPAIR     120

#define DOOR_COLOR      0x88EE88FF
#define MAX_WEATHER 	24
#define TIME_H          6

#define VERSION         "0.5.2"

#define BAZA            "connect.txt"

#define BOTUSE          0
#define season          1

#pragma dynamic 9999

#define mysql_fetch_row_format mysql_fetch_row
#define mysql_debug mysql_init
//#define mysql_reload mysql_refresh(REFRESH_MASTER)

// -- Text Draw -- //
new Text:Paliwo[MAX_PLAYERS];
new Text:Data;
new Text:Ekran;
new Text:tdaudio;
new Text:TextDrawBackground[MAX_PLAYERS];
new Text:TextDrawInfo[MAX_PLAYERS];
new Text:Licznik;
new Text:Drzwi[MAX_DOOR];
new Text:SanNews;
new Text:Textdraw1;
new Text:Textdraw2;
new Text:Silnik;
new Text:Light;
new Text:Nokto;
new Text:AudioPlugin[MAX_PLAYERS];
new Text:Kara[MAX_PLAYERS];
// -- Text Draw -- //

// -- MAX_PLAYERS -- //
new bool:Spawn[MAX_PLAYERS];
new EditingObject[MAX_PLAYERS];
new EditingPhase[MAX_PLAYERS];
new Float:EditingAccuracy[MAX_PLAYERS];
new Float:EditingCamera[MAX_PLAYERS][3];
new EditMove[MAX_PLAYERS];
new dorid[MAX_PLAYERS];
new Text3D:Painteer[MAX_PLAYERS];
new sluzba[MAX_PLAYERS] = {1, ...};
new skuty[MAX_PLAYERS] = {-1, ...};
new hotel[MAX_PLAYERS][MAX_HOTEL];
new Mobile[MAX_PLAYERS];
new tel[MAX_PLAYERS];
new Kolczatka[MAX_PLAYERS];
new Par[MAX_PLAYERS];
new PlayerColor[MAX_PLAYERS] = {0xFFFFFFFF, ...};
new Bar:naprawastats[MAX_PLAYERS] = {INVALID_BAR_ID, ...};
// -- MAX_PLAYERS -- //

new Weathers[MAX_WEATHER] = {1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23, 24, 26, 27, 28, 29, 34, 37};

new wid;
new Karatd;

#if BOT == 1
// -- BOT -- //
new NPC_TRAMVEH;
// -- BOT -- //
#endif
main()
{
    print("								");
	print("#############################");
 	print("								");
	print("   "servname"				");
	print("   Second Life Role Play   	");
	print("   Edited by Piotr G.		");
	print("   2010/2011					");
	print("								");
	print("#############################");
	print("								");
}

public OnGameModeInit()
{
	ShowNameTags(0);
	EnableStuntBonusForAll(0);
	DisableInteriorEnterExits();
	AllowInteriorWeapons(1);

	SendRconCommand("weburl www.rp-sl.pl");
	SendRconCommand("mapname "cityname"");
	SetGameModeText("SL-RP: v"VERSION"");

	
	mysql_debug(1);
	if(!dini_Exists(BAZA))
	{
		dini_Create(BAZA);
	    dini_Set(BAZA, "host", 	"slrp.xaa.pl");
	    dini_Set(BAZA, "user", 	"p149899_admin");
	    dini_Set(BAZA, "db", 	"p149899_baza");
	    dini_Set(BAZA, "pass", 	"Noobnoob1");
		print("[Serwer] RESTART (reason): No configuration file, the file was created, fill it in!");
		SendRconCommand("gmx");
	}
	mysql_connect(
	dini_Get(BAZA, "host"),
	dini_Get(BAZA, "user"),
	dini_Get(BAZA, "pass"),
	dini_Get(BAZA, "db"));

	new godzina, minuta;
    gettime(godzina, minuta);
	SetWorldTime(godzina);
	wid = Weathers[random(MAX_WEATHER)];
	SetWeather(wid);

    Glowny();
	SetTimer("Glowny", 1000, 1);
	SetTimer("OdejmnijPaliwo", 10000, 1);
	SetTimer("AntyCheat", 3000, 1);
	
	// TextDraw z karami
	Licznik = TextDrawCreate(1.000000, 428.000000, "~>~ Admin Jail ~<~");
	TextDrawBackgroundColor(Licznik, 255);
	TextDrawFont(Licznik, 1);
	TextDrawLetterSize(Licznik, 0.280000, 0.799999);
	TextDrawColor(Licznik, -16776961);
	TextDrawSetOutline(Licznik, 0);
	TextDrawSetProportional(Licznik, 1);
	TextDrawSetShadow(Licznik, 1);
	TextDrawUseBox(Licznik, 1);
	TextDrawBoxColor(Licznik, 200);
	TextDrawTextSize(Licznik, 710.000000, 0.000000);
	
	// Wejście do int. Door Info
	foreachEx(id, MAX_DOOR)
	{
		Drzwi[id] = TextDrawCreate(510.000000, 320.000000, "Ladowanie");
		TextDrawAlignment(Drzwi[id], 2);
		TextDrawBackgroundColor(Drzwi[id], 255);
		TextDrawFont(Drzwi[id], 1);
		TextDrawLetterSize(Drzwi[id], 0.469998, 1.399999);
		TextDrawColor(Drzwi[id], -1);
		TextDrawSetOutline(Drzwi[id], 1);
		TextDrawSetProportional(Drzwi[id], 1);
		TextDrawUseBox(Drzwi[id], 1);
		TextDrawBoxColor(Drzwi[id], 55);
		TextDrawTextSize(Drzwi[id], 93.000000, 191.000000);
	}

	// Odpalanie silnik CarInfo
	Silnik = TextDrawCreate(489.000000, 102.000000, "Aby odpalic silnik ~w~wcisnij~r~ ~h~LCTRL+LALT.~w~");
	TextDrawBackgroundColor(Silnik, 255);
	TextDrawFont(Silnik, 1);
	TextDrawLetterSize(Silnik, 0.429998, 1.499999);
	TextDrawColor(Silnik, -1);
	TextDrawSetOutline(Silnik, 1);
	TextDrawSetProportional(Silnik, 1);
	TextDrawUseBox(Silnik, 1);
	TextDrawBoxColor(Silnik, 100);
	TextDrawTextSize(Silnik, 637.000000, 0.000000);
	
	foreachEx(id, MAX_PLAYERS)
	{
		Kara[id] = TextDrawCreate(499.000000, 103.000000, "Pozostalo: 10 min");
		TextDrawBackgroundColor(Kara[id], 255);
		TextDrawFont(Kara[id], 1);
		TextDrawLetterSize(Kara[id], 0.440000, 2.000000);
		TextDrawColor(Kara[id], -1);
		TextDrawSetOutline(Kara[id], 1);
		TextDrawSetProportional(Kara[id], 1);
		TextDrawUseBox(Kara[id], 1);
		TextDrawBoxColor(Kara[id], 100);
		TextDrawTextSize(Kara[id], 680.000000, 0.000000);

		AudioPlugin[id] = TextDrawCreate(198.000000, 358.000000, "Wczytywanie~n~Audio pluginu~n~15/19");
		TextDrawAlignment(AudioPlugin[id], 2);
		TextDrawBackgroundColor(AudioPlugin[id], 255);
		TextDrawFont(AudioPlugin[id], 1);
		TextDrawLetterSize(AudioPlugin[id], 0.490000, 1.500000);
		TextDrawColor(AudioPlugin[id], -1);
		TextDrawSetOutline(AudioPlugin[id], 0);
		TextDrawSetProportional(AudioPlugin[id], 1);
		TextDrawSetShadow(AudioPlugin[id], 1);
		TextDrawUseBox(AudioPlugin[id], 1);
		TextDrawBoxColor(AudioPlugin[id], 255);
		TextDrawTextSize(AudioPlugin[id], 27.000000, 114.000000);

		Paliwo[id] = TextDrawCreate(496.000000, 102.000000, "Paliwo:");
		TextDrawBackgroundColor(Paliwo[id], 255);
		TextDrawFont(Paliwo[id], 1);
		TextDrawLetterSize(Paliwo[id], 0.429998, 1.499999);
		TextDrawColor(Paliwo[id], -1);
		TextDrawSetOutline(Paliwo[id], 1);
		TextDrawSetProportional(Paliwo[id], 1);
		TextDrawUseBox(Paliwo[id], 1);
		TextDrawBoxColor(Paliwo[id], 100);
		TextDrawTextSize(Paliwo[id], 669.000000, 0.000000);
	}
	// San News
	SanNews = TextDrawCreate(1.000000, 439.000000, SAN_NEWS);
	TextDrawBackgroundColor(SanNews, 255);
	TextDrawFont(SanNews, 1);
	TextDrawLetterSize(SanNews, 0.280000, 0.799999);
	TextDrawColor(SanNews, 1097458175);
	TextDrawSetOutline(SanNews, 0);
	TextDrawSetProportional(SanNews, 1);
	TextDrawSetShadow(SanNews, 0);
	TextDrawUseBox(SanNews, 1);
	TextDrawBoxColor(SanNews, 200);
	TextDrawTextSize(SanNews, 710.000000, 0.000000);
	
	// Czerwony ekran
	Ekran = TextDrawCreate(0.0, 0.0, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
	TextDrawUseBox(Ekran, 1);
	TextDrawBoxColor(Ekran, 0xFF000066);
	TextDrawTextSize(Ekran, 640.0, 400.0);
	
	// Światło w intach
	Light = TextDrawCreate(0.0, 0.0, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
	TextDrawUseBox(Light, 1);
	TextDrawBoxColor(Light, 0x00000077);
	TextDrawTextSize(Light, 640.0, 400.0);
	
	// Noktowizor
	Nokto = TextDrawCreate(0.0, 0.0, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
	TextDrawUseBox(Nokto, 1);
	TextDrawBoxColor(Nokto, 0x42B54277);
	TextDrawTextSize(Nokto, 640.0, 400.0);

	// Panoramika przy logowaniu (czarne boxy)
	Textdraw1 = TextDrawCreate(320.000000, 337.000000, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
	TextDrawAlignment(Textdraw1, 2);
	TextDrawBackgroundColor(Textdraw1, 255);
	TextDrawFont(Textdraw1, 0);
	TextDrawLetterSize(Textdraw1, 1.000000, 3.300000);
	TextDrawColor(Textdraw1, -1);
	TextDrawSetOutline(Textdraw1, 0);
	TextDrawSetProportional(Textdraw1, 1);
	TextDrawSetShadow(Textdraw1, 1);
	TextDrawUseBox(Textdraw1, 1);
	TextDrawBoxColor(Textdraw1, 255);
	TextDrawTextSize(Textdraw1, 0.000000, 640.000000);

	Textdraw2 = TextDrawCreate(650.000000, 0.000000, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
	TextDrawBackgroundColor(Textdraw2, 255);
	TextDrawFont(Textdraw2, 1);
	TextDrawLetterSize(Textdraw2, 0.500000, 1.000000);
	TextDrawColor(Textdraw2, -1);
	TextDrawSetOutline(Textdraw2, 0);
	TextDrawSetProportional(Textdraw2, 1);
	TextDrawSetShadow(Textdraw2, 1);
	TextDrawUseBox(Textdraw2, 1);
	TextDrawBoxColor(Textdraw2, 255);
	TextDrawTextSize(Textdraw2, -10.000000, 10.000000);

	// Info naprawa
	foreachEx(id, MAX_PLAYERS)
	{
		naprawastats[id] = CreateProgressBar(310.0, 350.0, 100.0, 10.0, 0xFF0000FF, 120.0);
		SetProgressBarValue(naprawastats[id], 0);
		SetProgressBarMaxValue(naprawastats[id], 120);
	}
	// Data
	Data = TextDrawCreate(1.000000, 412.000000, "SL-RP x.x");
	TextDrawBackgroundColor(Data, 8388863);
	TextDrawFont(Data, 3);
	TextDrawLetterSize(Data, 0.270000, 1.200000);
	TextDrawColor(Data, -1);
	TextDrawSetOutline(Data, 1);
	TextDrawSetProportional(Data, 1);

	// Brak klienta audio w TD
	tdaudio = TextDrawCreate(499.000000, 5.000000, "Brak klienta dzwieku");
	TextDrawBackgroundColor(tdaudio, 255);
	TextDrawFont(tdaudio, 1);
	TextDrawLetterSize(tdaudio, 0.310000, 1.400000);
	TextDrawColor(tdaudio, -1);
	TextDrawSetOutline(tdaudio, 1);
	TextDrawSetProportional(tdaudio, 1);
	
	Audio_SetPack("rp", true);
	// BOTS
	#if BOTUSE == 1
	ConnectNPC(NPC_TRAM, NPC_TRAM_NAME);
	NPC_TRAMVEH = CreateVehicle(449, -2264.6873, 527.0789, 35.5912, 0.4091, 0, 0, 500000);
	#endif
	
	// Loading
	mysql_debug(0);
	LoadPickup();
	LoadHotel();
	LoadDoors();
	LoadItems();
	LoadObject();
	LoadAnims();
	LoadOrganizacje();
	LoadBiznes();
	LoadOption();
	LoadCars();
	Load3d();
	mysql_debug(1);
	return 1;
}

public Audio_OnTransferFile(playerid, file[], current, total, result)
{
	new string[128];
	TextDrawHideForPlayer(playerid, tdaudio);
	format(string, sizeof(string), "~y~Wczytywanie~n~Audio pluginu~n~~r~%d~w~/~r~%d", current, total);
	TextDrawSetString(AudioPlugin[playerid], string);
	TextDrawShowForPlayer(playerid, AudioPlugin[playerid]);
	if(current == total)
	{
	    TextDrawSetString(AudioPlugin[playerid], "~y~Audio plugin~n~~r~wczytany!");
		SetTimerEx("aa", 5000, 0, "d", playerid);
	}
	return 1;
}
public Audio_OnClientConnect(playerid)
{
    TextDrawShowForPlayer(playerid, AudioPlugin[playerid]);
    Audio_TransferPack(playerid);
    TextDrawSetString(AudioPlugin[playerid], "~y~Rozpoczynam wczytywanie ~r~audio pluginu");
	return 1;
}
FuncPub::aa(pd) return TextDrawHideForPlayer(pd, AudioPlugin[pd]);

FuncPub::kamerownia(playerid)
{
	for(new i = 0 ; i <= 100 ; i++) SendClientMessage(playerid, 0x00CC00AA, " ");
	return 1;
}

public OnPlayerConnect(playerid)
{
	if(!Audio_IsClientConnected(playerid)) TextDrawShowForPlayer(playerid, tdaudio);

	SetTimerEx("kamerownia", 100, 0, "d", playerid);
	
	SetPlayerColor(playerid, 0x000000);
	SetPlayerHealth(playerid, 100.0);

	SetPVarInt(playerid, "SprayColor[0]", -1);
   	SetPVarInt(playerid, "SprayColor[1]", -1);

	PlayerColor[playerid] 				= 0xFFFFFFFF;
    Logged[playerid] 					= false;
    Spawn[playerid] 					= false;
    Mobile[playerid] 					= 255;
    
	#if BOTUSE == 1
	if(IsPlayerNPC(playerid))
	{
		SpawnPlayer(playerid);
		format(string, sizeof(string), "%s (BOT)", NickName(playerid));
		PlayerInfo[playerid][tag] = Create3DTextLabel(string, CLR_GREEN, 30.0, 40.0, 50.0, 14.0, 1);
		Attach3DTextLabelToPlayer(PlayerInfo[playerid][tag], playerid, 0.0, 0.0, 0.17);
	    SetPlayerHealth(playerid, 99999.0);
	    PlayerColor[playerid] = CLR_GREEN;
	    SetPlayerColor(playerid, 0xFFFFFF11);
	    PlayerInfo[playerid][health] = 100;
        Spawn[playerid] = true;
        Logged[playerid] = true;
		return 1;
	}
	#endif
	

	ShowPlayerDialog(playerid, LOGIN_EX, DIALOG_STYLE_INPUT, "{FFFFFF}"servname" » {008000}Logowanie", TEXT_LOGIN, "Zaloguj", "Wyjdź");

	TextDrawShowForPlayer(playerid, SanNews);
 	TextDrawShowForPlayer(playerid, Textdraw1);
	TextDrawShowForPlayer(playerid, Textdraw2);
	TextDrawShowForPlayer(playerid, Data);
	
	PlayerInfo[playerid][guid] 			= 0;
	PlayerInfo[playerid][player_uid] 	= 0;
	PlayerInfo[playerid][aj] 			= 0;
	PlayerInfo[playerid][bw] 			= 0;
	PlayerInfo[playerid][skin] 			= 0;
	PlayerInfo[playerid][sex] 			= 0;
	PlayerInfo[playerid][age] 			= 0;
	PlayerInfo[playerid][pdp] 			= 0;
	PlayerInfo[playerid][prisontime] 	= 0;
	PlayerInfo[playerid][cash] 			= 500;
	PlayerInfo[playerid][cashinbank] 	= 0;
	PlayerInfo[playerid][ban] 			= 0;
	PlayerInfo[playerid][pos_x] 		= 0;
	PlayerInfo[playerid][pos_y] 		= 0;
	PlayerInfo[playerid][pos_z] 		= 0;
	PlayerInfo[playerid][crash] 		= 0;
	PlayerInfo[playerid][pos_int] 		= 0;
	PlayerInfo[playerid][pos_vw] 		= 0;
	PlayerInfo[playerid][phonenr] 		= 0;
	PlayerInfo[playerid][skin2] 		= 0;
	PlayerInfo[playerid][health] 		= 100;
	PlayerInfo[playerid][hours] 		= 0;
	PlayerInfo[playerid][minutes] 		= 0;
	PlayerInfo[playerid][org] 			= 0;
   	PlayerInfo[playerid][orgrank] 		= 0;
	PlayerInfo[playerid][orgskin] 		= 0;
	PlayerInfo[playerid][biz] 			= 0;
	PlayerInfo[playerid][bizrank] 		= 0;
	PlayerInfo[playerid][bizskin] 		= 0;
	PlayerInfo[playerid][ck] 			= 0;
	PlayerInfo[playerid][bank] 			= 0;
	PlayerInfo[playerid][hoteli] 		= 0;
	PlayerInfo[playerid][job] 			= 0;
	PlayerInfo[playerid][blockooc] 		= 0;
	PlayerInfo[playerid][noveh] 		= 0;
	PlayerInfo[playerid][sila] 			= 0;
	PlayerInfo[playerid][sztukawalki] 	= 0;
	PlayerInfo[playerid][adminlvl] 		= 0;
	PlayerInfo[playerid][gmlvl] 		= 0;
	PlayerInfo[playerid][run] 			= 0;
	SetPVarInt(playerid, "podglada", 	-1);
	SetPVarInt(playerid, "podgladam", 	-1);

	new string[30];
	format(string, sizeof(string), "%s (%d)", NickName(playerid), playerid);
	PlayerInfo[playerid][tag] = Create3DTextLabel(string, PlayerColor[playerid], 30.0, 40.0, 50.0, 14.0, 1);
	Attach3DTextLabelToPlayer(PlayerInfo[playerid][tag], playerid, 0.0, 0.0, 0.17);
	return 1;
}

stock Status(playerid)
{
	new s[64];
	new foo[16][16];
	for(new i = 0; i < sizeof(foo); i++)
	{
		if(PlayerInfo[playerid][drunklvl] <= 50 && PlayerInfo[playerid][bw] == 0)
			foo[0] = "podpity";
		if(PlayerInfo[playerid][bw] != 0)
			foo[1] = "nieprzytomny";
		if(GetPVarInt(playerid, "Maska") == 1)
			foo[2] = "ukryta twarz";

	    format(s, sizeof(s), "%s%s, ", s, foo[i]);
		foo[i][strlen(foo[i]) - 2] = '.';
	}
	
	format(s, sizeof(s), "(%s)", foo);
	return s;
}

public OnPlayerText(playerid, text[])
{
	if(Logged[playerid] == false || PlayerInfo[playerid][aj] != 0 || PlayerInfo[playerid][bw] != 0) return 0;

	new str[126];
	new hour,
		minute,
		second;
  	new tmpex[256];
  	new idxex;

	gettime(hour, minute, second);
	if(!strcmp(text, ":D", true))
	{
		format(str,sizeof(str),"* %s śmieje się.",NickName(playerid));
		serwerme(playerid, str);
		ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.1, 0, 0, 0, 0, 0);
	}
	else if(!strcmp(":P", text, true))
	{
		format(str,sizeof(str),"* %s wystawia język.",NickName(playerid));
		serwerme(playerid, str);
	}
	else if(!strcmp(":/", text, true))
	{
		format(str,sizeof(str),"* %s krzywi się.",NickName(playerid));
		serwerme(playerid, str);
	}
	else if(!strcmp(":(", text, true))
	{
		format(str,sizeof(str),"* %s robi smutną minę.",NickName(playerid));
		serwerme(playerid, str);
	}
	else if(!strcmp(":)", text, true))
	{
		format(str,sizeof(str),"* %s uśmiecha się.",NickName(playerid));
		serwerme(playerid, str);
	}
	else if(Mobile[playerid] != 255)
	{
	    text[0] = toupper(text[0]);
		format(str, sizeof(str), "%s mówi (przez telefon): %s", NickName(playerid), text);
		SendClientMessageEx(14.0, playerid, str, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
        if(PlayerInfo[playerid][sex] == MEN) 		format(str, sizeof(str), "%d (telefon, mężczyzna): %s",PlayerInfo[playerid][phonenr], text);
        else if(PlayerInfo[playerid][sex] == WOMAN) format(str, sizeof(str), "%d (telefon, kobieta): %s", PlayerInfo[playerid][phonenr], text);
        if(IsPlayerConnected(Mobile[playerid]))
		{
		    if(Mobile[Mobile[playerid]] == playerid)
				SendClientMessage(Mobile[playerid], COLOR_YELLOW, str);
		}
		else
		{
			SendClientMessage(playerid, COLOR_YELLOW,"Połączenie zostało przerwane.");
			format(str, sizeof(str), "* %s zakończył rozmowe. *",NickName(playerid));
			serwerme(playerid, str);
			Mobile[playerid] = 255;
		}
	}
	else if(text[0] == '-')
	{
 	    strdel(text, 0, 1);
 	    tmpex = strtok(text, idxex);
 	    SetAnimation(playerid, tmpex);
	}
 	else if(!strcmp("//", text, true))
 	{
  	    strdel(text, 0, 2);
 	    tmpex = strtok(text, idxex);
 	    SetAnimation(playerid, tmpex);
 	}
	else
	{
		GetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]);
		format(str, sizeof(str), "http://translate.google.com/translate_tts?tl=%s&q=%s", PlayerInfo[playerid][akcent], text);
		foreach(Player, i)
	    {
			if(Audio_IsClientConnected(i) && PlayerInfo[i][audio] == 1)
			{
				new muzyka = Audio_PlayStreamed(i, str);
		    	Audio_Set3DPosition(i, muzyka, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z], 14.0);
			}
		}
		text[0] = toupper(text[0]);
		format(str,sizeof(str),"%s mówi: %s", NickName(playerid), text);
		SendClientMessageEx(14.0, playerid, str, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
		if(GetPVarInt(playerid, "UseAnim") == 0)
		{
			ApplyAnimation(playerid,"PED","IDLE_CHAT",3.5,0,0,0,4,4);
	 		SetTimerEx("rozmowa", 4000, 0, "u", playerid);
	 	}
		Logi(playerid, LOG_TYPE_CHAT, text);
	}
	return 0;
}

FuncPub::Logi(playerid, typ, tresc[])
{
    new File:HF;
	if(PlayerInfo[playerid][adminlvl] != 0) HF = fopen("logi/adminlogs.ini",io_append);
	else if(PlayerInfo[playerid][gmlvl] != 0) HF = fopen("logi/gmlogs.ini",io_append);
	else if(PlayerInfo[playerid][adminlvl] == 0) HF = fopen("logi/logs.ini",io_append);

	new hour,
		minute,
		second,
		string[256];
	gettime(hour, minute, second);

	if(typ == LOG_TYPE_CHAT) 		format(string,256,"[%02d:%02d:%02d][chat][%s][%d]: %s [ID: %d]\r\n",hour, minute, second, NickNameEx(playerid), PlayerInfo[playerid][player_uid], tresc, playerid);
	else if(typ == LOG_TYPE_CHATB) 	format(string,256,"[%02d:%02d:%02d][chatb][%s][%d]: %s [ID: %d]\r\n",hour, minute, second, NickNameEx(playerid), PlayerInfo[playerid][player_uid], tresc, playerid);
	else if(typ == LOG_TYPE_CMD) 	format(string,256,"[%02d:%02d:%02d][cmd][%s][%d]: %s [ID: %d]\r\n",hour, minute, second, NickNameEx(playerid), PlayerInfo[playerid][player_uid], tresc, playerid);
	else if(typ == LOG_TYPE_VEH) 	format(string,256,"[%02d:%02d:%02d][veh][%s][%d]: %s [ID: %d]\r\n",hour, minute, second, NickNameEx(playerid), PlayerInfo[playerid][player_uid], tresc, playerid);
	else if(typ == LOG_TYPE_OFFER) 	format(string,256,"[%02d:%02d:%02d][offer][%s][%d]: %s [ID: %d]\r\n",hour, minute, second, NickNameEx(playerid), PlayerInfo[playerid][player_uid], tresc, playerid);
	else if(typ == LOG_TYPE_PAYBIZ) format(string,256,"[%02d:%02d:%02d][paybiz][%s][%d]: %s [ID: %d]\r\n",hour, minute, second, NickNameEx(playerid), PlayerInfo[playerid][player_uid], tresc, playerid);
	else if(typ == LOG_TYPE_CREATE) format(string,256,"[%02d:%02d:%02d][CREATE][%s][%d]: %s [ID: %d]\r\n",hour, minute, second, NickNameEx(playerid), PlayerInfo[playerid][player_uid], tresc, playerid);
	fwrite(HF, string);
	fclose(HF);
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	Delete3DTextLabel(PlayerInfo[playerid][tag]);
	if(Logged[playerid] == false) return 1;
	OnPlayerUpdateEx(playerid);
	new str[126],
 		reason_ex[3][16] = {"Crash", "/q", "Kick/Ban"},
 		Text3D:t3D_ID;
 	
	GetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]);
	PlayerInfo[playerid][pos_int] = GetPlayerInterior(playerid);
	PlayerInfo[playerid][pos_vw] = GetPlayerVirtualWorld(playerid);

	format(str, sizeof(str), "%s\n(( %s ))", NickName(playerid), reason_ex[reason]);
	t3D_ID = Create3DTextLabel(str, SZARY, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]+0.5, 50.0, 0);
	SetTimerEx("TLeX", 10000, false, "i", _:t3D_ID);

	format(str, sizeof(str), "DELETE FROM `1online` WHERE `1online`.`uid`=%d LIMIT 1", PlayerInfo[playerid][player_uid]);
	mysql_query(str);

	foreachEx(id, MAX_ITEMS)
	{
		if(ItemData[id][iOwner] == PlayerInfo[playerid][player_uid] && ItemData[id][iUID] != 0)
		{
 			ZapiszPrzedmiot(playerid, id);
		}
	}
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) SaveVeh(CarInfo[SprawdzCarID(GetPlayerVehicleID(playerid))][vUID]);
	if(GetPVarInt(playerid,"podglada") != -1)
	{
		TogglePlayerSpectating(GetPVarInt(playerid,"podglada"),0);
		SetCameraBehindPlayer(GetPVarInt(playerid,"podglada"));
		SetPVarInt(GetPVarInt(playerid,"podglada"),"podgladam",-1);
	}
	else if(GetPVarInt(playerid,"podgladam") != -1)SetPVarInt(GetPVarInt(playerid,"podgladam"),"podglada",-1);
	return 1;
}

FuncPub::TLeX(t3D_ID) return Delete3DTextLabel(Text3D:t3D_ID);

public OnPlayerShootPlayer(shooter, target, damage)
{
	if(GetPVarInt(shooter, "paralizator") == 1)
	{
	    PlayerInfo[target][health] += damage;
 		ApplyAnimation(target, "CRACK", "crckidle1", 4.1, 1, 0, 0, 0, 0);
   		SetTimerEx("rozmowa", 30000, 0, "u", target);
	}
	return 1;
}

public OnPlayerSpawn(playerid)
{
	if(Logged[playerid] == false) return 1;
	SetCameraBehindPlayer(playerid);
	Spawn[playerid] = true;
	SetPlayerColor(playerid, 0xFFFFFF00);
    if(PlayerInfo[playerid][aj] != 0)
    {
        SetPlayerInterior(playerid, Ustawienia[AJ_INT]);
        SetPlayerPos(playerid, Ustawienia[AJ_X], Ustawienia[AJ_Y], Ustawienia[AJ_Z]);
        SetPlayerVirtualWorld(playerid, playerid);
    }
  	else if(PlayerInfo[playerid][bw] != 0)
    {
        SetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]+0.3);
        SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pos_vw]);
        SetPlayerInterior(playerid, PlayerInfo[playerid][pos_int]);
    }
	else if(GetPVarInt(playerid, "spawn") == 4)
    {
		SetPlayerPos(playerid, Hotels[PlayerInfo[playerid][hoteli]][inside_x], Hotels[PlayerInfo[playerid][hoteli]][inside_y], Hotels[PlayerInfo[playerid][hoteli]][inside_z]);
		SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][player_uid]);
	   	SetPlayerInterior(playerid, Hotels[PlayerInfo[playerid][hoteli]][inside_int]);
	   	hotel[playerid][0] = 1;
	   	hotel[playerid][1] = PlayerInfo[playerid][hoteli];
   	}
   	else if(GetPVarInt(playerid, "spawn") == 5)
   	{
		SetPlayerPos(playerid, DoorInfo[PlayerInfo[playerid][dom]][inside_x], DoorInfo[PlayerInfo[playerid][dom]][inside_y], DoorInfo[PlayerInfo[playerid][dom]][inside_z]);
		SetPlayerVirtualWorld(playerid, DoorInfo[PlayerInfo[playerid][dom]][inside_vw]);
	   	SetPlayerInterior(playerid, DoorInfo[PlayerInfo[playerid][dom]][inside_int]);
   	}
    else if(PlayerInfo[playerid][crash] == 0)
    {
		if(GetPVarInt(playerid, "spawn") == 2)
		{
			SetPlayerPos(playerid, Ustawienia[Spawn2][0], Ustawienia[Spawn2][1], Ustawienia[Spawn2][2]);
	    	SetPlayerInterior(playerid, Ustawienia[Spawn_INT]);
			SetPlayerFacingAngle(playerid, Ustawienia[Spawn2][3]);
			SetPlayerVirtualWorld(playerid, Ustawienia[Spawn_VW]);
		}
		else if(GetPVarInt(playerid, "spawn") == 3)
		{
			SetPlayerPos(playerid, Ustawienia[Spawn3][0], Ustawienia[Spawn3][1], Ustawienia[Spawn3][2]);
	    	SetPlayerInterior(playerid, Ustawienia[Spawn_INT]);
			SetPlayerFacingAngle(playerid, Ustawienia[Spawn3][3]);
			SetPlayerVirtualWorld(playerid, Ustawienia[Spawn_VW]);
		}
		else if(GetPVarInt(playerid, "spawn") == 6)
		{
			SetPlayerPos(playerid, Ustawienia[Spawn4][0], Ustawienia[Spawn4][1], Ustawienia[Spawn4][2]);
	    	SetPlayerInterior(playerid, Ustawienia[Spawn_INT]);
			SetPlayerFacingAngle(playerid, Ustawienia[Spawn4][3]);
			SetPlayerVirtualWorld(playerid, Ustawienia[Spawn_VW]);
		}
        else // spawn == 1
        {
			SetPlayerPos(playerid, Ustawienia[Spawn1][0], Ustawienia[Spawn1][1], Ustawienia[Spawn1][2]);
	    	SetPlayerInterior(playerid, Ustawienia[Spawn_INT]);
			SetPlayerFacingAngle(playerid, Ustawienia[Spawn1][3]);
			SetPlayerVirtualWorld(playerid, Ustawienia[Spawn_VW]);
		}
		ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "{FFFFFF}Witaj na {2F991A}"servname"", TEXT_P1, "Okey", "");
	}
	else
	{
	    SendClientMessage(playerid, CLR_GREEN, "Twoja pozycja została przywrócona!");
        SetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]+0.3);
        SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pos_vw]);
        SetPlayerInterior(playerid, PlayerInfo[playerid][pos_int]);
	}
	if(PlayerInfo[playerid][skin] == 0)
	{
		SetPlayerSkin(playerid, PlayerInfo[playerid][skin2]);
		PlayerInfo[playerid][skin] = PlayerInfo[playerid][skin2];
	}
	else SetPlayerSkin(playerid, PlayerInfo[playerid][skin]);

	SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 			1);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 	1);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 	999);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_SHOTGUN, 			1);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 	1);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_SPAS12_SHOTGUN, 	1);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 		1);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_MP5, 				1);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_AK47, 			1);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_M4, 				1);
	SetPlayerSkillLevel(playerid, WEAPONSKILL_SNIPERRIFLE, 		1);

	SetPlayerFightingStyle(playerid, PlayerInfo[playerid][sztukawalki]);
	SetTimerEx("Muzyka", 5000, 0, "u", playerid);
	SetPlayerHealth(playerid, PlayerInfo[playerid][health]);
	SetPlayerDrunkLevel(playerid, PlayerInfo[playerid][drunklvl]);
	if(!GetPVarInt(playerid, "Pre"))
	{
   		PreloadAnimLib(playerid, "BOMBER");
   		PreloadAnimLib(playerid, "RAPPING");
    	PreloadAnimLib(playerid, "SHOP");
   		PreloadAnimLib(playerid, "BEACH");
   		PreloadAnimLib(playerid, "SMOKING");
    	PreloadAnimLib(playerid, "FOOD");
    	PreloadAnimLib(playerid, "ON_LOOKERS");
    	PreloadAnimLib(playerid, "DEALER");
		PreloadAnimLib(playerid, "CRACK");
		PreloadAnimLib(playerid, "CARRY");
		PreloadAnimLib(playerid, "COP_AMBIENT");
		PreloadAnimLib(playerid, "PARK");
		PreloadAnimLib(playerid, "INT_HOUSE");
		PreloadAnimLib(playerid, "INT_OFFICE");
		PreloadAnimLib(playerid, "FOOD");
		PreloadAnimLib(playerid, "PED");
		PreloadAnimLib(playerid, "POLICE");
		PreloadAnimLib(playerid, "CAR");
		PreloadAnimLib(playerid, "CAR_CHAT");
		PreloadAnimLib(playerid, "MEDIC");
		PreloadAnimLib(playerid, "GANGS");
		PreloadAnimLib(playerid, "BENCHPRESS");
		PreloadAnimLib(playerid, "HEIST9");
		PreloadAnimLib(playerid, "MISC");
		PreloadAnimLib(playerid, "OTB");
		PreloadAnimLib(playerid, "PAULNMAC");
		PreloadAnimLib(playerid, "SWEET");
		PreloadAnimLib(playerid, "GRAFFITI");
		PreloadAnimLib(playerid, "FIGHT_C");
		PreloadAnimLib(playerid, "FIGHT_B");
		PreloadAnimLib(playerid, "FIGHT_D");
		PreloadAnimLib(playerid, "WAYFARER");
		PreloadAnimLib(playerid, "BASEBALL");
		PreloadAnimLib(playerid, "GRENADE");
		PreloadAnimLib(playerid, "BSKTBALL");
		PreloadAnimLib(playerid, "RIOT");
		SetPVarInt(playerid, "Pre", 1);
	}
	#if BOTUSE == 1
	if(IsPlayerNPC(playerid))
    {
        SetPlayerVirtualWorld(playerid, Ustawienia[Spawn_VW]);
        Spawn[playerid] = true;
        if(!strcmp(NickSamp(playerid), NPC_TRAM, true))
        {
        	PutPlayerInVehicle(playerid, NPC_TRAMVEH, 0);
			SetPlayerSkin(playerid, 61);
        }
    }
    #endif
    DeletePVar(playerid, "spawn");
	return 1;
}

public OnPlayerRequestClass(playerid)
{
	if(Logged[playerid] == false) return 1;
	if(IsPlayerNPC(playerid)) return 1;
	SetSpawnInfo(playerid, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
	SpawnPlayer(playerid);
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    if(Logged[playerid] == false) return 0;
    return 1;
}

FuncPub::Muzyka(playerid)
{
	foreachEx(id, MAX_DOOR)
	{
		if(Audio_IsClientConnected(playerid))
		{
		  	Audio_Set3DPosition(playerid, DoorInfo[id][playmusic], DoorInfo[id][outside_x], DoorInfo[id][outside_y], DoorInfo[id][outside_z], 20.0);
			Audio_SetVolume(playerid, DoorInfo[id][playmusic], 70);
		}
	}
	return 1;
}

public OnGameModeExit()
{
	Audio_DestroyTCPServer();
	foreach(Player, id)
	{
		Delete3DTextLabel(PlayerInfo[id][tag]);
	    Kolczatka[id] = -1;
		if(Logged[id] == true)
		{
			PlayerInfo[id][crash] = 1;
			OnPlayerUpdateEx(id);
		}
	}
	foreachEx(i, MAX_VEH)
	{
	    if(CarInfo[i][Spawned] == 1)
	        if(CarInfo[i][vUID] != INVALID_VEH_ID)
	   			SaveVeh(CarInfo[i][vUID]);
	   	if(DoorInfo[i][door_uid] != INVALID_DOOR_ID)
	   		SaveDoor(i);
	}
	mysql_query("TRUNCATE TABLE `1online`");
	mysql_close();
	return 1;
}

FuncPub::Glowny()
{
	new godzina,
		minuta,
        second;
    gettime(godzina, minuta, second);
    if(godzina == 04 && minuta == 00 && second == 00)
	{
	    GameTextForAll("~r~Restart Serwera...", 5000, 5);
	    SendRconCommand("gmx");
	    // Pay Day
	}
 	new m[3], str2[32];
	getdate(m[0], m[1], m[2]);
	format(str2, sizeof(str2), "SL-RP %d.%d", m[2], m[1]);
	TextDrawSetString(Data, str2);
	TextDrawShowForAll(Data);
	
    if(minuta == 00 && second == 00)
    {
        new string[45];
		SetWorldTime(godzina);
		wid = Weathers[random(MAX_WEATHER)];
		SetWeather(wid);
		foreach(Player, i)
			SetPlayerTime(i,godzina,minuta);
		format(string, sizeof(string), "** Dzwony w ratuszu biją %d razy. **", godzina);
		SendClientMessageToAll(COLOR_PURPLE, string);

	}
	foreach(Player, i)
	{
		if(PlayerInfo[i][minutes] == 60)
		{
		    SendClientMessage(i, CLR_GREEN, "Właśnie dostałeś wypłatę, następna będzie, gdy przegrasz kolejną godzinę na serwerze.");
			PlayerInfo[i][cash]+=100;
	 		PlayerInfo[i][minutes] = 0;
		    PlayerInfo[i][hours]++;
		}
	}
	if(second == 59)
	{
		foreach(Player, i)
		{
			SetPlayerTime(i, godzina, minuta);
			PlayerInfo[i][minutes]++;
		}
	}
	foreach(Player, i)
	{
	 	if(Logged[i] == false) return 1;
	    if(Spawn[i] == false) return 1;
		Timer(i);
		Pickup(i);
		odpojazdu(i);
		if(GetPlayerMoney(i) != PlayerInfo[i][cash]) SetPlayerMoney(i, PlayerInfo[i][cash]);
		new str[126];
		new Float:HP;
		GetPlayerHealth(i, HP);
		if(HP > PlayerInfo[i][health]) SetPlayerHealth(i, PlayerInfo[i][health]);
		else if(HP < PlayerInfo[i][health])
		{
			if(adminduty[i] == true) format(str, sizeof(str), "%s", PlayerInfo[i][globname]);
			else if(gmduty[i] == true) format(str, sizeof(str), "GameMaster %s", CharCode(i));
			else format(str, sizeof(str), "%s (%d)", NickName(i), i);
			Update3DTextLabelText(PlayerInfo[i][tag], RED, str);
			TextDrawShowForPlayer(i, Ekran);
			// Odgłos
			new soundid[] = {13, 14, 15};
			if(Audio_IsClientConnected(i)) Audio_Play(i, soundid[random(sizeof(soundid))]);
			SetTimerEx("Nicki", 3000, 0, "u", i);
			if(PlayerInfo[i][health] - HP >= 20.0)
			{
			    ApplyAnimation(i, "CRACK", "crckidle1", 4.1, 1, 0, 0, 0, 0);
			    SetTimerEx("rozmowa", 4000, 0, "u", i);
			}
			PlayerInfo[i][health] = HP;
		}
		if(IsPlayerInAnyVehicle(i))
		{
			new Float:VehHP;
			new vehid = SprawdzCarID(GetPlayerVehicleID(i));
			GetVehicleHealth(GetPlayerVehicleID(i), VehHP);
			// Veh HP
			if(VehHP < CarInfo[vehid][vHP])
			{
				new Float:wartosc = (CarInfo[vehid][vHP] - VehHP)/10;
				SetPlayerHealthEx(i, PlayerInfo[i][health] - wartosc);

				GetVehicleHealth(GetPlayerVehicleID(i), CarInfo[vehid][vHP]);
				GetVehicleDamageStatus(GetPlayerVehicleID(i), CarInfo[vehid][panels], CarInfo[vehid][doors], CarInfo[vehid][lights], CarInfo[vehid][tires]);

				if(adminduty[i] == true) format(str, sizeof(str), "%s", PlayerInfo[i][globname]);
				else if(gmduty[i] == true) format(str, sizeof(str), "GameMaster %s", CharCode(i));
				else format(str, sizeof(str), "%s (%d)", NickName(i), i);
				Update3DTextLabelText(PlayerInfo[i][tag], RED, str);
				TextDrawShowForPlayer(i, Ekran);
				SetTimerEx("Nicki", 3000, 0, "u", i);
			}
		}
	}
	return 1;
}

FuncPub::Nicki(id)
{
	new str[70];
	if(PlayerInfo[id][adminlvl] != 0 && adminduty[id] == true) format(str, sizeof(str), "%s", PlayerInfo[id][globname]);
	else if(PlayerInfo[id][gmlvl] != 0 && gmduty[id] == true) format(str, sizeof(str), "GameMaster %s", CharCode(id));
	else if(IsPlayerNPC(id)) format(str, sizeof(str), "%s (BOT)", NickName(id));
	else format(str, sizeof(str), "%s (%d)", NickName(id), id);
	Update3DTextLabelText(PlayerInfo[id][tag], PlayerColor[id], str);
 	TextDrawHideForPlayer(id, Ekran);
	return 1;
}

FuncPub::textkara() return TextDrawHideForAll(Licznik);

FuncPub::AntyCheat()
{
	foreach(Player, i)
	{
		new str[126];
	 	if(Logged[i] == false) return 1;
	    if(Spawn[i] == false) return 1;
		// Veh
		if(PlayerInfo[i][adminlvl] != 0 && adminduty[i] == true) return 1;
		if(IsPlayerInAnyVehicle(i))
		{
			new Float:VehHP;
			new vehid = SprawdzCarID(GetPlayerVehicleID(i));
			GetVehicleHealth(GetPlayerVehicleID(i), VehHP);
			// Veh HP
			if(VehHP > CarInfo[vehid][vHP])
			{
				if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
		   		{
					format(str, sizeof(str), "~>~ Admin Jail ~<~ ~r~%s ~w~zostal uwieziony w Admin Jailu przez ~r~AntyCheat. ~w~Powod: ~r~Wymuszona naprawa pojazdu (UID: %d)", NickName(i), vehid);
					TextDrawSetString(Licznik, str);
					TextDrawShowForAll(Licznik);
					KillTimer(Karatd);
					Karatd = SetTimer("textkara", 15000, 0);
					SetPlayerInAdminJail(i, KARA_SYSTEM, AJ_NOLIMIT, "Wymuszona naprawa");
					SendClientMessage(i, RED, "Zostałeś uwięziony w Admin Jailu na nieskończoność minut. Powód: Wymuszona naprawa");
				}
			}
			else if(VehHP < CarInfo[vehid][vHP])
			{
				new Float:wartosc = (CarInfo[vehid][vHP] - VehHP)/10;
				SetPlayerHealthEx(i, PlayerInfo[i][health] - wartosc);

				GetVehicleHealth(GetPlayerVehicleID(i), CarInfo[vehid][vHP]);
				GetVehicleDamageStatus(GetPlayerVehicleID(i), CarInfo[vehid][panels], CarInfo[vehid][doors], CarInfo[vehid][lights], CarInfo[vehid][tires]);

				if(adminduty[i] == true) format(str, sizeof(str), "%s", PlayerInfo[i][globname]);
				else if(gmduty[i] == true) format(str, sizeof(str), "GameMaster %s", CharCode(i));
				else format(str, sizeof(str), "%s (%d)", NickName(i), i);
				Update3DTextLabelText(PlayerInfo[i][tag], RED, str);
				TextDrawShowForPlayer(i, Ekran);
				SetTimerEx("Nicki", 3000, 0, "u", i);
			}
			// Speed Hack
			if(GetVehSpeed(GetPlayerVehicleID(i)) > 300)
			{
				if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
		   		{
					format(str, sizeof(str), "~>~ Admin Jail ~<~ ~r~%s ~w~zostal uwieziony w Admin Jailu przez ~r~AntyCheat. ~w~Powod: ~r~Speed Hack", NickName(i));
					TextDrawSetString(Licznik, str);
					TextDrawShowForAll(Licznik);
					KillTimer(Karatd);
					Karatd = SetTimer("textkara", 15000, 0);
					SetPlayerInAdminJail(i, KARA_SYSTEM, AJ_NOLIMIT, "Speed Hack");
					SetPlayerVirtualWorld(i, i);
					SendClientMessage(i, RED, "Zostałeś uwięziony w Admin Jailu na nieskończoność minut. Powód: Speed Hack");
				}
			}
		}
	   	// JetPack
	    if(GetPlayerSpecialAction(i) == 2)
	    {
			format(str, sizeof(str), "~>~ Kick ~<~ ~r~%s ~w~zostal wyrzucony przez ~r~AntyCheat. ~w~Powod: ~r~JetPack", NickName(i));
			TextDrawSetString(Licznik, str);
			TextDrawShowForAll(Licznik);
			KillTimer(Karatd);
			Karatd = SetTimer("textkara", 15000, 0);
			Warn("Kick", i, KARA_SYSTEM, "JetPack");
			Kick(i);
	  	}
	  	// Bronie
	    if(GetPlayerWeapon(i) != GetPVarInt(i, "WeaponUse") && GetPlayerWeapon(i) != 0)
	    {
			format(str, sizeof(str), "~>~ Admin Jail ~<~ ~r~%s ~w~zostal uwieziony w Admin Jailu przez ~r~AntyCheat. ~w~Powod: ~r~Bron: %d(%s)", NickName(i), GetPlayerWeapon(i), NazwaBroni(GetPlayerWeapon(i)));
			TextDrawSetString(Licznik, str);
			TextDrawShowForAll(Licznik);
			KillTimer(Karatd);
			Karatd = SetTimer("textkara", 15000, 0);
			SetPlayerInAdminJail(i, KARA_SYSTEM, AJ_NOLIMIT, "Weapon Cheat");
			SendClientMessage(i, RED, "Zostałeś uwięziony w Admin Jailu na nieskończoność minut. Powód: Weapon Cheat");
	    }
    }
	return 1;
}

FuncPub::LoadAnims()
{
	new animid, str[126];
	mysql_query("SELECT * FROM `1anims`");
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
	    sscanf(str, "p<|>d", animid);

	    sscanf(str, "p<|>is[64]s[64]s[64]fiiiii",
		Anim[animid][anim_id],
		Anim[animid][anim_name],
		Anim[animid][anim_animlib],
		Anim[animid][anim_animname],
		Anim[animid][anim_speed],
		Anim[animid][anim_opt1],
		Anim[animid][anim_opt2],
		Anim[animid][anim_opt3],
		Anim[animid][anim_opt4],
		Anim[animid][anim_opt5]);
	}
	mysql_free_result();
	printf("%d | Animacje zostały wczytane.", animid);
	return 1;
}

FuncPub::ShowPlayerAnimations(playerid)
{
    new animlist[1536];
	for(new i = 1; i < MAX_ANIM; i++)
	    if(strlen(Anim[i][anim_name]) > 0)
	        format(animlist, sizeof(animlist), "%s%s\n",animlist, Anim[i][anim_name]);
	ShowPlayerDialog(playerid,D_ANIM,DIALOG_STYLE_LIST,"Lista animacji",animlist,"Wybierz","Zamknij");
	return 1;
}

FuncPub::LoadOption()
{
	new query[256];
    mysql_query("SELECT * FROM `1ustawienia`");
	mysql_store_result();
	while(mysql_fetch_row_format(query, "|"))
	{
		sscanf(query, "p<|>ffffffffffffffffiifffifffffffff",
		Ustawienia[Spawn1][0],
	 	Ustawienia[Spawn1][1],
	 	Ustawienia[Spawn1][2],
	 	Ustawienia[Spawn1][3],
		Ustawienia[Spawn2][0],
	 	Ustawienia[Spawn2][1],
	 	Ustawienia[Spawn2][2],
	 	Ustawienia[Spawn2][3],
		Ustawienia[Spawn3][0],
	 	Ustawienia[Spawn3][1],
	 	Ustawienia[Spawn3][2],
	 	Ustawienia[Spawn3][3],
		Ustawienia[Spawn4][0],
	 	Ustawienia[Spawn4][1],
	 	Ustawienia[Spawn4][2],
	 	Ustawienia[Spawn4][3],
	 	Ustawienia[Spawn_VW],
	 	Ustawienia[Spawn_INT],
	 	Ustawienia[AJ_X],
	 	Ustawienia[AJ_Y],
	 	Ustawienia[AJ_Z],
	 	Ustawienia[AJ_INT],
		Ustawienia[gas1][0],
		Ustawienia[gas1][1],
		Ustawienia[gas1][2],
		Ustawienia[FUEL_PRICE],
		Ustawienia[GAS_PRICE],
		Ustawienia[energia_price],
		Ustawienia[carspawn][0],
		Ustawienia[carspawn][1],
		Ustawienia[carspawn][2]);
	}
	mysql_free_result();
	print("Ustawienia zostały wczytane.");
	return 1;
}
FuncPub::Load3d()
{
	new query[256], text3d;
    mysql_query("SELECT * FROM `1textlabels`");
	mysql_store_result();
	while(mysql_fetch_row_format(query, "|"))
	{
	    sscanf(query, "p<|>d", text3d);

		sscanf(query, "p<|>dfffds[100]",
		TL[text3d][Tuid],
		TL[text3d][TX],
		TL[text3d][TY],
		TL[text3d][TZ],
		TL[text3d][TVW],
		TL[text3d][TName]);
        TL[text3d][Tingame] = Create3DTextLabel(TL[text3d][TName], BIALY, TL[text3d][TX], TL[text3d][TY], TL[text3d][TZ], 100.0, TL[text3d][TVW], 1);
	}
	mysql_free_result();
	printf("%d | 3D Teksty zostały wczytane.", text3d);
	return 1;
}

FuncPub::LoadBus()
{
	new query[256], busid;
    mysql_query("SELECT * FROM `1Bus`");
	mysql_store_result();
	while(mysql_fetch_row_format(query, "|"))
	{
	    sscanf(query, "p<|>d", busid);
	    
		sscanf(query, "p<|>ds[64]ffffffdd",
		Bus[busid][tUID],
		Bus[busid][tName],
		Bus[busid][tX],
		Bus[busid][tY],
		Bus[busid][tZ],
		Bus[busid][zX],
		Bus[busid][zY],
		Bus[busid][zZ],
		Bus[busid][tPrice],
		Bus[busid][tTime]);
	}
	mysql_free_result();
	printf("%d | Autobusy zostały wczytane.", busid);
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	GetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]);
	PlayerInfo[playerid][pos_int] = GetPlayerInterior(playerid);
	PlayerInfo[playerid][pos_vw] = GetPlayerVirtualWorld(playerid);
	PlayerInfo[playerid][skin] = GetPlayerSkin(playerid);
	
	for(new i = 1; i < MAX_ITEMS; i++)
	{
		if(ItemData[i][iOwner] == PlayerInfo[playerid][player_uid] && ItemData[i][iPlace] == PLACE_PLAYER && ItemData[i][iUID] != 0)
		{
		    ZapiszPrzedmiot(playerid, ItemData[i][iUID]);
			ItemData[i][iUsed] = 0;
		}
	}
	ResetPlayerWeapons(playerid);
	SetPVarInt(playerid, "PlayerWeapon", 0);
	SetPVarInt(playerid, "paralizator", 0);
	SetPVarInt(playerid, "WeaponUse", 0);
	RemovePlayerAttachedObject(playerid, PLACE_ELSE);
	if(killerid != INVALID_PLAYER_ID)
	{
	    if(GetPlayerWeapon(killerid) != reason)
	    {
			if(PlayerInfo[killerid][hours] <= 3)
			{
			    if(PlayerInfo[playerid][adminlvl] < 1)
	   			{
					SetPlayerInAdminJail(killerid, KARA_SYSTEM, 20, "Prawdopodobny DM");
					SendClientMessage(killerid, RED, "Zostałeś uwięziony w Admin Jailu na 20 minut. Powód: Prawdopodobny DM");
					Smierc(playerid, 1);
					SendClientMessage(playerid, RED, "Zostałeś zabity przez gracza który nie miał przegrancyh 3 godzin gry. Twoje BW skończy się za 1min.");
					return 1;
		    	}
		    }
	  	}
    }
	if(IsPlayerInAnyVehicle(playerid))
	{
	    if(GetPVarInt(playerid, "pasy") == 1) Smierc(playerid, 5);
	    else Smierc(playerid, 15);
	    return 1;
	}
	if(reason == 0) Smierc(playerid, 10);
  	else Smierc(playerid, 30);
	return 1;
}

FuncPub::LoadPickup()
{
	new str[126], pickid;
	mysql_query("SELECT * FROM `1pickups`");
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
	    sscanf(str, "p<|>d", pickid);

		sscanf(str, "p<|>iifffii",
	    Pickups[pickid][pUID],
		Pickups[pickid][pmodel],
		Pickups[pickid][ox],
		Pickups[pickid][oy],
		Pickups[pickid][oz],
		Pickups[pickid][vw],
		Pickups[pickid][pType]);

		Pickups[pickid][psampid] = CreatePickup(Pickups[pickid][pmodel], 2, Pickups[pickid][ox], Pickups[pickid][oy], Pickups[pickid][oz], Pickups[pickid][vw]);
	}
	mysql_free_result();
	printf("%d | Pickupy zostały wczytane.", pickid);
   	return 1;
}
FuncPub::AddPickup(Model, Float:PosX, Float:PosY, Float:PosZ, virtual, type)
{
	new query[256];
	format(query, sizeof(query), "INSERT INTO `1pickups` (`pmodel`, `ox`, `oy`, `oz`, `vw`, `oType`) VALUES ('%d', '%f', '%f', '%f', '%d', '%d')", Model, PosX, PosY, PosZ, virtual, type);
	mysql_query(query);
	new id = mysql_insert_id();
	Pickups[id][pUID] = id;
    Pickups[id][ox] = PosX;
    Pickups[id][oy] = PosY;
    Pickups[id][oz] = PosZ;
	Pickups[id][pmodel] = Model;
	Pickups[id][vw] = virtual;
	Pickups[id][pType] = type;

	Pickups[id][psampid] = CreatePickup(Pickups[id][pmodel], 2, Pickups[id][ox], Pickups[id][oy], Pickups[id][oz], Pickups[id][vw]);
	return id;
}
FuncPub::DelPickup(uid)
{
	new query[256];
 	format(query, sizeof(query), "DELETE FROM `1pickups` WHERE `puid`=%d", uid);
	mysql_query(query);
	Pickups[uid][pUID] = 0;
    Pickups[uid][ox] = 0;
    Pickups[uid][oy] = 0;
    Pickups[uid][oz] = 0;
	Pickups[uid][pmodel] = 0;
	Pickups[uid][vw] = 0;
	Pickups[uid][pType] = 0;

	DestroyPickup(Pickups[uid][psampid]);
	return 1;
}
FuncPub::IsAtGasStation(playerid)
{
	if(PlayerToPoint(30.0, playerid, Ustawienia[gas1][0], Ustawienia[gas1][1], Ustawienia[gas1][2])) return 1;
//	if(PlayerToPoint(30.0, playerid, Ustawienia[gas2][0], Ustawienia[gas2][1], Ustawienia[gas2][2])) return 1;
//	if(PlayerToPoint(30.0, playerid, Ustawienia[gas3][0], Ustawienia[gas3][1], Ustawienia[gas3][2])) return 1;
	return 0;
}

FuncPub::ZapiszOrg(id)
{
	new str[126];
	format(str, 126, "UPDATE `1organizacje` SET `cash`=%d, `desc`='%s' WHERE `org_uid`=%d", Org[id][cash], Org[id][desc], id);
    mysql_query(str);
   	return 1;
}

FuncPub::ZapiszBiz(id)
{
	new str[126];
	format(str, 126, "UPDATE `1biznesy` SET `cash`=%d, `desc`='%s' `buss_kind`=%d WHERE `biz_uid`=%d", Business[id][cash], Business[id][desc], Business[id][buss_kind], id);
    mysql_query(str);
   	return 1;
}

FuncPub::LoadOrganizacje()
{
	new str[126], orgid;
	mysql_query("SELECT * FROM `1organizacje`");
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
	    sscanf(str, "p<|>d", orgid);

		sscanf(str, "p<|>iis[32]ii",
		Org[orgid][org_uid],
        Org[orgid][cash],
       	Org[orgid][desc],
  		Org[orgid][typed],
  		Org[orgid][typid]);
	}
	printf("%d | Organizacje zostały wczytane.", orgid);
	mysql_free_result();
	return 1;
}
FuncPub::LoadBiznes()
{
	new str[126], bizid;
	mysql_query("SELECT * FROM `1biznesy`");
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
	    sscanf(str, "p<|>d", bizid);

		sscanf(str, "p<|>iis[32]ii",
		Business[bizid][buss_uid],
        Business[bizid][cash],
       	Business[bizid][desc],
		Business[bizid][buss_kind],
		Business[bizid][typed]);
	}
	printf("%d | Biznesy zostały wczytane.", bizid);
	mysql_free_result();
	return 1;
}
FuncPub::LoadItems()
{
	new str[128], itemid;
	mysql_query("SELECT * FROM `1items`");
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
	    sscanf(str, "p<|>d", itemid);

		sscanf(str, "p<|>iis[32]iiiifffiiiis[60]i",
		ItemData[itemid][iUID],
		ItemData[itemid][iType],
		ItemData[itemid][iName],
		ItemData[itemid][iOwner],
		ItemData[itemid][iValue1],
		ItemData[itemid][iValue2],
		ItemData[itemid][iPlace],
		ItemData[itemid][iPosX],
		ItemData[itemid][iPosY],
		ItemData[itemid][iPosZ],
		ItemData[itemid][iWeight],
		ItemData[itemid][iReserved],
		ItemData[itemid][iBelongTo],
		ItemData[itemid][iVW],
		ItemData[itemid][iValue3],
		ItemData[itemid][iUsed]);
		if(ItemData[itemid][iPlace] == PLACE_NONE)
		{
			if(ItemData[itemid][iType] == ITEM_WEAPON) ItemData[itemid][ObjectGameID] = CreateDynamicObject(ObjectModel[ItemData[itemid][iValue1]], ItemData[itemid][iPosX], ItemData[itemid][iPosY], ItemData[itemid][iPosZ], 85.0, -809.0, 270, ItemData[itemid][iVW]);
            else
            {
                ItemData[itemid][ObjectGameID] = CreateDynamicObject(1575, ItemData[itemid][iPosX], ItemData[itemid][iPosY], ItemData[itemid][iPosZ], 0.0, 0.0, 0.0, ItemData[itemid][iVW]);
                ItemData[itemid][i3DText] = Create3DTextLabel(ItemData[itemid][iName], COLOR_PURPLE, ItemData[itemid][iPosX], ItemData[itemid][iPosY], ItemData[itemid][iPosZ], 10.0, ItemData[itemid][iVW]);
            }
		}
	}
	printf("%d | Przedmioty zostały wczytane.", itemid);
	mysql_free_result();
	return 1;
}

FuncPub::GetWeaponAmmo(playerid, weaponid)
{
        new weap, ammo;
        new slot = 0;
        switch(weaponid)
        {
                case 0,1:                       slot=0;
                case 2,3,4,5,6,7,8,9:   		slot=1;
                case 22,23,24:                  slot=2;
                case 25,26,27:                  slot=3;
                case 28,29,32:                  slot=4;
                case 30,31:                     slot=5;
                case 33,34:                     slot=6;
                case 35,36,37,38:               slot=7;
                case 16,17,18,39:               slot=8;
                case 41,42,43:                  slot=9;
                case 10,11,12,13,14,15: 		slot=10;
                case 44,45,46:                  slot=11;
                case 40:                        slot=12;
        }
        GetPlayerWeaponData(playerid, slot, weap, ammo);
        return ammo;
}

public OnPlayerRemoveItem(playerid, uid)
{
	new tresc[50];
	if(SprawdzPrzedmiotEx(PlayerInfo[playerid][player_uid], uid))
	{
	    if(!IsPlayerInAnyVehicle(playerid))
	    {
            new Float:a;
            GetPlayerFacingAngle(playerid, a);
			GetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]);
			ItemData[uid][iPlace] = PLACE_NONE;
			ItemData[uid][iOwner] = 0;
			ItemData[uid][iPosX] = PlayerInfo[playerid][pos_x];
			ItemData[uid][iPosY] = PlayerInfo[playerid][pos_y];
			ItemData[uid][iPosZ] = PlayerInfo[playerid][pos_z]-0.9;
			ItemData[uid][iVW] = GetPlayerVirtualWorld(playerid);

			if(ItemData[uid][iType] == ITEM_WEAPON) ItemData[uid][ObjectGameID] = CreateDynamicObject(ObjectModel[ItemData[uid][iValue1]], ItemData[uid][iPosX], ItemData[uid][iPosY], ItemData[uid][iPosZ], 85.0, -809.0, a+270, ItemData[uid][iVW]);
            else
            {
                ItemData[uid][ObjectGameID] = CreateDynamicObject(1575, ItemData[uid][iPosX], ItemData[uid][iPosY], ItemData[uid][iPosZ], 0.0, 0.0, 0.0, ItemData[uid][iVW]);
                ItemData[uid][i3DText] = Create3DTextLabel(ItemData[uid][iName], COLOR_PURPLE, ItemData[uid][iPosX], ItemData[uid][iPosY], ItemData[uid][iPosZ], 10.0, ItemData[uid][iVW]);
            }

			ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.1, 0, 0, 0, 0, 0);
			format(tresc,sizeof(tresc),"* %s odkłada coś na ziemi.", NickName(playerid));
			serwerme(playerid, tresc);
		}
		else
		{
		    new vehe = SprawdzCarID(GetPlayerVehicleID(playerid));
			ItemData[uid][iPlace] = PLACE_VEHICLE;
			ItemData[uid][iOwner] = CarInfo[vehe][vUID];
			format(tresc,sizeof(tresc),"* %s odkłada coś w aucie.", NickName(playerid));
			serwerme(playerid, tresc);
		}
		ZapiszPrzedmiot(playerid, uid);
	}
   	else ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Użycie", "Ten przedmiot nie należy do Ciebie,\nlub obecnie go używasz!", "Okey", "");
	return 1;
}

FuncPub::WczytajPrzedmiotEx(itemid)
{
	new str[128];
	format(str, 128, "SELECT * FROM `1items` WHERE `iUID`=%d", itemid);
	mysql_query(str);
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
		sscanf(str, "p<|>iis[32]iiiifffiiis[50]i",
		ItemData[itemid][iUID],
		ItemData[itemid][iType],
		ItemData[itemid][iName],
		ItemData[itemid][iOwner],
		ItemData[itemid][iValue1],
		ItemData[itemid][iValue2],
		ItemData[itemid][iPlace],
		ItemData[itemid][iPosX],
		ItemData[itemid][iPosY],
		ItemData[itemid][iPosZ],
		ItemData[itemid][iWeight],
		ItemData[itemid][iReserved],
		ItemData[itemid][iBelongTo],
		ItemData[itemid][iVW],
		ItemData[itemid][iValue3],
		ItemData[itemid][iUsed]);
		if(ItemData[itemid][iPlace] == PLACE_NONE)
		{
			Delete3DTextLabel(ItemData[itemid][i3DText]);
			ItemData[itemid][i3DText] = Create3DTextLabel(ItemData[itemid][iName], COLOR_PURPLE, ItemData[itemid][iPosX], ItemData[itemid][iPosY], ItemData[itemid][iPosZ], 10.0, ItemData[itemid][iVW], 1);
			ItemData[itemid][ObjectGameID] = CreateDynamicObject(ItemData[itemid][ObjectItem], ItemData[itemid][iPosX], ItemData[itemid][iPosY], ItemData[itemid][iPosZ], 0.0, 0.0, 0.0, ItemData[itemid][iVW]);
		}
	}
	mysql_free_result();
	return 1;
}
FuncPub::ZapiszPrzedmiot(playerid, itemid)
{
	if(ItemData[itemid][iType] == ITEM_WEAPON && ItemData[itemid][iUsed] == 1)
	{
		ItemData[itemid][iValue2] = GetWeaponAmmo(playerid, ItemData[itemid][iValue1]);
		ItemData[itemid][iUsed] = 0;
	}
	new query[256];
	format(query, sizeof(query), "UPDATE `1items` SET `iPlace`=%d, `iType`=%d, `iOwner`=%d, `iValue1`=%d, `iValue2`=%d, `iPosX`=%f, `iPosY`=%f,`iPosZ`=%f, `iWeight`=%d, `iReserved`=%d, `iBelongTo`=%d, `iVW`=%d, `iName`='%s', `iUsed`='%d' WHERE `iUID`='%d'",
	ItemData[itemid][iPlace],
	ItemData[itemid][iType],
	ItemData[itemid][iOwner],
	ItemData[itemid][iValue1],
	ItemData[itemid][iValue2],
	ItemData[itemid][iPosX],
	ItemData[itemid][iPosY],
	ItemData[itemid][iPosZ],
	ItemData[itemid][iWeight],
	ItemData[itemid][iReserved],
	ItemData[itemid][iBelongTo],
	ItemData[itemid][iVW],
	ItemData[itemid][iName],
	ItemData[itemid][iUsed],
	itemid);
	mysql_query(query);
	return 1;
}

FuncPub::rozmowa(playerid) return ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);

public OnPlayerUseItem(playerid, itemid)
{
	new string[126];
	new text[126];
	if(SprawdzPrzedmiotEx(PlayerInfo[playerid][player_uid], itemid))
	{
 		if(itemid != 0)
  		{
			if(ItemData[itemid][iType] == ITEM_TUNING)
			{
			    new gracz, cena;
			    if(sscanf(text, "ud", gracz, cena))
			    {
					ShowInfo(playerid, "[ID na liście] [Gracz] [Cena]");
					return 0;
				}
				if(ItemData[itemid][iUID] == INVALID_ITEM_ID) return 0;
				Offer[playerid][o_player] = gracz;
				Offer[playerid][o_playeruid] = PlayerInfo[gracz][player_uid];
	            Offer[playerid][o_price] = cena;
	            Offer[playerid][o_type] = OFFER_COMP;
	            Offer[playerid][o_active] = 1;
	            Offer[playerid][o_value1] = itemid;
				Offer[playerid][o_value3] = GetVehicleID(gracz);

	            Offer[gracz][o_active] = 1;
	            Offer[gracz][o_player] = playerid;
				Offer[gracz][o_playeruid] = PlayerInfo[playerid][player_uid];
	   			Offer[gracz][o_price] = cena;
	   			Offer[gracz][o_type] = OFFER_COMP;
	      		Offer[gracz][o_value1] = itemid;
	      		Offer[gracz][o_value3] = GetVehicleID(gracz);

	 			SendClientMessage(playerid, GREEN, SEND_OFFER);
				ShowPlayerOffer(gracz);
				ShowItems(playerid);
			}
			else if(ItemData[itemid][iType] == ITEM_WEAPON || ItemData[itemid][iType] == ITEM_PARAL)
			{
			    if(PlayerInfo[playerid][bron] == 1) return Info(playerid, "{FFFFFF}"servname" » {008000}Blokada broni", TEXT_BRON);
				if(ItemData[itemid][iValue2] < 1)
				{
					GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~Ten przedmiot nie posiada amunicji!", 2000, 3);
					ShowItems(playerid);
					return 1;
				}
				if(ItemData[itemid][iUsed] == 0)
				{
					if(GetPVarInt(playerid, "PlayerWeapon") == 1) return SendClientMessage(playerid, SZARY, "Możesz w ręku trzymać maksymalnie 1 broń.");
					format(string, sizeof(string), "* %s wyciągnął broń %s.", NickName(playerid), ItemData[itemid][iName]);
					serwerme(playerid, string);
					SetPVarInt(playerid, "PlayerWeapon", GetPVarInt(playerid, "PlayerWeapon")+1);
					SetPVarInt(playerid, "WeaponUse", ItemData[itemid][iValue1]);
					GivePlayerWeapon(playerid, ItemData[itemid][iValue1], ItemData[itemid][iValue2]);
					ItemData[itemid][iUsed] = 1;
					if(ItemData[itemid][iType] == ITEM_PARAL) SetPVarInt(playerid, "paralizator", 1);
				}
				else if(ItemData[itemid][iUsed] == 1)
				{
					format(string, sizeof(string), "* %s schował broń %s.", NickName(playerid), ItemData[itemid][iName]);
					serwerme(playerid, string);
					ItemData[itemid][iValue2] = GetWeaponAmmo(playerid, ItemData[itemid][iValue1]);
					ItemData[itemid][iUsed] = 0;
					ResetPlayerWeapons(playerid);
					RemovePlayerAttachedObject(playerid, PLACE_ELSE);
					SetPVarInt(playerid, "PlayerWeapon", GetPVarInt(playerid, "PlayerWeapon")-1);
					SetPVarInt(playerid, "WeaponUse", 0);
					if(ItemData[itemid][iType] == ITEM_PARAL) SetPVarInt(playerid, "paralizator", 0);
				}
			}
			else if(ItemData[itemid][iType] == ITEM_AMMO)
			{
				new
					str[512],
					zmienna;
			 	for(new i = 1; i < MAX_ITEMS; i++)
				{
					if(ItemData[i][iOwner] == PlayerInfo[playerid][player_uid] && ItemData[i][iPlace] == PLACE_PLAYER && ItemData[i][iUID] != 0)
					{
					    if((ItemData[itemid][iValue1] != ItemData[i][iValue1]) && ItemData[i][iType] == ITEM_WEAPON)
					    {
				        	format(str, sizeof(str), "%s%d\t%s\n",str, ItemData[i][iUID], ItemData[i][iName]);
				        	zmienna++;
				        }
					}
				}
  				if(zmienna != 0)ShowPlayerDialog(playerid, DIALOG_ITEM_LOADWEAPON, DIALOG_STYLE_INPUT, "{FFFFFF}"servname"", str, "Wybierz", "Anuluj");
				else
				{
					GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~Nie posiadasz odpowiedniej broni!", 2000, 3);
					ShowItems(playerid);
				}
			}
			else if(ItemData[itemid][iType] == ITEM_CLOTH)
			{
				SetPlayerSkin(playerid, ItemData[itemid][iValue1]);
				PlayerInfo[playerid][skin] = ItemData[itemid][iValue1];
			}
			else if(ItemData[itemid][iType] == ITEM_PHONE)
			{
			    if(ItemData[itemid][iUsed] == 0)
			    {
			    	PlayerInfo[playerid][phonenr] = ItemData[itemid][iValue1];
			    	ItemData[itemid][iUsed] = 1;
			    }
			    else
			    {
			    	PlayerInfo[playerid][phonenr] = 0;
			    	ItemData[itemid][iUsed] = 0;
			    }
			    ShowItems(playerid);
			}
			else if(ItemData[itemid][iType] == ITEM_ARMOR)
			{
				if(ItemData[itemid][iValue1] < 1) return SendClientMessage(playerid, BIALY, "Ten przedmiot nie posiada ilości!");
				if(ItemData[itemid][iUsed] == 0)
				{
					format(string, sizeof(string), "* %s zakłada na siebie kamizelke kuloodporną.", NickName(playerid), NazwaBroni(ItemData[itemid][iValue1]));
					serwerme(playerid, string);
		            ItemData[itemid][iUsed] = 1;
		            SetPlayerArmour(playerid, ItemData[itemid][iValue1]);
				}
				else if(ItemData[itemid][iUsed] == 1)
				{
					format(string, sizeof(string), "* %s ściąga kamizelke kuloodporną.", NickName(playerid), NazwaBroni(ItemData[itemid][iValue1]));
					serwerme(playerid, string);
		            ItemData[itemid][iUsed] = 0;
		            new Float:Armor;
					GetPlayerArmour(playerid, Armor);
					Armor = ItemData[itemid][iValue1];
				}
			}
			else if(ItemData[itemid][iType] == ITEM_FOOD)
			{
				if(ItemData[itemid][iValue2] == 0) DeleteItem(itemid);
				else
				{
					ItemData[itemid][iValue2]--;
					format(string, sizeof(string), "* %s zaczyna spożywać potrawe %s.", NickName(playerid), ItemData[itemid][iName]);
					serwerme(playerid, string);
					GivePlayerHealthEx(playerid, ItemData[itemid][iValue1], true);
					if(ItemData[itemid][iValue2] == 0) DeleteItem(itemid);
				}
			}
			else if(ItemData[itemid][iType] == ITEM_BEER)
			{
			    new str[126];
			    SetPlayerSpecialAction(playerid, ItemData[itemid][iValue1]);
			    format(str, sizeof(str), "Pusta butelka po %s", ItemData[itemid][iName]);
				strmid(ItemData[itemid][iName], str, 0, strlen(str), 126);
			    ItemData[itemid][iType] = ITEM_BUTELKA;
			    ZapiszPrzedmiot(playerid, itemid);
			}
			else if(ItemData[itemid][iType] == ITEM_CIGGY)
			{
			    if(ItemData[itemid][iValue2] < 1) DeleteItem(itemid);
				SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
				ItemData[itemid][iValue2]--;
				if(ItemData[itemid][iValue2] == 0) DeleteItem(itemid);
			}
			else if(ItemData[itemid][iType] == ITEM_WATCH)
			{
				new hour,
					minute,
					second;

				gettime(hour, minute, second);
				format(string, sizeof(string), "~w~Godzina: ~p~%d~w~:~p~%d~w~:~p~%d", hour, minute, second);
				GameTextForPlayer(playerid, string, 5000, 1);
				format(string, sizeof(string), "* %s spogląda na zegarek.", NickName(playerid));
				serwerme(playerid, string);
				ApplyAnimation(playerid,"PLAYIDLES","time",4.1,0,1,1,1,1);
			}
			else if(ItemData[itemid][iType] == ITEM_CUBE)
			{
				format(string, sizeof(string), "* %s wylosował %d na 6 oczek.", NickName(playerid), random(5)+1);
				serwerme(playerid, string);
			}
			else if(ItemData[itemid][iType] == ITEM_NOKTOWIZOR)
			{
				if(ItemData[itemid][iUsed] == 1)
				{
					format(string, sizeof(string), "* %s ściąga noktowizor.", NickName(playerid));
					serwerme(playerid, string);
					RemovePlayerAttachedObject(playerid, PLACE_HEAD2);
					TextDrawHideForPlayer(playerid, Nokto);
                    ItemData[itemid][iUsed] = 0;
                    SetPVarInt(playerid, "Nokt", 0);
				}
				else
				{
					format(string, sizeof(string), "* %s zakłada noktowizor.", NickName(playerid));
					serwerme(playerid, string);
					SetPVarInt(playerid, "Nokt", 1);
					SetPlayerAttachedObject(playerid, PLACE_HEAD2, 369, 2, 0, 0.1);
					TextDrawShowForPlayer(playerid, Nokto);
					ItemData[itemid][iUsed] = 1;
				}
			}
			else if(ItemData[itemid][iType] == ITEM_CONTAINER)
			{
			    new str[512];
		 		for(new i = 1; i < MAX_ITEMS; i++)
					if(ItemData[i][iOwner] == PlayerInfo[playerid][player_uid] && ItemData[i][iBelongTo] == ItemData[i][iUID] && ItemData[i][iUID] != 0)
				        format(str, 512, "%s%d\t%s%d\t%d\t%dg\n", str, ItemData[i][iUID], name_add_tabs(ItemData[i][iName]), ItemData[i][iValue1], ItemData[i][iValue2], ItemData[i][iWeight]);
				if(!isnull(str)) ShowPlayerDialog(playerid, DIALOG_CONTAINER, DIALOG_STYLE_LIST, "Znalezione przedmioty:", str, "Wyjmij", "Zamknij");
				else GameTextForPlayer(playerid, "~r~Ten przedmiot jest pusty!", 3000, 3);
			}
			else if(ItemData[itemid][iType] == ITEM_BANDANA)
			{
				if(ItemData[itemid][iUsed] == 1)
				{
			    	format(string, sizeof(string), "* %s ściąga maske.", NickName(playerid));
			    	serwerme(playerid, string);
			    	SetPVarInt(playerid, "Maska", 0);
			    	Nicki(playerid);
			    }
			    else
			    {
			    	format(string, sizeof(string), "* %s zakłada maske.", NickName(playerid));
			    	serwerme(playerid, string);
                    SetPVarInt(playerid, "Maska", 1);
                    Nicki(playerid);
			    }
			}
			else if(ItemData[itemid][iType] == ITEM_SAMOCHOD)
			{
				SendClientMessage(playerid, SZARY, "Twój pojazd znajduje się w magazynie, aby go zespawnować wpisz /v.");
	  			new carid = CreateVeh(random(120), random(120), ItemData[itemid][iValue1], GRACZ, PlayerInfo[playerid][player_uid], Ustawienia[carspawn][0], Ustawienia[carspawn][1], Ustawienia[carspawn][2], 180);
   				DeleteItem(itemid);
				DestroyVehicle(CarInfo[carid][vID]);
   				CarInfo[carid][Spawned] = 0;
      			CarInfo[carid][engine] = false;
     			CarInfo[carid][vLock] = 1;
			}
			else if(ItemData[itemid][iType] == ITEM_LICENSE)
			{
			    new
					list_players[126],
					find = 0;
				GetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]);
				foreach(Player, i)
				{
					if(IsPlayerInRangeOfPoint(i, 5.0, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
					{
     					format(list_players, sizeof(list_players), "%s%d\t%s\n", list_players, i, NickName(i));
						find++;
					}
				}
				if(find != 0) ShowPlayerDialog(playerid, DIALOG_SHOW_LICEN, DIALOG_STYLE_LIST, "{FFFFFF}"servname" » {008000}Przedmiot", list_players, "Wybierz", "Zamknij");
				else NoPlayer(playerid);
			}
			else if(ItemData[itemid][iType] == ITEM_CZESC)
			{
				if(PlayerInfo[playerid][job] != P_MECHANIK) return In("Nie jesteś mechanikiem");
				
			    new
					list_players[126],
					find = 0;
				GetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]);
				foreach(Player, i)
				{
					if(IsPlayerInRangeOfPoint(i, 5.0, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
					{
					    if(i != playerid && IsPlayerInAnyVehicle(i))
					    {
     						format(list_players, sizeof(list_players), "%s%d\t%s\n", list_players, i, NickName(i));
							find++;
						}
					}
				}
				if(find != 0) ShowPlayerDialog(playerid, DIALOG_INSTALL, DIALOG_STYLE_LIST, "{FFFFFF}"servname" » {008000}Przedmiot", list_players, "Wybierz", "Zamknij");
				else NoPlayer(playerid);

			}
			else ShowItems(playerid);
		}
	}
	return 1;
}
FuncPub::SprawdzPrzedmiotEx(uid, itemid)
{
	new zapytanie[126];
	format(zapytanie, sizeof(zapytanie), "SELECT * FROM `1items` WHERE `iUID`=%d AND `iOwner` = '%d'", itemid, uid);
	mysql_query(zapytanie);
	mysql_store_result();
	if(mysql_num_rows() >= 1) return uid;
	else return 0;
}
FuncPub::Createitem(playerid, Ilosc, Typ, Wartosc, Nazwa[], waga)
{
	new query[256];
	format(query, sizeof(query), "INSERT INTO `1items` (`iType`, `iOwner`, `iValue1`, `iValue2`, `iName`, `iPlace`, `iWeight`) VALUES ('%d', '%d', '%d', '%d', '%s', '1', '%d')", Typ, PlayerInfo[playerid][player_uid], Wartosc, Ilosc, Nazwa, waga);
	mysql_query(query);
	new id = mysql_insert_id();
	ItemData[id][iUID]		 	= id;
	ItemData[id][iType] 		= Typ;
	strmid(ItemData[id][iName], Nazwa, 0, strlen(Nazwa), 32);
	ItemData[id][iOwner] 		= PlayerInfo[playerid][player_uid];
	ItemData[id][iValue1] 		= Wartosc;
	ItemData[id][iValue2] 		= Ilosc;
	ItemData[id][iPlace] 		= PLACE_PLAYER;
	ItemData[id][iPosX] 		= 0;
	ItemData[id][iPosY] 		= 0;
	ItemData[id][iPosZ] 		= 0;
	ItemData[id][iWeight] 		= waga;
	ItemData[id][iReserved] 	= 0;
	ItemData[id][iBelongTo] 	= 0;
	ItemData[id][iVW] 			= 0;
    return id;
}

FuncPub::DeleteItem(uid)
{
	new query[256];
	format(query, sizeof(query), "DELETE FROM `1items` WHERE `iUID` = %d", uid);
	mysql_query(query);
	if(ItemData[uid][iPlace] == PLACE_NONE) Delete3DTextLabel(ItemData[uid][i3DText]);
	DestroyDynamicObject(ItemData[uid][ObjectGameID]);
	ItemData[uid][iUID] 		= 0;
	ItemData[uid][iType] 		= 0;
	ItemData[uid][iName] 		= 0;
	ItemData[uid][iOwner] 		= 0;
	ItemData[uid][iValue1] 		= 0;
	ItemData[uid][iValue2] 		= 0;
	ItemData[uid][iPlace] 		= 0;
	ItemData[uid][iPosX] 		= 0;
	ItemData[uid][iPosY] 		= 0;
	ItemData[uid][iPosZ] 		= 0;
	ItemData[uid][iWeight] 		= 0;
	ItemData[uid][iReserved] 	= 0;
	ItemData[uid][iBelongTo] 	= 0;
	ItemData[uid][iVW] 			= 0;
	ItemData[uid][ObjectGameID] = 0;
    return 1;
}
FuncPub::GetPlayerSpeed(playerid)
{
	new Float:ST[4];
	GetPlayerVelocity(playerid, ST[0], ST[1], ST[2]);
	ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 169;
	return floatround(ST[3])/2;
}

FuncPub::LoadObject()
{
	new str[126], objid;
	mysql_query("SELECT * FROM `1object`");
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
	    sscanf(str, "p<|>d", objid);

		sscanf(str, "p<|>dddddfffffffff",
		Object[objid][objUID],
		Object[objid][objModel],
		Object[objid][objVW],
		Object[objid][objByDoor],
		Object[objid][objGroup],
		Object[objid][objX],
		Object[objid][objY],
		Object[objid][objZ],
		Object[objid][objRotX],
		Object[objid][objRotY],
		Object[objid][objRotZ],
		Object[objid][objGateX],
		Object[objid][objGateY],
		Object[objid][objGateZ]);
		if(Object[objid][objModel] != 0)
		    if(Object[objid][objByDoor] != 1)
				CreateDynamicObject(Object[objid][objModel], Object[objid][objX], Object[objid][objY], Object[objid][objZ], Object[objid][objRotX], Object[objid][objRotY], Object[objid][objRotZ], Object[objid][objVW], -1, -1, 100.0);
	}
	mysql_free_result();
	printf("%d | Obiekty zostały wczytane.", objid);
   	return 1;
}

FuncPub::SaveObject(uid)
{
	new query[512];
	format(query, sizeof(query), "UPDATE `1object` SET `model` = '%d',`vw` = '%d',`bydoor` = '%d',`group` = '%d',`x` = '%f',`y` = '%f',`z` = '%f',`rotx` = '%f',`roty` = '%f', `rotz` = '%f', `gatex` = '%f', `gatey` = '%f', `gatez` = '%f', WHERE `id` = %d",
	Object[uid][objModel],
	Object[uid][objVW],
	Object[uid][objByDoor],
	Object[uid][objGroup],
	Object[uid][objX],
	Object[uid][objY],
	Object[uid][objZ],
	Object[uid][objRotX],
	Object[uid][objRotY],
	Object[uid][objRotZ],
	Object[uid][objGateX],
	Object[uid][objGateY],
	Object[uid][objGateZ],
	uid);
	mysql_query(query);
	return 1;
}

/*FuncPub::AddObject(playerid, model, Float:psx, Float:psy, Float:psz, virtual);
{
	new str[126], objid;
	format(str, 126, "INSERT INTO `1object` (`px`, `py`, `pz`, `model`, `vw`, `accept`, `guid`) VALUES ('%f', '%f', '%f', '%d', '%d', '%d', '%d')", psx, psy, psz, model, virtual, 1, PlayerInfo[playerid][guid]);
	mysql_query(str);
	new objid 				= mysql_insert_id();
    Object[objid][guid] 	= PlayerInfo[playerid][guid];
    Object[objid][UID] 		= objid;
    Object[objid][omodel] 	= model;
    Object[objid][px] 		= psx;
    Object[objid][py] 		= psy;
    Object[objid][pz] 		= psz;
    Object[objid][rx] 		= 0;
    Object[objid][ry] 		= 0;
    Object[objid][rz] 		= 0;
    Object[objid][vw] 		= virtual;
    Object[objid][int] 		= 0;
	Object[objid][accept] 	= 1;
	Object[objid][pID] 		= CreateDynamicObject(Object[objid][omodel], Object[objid][px], Object[objid][py], Object[objid][pz], Object[objid][rx], Object[objid][ry], Object[objid][rz], Object[objid][vw], Object[objid][int]);
   	return objid;
}*/

public OnPlayerUpdate(playerid)
{
	foreach(Player, i)
 	{
		if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
		{
	        if(Kolczatka[playerid] == -1) continue;

			new Float:obiekt[3];
			GetObjectPos(Kolczatka[i], obiekt[0], obiekt[1], obiekt[2]);

			if(IsPlayerInRangeOfPoint(playerid, 5.0, obiekt[0], obiekt[1], obiekt[2]))
			{
				new carid = SprawdzCarID(GetPlayerVehicleID(i));
				GetVehicleDamageStatus(GetPlayerVehicleID(playerid), CarInfo[carid][panels], CarInfo[carid][doors], CarInfo[carid][lights], CarInfo[carid][tires]);
				UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), CarInfo[carid][panels], CarInfo[carid][doors], CarInfo[carid][lights], random(16));
			}
		}
		if(skuty[i] != -1)
		{
		    if(!OdlegloscMiedzyGraczami(5.0, i, skuty[i]))
		    {
		        GetPlayerPos(skuty[i], PlayerInfo[skuty[i]][pos_x], PlayerInfo[skuty[i]][pos_y], PlayerInfo[skuty[i]][pos_z]);
				PlayerInfo[skuty[i]][pos_int] = GetPlayerInterior(skuty[i]);
				PlayerInfo[skuty[i]][pos_vw] = GetPlayerVirtualWorld(skuty[i]);
		        SetPlayerPos(i, PlayerInfo[skuty[i]][pos_x]+0.2, PlayerInfo[skuty[i]][pos_y], PlayerInfo[skuty[i]][pos_z]);
				SetPlayerVirtualWorld(i, PlayerInfo[skuty[i]][pos_vw]);
				SetPlayerInterior(i, PlayerInfo[skuty[i]][pos_int]);
			}
		}
		if(PlayerInfo[i][run] == 1)
		{
		    if(!IsPlayerInAnyVehicle(playerid))
		    {
			    if(GetPlayerSpeed(i) >= 5)
			    {
					TogglePlayerControllable(i, false);
					SetTimerEx("freeze", 500, 0, "u", i);
			    }
		    }
		}
	}
	if(GetPVarInt(playerid, "WeaponUse") != 0)
	{
		if(GetPVarInt(playerid, "WeaponUse") == GetPlayerWeapon(playerid))
			RemovePlayerAttachedObject(playerid, PLACE_ELSE);
		if(GetPVarInt(playerid, "WeaponUse") != GetPlayerWeapon(playerid))
		{
			foreachEx(id, sizeof(Bron))
			{
				if(Bron[id][weapon_id] == GetPVarInt(playerid, "WeaponUse"))
				{
					SetPlayerAttachedObject(playerid, PLACE_ELSE, ObjectModel[Bron[id][weapon_id]], Bron[id][body], Bron[id][posX], Bron[id][posY], Bron[id][posZ], Bron[id][posrX], Bron[id][posrY], Bron[id][posrZ]);
				}
			}
		}
	}
  	if(GetPVarInt(playerid, "Ubranie") == 1)
    {
		new Keys, ud, lr;
  		GetPlayerKeys(playerid, Keys, ud, lr);
        if(lr < 0 || lr > 0)
        {
            new action = lr < 0? 1: -1;
            new uid = GetPVarInt(playerid, "Ubranie_id");
            do
            {
                uid = uid + action < 0? sizeof(Ciuch) - 1: (uid + action >= sizeof(Ciuch)? 0: uid + action);
            } while(PlayerInfo[playerid][sex] != Ciuch[uid][skin_plec]);
            SetPVarInt(playerid, "Ubranie_id", uid);
            SetPlayerSkin(playerid, Ciuch[uid][skin_model]);
            new str[20];
		    if(Ciuch[uid][skin_model] < PlayerInfo[playerid][cash]) format(str, sizeof(str), "~g~$%d", Ciuch[uid][skin_cena]);
			else format(str, sizeof(str), "~r~$%d", Ciuch[uid][skin_cena]);
            GameTextForPlayer(playerid, str, 2000, 6);
        }
        if(Keys == 16)
        {
            new uid = GetPVarInt(playerid, "Ubranie_id");
            SetPlayerSkin(playerid, Ciuch[uid][skin_model]);
            PlayerInfo[playerid][skin] = Ciuch[uid][skin_model];
	    	SendClientMessage(playerid, SZARY, "Zakupiłeś ubranie.");
	    	PlayerInfo[playerid][cash] -= Ciuch[uid][skin_cena];
			SetCameraBehindPlayer(playerid);
 			SetPVarInt(playerid, "Ubranie", 0);
   			TogglePlayerControllable(playerid, 1);
   			new str[20];
   			format(str, sizeof(str), "Ubranie(%d)", Ciuch[uid][skin_model]);
   			Createitem(playerid, Ciuch[uid][skin_model], ITEM_CLOTH, Ciuch[uid][skin_model], str, 100);
        }
	}
	
	if(EditingAccuracy[playerid] == 1)
	{
		new bramaa = EditingObject[playerid];
		new Keys, ud, lr;
		new TempStr[256];
  		GetPlayerKeys(playerid, Keys, ud, lr);
		if(EditingPhase[playerid] == PHASE_MOVE_XY)
		{
			if(ud < 0)
			{
	  			format(TempStr, sizeof(TempStr), "~w~przesuwasz obiekt(%d) o ~r~%.1f~w~!", bramaa, EditingAccuracy[playerid]);
  				GameTextForPlayer(playerid, TempStr, 5000, 3);

				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				MoveDynamicObject(bramaa, Object[bramaa][objX]+EditingAccuracy[playerid], Object[bramaa][objY], Object[bramaa][objZ], 100);
    			SetPlayerCameraPos(playerid, Object[bramaa][objX] + EditingCamera[playerid][0], Object[bramaa][objY] + EditingCamera[playerid][1], Object[bramaa][objZ] + EditingCamera[playerid][2]);
				SetPlayerCameraLookAt(playerid, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
		 		BackgroundTextDraw(playerid);
				format(TempStr, sizeof(TempStr),"~r~Obiekt~w~: ~g~%d		~r~Model~w~: ~g~%d~n~~n~~y~PosX~w~: ~g~%.2f~w~		~y~PosY~w~: ~g~%.2f		~y~PosZ~w~: ~g~%.2f~n~~n~Rot1~w~: ~p~%.2f		~p~Rot2~w~: ~p~%.2f		~p~Rot3~w~: ~p~%.2f",
				Object[bramaa][objUID],
				Object[bramaa][objModel],
				Object[bramaa][objX],
				Object[bramaa][objY],
				Object[bramaa][objZ],
				Object[bramaa][objRotX],
				Object[bramaa][objRotY],
				Object[bramaa][objRotZ]);
				TextdrawInfo(playerid, TempStr);
			}
			if(ud > 0)
			{
	  			format(TempStr, sizeof(TempStr), "~w~przesuwasz obiekt(%d) o ~r~%.1f~w~!", bramaa, EditingAccuracy[playerid]);
  				GameTextForPlayer(playerid, TempStr, 5000, 3);

				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				MoveDynamicObject(EditingObject[playerid], Object[bramaa][objX]-EditingAccuracy[playerid], Object[bramaa][objY], Object[bramaa][objZ], 100);
    			SetPlayerCameraPos(playerid, Object[bramaa][objX] + EditingCamera[playerid][0], Object[bramaa][objY] + EditingCamera[playerid][1], Object[bramaa][objZ] + EditingCamera[playerid][2]);
				SetPlayerCameraLookAt(playerid, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
		 		BackgroundTextDraw(playerid);
				format(TempStr, sizeof(TempStr),"~r~Obiekt~w~: ~g~%d		~r~Model~w~: ~g~%d~n~~n~~y~PosX~w~: ~g~%.2f~w~		~y~PosY~w~: ~g~%.2f		~y~PosZ~w~: ~g~%.2f~n~~n~Rot1~w~: ~p~%.2f		~p~Rot2~w~: ~p~%.2f		~p~Rot3~w~: ~p~%.2f",
				Object[bramaa][objUID],
				Object[bramaa][objModel],
				Object[bramaa][objX],
				Object[bramaa][objY],
				Object[bramaa][objZ],
				Object[bramaa][objRotX],
				Object[bramaa][objRotY],
				Object[bramaa][objRotZ]);
				TextdrawInfo(playerid, TempStr);
			}
			if(lr < 0)
			{
	  			format(TempStr, sizeof(TempStr), "~w~przesuwasz obiekt(%d) o ~r~%.1f~w~!", bramaa, EditingAccuracy[playerid]);
  				GameTextForPlayer(playerid, TempStr, 5000, 3);

				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				MoveDynamicObject(EditingObject[playerid], Object[bramaa][objX], Object[bramaa][objY]+EditingAccuracy[playerid], Object[bramaa][objZ], 100);
    			SetPlayerCameraPos(playerid, Object[bramaa][objX] + EditingCamera[playerid][0], Object[bramaa][objY] + EditingCamera[playerid][1], Object[bramaa][objZ] + EditingCamera[playerid][2]);
				SetPlayerCameraLookAt(playerid, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
		 		BackgroundTextDraw(playerid);
				format(TempStr, sizeof(TempStr),"~r~Obiekt~w~: ~g~%d		~r~Model~w~: ~g~%d~n~~n~~y~PosX~w~: ~g~%.2f~w~		~y~PosY~w~: ~g~%.2f		~y~PosZ~w~: ~g~%.2f~n~~n~Rot1~w~: ~p~%.2f		~p~Rot2~w~: ~p~%.2f		~p~Rot3~w~: ~p~%.2f",
				Object[bramaa][objUID],
				Object[bramaa][objModel],
				Object[bramaa][objX],
				Object[bramaa][objY],
				Object[bramaa][objZ],
				Object[bramaa][objRotX],
				Object[bramaa][objRotY],
				Object[bramaa][objRotZ]);
				TextdrawInfo(playerid, TempStr);
			}
			if(lr > 0)
			{
	  			format(TempStr, sizeof(TempStr), "~w~przesuwasz obiekt(%d) o ~r~%.1f~w~!", bramaa, EditingAccuracy[playerid]);
  				GameTextForPlayer(playerid, TempStr, 5000, 3);

				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				MoveDynamicObject(EditingObject[playerid], Object[bramaa][objX], Object[bramaa][objY]-EditingAccuracy[playerid], Object[bramaa][objZ], 100);
    			SetPlayerCameraPos(playerid, Object[bramaa][objX] + EditingCamera[playerid][0], Object[bramaa][objY] + EditingCamera[playerid][1], Object[bramaa][objZ] + EditingCamera[playerid][2]);
				SetPlayerCameraLookAt(playerid, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
		 		BackgroundTextDraw(playerid);
				format(TempStr, sizeof(TempStr),"~r~Obiekt~w~: ~g~%d		~r~Model~w~: ~g~%d~n~~n~~y~PosX~w~: ~g~%.2f~w~		~y~PosY~w~: ~g~%.2f		~y~PosZ~w~: ~g~%.2f~n~~n~Rot1~w~: ~p~%.2f		~p~Rot2~w~: ~p~%.2f		~p~Rot3~w~: ~p~%.2f",
				Object[bramaa][objUID],
				Object[bramaa][objModel],
				Object[bramaa][objX],
				Object[bramaa][objY],
				Object[bramaa][objZ],
				Object[bramaa][objRotX],
				Object[bramaa][objRotY],
				Object[bramaa][objRotZ]);
				TextdrawInfo(playerid, TempStr);
			}
		}
		else if(EditingPhase[playerid] == PHASE_MOVE_Z)
		{
			if(ud > 0)
			{
		  		format(TempStr, sizeof(TempStr), "~w~przesuwasz obiekt(%d) o ~r~%.1f ~w~ w dol!", bramaa, EditingAccuracy[playerid]);
	  			GameTextForPlayer(playerid, TempStr, 5000, 3);

				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
 				MoveDynamicObject(EditingObject[playerid], Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]-EditingAccuracy[playerid], 100);
   				SetPlayerCameraPos(playerid, Object[bramaa][objX] + EditingCamera[playerid][0], Object[bramaa][objY] + EditingCamera[playerid][1], Object[bramaa][objZ] + EditingCamera[playerid][2]);
				SetPlayerCameraLookAt(playerid, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
		 		BackgroundTextDraw(playerid);
				format(TempStr, sizeof(TempStr),"~r~Obiekt~w~: ~g~%d		~r~Model~w~: ~g~%d~n~~n~~y~PosX~w~: ~g~%.2f~w~		~y~PosY~w~: ~g~%.2f		~y~PosZ~w~: ~g~%.2f~n~~n~Rot1~w~: ~p~%.2f		~p~Rot2~w~: ~p~%.2f		~p~Rot3~w~: ~p~%.2f",
				Object[bramaa][objUID],
				Object[bramaa][objModel],
				Object[bramaa][objX],
				Object[bramaa][objY],
				Object[bramaa][objZ],
				Object[bramaa][objRotX],
				Object[bramaa][objRotY],
				Object[bramaa][objRotZ]);
				TextdrawInfo(playerid, TempStr);
			}
			if(ud < 0)
			{
				format(TempStr, sizeof(TempStr), "~w~przesuwasz obiekt(%d) o ~r~%.1f ~w~ w gore!", bramaa, EditingAccuracy[playerid]);
	  			GameTextForPlayer(playerid, TempStr, 5000, 3);

				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				MoveDynamicObject(EditingObject[playerid], Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]+EditingAccuracy[playerid], 100);
    			SetPlayerCameraPos(playerid, Object[bramaa][objX] + EditingCamera[playerid][0], Object[bramaa][objY] + EditingCamera[playerid][1], Object[bramaa][objZ] + EditingCamera[playerid][2]);
				SetPlayerCameraLookAt(playerid, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
				GetDynamicObjectPos(bramaa, Object[bramaa][objX], Object[bramaa][objY], Object[bramaa][objZ]);
		 		BackgroundTextDraw(playerid);
				format(TempStr, sizeof(TempStr),"~r~Obiekt~w~: ~g~%d		~r~Model~w~: ~g~%d~n~~n~~y~PosX~w~: ~g~%.2f~w~		~y~PosY~w~: ~g~%.2f		~y~PosZ~w~: ~g~%.2f~n~~n~Rot1~w~: ~p~%.2f		~p~Rot2~w~: ~p~%.2f		~p~Rot3~w~: ~p~%.2f",
				Object[bramaa][objUID],
				Object[bramaa][objModel],
				Object[bramaa][objX],
				Object[bramaa][objY],
				Object[bramaa][objZ],
				Object[bramaa][objRotX],
				Object[bramaa][objRotY],
				Object[bramaa][objRotZ]);
				TextdrawInfo(playerid, TempStr);
			}
		}
	}
  	return 1;
}

FuncPub::freeze(pid) return TogglePlayerControllable(pid, true);

FuncPub::OdejmnijPaliwo()
{
	foreach(Player, i)
 	{
 	    if(IsPlayerInAnyVehicle(i))
 	    {
			for(new g=0;g<MAX_VEH;g++)
			{
				new vehid = SprawdzCarID(g);
			    if(CarInfo[vehid][engine] == 1 && !IsARower(g) && !IsAPlane(g))
			    {
				    if(CarInfo[vehid][vUID] != 0)
				    {
						if(CarInfo[vehid][vFuelType] == BENZ) CarInfo[vehid][vFuel]-=0.1;
						else CarInfo[vehid][vFuel]-=0.05;
	                }
                }
			}
		}
	}
	return 1;
}

FuncPub::Przebieg(vehid)
{
	new
		Float:pp[3];
		
	GetVehiclePos(CarInfo[vehid][vID], pp[0], pp[1], pp[2]);
	
//	GetVehiclePos(vid, CarInfo[vehid][vPos][0], CarInfo[vehid][vPos][1], CarInfo[vehid][vPos][2]);

	CarInfo[vehid][vDistance] += Distance3D(CarInfo[vehid][vPos][0], CarInfo[vehid][vPos][1], CarInfo[vehid][vPos][2], pp[0], pp[1], pp[2]);
	pp[0] = CarInfo[vehid][vPos][0];
	pp[1] = CarInfo[vehid][vPos][1];
	pp[2] = CarInfo[vehid][vPos][2];
	return 1;
}

FuncPub::odpojazdu(i)
{
	new string[126];
	if(IsPlayerInAnyVehicle(i))
	{
		new vid = GetPlayerVehicleID(i);
		new vehid = SprawdzCarID(vid);
		
		if(GetPlayerState(i) == PLAYER_STATE_DRIVER && CarInfo[vehid][engine] == 1 && !IsARower(vid) && !IsAPlane(vid))
		{
			format(string, sizeof(string), "~p~%s: ~w~%.1f/%d L", fueltype(CarInfo[vehid][vFuelType]), CarInfo[vehid][vFuel], GetVehicleMaxFuel(CarInfo[vehid][vModel]));
			TextDrawSetString(Paliwo[i], string);
			TextDrawShowForPlayer(i, Paliwo[i]);
			TextDrawHideForPlayer(i, Silnik);
		}
		else
		{
			TextDrawHideForPlayer(i, Paliwo[i]);
			TextDrawShowForPlayer(i, Silnik);
		}
		if(CarInfo[vehid][vFuel] <= 0.0 && CarInfo[vehid][engine] == 1)
 		{
			GetVehiclePos(vid, CarInfo[vehid][vX], CarInfo[vehid][vY], CarInfo[vehid][vZ]);
			GetVehicleZAngle(vid, CarInfo[vehid][vAngle]);
			GetVehicleHealth(vid, CarInfo[vehid][vHP]);
			GetVehicleDamageStatus(vid, CarInfo[vehid][panels], CarInfo[vehid][doors], CarInfo[vehid][lights], CarInfo[vehid][tires]);
			SaveVeh(CarInfo[vid][vUID]);

			CarInfo[vehid][vFuel] = 0;
			serwerdo(i, "* Silnik zgasł. *");
			new s[7];
   			GetVehicleParamsEx(vid, s[0], s[1], s[2], s[3], s[4], s[5], s[6]);
   			SetVehicleParamsEx(vid, CarInfo[vehid][engine] = 0, s[1], s[2], s[3], s[4], s[5], s[6]);
			TextDrawShowForPlayer(i, Silnik);
			TextDrawHideForPlayer(i, Paliwo[i]);
		   	TextDrawHideForPlayer(i, TextDrawInfo[i]);
		   	TextDrawHideForPlayer(i, TextDrawBackground[i]);
		   	SetPVarInt(i, "TextDrawInfoShow", 0);
	       	serwerdo(i, "* W pojeździe skończyło się paliwo. *");
		}
	}
	return 1;
}

FuncPub::GetVehSpeed(vehid)
{
	new
		Float:X,
		Float:Y,
		Float:Z;
	GetVehicleVelocity(vehid, X, Y, Z);
	return floatround(floatsqroot(floatpower(X, 2) + floatpower(Y, 2) + floatpower(Z, 2)) * 200);
}

FuncPub::SetVehicleSpeed(vehicleid, Float:Speed)
{
    new
        Float:X,
        Float:Y,
        Float:Z,
        Float:Angle;

    GetVehicleZAngle(vehicleid, Angle);
    Speed = Speed/200;
    X = Speed * floatsin(-Angle, degrees);
    Y = Speed * floatcos(-Angle, degrees);
	SetVehicleVelocity(vehicleid, X, Y, Z);
}

public OnVehicleDeath(vehicleid, killerid)
{
	new vehid = SprawdzCarID(vehicleid);
	CarInfo[vehid][vHP] = 300.5;

	GetVehiclePos(vehicleid, CarInfo[vehid][vX], CarInfo[vehid][vY], CarInfo[vehid][vZ]);
	GetVehicleZAngle(vehicleid, CarInfo[vehid][vAngle]);
	GetVehicleDamageStatus(vehicleid, CarInfo[vehid][panels], CarInfo[vehid][doors], CarInfo[vehid][lights], CarInfo[vehid][tires]);

  	SetTimerEx("Respawn", 5000, 0, "i", vehicleid);
 	return 1;
}

FuncPub::LoadHotel()
{
	new str[126], hotid;
	mysql_query("SELECT * FROM `1hotel`");
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
	    sscanf(str, "p<|>d", hotid);

	    sscanf(str, "p<|>ifffifffii",
		Hotels[hotid][hoteluid],
		Hotels[hotid][inside_x],
		Hotels[hotid][inside_y],
		Hotels[hotid][inside_z],
		Hotels[hotid][inside_int],
		Hotels[hotid][outside_x],
		Hotels[hotid][outside_y],
		Hotels[hotid][outside_z],
		Hotels[hotid][outside_int],
		Hotels[hotid][outside_vw]);
	}
	mysql_free_result();
	printf("%d | Hotele zostały wczytane.", hotid);
}

FuncPub::LoadCarsEx(id)
{
    new str[128];
    format(str, 128, "SELECT * FROM `1cars` WHERE `vUID`=%d", id);
	mysql_query(str);
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
		sscanf(str, "p<|>is[50]iffffiiiififfiiiiis[60]",
		CarInfo[id][vUID], //int
		CarInfo[id][vName], //String
		CarInfo[id][vModel], //int
		CarInfo[id][vX], //Float
		CarInfo[id][vY], //Float
		CarInfo[id][vZ], //Float
		CarInfo[id][vAngle], //Float
		CarInfo[id][vColor1], //int
		CarInfo[id][vColor2], //int
		CarInfo[id][vOwnerType], //int
		CarInfo[id][vOwner], //int
		CarInfo[id][vFuel], //Float
		CarInfo[id][vFuelType], //int
		CarInfo[id][vDistance], //Float
		CarInfo[id][vHP], //Float
		CarInfo[id][panels], //int
		CarInfo[id][doors], //int
		CarInfo[id][lights], //int
		CarInfo[id][tires], //int
		CarInfo[id][paintjob], //int
		CarInfo[id][plate]); // String

		SetVehicleNumberPlate(CarInfo[id][vID] = CreateVehicle(CarInfo[id][vModel], CarInfo[id][vX], CarInfo[id][vY], CarInfo[id][vZ], CarInfo[id][vAngle], CarInfo[id][vColor1], CarInfo[id][vColor2], -1), CarInfo[id][plate]);
		SetVehicleToRespawn(CarInfo[id][vID]);
		CarInfo[id][Spawned] = 1;
		SetVehicleParamsEx(CarInfo[id][vID], 0, 0, 0, CarInfo[id][vLock] = 1, 0, 0, 0);
		
		ChangeVehiclePaintjob(CarInfo[id][vID], CarInfo[id][paintjob]);
		UpdateVehicleDamageStatus(CarInfo[id][vID], CarInfo[id][panels], CarInfo[id][doors], CarInfo[id][lights], CarInfo[id][tires]);
		foreachEx(itemid, MAX_ITEMS)
		{
			if(ItemData[itemid][iType] == ITEM_TUNING && ItemData[itemid][iPlace] == PLACE_TUNE_CAR && ItemData[itemid][iOwner] == CarInfo[id][vUID])
				AddVehicleComponent(CarInfo[id][vID], ItemData[itemid][iValue1]);
		}
	}
	mysql_free_result();
}

FuncPub::LoadCars()
{
    new str[128], carid;
	mysql_query("SELECT * FROM `1cars`");
	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
	    sscanf(str, "p<|>d", carid);
		sscanf(str, "p<|>is[50]iffffiiiififfiiiiis[64]",
		CarInfo[carid][vUID],
		CarInfo[carid][vName],
		CarInfo[carid][vModel],
		CarInfo[carid][vX],
		CarInfo[carid][vY],
		CarInfo[carid][vZ],
		CarInfo[carid][vAngle],
		CarInfo[carid][vColor1],
		CarInfo[carid][vColor2],
		CarInfo[carid][vOwnerType],
		CarInfo[carid][vOwner],
		CarInfo[carid][vFuel],
		CarInfo[carid][vFuelType],
		CarInfo[carid][vDistance],
		CarInfo[carid][vHP],
		CarInfo[carid][panels],
		CarInfo[carid][doors],
		CarInfo[carid][lights],
		CarInfo[carid][tires],
		CarInfo[carid][paintjob],
		CarInfo[carid][plate]);
		if(CarInfo[carid][vOwnerType] != GRACZ)
		{
			SetVehicleNumberPlate(CarInfo[carid][vID] = CreateVehicle(CarInfo[carid][vModel], CarInfo[carid][vX], CarInfo[carid][vY], CarInfo[carid][vZ], CarInfo[carid][vAngle], CarInfo[carid][vColor1], CarInfo[carid][vColor2], -1), CarInfo[carid][plate]);
			SetVehicleToRespawn(CarInfo[carid][vID]);
			CarInfo[carid][Spawned] = 1;
			SetVehicleParamsEx(CarInfo[carid][vID], CarInfo[carid][engine] = 0, 0, 0, CarInfo[carid][vLock] = 1, 0, 0, 0);
			ChangeVehiclePaintjob(CarInfo[carid][vID], CarInfo[carid][paintjob]);
			UpdateVehicleDamageStatus(CarInfo[carid][vID], CarInfo[carid][panels], CarInfo[carid][doors], CarInfo[carid][lights], CarInfo[carid][tires]);
		    foreachEx(itemid, MAX_ITEMS)
				if(ItemData[itemid][iType] == ITEM_TUNING && ItemData[itemid][iPlace] == PLACE_TUNE_CAR && ItemData[itemid][iOwner] == CarInfo[carid][vUID])
					AddVehicleComponent(CarInfo[carid][vID], ItemData[itemid][iValue1]);
		}
		else CarInfo[carid][Spawned] = 0;
	}
	mysql_free_result();
	printf("%d | Pojazdy zostały wczytane.", carid);
}
FuncPub::SaveVeh(uid)
{
	GetVehicleHealth(CarInfo[uid][vID], CarInfo[uid][vHP]);
  	strmid(CarInfo[uid][vName], NazwyPojazdow[CarInfo[uid][vModel] - 400], 0, strlen(NazwyPojazdow[CarInfo[uid][vModel] - 400]), 50);
	GetVehicleDamageStatus(CarInfo[uid][vID], CarInfo[uid][panels], CarInfo[uid][doors], CarInfo[uid][lights], CarInfo[uid][tires]);

	new query[512];
	format(query, sizeof(query), "UPDATE `1cars` SET `vColor1`=%d, `vColor2`=%d, `vModel`=%d,`vOwnerType`=%d, `vOwner`=%d, `vHP`=%.1f, `vX`=%f, `vY`=%f, `vZ`=%f, `vAngle`=%f, `vFuel`=%.1f, `vFuelType`=%d, `vDistance`=%.1f, `panels`=%d, `doors`=%d, `lights`=%d, `tires`=%d, `vName`='%s', `paintjob`=%d, `plate`='%s' WHERE `vUID`=%d",
	CarInfo[uid][vColor1],
	CarInfo[uid][vColor2],
	CarInfo[uid][vModel],
	CarInfo[uid][vOwnerType],
	CarInfo[uid][vOwner],
	CarInfo[uid][vHP],
	CarInfo[uid][vX],
	CarInfo[uid][vY],
	CarInfo[uid][vZ],
	CarInfo[uid][vAngle],
	CarInfo[uid][vFuel],
	CarInfo[uid][vFuelType],
	CarInfo[uid][vDistance],
	CarInfo[uid][panels],
	CarInfo[uid][doors],
	CarInfo[uid][lights],
	CarInfo[uid][tires],
	CarInfo[uid][vName],
	CarInfo[uid][paintjob],
	CarInfo[uid][plate],
	uid);
	mysql_query(query);
	return 1;
}

FuncPub::CreateVeh(Kolor1, Kolor2, Model, OwnerType, Owner, Float:PosX, Float:PosY, Float:PosZ, Float:PosA)
{
	new query[256];
	format(query, sizeof(query), "INSERT INTO `1cars` (`vColor1`, `vColor2`, `vModel`, `vOwnerType`, `vOwner`, `vX`, `vY`, `vZ`, `vAngle`, `vName`) VALUES ('%d', '%d', '%d', '%d', '%d', '%f', '%f', '%f', '%f', '%s')", Kolor1, Kolor2, Model, OwnerType, Owner, PosX, PosY, PosZ, PosA, NazwyPojazdow[Model - 400]);
	mysql_query(query);
	new id = mysql_insert_id();
	CarInfo[id][vUID] = id;
 	CarInfo[id][vColor1] = Kolor1;
  	CarInfo[id][vColor2] = Kolor2;
  	CarInfo[id][vModel] = Model;
  	strmid(CarInfo[id][vName], NazwyPojazdow[CarInfo[id][vModel] - 400], 0, strlen(NazwyPojazdow[CarInfo[id][vModel] - 400]), 50);
  	CarInfo[id][vOwnerType] = OwnerType;
    CarInfo[id][vOwner] = Owner;
    CarInfo[id][vHP] = 1000.0;
    CarInfo[id][vFuel] = GetVehicleMaxFuel(Model);
    CarInfo[id][vFuelType] = BENZ;
    CarInfo[id][vX] = PosX;
    CarInfo[id][vY] = PosY;
    CarInfo[id][vZ] = PosZ;
    CarInfo[id][vAngle] = PosA;
    CarInfo[id][Spawned] = 1;
    CarInfo[id][vID] = CreateVehicle(CarInfo[id][vModel], CarInfo[id][vX], CarInfo[id][vY], CarInfo[id][vZ], CarInfo[id][vAngle], CarInfo[id][vColor1], CarInfo[id][vColor2], -1);
	CarInfo[id][panels] = 0;
	CarInfo[id][doors] = 0;
	CarInfo[id][lights] = 0;
	CarInfo[id][tires] = 0;
	CarInfo[id][paintjob] = 3;
  	strmid(CarInfo[id][plate], "Brak", 0, strlen("Brak"), 50);
	SetVehicleNumberPlate(CarInfo[id][vID], CarInfo[id][plate]);
	SetVehicleParamsEx(CarInfo[id][vID], 0, 0, 0, 0, 0, 0, 0);
	return id;
}

FuncPub::DeleteVeh(uid)
{
	new query[256];
	format(query, sizeof(query), "DELETE FROM `1cars` WHERE `vUID` = %d", uid);
	mysql_query(query);
	DestroyVehicle(CarInfo[uid][vID]);
	CarInfo[uid][vUID] 		= 0;
 	CarInfo[uid][vColor1] 	= 0;
  	CarInfo[uid][vColor2] 	= 0;
  	CarInfo[uid][vModel] 	= 0;
  	CarInfo[uid][vName] 	= 0;
  	CarInfo[uid][vOwnerType] = 0;
    CarInfo[uid][vOwner] 	= 0;
    CarInfo[uid][vHP] 		= 0;
    CarInfo[uid][vFuel] 	= 0;
    CarInfo[uid][vFuelType] = 0;
    CarInfo[uid][vX] 		= 0;
    CarInfo[uid][vY] 		= 0;
    CarInfo[uid][vZ] 		= 0;
    CarInfo[uid][vAngle] 	= 0;
    CarInfo[uid][Spawned] 	= 0;
    CarInfo[uid][vID] 		= 0;
	CarInfo[uid][panels] 	= 0;
	CarInfo[uid][doors] 	= 0;
	CarInfo[uid][lights] 	= 0;
	CarInfo[uid][tires] 	= 0;
	CarInfo[uid][paintjob] 	= 3;
	CarInfo[uid][vID] 		= 0;
  	strmid(CarInfo[uid][plate], "Brak", 0, strlen("Brak"), 50);
	return 1;
}

FuncPub::SprawdzCarID(carid)
{
	for(new i = 1;i < MAX_VEH; i++)
		if(CarInfo[i][vID] == carid)
			return i;
	return 1;
}

stock GetClosestCar(playerid, Float:Prevdist=5.0)
{
	if (!IsPlayerConnected(playerid))return -1;
	new Prevcar;
	for(new carid = 0; carid < MAX_VEHICLES; carid++)
	{
		new Float:Dist = GetDistanceToCar(playerid,carid);
		if((Dist < Prevdist))
		{
			Prevdist = Dist;
			Prevcar = carid;
		}
	}
	return Prevcar;
}

FuncPub::GetDistanceToCar(playerid,carid)
{
	new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2,Float:Dis;
	if (!IsPlayerConnected(playerid))return -1;
	GetPlayerPos(playerid,x1,y1,z1);GetVehiclePos(carid,x2,y2,z2);
	Dis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
	return floatround(Dis);
}

stock SprawdzNick(idgracza)
{
	new query[126];
	new str[30];
	format(query, sizeof(query), "SELECT `nick` FROM `1players` WHERE player_uid = '%d'", idgracza);
	mysql_query(query);
	mysql_store_result();
	mysql_fetch_row_format(str);
	return str;
}

stock SprawdzWiek(idgracza)
{
	new query[126];
	new str[30];
	format(query, sizeof(query), "SELECT `age` FROM `1players` WHERE player_uid = '%d'", idgracza);
	mysql_query(query);
	mysql_store_result();
	mysql_fetch_row(str, "|");
	return strval(str);
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	new CarId = SprawdzCarID(vehicleid);
	SetVehicleHealth(vehicleid, CarInfo[CarId][vHP]);
	UpdateVehicleDamageStatus(vehicleid, CarInfo[CarId][panels], CarInfo[CarId][doors], encode_lights(0, 0, 0, 0), CarInfo[CarId][tires]);

	new str[126];
	format(str, sizeof(str), "Gets into the vehicle UID: %d (Model: %d(%s), sampid: %d)", CarInfo[CarId][vUID], CarInfo[CarId][vModel], CarInfo[CarId][vName], vehicleid);
 	Logi(playerid, LOG_TYPE_VEH, str);
	GetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]);

	if(PlayerInfo[playerid][noveh] == 1 && ispassenger == 0)
	{
		SetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]+0.1);
	    ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "{FFFFFF}"servname" » {008000}Blokada prowadzenia pojazdów", TEXT_NOVEH, "Okey", "Zamknij");
	    return 1;
	}
	if(CarInfo[CarId][vLock] == 1)
	{
		SetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]+0.1);
		Info(playerid, "{FFFFFF}"servname" » {008000}Pojazd zamknięty", "Ten pojazd jest zamknięty.");
		return 1;
	}
	if(CarInfo[CarId][vHP] <= 300.5 && ispassenger == 0)
	{
	    CarInfo[CarId][vHP] = 300;
	    SetVehicleHealth(vehicleid, CarInfo[CarId][vHP]);
		SetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]+0.1);
		Info(playerid, "{FFFFFF}"servname" » {008000}Pojazd zniszczony", "Ten pojazd jest zniszczony, możesz go zawieść do mechanika, aby go naprawił.");
		return 1;
	}
	if((CarInfo[CarId][vOwnerType] == BIZ || CarInfo[CarId][vOwnerType] == ORG) && ispassenger == 0)
	{
	    if(PlayerInfo[playerid][adminlvl] != 0) return 1;
	    if(PlayerInfo[playerid][adminlvl] == 0)
	    {
			if(CarInfo[CarId][vOwnerType] == ORG && CarInfo[CarId][vOwner] != GetPlayerOrganisation(playerid))
		    {
				SetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]+0.1);
				Info(playerid, "{FFFFFF}"servname" » {008000}Pojazdy{FFFFFF} » {008000}Error", "Nie możesz prowadzić tego pojazdu.");
				return 1;
			}
	 		else if(CarInfo[CarId][vOwnerType] == BIZ && CarInfo[CarId][vOwner] != GetPlayerBusiness(playerid))
		    {
				SetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]+0.1);
				Info(playerid, "{FFFFFF}"servname" » {008000}Pojazdy{FFFFFF} » {008000}Error", "Nie możesz prowadzić tego pojazdu.");
				return 1;
			}
		}
	}
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	new str[126],
		vehid = SprawdzCarID(vehicleid),
		s[7];
   	GetVehicleParamsEx(vehicleid, s[0], s[1], s[2], s[3], s[4], s[5], s[6]);
   	SetVehicleParamsEx(vehicleid, CarInfo[vehid][engine], s[1], s[2], s[3], s[4], s[5], s[6]);

 	TextDrawHideForPlayer(playerid, TextDrawInfo[playerid]);
 	TextDrawHideForPlayer(playerid, TextDrawBackground[playerid]);
	TextDrawHideForPlayer(playerid, Paliwo[playerid]);
 	SetPVarInt(playerid, "TextDrawInfoShow", 0);

 	TextDrawHideForPlayer(playerid, Silnik);
 	SaveVeh(CarInfo[vehid][vUID]);
 	format(str, sizeof(str), "Getting out of the vehicle UID: %d, sampid: %d", CarInfo[vehid][vUID], vehicleid);
 	Logi(playerid, LOG_TYPE_VEH, str);
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	new vehid = SprawdzCarID(GetPlayerVehicleID(playerid));
	new s[7];
	if(newstate == PLAYER_STATE_DRIVER)
	{
	    if(CarInfo[vehid][engine] == 0) TextDrawShowForPlayer(playerid, Silnik);
     	GetVehicleParamsEx(GetPlayerVehicleID(playerid), s[0], s[1], s[2], s[3], s[4], s[5], s[6]);
      	SetVehicleParamsEx(GetPlayerVehicleID(playerid), CarInfo[vehid][engine], s[1], s[2], s[3], s[4], s[5], s[6]);
	}
	if(oldstate == PLAYER_STATE_DRIVER) TextDrawHideForPlayer(playerid, Paliwo[playerid]);
 	TextDrawHideForPlayer(playerid, TextDrawInfo[playerid]);
 	TextDrawHideForPlayer(playerid, TextDrawBackground[playerid]);
 	SetPVarInt(playerid, "TextDrawInfoShow", 0);
 	if(GetPVarInt(playerid,"podglada")!=-1)
	{
		switch(newstate)
		{
		    case 0,1,7,8: PlayerSpectatePlayer(GetPVarInt(playerid,"podglada"),playerid);
		    case 2,3:PlayerSpectateVehicle(GetPVarInt(playerid,"podglada"),GetPlayerVehicleID(playerid));
		    case 9:
		    {
		        SetPVarInt(GetPVarInt(playerid,"podglada"),"podgladam",-1);
		        TogglePlayerSpectating(GetPVarInt(playerid,"podglada"),0);
		        SetCameraBehindPlayer(GetPVarInt(playerid,"podglada"));
		    }
		}
	}
	return 1;
}

FuncPub::opoznienie(playerid, carid)
{
	new s[7];
	CarInfo[carid][engine] = 1;
 	GetVehicleParamsEx(CarInfo[carid][vID], s[0], s[1], s[2], s[3], s[4], s[5], s[6]);
 	SetVehicleParamsEx(CarInfo[carid][vID], VEHICLE_PARAMS_ON, s[1], s[2], s[3], s[4], s[5], s[6]);
	TextDrawHideForPlayer(playerid, Silnik);
}

FuncPub::Respawn(vehidex)
{
	new vehid = SprawdzCarID(vehidex);

	CarInfo[vehid][vHP] = 300.5;
	SetVehicleToRespawn(vehidex);
	
	SetVehicleHealth(vehidex, CarInfo[vehid][vHP]);
	SetVehiclePos(vehidex, CarInfo[vehid][vX], CarInfo[vehid][vY], CarInfo[vehid][vZ]);
	SetVehicleZAngle(vehidex, CarInfo[vehid][vAngle]);
	UpdateVehicleDamageStatus(vehidex, CarInfo[vehid][panels], CarInfo[vehid][doors], CarInfo[vehid][lights], CarInfo[vehid][tires]);
	SaveVeh(CarInfo[vehid][vUID]);
 	foreachEx(itemid, MAX_ITEMS)
		if(ItemData[itemid][iType] == ITEM_TUNING && ItemData[itemid][iPlace] == PLACE_TUNE_CAR && ItemData[itemid][iOwner] == CarInfo[vehid][vUID])
			AddVehicleComponent(CarInfo[vehid][vID], ItemData[itemid][iValue1]);
	return 1;
}

public OnPlayerEnterCheckpoint(playerid) return DisablePlayerCheckpoint(playerid);

FuncPub::Text(playerid)
{
	TextDrawHideForPlayer(playerid, TextDrawInfo[playerid]);
	TextDrawHideForPlayer(playerid, TextDrawBackground[playerid]);
	SetPVarInt(playerid, "TextDrawInfoShow", 0);
	return 1;
}

stock InvitePlayer(type, id, fracid, ranke=0)
{
	new query[126];
	if(type == BIZNES)
	{
		PlayerInfo[id][biz] = fracid;
		PlayerInfo[id][bizrank] = ranke;
		format(query, sizeof(query), "INSERT INTO `1bizworker` (`bizuid`, `workeruid`, `bizrank`) VALUES ('%d', '%d', '%d')", Business[fracid][buss_uid], PlayerInfo[id][player_uid], ranke);
		mysql_query(query);
	}
	else if(type == ORG)
	{
		PlayerInfo[id][org] = fracid;
		PlayerInfo[id][orgrank] = ranke;
		format(query, sizeof(query), "INSERT INTO `1orgworker` (`orguid`, `workeruid`, `orgrank`) VALUES ('%d', '%d', '%d')", Org[fracid][org_uid], PlayerInfo[id][player_uid], ranke);
		mysql_query(query);
	}
	return 1;
}

FuncPub::UnInvitePlayer(type, id)
{
	new query[126];
	if(type == BIZNES)
	{
		format(query, sizeof(query), "DELETE FROM `1bizworker` WHERE `workeruid`=%d", PlayerInfo[id][player_uid]);
		mysql_query(query);
		PlayerInfo[id][biz] = 0;
		PlayerInfo[id][bizrank] = 0;
	}
	else if(type == ORG)
	{
		format(query, sizeof(query), "DELETE FROM `1orgworker` WHERE `workeruid`=%d", PlayerInfo[id][player_uid]);
		mysql_query(query);
		PlayerInfo[id][org] = 0;
		PlayerInfo[id][orgrank] = 0;
	}
	return 1;
}

FuncPub::Wejscie(playerid, dooruid)
{
	if(DoorInfo[dooruid][owner_type] == DOOR_BANK) return SendClientMessage(playerid, SZARY, "Witamy w banku "cityname". by ujżeć komendy banku wpisz: {FFFFFF}(/bank){AFAFAF}.");
	if(DoorInfo[dooruid][owner_type] == DOOR_STACJA) return SendClientMessage(playerid, SZARY, "Witamy w sklepie 24/7, aby kupić przedmioty wpisz: {FFFFFF}(/kup){AFAFAF}.");
	if(DoorInfo[dooruid][owner_type] == DOOR_HOTEL) return SendClientMessage(playerid, SZARY, "Witamy w Hotelu, aby wynająć pokój wpisz: {FFFFFF}(/pokoj zamelduj){AFAFAF}.");
	if(DoorInfo[dooruid][owner_type] == DOOR_BINGO) return SendClientMessage(playerid, SZARY, "Witamy w Bingo, aby rozpocząć zakup ubrań wpisz: {FFFFFF}(/ubranie){AFAFAF}.");
	return 1;
}

FuncPub::LoadDoors()
{
    new str[256], doorid;
	mysql_query("SELECT * FROM `1door`");
 	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
	    sscanf(str, "p<|>d", doorid);

		sscanf(str, "p<|>is[32]s[32]iiiffffiiffffiiiiis[50]i",
		DoorInfo[doorid][door_uid],
        DoorInfo[doorid][uniq_name],
       	DoorInfo[doorid][desc],
		DoorInfo[doorid][closed],
		DoorInfo[doorid][owner_type],
		DoorInfo[doorid][owner_id],
		DoorInfo[doorid][inside_a],
		DoorInfo[doorid][inside_x],
		DoorInfo[doorid][inside_y],
		DoorInfo[doorid][inside_z],
		DoorInfo[doorid][inside_int],
		DoorInfo[doorid][inside_vw],
		DoorInfo[doorid][outside_a],
		DoorInfo[doorid][outside_x],
		DoorInfo[doorid][outside_y],
		DoorInfo[doorid][outside_z],
		DoorInfo[doorid][outside_int],
		DoorInfo[doorid][outside_vw],
		DoorInfo[doorid][entracefee],
		DoorInfo[doorid][pickup_id],
		DoorInfo[doorid][haveaudio],
		DoorInfo[doorid][audio],
		DoorInfo[doorid][lights]);

		DoorInfo[doorid][pickupUID] = CreatePickup(DoorInfo[doorid][pickup_id], 2, DoorInfo[doorid][outside_x], DoorInfo[doorid][outside_y], DoorInfo[doorid][outside_z]+0.2, DoorInfo[doorid][outside_vw]);
	    if(DoorInfo[doorid][closed] == 1) format(str, sizeof(str), "%s{88EE88}\n\n\n({E31919}Zamkniete{88EE88})",DoorInfo[doorid][uniq_name]);
	    else format(str, sizeof(str), "%s{88EE88}\n\n\n({2F991A}Otwarte{88EE88})",DoorInfo[doorid][uniq_name]);

	    DoorInfo[doorid][textname] = Create3DTextLabel(str, 0x88EE88FF, DoorInfo[doorid][outside_x], DoorInfo[doorid][outside_y], DoorInfo[doorid][outside_z]+0.1, 10.0, DoorInfo[doorid][outside_vw], 1);
	}
	mysql_free_result();
}

FuncPub::LoadDoorsEx(id)
{
    new str[256];
    format(str, sizeof(str), "SELECT * FROM `1door` WHERE `door_uid`=%d", id);
	mysql_query(str);
 	mysql_store_result();
	while(mysql_fetch_row_format(str, "|"))
	{
		sscanf(str, "p<|>is[32]s[32]iiiffffiiffffiiiiis[50]i",
		DoorInfo[id][door_uid],
        DoorInfo[id][uniq_name],
       	DoorInfo[id][desc],
		DoorInfo[id][closed],
		DoorInfo[id][owner_type],
		DoorInfo[id][owner_id],
		DoorInfo[id][inside_a],
		DoorInfo[id][inside_x],
		DoorInfo[id][inside_y],
		DoorInfo[id][inside_z],
		DoorInfo[id][inside_int],
		DoorInfo[id][inside_vw],
		DoorInfo[id][outside_a],
		DoorInfo[id][outside_x],
		DoorInfo[id][outside_y],
		DoorInfo[id][outside_z],
		DoorInfo[id][outside_int],
		DoorInfo[id][outside_vw],
		DoorInfo[id][entracefee],
		DoorInfo[id][pickup_id],
		DoorInfo[id][haveaudio],
		DoorInfo[id][audio],
		DoorInfo[id][lights]);
		
		DestroyPickup(DoorInfo[id][pickupUID]);
		Delete3DTextLabel(DoorInfo[id][textname]);
        
		DoorInfo[id][pickupUID] = CreatePickup(DoorInfo[id][pickup_id], 2, DoorInfo[id][outside_x], DoorInfo[id][outside_y], DoorInfo[id][outside_z]+0.2, DoorInfo[id][outside_vw]);
	    if(DoorInfo[id][closed] == 1) format(str, sizeof(str), "%s{88EE88}\n\n\n({E31919}Zamkniete{88EE88})",DoorInfo[id][uniq_name]);
	    else format(str, sizeof(str), "%s{88EE88}\n\n\n({2F991A}Otwarte{88EE88})",DoorInfo[id][uniq_name]);
	    DoorInfo[id][textname] = Create3DTextLabel(str, 0x88EE88FF, DoorInfo[id][outside_x], DoorInfo[id][outside_y], DoorInfo[id][outside_z]+0.1, 10.0, DoorInfo[id][outside_vw], 1);
	}
	mysql_free_result();
}

FuncPub::SaveDoor(id)
{
	new query[512];
    format(query, sizeof(query), "UPDATE `1door` SET `uniq_name`='%s', `desc`='%s', `owner_type`=%d, `owner_id`=%d, `inside_a`=%f, `inside_x`=%f, `inside_y`=%f, `inside_z`=%f, `inside_int`=%d, `inside_vw`=%d, `outside_a`=%f, `outside_x`=%f, `outside_y`=%f, `outside_z`=%f, `outside_int`=%f, `outside_vw`=%f, `entracefee`=%d, `pickup_id`=%d, `haveaudio`=%d, `audio`='%s', `lights`=%d WHERE `door_uid`=%d",
	DoorInfo[id][uniq_name],
	DoorInfo[id][desc],
	DoorInfo[id][owner_type],
	DoorInfo[id][owner_id],
	DoorInfo[id][inside_a],
	DoorInfo[id][inside_x],
	DoorInfo[id][inside_y],
	DoorInfo[id][inside_z],
	DoorInfo[id][inside_int],
	DoorInfo[id][inside_vw],
	DoorInfo[id][outside_a],
	DoorInfo[id][outside_x],
	DoorInfo[id][outside_y],
	DoorInfo[id][outside_z],
	DoorInfo[id][outside_int],
	DoorInfo[id][outside_vw],
	DoorInfo[id][entracefee],
	DoorInfo[id][pickup_id],
	DoorInfo[id][haveaudio],
	DoorInfo[id][audio],
	DoorInfo[id][lights],
	DoorInfo[id][door_uid]);
	mysql_query(query);
	return 1;
}

FuncPub::DeleteDoor(id)
{
	new query[126];
    format(query, sizeof(query), "DELETE FROM `1door` WHERE `door_uid`=%d", id);
	mysql_query(query);
	DoorInfo[id][uniq_name] = 0;
	DoorInfo[id][desc] = 0;
	DoorInfo[id][owner_type] = 0;
	DoorInfo[id][owner_id] = 0;
	DoorInfo[id][inside_a] = 0;
	DoorInfo[id][inside_x] = 0;
	DoorInfo[id][inside_y] = 0;
	DoorInfo[id][inside_z] = 0;
	DoorInfo[id][inside_int] = 0;
	DoorInfo[id][inside_vw] = 0;
	DoorInfo[id][outside_a] = 0;
	DoorInfo[id][outside_x] = 0;
	DoorInfo[id][outside_y] = 0;
	DoorInfo[id][outside_z] = 0;
	DoorInfo[id][outside_int] = 0;
	DoorInfo[id][outside_vw] = 0;
	DoorInfo[id][entracefee] = 0;
	DoorInfo[id][pickup_id] = 0;
	DoorInfo[id][door_uid] = 0;
	DoorInfo[id][lights] = 0;
	
	DestroyPickup(DoorInfo[id][pickupUID]);
	DoorInfo[id][pickupUID] = 0;
	Delete3DTextLabel(DoorInfo[id][textname]);
}
FuncPub::CreateDoor(desc2[], owner_type2, owner_id2, Float:outside_x2, Float:outside_y2, Float:outside_z2, outside_int2, outside_vw2, pickup)
{
	new query[512];
	format(query, sizeof(query), "INSERT INTO `1door` (`uniq_name`, `desc`, `owner_type`, `owner_id`, `outside_x`, `outside_y`, `outside_z`, `outside_int`, `outside_vw`, `pickup_id`) VALUES ('%s', '%s', '%d', '%d', '%f', '%f', '%f', '%d', '%d', '%d')",
	desc2,
	desc2,
	owner_type2,
	owner_id2,
	outside_x2,
	outside_y2,
	outside_z2,
	outside_int2,
	outside_vw2,
	pickup);

	mysql_query(query);
	new id = mysql_insert_id();
	DoorInfo[id][door_uid] = id;
	DoorInfo[id][inside_vw] = id;
	strmid(DoorInfo[id][desc], desc2, 0, strlen(desc2), 32);
	strmid(DoorInfo[id][uniq_name], desc2, 0, strlen(desc2), 32);
	DoorInfo[id][owner_type] = owner_type2;
	DoorInfo[id][owner_id] = owner_id2;
	DoorInfo[id][outside_x] = outside_x2;
	DoorInfo[id][outside_y] = outside_y2;
	DoorInfo[id][outside_z] = outside_z2;
	DoorInfo[id][outside_int] = outside_int2;
	DoorInfo[id][outside_vw] = outside_vw2;
	DoorInfo[id][entracefee] = 0;
	DoorInfo[id][pickup_id] = pickup;
	DoorInfo[id][closed] = 1;
	DoorInfo[id][lights] = 0;
	
	printf("Dodano drzwi! (UID: %d, NAME: %s)", id, desc2);
	DoorInfo[id][pickupUID] = CreatePickup(DoorInfo[id][pickup_id], 2, DoorInfo[id][outside_x], DoorInfo[id][outside_y], DoorInfo[id][outside_z]+0.2, DoorInfo[id][outside_vw]);
    format(query, sizeof(query), "%s{88EE88}\n\n\n({E31919}Zamkniete{88EE88})", DoorInfo[id][uniq_name]);
    DoorInfo[id][textname] = Create3DTextLabel(query, 0x88EE88FF, DoorInfo[id][outside_x], DoorInfo[id][outside_y], DoorInfo[id][outside_z]+0.1, 15.0, DoorInfo[id][outside_vw], 1);
	return id;
}

FuncPub::Pickup(id)
{
    new str[256];
   	if(!IsPlayerInAnyVehicle(id))
    {
    	for(new i=0; i<MAX_DOOR; i++)
    	{
	    	if((IsPlayerInRangeOfPoint(id, 1.5, DoorInfo[i][outside_x], DoorInfo[i][outside_y], DoorInfo[i][outside_z]) && !IsPlayerInRangeOfPoint(id, 10.0, 0.0, 0.0, 0.0)) && (GetPlayerVirtualWorld(id) == DoorInfo[i][outside_vw] && !IsPlayerInAnyVehicle(id)))
    		{
	   		    TextDrawHideForPlayer(id, Drzwi[i]);
		    	if(!DoorInfo[i][closed])
	   		    {
	   		        if(DoorInfo[i][entracefee] != 0) format(str,sizeof(str),"~n~~p~%s~n~~n~~y~Wstep:~w~ $%d~n~~n~~w~(~b~~h~~h~Kl. Sprintu~w~)~n~",DoorInfo[i][desc],DoorInfo[i][entracefee]);
	   		        else format(str,sizeof(str),"~n~~p~%s~n~~n~~w~(~b~~h~~h~Kl. Sprintu~w~)~n~",DoorInfo[i][desc]);
	       			TextDrawSetString(Drzwi[i], str);
        			TextDrawShowForPlayer(id, Drzwi[i]);
		          	SetTimerEx("textexit", 10000, 0, "iu", i, id);
             	}
	          	else if(DoorInfo[i][closed])
            	{
	        		format(str,sizeof(str),"~n~~p~%s~n~~n~~w~(~r~Zamkniete~w~)~n~",DoorInfo[i][desc],DoorInfo[i][entracefee]);
		         	TextDrawSetString(Drzwi[i], str);
		          	TextDrawShowForPlayer(id, Drzwi[i]);
		          	SetTimerEx("textexit", 10000, 0, "iu", i, id);
	          	}
           	}
            else TextDrawHideForPlayer(id, Drzwi[i]);
        }
    }
	return 1;
}

stock CharCode(playerid, zmienna=0)
{
	if(zmienna == 0) zmienna = PlayerInfo[playerid][player_uid];
	new text[32];
	format(text, sizeof(text), "%d", zmienna);
	new string1[32], char1[5], char2[5], char3[5], char4[4], charcode2[5];
	strmid(charcode2, MD5_Hash(text), 0, strlen(MD5_Hash(text)), 255);
	strmid(char1, charcode2[0], 0, 1, 255);
	strmid(char2, charcode2[1], 0, 1, 255);
	strmid(char3, charcode2[2], 0, 1, 255);
	strmid(char4, charcode2[3], 0, 1, 255);
	format(string1, sizeof(string1), "%s%s%s%s", char1, char2, char3, char4);
	strtoupper(string1);
	return string1;
}

stock md5(str[]) return MD5_Hash(str);

FuncPub::Warn(typ[], giveid, playerid, tresc[])
{

	new h, m, s, y, mm, d, query[512];
	getdate(y, mm, d);
	gettime(h, m, s);
 	format(query, sizeof(query), "%d-%d-%d %d:%d:%d", y, mm, d, h, m, s);
	format(query, sizeof(query), "INSERT INTO `1warn` (`Type`, `Dostal`, `dostal_uid`, `Nadal`, `Powod`, `Data`) VALUES ('%s', '%d', '%d', '%d', '%s', '%s')",
	typ,
	PlayerInfo[giveid][player_uid],
	PlayerInfo[giveid][guid],
	PlayerInfo[playerid][player_uid],
	tresc,
	query);
	mysql_query(query);
}

FuncPub::GetVehicleID(uid)
{
	if(uid == INVALID_VEHICLE_ID) return false;
	foreachEx(vehicleid, MAX_VEH)
		if(CarInfo[vehicleid][vUID] == uid)
			return vehicleid;
	return INVALID_VEHICLE_ID;
}

FuncPub::textexit(i, id)
{
	if(!IsPlayerInRangeOfPoint(id, 2.0, DoorInfo[i][outside_x], DoorInfo[i][outside_y], DoorInfo[i][outside_z]))
    	TextDrawHideForPlayer(id, Drzwi[i]);
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys == KEY_SPRINT)
	{
		for(new i=0; i<MAX_DOOR; i++)
		{
		    if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorInfo[i][outside_x], DoorInfo[i][outside_y], DoorInfo[i][outside_z]))
			{
			    if(GetPlayerVirtualWorld(playerid) == DoorInfo[i][outside_vw] && !IsPlayerInAnyVehicle(playerid))
			    {
				    if(!DoorInfo[i][closed])
				    {
					    if((GetPlayerMoney(playerid) >= DoorInfo[i][entracefee]) || (DoorInfo[i][owner_type] == BIZ && PlayerInfo[playerid][biz] == DoorInfo[i][owner_id]) || (DoorInfo[i][owner_type] == ORG && PlayerInfo[playerid][org] == DoorInfo[i][owner_id]))
					    {
							SetPlayerPos(playerid, DoorInfo[i][inside_x], DoorInfo[i][inside_y], DoorInfo[i][inside_z]);
							SetPlayerVirtualWorld(playerid, DoorInfo[i][inside_vw]);
		                	SetPlayerInterior(playerid, DoorInfo[i][inside_int]);
		                	SetPlayerWeather(playerid, 2);
		                	if(DoorInfo[i][lights] == 0 && GetPVarInt(playerid, "Nokt") == 0) TextDrawShowForPlayer(playerid, Light);
							Wejscie(playerid, i);
							
							// Audio
							if(Audio_IsClientConnected(playerid)) SetPVarInt(playerid, "PlayerMusic", Audio_PlayStreamed(playerid, DoorInfo[i][audio]));
                            // Audio
                            
							if(DoorInfo[i][owner_type] == ORG && PlayerInfo[playerid][org] == DoorInfo[i][owner_id]) return 1;
							if(DoorInfo[i][owner_type] == BIZ && PlayerInfo[playerid][biz] == DoorInfo[i][owner_id]) return 1;
							SetPlayerMoneyEx(playerid, PlayerInfo[playerid][cash]-DoorInfo[i][entracefee]);
							if(DoorInfo[i][owner_type] == BIZ) Business[DoorInfo[i][owner_id]][cash] += DoorInfo[i][entracefee];
							else if(DoorInfo[i][owner_type] == ORG) Org[DoorInfo[i][owner_id]][cash] += DoorInfo[i][entracefee];
						}
						else GameTextForPlayer(playerid,"~r~Nie masz tyle gotowki",3000,3);
					}
					else GameTextForPlayer(playerid,"~r~Zamkniete",3000,3);
				}
			}
		    else if(IsPlayerInRangeOfPoint(playerid, 1.5, DoorInfo[i][inside_x], DoorInfo[i][inside_y], DoorInfo[i][inside_z]))
			{
	  			if(GetPlayerVirtualWorld(playerid) == DoorInfo[i][inside_vw] && !IsPlayerInAnyVehicle(playerid))
			    {
				    if(!DoorInfo[i][closed])
				    {
						SetPlayerPos(playerid, DoorInfo[i][outside_x], DoorInfo[i][outside_y], DoorInfo[i][outside_z]);
						SetPlayerVirtualWorld(playerid, DoorInfo[i][outside_vw]);
		                SetPlayerInterior(playerid, DoorInfo[i][outside_int]);
		                Audio_Stop(playerid, GetPVarInt(playerid, "PlayerMusic"));
		                SetPlayerWeather(playerid, wid);
						TextDrawHideForPlayer(playerid, Light);
					}
					else GameTextForPlayer(playerid,"~r~Zamkniete",3000,3);
				}
			}
		}
		if(hotel[playerid][0] == 1)
		{
			if(newkeys == KEY_SPRINT)
			{
				SetPlayerPos(playerid, Hotels[PlayerInfo[playerid][hoteli]][outside_x], Hotels[PlayerInfo[playerid][hoteli]][outside_y], Hotels[PlayerInfo[playerid][hoteli]][outside_z]);
				SetPlayerVirtualWorld(playerid, Hotels[PlayerInfo[playerid][hoteli]][outside_vw]);
		    	SetPlayerInterior(playerid, Hotels[PlayerInfo[playerid][hoteli]][outside_int]);
				hotel[playerid][0] = 0;
			}
		}
	}

    new vehicleid = GetPlayerVehicleID(playerid);
    new vehid = SprawdzCarID(vehicleid);
	if(newkeys == 5) // Odpalanie silnika
	{
	 	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
		{
			cmd_silnik(playerid, "");
		}
	}
	if(newkeys == 16) // Wyjście z wozu
	{
	 	if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
		{
			if(CarInfo[vehid][engine] == 0)
			{
			    TogglePlayerControllable(playerid, 1);
			    RemovePlayerFromVehicle(playerid);
				TextDrawHideForPlayer(playerid,Silnik);
		   		TextDrawHideForPlayer(playerid, TextDrawInfo[playerid]);
		   		TextDrawHideForPlayer(playerid, TextDrawBackground[playerid]);
		   		SetPVarInt(playerid, "TextDrawInfoShow", 0);
			}
		}
	}
	if(newkeys == KEY_SPRINT)
	{
	    if(GetPVarInt(playerid, "UseAnim") == 1)
	    {
			ClearAnimations(playerid);
			SetPVarInt(playerid, "UseAnim", 0);
	    }
	}
	
	#define KEY_PPM     126
	if(newkeys & KEY_PPM && GetPlayerWeapon(playerid) >= 22  && GetPlayerWeaponState(playerid) != WEAPONSTATE_RELOADING)
	{
	    if(PlayerInfo[playerid][sila] <= 3050) return 1;
	    SetPlayerDrunkLevel(playerid, 4990);
	}
 	else if(oldkeys & KEY_PPM) SetPlayerDrunkLevel(playerid, PlayerInfo[playerid][drunklvl]);
 	
	if(GetPVarInt(playerid, "SprayColor[0]") != -1)
	{
   		if((newkeys & KEY_FIRE) && !(oldkeys & KEY_FIRE) && GetPlayerWeapon(playerid) == 41 && !IsPlayerInAnyVehicle(playerid))
     		SetPVarInt(playerid, "Paint", SetTimerEx("Painter", 1000, 1, "u", playerid));
		else if((oldkeys & KEY_FIRE) && !(newkeys & KEY_FIRE))
		    KillTimer(GetPVarInt(playerid, "Paint"));
    }
	return 1;
}

FuncPub::Painter(playerid)
{
	if(!IsPlayerFacingVehicle(playerid, Offer[playerid][o_value3]))return GameTextForPlayer(playerid,"~w~odwroc sie w strone ~n~auta, inaczej malowanie zostanie ~r~przerwane~w~!", 3000, 3);
	else
	{
		KillTimer(GetPVarInt(playerid, "Malowanie"));
	    if(GetDistanceToCar(playerid, Offer[playerid][o_value3]) > 15.0)
	    {
			GameTextForPlayer(playerid,"~n~~g~Malowanie przerwane!", 3000,4);
			SetPVarInt(playerid, "SprayTime", 0);
			SetPVarInt(playerid, "SprayColor[0]", -1);
			SetPVarInt(playerid, "SprayColor[1]", -1);
			Delete3DTextLabel(Painteer[playerid]);
			KillTimer(GetPVarInt(playerid, "Paint"));
			return 1;
		}
		else if(GetDistanceToCar(playerid, Offer[playerid][o_value3]) > 5.0) return GameTextForPlayer(playerid, "~r~Nie oddalaj sie od pojazdu!", 1000, 3);
		if(GetPVarInt(playerid, "SprayTime") > 100)
		{
		 	ChangeVehicleColor(Offer[playerid][o_value3], GetPVarInt(playerid, "SprayColor[0]"), GetPVarInt(playerid, "SprayColor[1]"));
			CarInfo[SprawdzCarID(Offer[playerid][o_value3])][vColor1] = GetPVarInt(playerid, "SprayColor[0]");
			CarInfo[SprawdzCarID(Offer[playerid][o_value3])][vColor2] = GetPVarInt(playerid, "SprayColor[1]");

			GameTextForPlayer(playerid,"~n~~g~Przemalowano", 3000,4);
			SetPVarInt(playerid, "SprayTime", 0);
			SetPVarInt(playerid, "SprayColor[0]", -1);
			SetPVarInt(playerid, "SprayColor[1]", -1);
			Delete3DTextLabel(Painteer[playerid]);
			PlayerPlaySound(playerid, 1134, 0.0, 0.0, 10.0);
			KillTimer(GetPVarInt(playerid, "Paint"));
			return 1;
 		}
 		if(GetPlayerWeapon(playerid) == 41)
 		{
			new str[126];
			format(str, 126, "Malowanie pojazdu %s.\nUkończono w %d%%", NazwyPojazdow[CarInfo[SprawdzCarID(Offer[playerid][o_value3])][vModel] - 400], GetPVarInt(playerid, "SprayTime"));
			Update3DTextLabelText(Painteer[playerid], COLOR_PURPLE, str);
			SetPVarInt(playerid, "SprayTime", GetPVarInt(playerid, "SprayTime")+1);
		}
	 }
	return 1;
}

FuncPub::MalowaniePojazdu(pid)
{
	GameTextForPlayer(pid,"~n~~g~Malowanie przerwane!", 3000,4);
	SetPVarInt(pid, "SprayTime", 0);
	SetPVarInt(pid, "SprayColor[0]", -1);
	SetPVarInt(pid, "SprayColor[1]", -1);
	Delete3DTextLabel(Painteer[pid]);
	KillTimer(GetPVarInt(pid, "Paint"));
	return 1;
}

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
	new hour,
		minute,
		second;
	gettime(hour, minute, second);

	Logi(playerid, LOG_TYPE_CMD, cmdtext);
	printf("[%d:%d:%d][zcmd] [%s]: %s", hour, minute, second, NickSamp(playerid), cmdtext);
	SetPVarInt(playerid, "command", GetPVarInt(playerid, "command")+1);
	SetTimerEx("SpamCmd", 6000, 0, "d", playerid);
	if(!success) PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
	return 1;
}

FuncPub::SpamCmd(playerid)
{
	if(GetPVarInt(playerid, "command") > 5 && PlayerInfo[playerid][adminlvl] == 0)
	{
	    new str[126];
		format(str, sizeof(str), "~>~ Kick ~<~ ~r~%s ~w~zostal wyrzucony przez ~r~AntyCheat. ~w~Powod: ~r~Spam komend, %d w ciagu 6 sec.", NickName(playerid), GetPVarInt(playerid, "command"));
		TextDrawSetString(Licznik, str);
		TextDrawShowForAll(Licznik);
		KillTimer(Karatd);
		Karatd = SetTimer("textkara", 15000, 0);
		Warn("Kick", playerid, KARA_SYSTEM, "Spam Komend");
		Kick(playerid);
	}
    SetPVarInt(playerid, "command", 0);
	return 1;
}

FuncPub::Zgloszenie(playerid, zmienna, tresc[])
{
	new str[126];
	format(str, 126, "[%d] Zgłoszenie - Centrala: %s", PlayerInfo[playerid][phonenr], tresc);
   	foreach(Player, i)
		if(GetPlayerOrganisation(i) == zmienna && Org[GetPlayerOrganisation(i)][typed] == ORGANISATION_FRAC)
	        SendClientMessage(i, COLOR_YELLOW, str);
	return 1;
}

FuncPub::OnPlayerUpdateEx(playerid)
{
	new query[512];

	if(Logged[playerid] == false) return 1;
	if(IsPlayerNPC(playerid)) return 1;

   	GetPlayerHealth(playerid, PlayerInfo[playerid][health]);
	PlayerInfo[playerid][drunklvl] = GetPlayerDrunkLevel(playerid);
	GetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]);
	PlayerInfo[playerid][pos_int] = GetPlayerInterior(playerid);
	PlayerInfo[playerid][pos_vw] = GetPlayerVirtualWorld(playerid);
	PlayerInfo[playerid][skin] = GetPlayerSkin(playerid);

    format(query, sizeof(query),
	"UPDATE `1players` SET `aj`=%d, `bw`=%d, `skin`=%d, `sex`=%d, `age`=%d, `pdp`=%d, `prisontime`=%d, `cash`=%d, `cashinbank`=%d, `ban`=%d, `pos_x`=%f, `pos_y`=%f, `pos_z`=%f, `crash`=1, `pos_int`=%d, `pos_vw`=%d, `phonenr`=%d, `skin2`=%d, `health`=%.1f, `adminlvl`=%d, `ck`=%d, `hours`=%d, `gmlvl`=%d, `bank`=%d, `hotel`=%d, `job`=%d, `blockooc`=%d, `noveh`=%d WHERE `nick`='%s'",
	PlayerInfo[playerid][aj],
	PlayerInfo[playerid][bw],
	PlayerInfo[playerid][skin],
	PlayerInfo[playerid][sex],
	PlayerInfo[playerid][age],
	PlayerInfo[playerid][pdp],
	PlayerInfo[playerid][prisontime],
	PlayerInfo[playerid][cash],
	PlayerInfo[playerid][cashinbank],
    PlayerInfo[playerid][ban],
    PlayerInfo[playerid][pos_x],
    PlayerInfo[playerid][pos_y],
    PlayerInfo[playerid][pos_z],
    PlayerInfo[playerid][pos_int],
    PlayerInfo[playerid][pos_vw],
    PlayerInfo[playerid][phonenr],
    PlayerInfo[playerid][skin2],
    PlayerInfo[playerid][health],
    PlayerInfo[playerid][adminlvl],
    PlayerInfo[playerid][ck],
    PlayerInfo[playerid][hours],
    PlayerInfo[playerid][gmlvl],
    PlayerInfo[playerid][bank],
    PlayerInfo[playerid][hoteli],
    PlayerInfo[playerid][job],
    PlayerInfo[playerid][blockooc],
    PlayerInfo[playerid][noveh],
	NickSamp(playerid));
    mysql_query(query);

    format(query, sizeof(query),"UPDATE `1players` SET `sila`=%d, `sztukawalki`=%d, `minutes`=%d, `run`=%d, `drunklvl`=%d, `bron`=%d, `telsound`=%d, `dom`=%d, `audio`=%d WHERE `nick`='%s'",
    PlayerInfo[playerid][sila],
    PlayerInfo[playerid][sztukawalki],
    PlayerInfo[playerid][minutes],
    PlayerInfo[playerid][run],
    PlayerInfo[playerid][drunklvl],
    PlayerInfo[playerid][bron],
    PlayerInfo[playerid][telsoundid],
    PlayerInfo[playerid][dom],
    PlayerInfo[playerid][audio],
	NickSamp(playerid));
    mysql_query(query);
	return 1;
}

FuncPub::BackgroundTextDraw(playerid)
{
    TextDrawHideForPlayer(playerid, TextDrawBackground[playerid]);
    TextDrawBackground[playerid] = TextDrawCreate(-1.0,318.0,"~n~");
	TextDrawUseBox(TextDrawBackground[playerid],1);
	TextDrawTextSize(TextDrawBackground[playerid],777.000000,-9.000000);
	TextDrawLetterSize(TextDrawBackground[playerid],1.000000,14.300001);
	TextDrawSetShadow(TextDrawBackground[playerid],1);
	TextDrawColor(TextDrawBackground[playerid],0xffffffff);
	TextDrawSetOutline(TextDrawBackground[playerid],1);
	TextDrawAlignment(TextDrawBackground[playerid],0);
    TextDrawBackgroundColor(TextDrawBackground[playerid],0x000000ff);
    TextDrawBoxColor(TextDrawBackground[playerid],0x00000033);
    TextDrawFont(TextDrawBackground[playerid],1);
    TextDrawShowForPlayer(playerid, TextDrawBackground[playerid]);
	return 1;
}

FuncPub::TextdrawInfo(playerid, text[])
{
	TextDrawHideForPlayer(playerid, TextDrawInfo[playerid]);
    TextDrawInfo[playerid] = TextDrawCreate(147.0,327.0, text);
    TextDrawLetterSize(TextDrawInfo[playerid],0.499999,1.600000);
    TextDrawSetOutline(TextDrawInfo[playerid],1);
    TextDrawSetProportional(TextDrawInfo[playerid],1);
    TextDrawSetShadow(TextDrawInfo[playerid],4);
    TextDrawFont(TextDrawInfo[playerid],1);
    TextDrawAlignment(TextDrawInfo[playerid],0);
	TextDrawBackgroundColor(TextDrawInfo[playerid],0x000000ff);
	TextDrawColor(TextDrawInfo[playerid],0xffffffff);
	TextDrawShowForPlayer(playerid, TextDrawInfo[playerid]);
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == LOGIN_EX)
	{
	    if(!response) return Kick(playerid);
		new str[312];
		new hashex[256];
		new salt[126];
		new players[126];
		new zmienna;
		format(str, sizeof(str), "SELECT mybb_users.username, mybb_users.salt, 1players.guid FROM 1players JOIN mybb_users ON mybb_users.uid = 1players.guid WHERE mybb_users.username = '%s'", NickSamp(playerid));
	    mysql_query(str);
	    mysql_store_result();
	    if(mysql_num_rows())
	    {
			mysql_fetch_row_format(str);
	        sscanf(str, "p<|>s[126]s[126]d",
	        PlayerInfo[playerid][globname],
			salt,
			PlayerInfo[playerid][guid]);
	        mysql_free_result();
	    }
	    else
	    {
	     	GameTextForPlayer(playerid, "~n~~n~~n~~n~~r~Nie znaleziono globala!", 5000, 5);
	     	ShowPlayerDialog(playerid, LOGIN_EX, DIALOG_STYLE_INPUT, "{FFFFFF}"servname" » {008000}Logowanie", TEXT_LOGIN, "Zaloguj", "Wyjdź");
	     	mysql_free_result();
	     	return 1;
	    }
 		format(hashex, sizeof(hashex), "%s%s", MD5_Hash(salt), MD5_Hash(inputtext));
 		format(str, sizeof(str), "SELECT 1players.nick, 1players.guid, 1players.player_uid, 1players.hours, 1players.minutes FROM 1players JOIN mybb_users ON mybb_users.password = md5('%s') WHERE 1players.guid = %d", hashex, PlayerInfo[playerid][guid]);
    	mysql_query(str);
	   	mysql_store_result();
	    if(mysql_num_rows())
	    {
			if(GetPVarInt(playerid, "AFK") == 1) return OnPlayerLoginIc(playerid, PlayerInfo[playerid][player_uid]);
		   	while(mysql_fetch_row_format(str, "|"))
		   	{
		   	    zmienna++;
		   	    sscanf(str, "p<|>s[32]dddd",
				PlayerInfo[playerid][nick],
				PlayerInfo[playerid][guid],
				PlayerInfo[playerid][player_uid],
				PlayerInfo[playerid][hours],
				PlayerInfo[playerid][minutes]);
				UnderscoreToSpace(PlayerInfo[playerid][nick]);
		   		format(players, sizeof(players), "%s%d\t%s%dh %dmin\n", players, PlayerInfo[playerid][player_uid], name_add_tabs(PlayerInfo[playerid][nick]), PlayerInfo[playerid][hours], PlayerInfo[playerid][minutes]);
		   	}
			if(zmienna != 0) ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_LIST, "{FFFFFF}"servname" » {008000}Logowanie", players, "Wybierz", "");
			else
			{
				ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_MSGBOX, "{FFFFFF}"servname" » {008000}Logowanie", "Nie posiadasz żadnej postaci,\nmożesz założyć ją w panelu gracza\nna forum!", "Zaloguj", "Wyjdź");
			    Kick(playerid);
			}
	    }
	    else
	    {
			GameTextForPlayer(playerid, "~n~~n~~n~~r~~h~Podales bledne haslo!",5000,5);
	     	ShowPlayerDialog(playerid, LOGIN_EX, DIALOG_STYLE_INPUT, "{FFFFFF}"servname" » {008000}Logowanie", TEXT_LOGIN, "Zaloguj", "Wyjdź");
	    }
		mysql_free_result();
	}
	if(dialogid == LOGIN)
	{
        OnPlayerLoginIc(playerid, strval(inputtext));
	}
	if(dialogid == SELECT_SPAWN)
	{
	    if(PlayerInfo[playerid][crash] == 0)
	    {
		    if(response)
		    {
				switch(listitem)
				{
				    case 0: SetPVarInt(playerid, "spawn", 1); // BlueBerry
					case 1: SetPVarInt(playerid, "spawn", 2); // Dillimore
					case 2: SetPVarInt(playerid, "spawn", 3); // Palamino Creek
					case 3: SetPVarInt(playerid, "spawn", 6); // Montgomery
				}
				SpawnPlayer(playerid);
		    }
	    }
	    else
	    {
	        if(response)
	        {
	            if(strfind(inputtext, "Dom", true) != -1) SetPVarInt(playerid, "spawn", 5);
	            if(strfind(inputtext, "Hotel", true) != -1) SetPVarInt(playerid, "spawn", 4);
				if(strfind(inputtext, "Ostatnia pozycja", true) != -1) PlayerInfo[playerid][crash] = 1;
				SpawnPlayer(playerid);
	        }
	    }
	}
	if(dialogid == DIALOG_STATS)
	{
	    if(!response) return 1;
     	if(strfind(inputtext, "1. Translator mowy", true) != -1)
 		{
	    	if(PlayerInfo[playerid][audio] == 1)
	    	{
	    	    In("{FFFFFF}Translator mowy został {E31919}wyłączony{FFFFFF}!");
	    		PlayerInfo[playerid][audio] = 0;
	    	}
	    	else
	    	{
	    	    In("{FFFFFF}Translator mowy został {2F991A}włączony{FFFFFF}!");
	    	    PlayerInfo[playerid][audio] = 1;
	    	}
	    }
	    if(strfind(inputtext, "Panoramiczny ekran", true) != -1)
 		{
	    	if(PlayerInfo[playerid][panor] == 1)
	    	{
	    	    In("{FFFFFF}Panoramiczny ekran został {E31919}wyłączony{FFFFFF}!");
	    		PlayerInfo[playerid][panor] = 0;
				TextDrawHideForPlayer(playerid, Textdraw1);
				TextDrawHideForPlayer(playerid, Textdraw2);
	    	}
	    	else
	    	{
	    	    In("{FFFFFF}Panoramiczny ekran został {2F991A}włączony{FFFFFF}!");
	    	    PlayerInfo[playerid][panor] = 1;
   				TextDrawShowForPlayer(playerid, Textdraw1);
				TextDrawShowForPlayer(playerid, Textdraw2);
	    	}
	    }
	}
	if(dialogid == DIALOG_PW)
	{
		new string[126];
		if(response)
		{
		    if(GetPVarInt(playerid, "tog_pw") == 1) return SendClientMessage(playerid, SZARY, "Gracz ma zablokowane prywatne wiadomości!");
      		else
		 	{
				inputtext[0] = toupper(inputtext[0]);
				format(string, sizeof(string), "(( > %s (%d): %s ))",NickName(GetPVarInt(playerid, "PM")), GetPVarInt(playerid, "PM"), inputtext);//playerid
				SendClientMessage(playerid, 0xFF8000FF, string);
	  			format(string, sizeof(string), "(( %s (%d): %s ))",NickName(playerid), playerid, inputtext);
	  			SendClientMessage(GetPVarInt(playerid, "PM"), 0xCE6700FF, string);
				SetPVarInt(playerid, "RE", GetPVarInt(playerid, "PM"));
				SetPVarInt(playerid, "PM", -1);
			}
			return 1;
		}
	}
	if(dialogid == POMOC_1)
	{
	    new str[126];
	    if(response)
	    {
	        switch(listitem)
			{
				case 0:// Organizacja
				{
				    if(GetPlayerOrganisation(playerid) == 0) In("Nie należysz do żadnej organizacji.");
					if(GetPlayerOrganisation(playerid) == FRAC_GOV) format(str, 126, "/o dokument [ID/Nick] [Typ dokumentu]\n/o lekcja [ID/Nick]\n/o rejestracja [ID/Nick] [UID Auta]");
					if(GetPlayerOrganisation(playerid) == FRAC_DMV) format(str, 126, "/o dokument [ID/Nick] [Typ dokumentu]\n/o lekcja [ID/Nick]\n/o rejestracja [ID/Nick] [UID Auta]");
        			if(GetPlayerOrganisation(playerid) == FRAC_PD) format(str, 126, "%s/o mandat [ID/Nick] [Cena mandatu] [pkt karne]\n/o usunblokade [ID/Nick]\n", str);
        			if(GetPlayerOrganisation(playerid) == FRAC_MC) format(str, 126, "%s/o leczenie [ID/Nick] [Cena]\n", str);
        			if(GetPlayerOrganisation(playerid) == FRAC_NEWS) format(str, 126, "%s/o reklama [ID/Nick] [Cena za minute] [ilość minut]\n/o wywiad [ID/Nick]\n", str);
        			if(GetPlayerOrganisation(playerid) == FRAC_FBI) format(str, 126, "%s/o mandat [ID/Nick] [Cena mandatu] [pkt karne]\n/o usunblokade [ID/Nick]\n", str);
					format(str, 126, "%s/r(adio) [Treść]", str);
					if(GetPlayerOrganisation(playerid) != 0) format(str, 126, "/organizacja [info/wyplac/wplac/zapros/wypros/v/ooc]\n");
					ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_LIST, "{FFFFFF}"servname" » {008000}Pomoc{FFFFFF}", str, "Okey", "Zamknij");
				}
  				case 1: // Biznes
				{
					if(GetPlayerBusiness(playerid) != 0) format(str, 126, "/biznes [info/wyplac/wplac/zapros/wypros/v/ooc]\n");
					ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_LIST, "{FFFFFF}"servname" » {008000}Pomoc{FFFFFF}", str, "Okey", "Zamknij");
				}
				case 2: // Praca dorywcza
				{
					if(PlayerInfo[playerid][job] == P_MECHANIK) format(str, 126, "/o naprawa, lakierowanie, paintjob\n");
					if(PlayerInfo[playerid][job] == P_KSIADZ) format(str, 126, "/slub");
					ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_LIST, "{FFFFFF}"servname" » {008000}Pomoc{FFFFFF}", str, "Okey", "Zamknij");
				}
				// BW
				case 3: ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "{FFFFFF}"servname" » {008000}Pomoc{FFFFFF}", "Zostałeś brutalnie pobity lub postrzelony.\nTwoja postać zapomniała o wydarzeniach 30 minut wstecz.\nJedyną szansą na odzyskanie pamięci jest ratunek od ratownika medycznego.\nW innym wypadku musisz odczekać odpowiedni czas i samemu udać się do szpitala.", "Okey", "");
				// Oferowanie
				case 4: ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "{FFFFFF}"servname" » {008000}Pomoc{FFFFFF}", "Aby oferować komuś przedmiot wchodzimy w ekwipunek.\nWyszukujemy docelowy przedmiot po czym na chat'cie\npodajemy komendę\n\n\toferuj [nr na liscie] [id(gracza)] [cena]","Okey", "");
				// Przedmioty
				case 5: ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "{FFFFFF}"servname" » {008000}Pomoc{FFFFFF}", "By zobaczyć listę swoich przedmiotów należy wpisać '/p'.\nPotem postępuj zgodnie z informacjami.","Okey", "");
				// Admin Jail
				case 6: ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "{FFFFFF}"servname" » {008000}Pomoc{FFFFFF}", "Admin Jail jest to kara która pozbawia cię wolnej gry na serwrze za\ngrę Non-RP. Karę możesz otrzymać, aż do 30min gry\nStrzeż się tej kary.","Okey", "Zamknij");
				// Komendy Gracza
				case 7: ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX,"{FFFFFF}"servname" » {008000}Pomoc{FFFFFF}", "Informacje: /stats [Pokazuje Staty] /afk [Przechodzisz na AFK] /plac [ID/Nick] [ilość]\nCzaty: /me lub /ja [Akcja] /k [Krzyk] /s [Szept]\nBW: /akceptujsmierc [Akceptuje Śmierć po otrzymaniu BW]\nInne: /opis [Pokazuje Opis] /sprobuj [Akcja] /re [Treść] /a [Pokazuje liste Adminów] /o [Oferowanie]", "Okey", "");
    			// Animacje
				case 8: ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "{FFFFFF}"servname" » {008000}Pomoc{FFFFFF}", "Każda postać może wyrażać swoje odczucia i gesty poprzez animację.\nIch lista dostępna jest po wpisaniu komendy /anim.\nIstnieje również skrót dzięki któremu możemy użyć znacznika '-' aby szybciej załadować animację.\nNp. komenda '-tancz 1' zaowocuje włączeniem animacji o nazwie 'tancz 1'.","Okey", "");
				case 9: // Komendy admina
				{
					new stringusiek[1026];
              		if(PlayerInfo[playerid][gmlvl] >= 1) format(stringusiek, sizeof(stringusiek), "%sGMLVL 1: /aduty [gm] /kick /ban /warn /bw /rc /ah /to /tm /aj\n", stringusiek);
			     	if(PlayerInfo[playerid][gmlvl] >= 2) format(stringusiek, sizeof(stringusiek), "%sGMLVL 2:  \n", stringusiek);
			     	if(PlayerInfo[playerid][gmlvl] >= 3) format(stringusiek, sizeof(stringusiek), "%sGMLVL 3:  \n", stringusiek);
			     	if(PlayerInfo[playerid][gmlvl] >= 4) format(stringusiek, sizeof(stringusiek), "%sGMLVL 4: /noveh /nogun /norun /blockooc\n", stringusiek);
			     	if(PlayerInfo[playerid][adminlvl] >= 1) format(stringusiek, sizeof(stringusiek), "%sADMINLVL 1: /aduty [admin] /kick /ban /noveh /nogun /warn /bw /rc /ah /to /tm /aj\n", stringusiek);
			     	if(PlayerInfo[playerid][adminlvl] >= 1) format(stringusiek, sizeof(stringusiek), "%sADMINLVL 1: /ooc /aresp /alogin /asay /ado /stworz /av /ap /adoor\n", stringusiek);
			     	if(PlayerInfo[playerid][adminlvl] >= 1) format(stringusiek, sizeof(stringusiek), "%sADMINLVL 1: /abiznes /aorganizacja /apickup /check /edytuj\n", stringusiek);
			     	if(PlayerInfo[playerid][adminlvl] >= 2) format(stringusiek, sizeof(stringusiek), "%sADMINLVL 2: /maxping\n", stringusiek);
			     	if(PlayerInfo[playerid][adminlvl] >= 3) format(stringusiek, sizeof(stringusiek), "%sADMINLVL 3: /block /blockooc\n", stringusiek);
			     	if(PlayerInfo[playerid][adminlvl] >= 4) format(stringusiek, sizeof(stringusiek), "%sADMINLVL 4: /serwer /reset /set\n", stringusiek);
			     	ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "{FFFFFF}"servname" {FFFFFF} » {008000}Pomoc{FFFFFF} » {008000}Komendy Admina", stringusiek, "Okey", "");
				}
			}
		}
	}
	if(dialogid == DIALOG_INT)
	{
	    if(response)
	    {
		   	switch(listitem)
		   	{
				case 0: ShowPlayerDialog(playerid, D_1, DIALOG_STYLE_LIST, "Interiory > 24/7", "24/7 [1] \n24/7 [2] \n24/7 [3] \n24/7 [4] \n24/7 [5] \n24/7 [6] \nWróć", "Wybierz", "Anuluj");
				case 1: ShowPlayerDialog(playerid, D_2, DIALOG_STYLE_LIST, "Interiory > Lotnisko", "Francis Ticket Sales Airport \nFrancis Baggage Claim Airport \nAndromada Cargo Hold \nShamal Cabin \nInterernational Airport \nWróć", "Wybierz", "Anuluj");
				case 2: ShowPlayerDialog(playerid, D_3, DIALOG_STYLE_LIST, "Interiory > Ammunations", "Ammunation [1] \nAmmunation [2] \nAmmunation [3] \nAmmunation [4] \nAmmunation [5] \nBooth Ammunation \nRange Ammunation \nWróć", "Wybierz", "Anuluj");
				case 3: ShowPlayerDialog(playerid, D_4, DIALOG_STYLE_LIST, "Interiory > Domy", "B Dup's Apartment \nB Dup's Crack Palace \nOG Loc's House \nRyder's house \nSweet's house \nMadd Dogg's Mansion \nJohnson House \nAngel Pine Trailer \nSafe House \nSafe House 2 \nSafe House 3 \nSafe House 4 \nVerdant Bluffs Safehouse \nWillowfield Safehouse \nThe Camel's Toe Safehouse \nAbandoned AC Tower \nBurning Desire Building \nColonel Furhberger \nWelcome Pump \nWu Zi Mu's Apartement \nWróć", "Wybierz", "Anuluj");
				case 4: ShowPlayerDialog(playerid, D_5, DIALOG_STYLE_LIST, "Interiory > Domy 2", "House \nBurglary House 1 \nBurglary House 2 \nBurglary House 3 \nBurglary House 4 \nBurglary House 5 \nBurglary House 6 \nBurglary House 7 \nBurglary House 8 \nBurglary House 9 \nBurglary House 10 \nBurglary House 11 \nBurglary House 12 \nBurglary House 13 \nBurglary House 14 \nBurglary House 15 \nBurglary House 16 \nBudget Inn Motel Room \nCrack Den \nWróć", "Wybierz", "Anuluj");
				case 5: ShowPlayerDialog(playerid, D_6, DIALOG_STYLE_LIST, "Interiory > Stadiony", "RC War Arena \nRacing Stadium \nRacing Stadium 2 \nBloodbowl Stadium \nKickstart Stadium \nWróć", "Wybierz", "Anuluj");
				case 6: ShowPlayerDialog(playerid, D_7, DIALOG_STYLE_LIST, "Interiory > Kasyno", "Caligulas Casino \n4 Dragons Casino \nRedsands Casino \n4 Dragons Managerial Suite \nInside Track Betting \nCaligulas Roof \nWróć", "Wybierz", "Anuluj");
				case 7: ShowPlayerDialog(playerid, D_8, DIALOG_STYLE_LIST, "Interiory > Sklepy", "Tattoo \nRusty Donut's \nZero's RC Shop \nSex Shop \nDillimore Gas Station \nWróć", "Wybierz", "Anuluj");
				case 8: ShowPlayerDialog(playerid, D_9, DIALOG_STYLE_LIST, "Interiory > Garaże", "Loco Low Co. \nWheel Arch Angels \nTransfender \nDoherty Garage \nWróć", "Wybierz", "Anuluj");
				case 9: ShowPlayerDialog(playerid, D_10, DIALOG_STYLE_LIST, "Interiory > CJ's Girlfriends Interior", "Denises Bedroom \nHelena's Barn \nBarbara's Love Nest \nKatie's Lovenest \nMichelle's Love Nest \nMillie's Bedroom \nWróć", "Wybierz", "Anuluj");
				case 10: ShowPlayerDialog(playerid, D_11, DIALOG_STYLE_LIST, "Interiory > Odziedzieżowe & Fryzjer", "Barber Shop \nPro-Laps \nVictim \nSubUrban \nReece's Barber Shop \nZip \nDidier Sachs \nBinco \nBarber Shop 2 \nWardrobe \nWróć", "Wybierz", "Anuluj");
				case 11: ShowPlayerDialog(playerid, D_12, DIALOG_STYLE_LIST, "Interiory > Restauracje & Kluby","Brothel \nBrothel 2 \nThe Big Spread Ranch \nDinner \nWorld Of Coq \nThe Pig Pen \nClub \nJay's Diner \nSecret Valley Diner \nFanny Batter's Whore House \nJizzy's \nBurger Shot \nWell Stacked Pizza \nCluckin' Bell \nLil' Probe Inn \nWróć", "Wybierz", "Anuluj");
				case 12: ShowPlayerDialog(playerid, D_13, DIALOG_STYLE_LIST, "Interiory > Sale Gimnastyczne", "Los Santos Gym \nSan Fierro Gym \nLas Venturas Gym \nWróć", "Wybierz", "Anuluj");
				case 13: ShowPlayerDialog(playerid, D_14, DIALOG_STYLE_LIST, "Interiory > Departament", "SF Police Department \nLS Police Department \nLV Police Department \nPlanning Department \nWróć", "Wybierz", "Anuluj");
		        case 14: ShowPlayerDialog(playerid, D_15, DIALOG_STYLE_LIST, "Interiory > Pozostałe","Blastin' Fools Records \nWarehouse \nWarehouse 2 \nMeat Factory \nBike School \nDriving School \nBig Smoke's Crack Palace \nAtrium \nJefferson Motel \nLiberty City \nSherman Dam \nRosenberg's Caligulas Office \n4 Dragons Janitors Office \nWróć", "Wybierz", "Anuluj");
		        case 16: ShowPlayerDialog(playerid, D_16, DIALOG_STYLE_INPUT, "Interiory > Własne","Wprowadz współrzędne: X, Y, Z", "Wybierz", "Anuluj");
				case 17:
				{
				    GetPlayerPos(playerid, PlayerInfo[playerid][pos_x], PlayerInfo[playerid][pos_y], PlayerInfo[playerid][pos_z]);
		   			DoorInfo[dorid[playerid]][inside_x] = PlayerInfo[playerid][pos_x];
		   			DoorInfo[dorid[playerid]][inside_y] = PlayerInfo[playerid][pos_y];
	    			DoorInfo[dorid[playerid]][inside_z] = PlayerInfo[playerid][pos_z];
	    			GameTextForPlayer(playerid, "~b~~h~Pozycja ustawiona", 3000, 3);
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);
				}
			}
	    }
	}
	if(dialogid == D_1) // Inty 24/7
	{
	   	if(response)
 		{
		   	switch(listitem)
		   	{
		       	case 0:
				{
				    DoorInfo[dorid[playerid]][inside_x] = -25.884499;
				    DoorInfo[dorid[playerid]][inside_y] = -185.868988;
				    DoorInfo[dorid[playerid]][inside_z] = 1003.549988;
				    DoorInfo[dorid[playerid]][inside_int] = 17;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				//	SetPlayerPos(playerid,-25.884499,-185.868988,1003.549988);
			   	//	SetPlayerInterior(playerid,17);
				}
				case 1:
				{
				    DoorInfo[dorid[playerid]][inside_x] = -6.091180;
				    DoorInfo[dorid[playerid]][inside_y] = -29.271898;
				    DoorInfo[dorid[playerid]][inside_z] = 1003.549988;
				    DoorInfo[dorid[playerid]][inside_int] = 10;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				//	SetPlayerPos(playerid,-6.091180,-29.271898,1003.549988);
				//	SetPlayerInterior(playerid,10);
				}
				case 2:
				{
				    DoorInfo[dorid[playerid]][inside_x] = -30.946699;
				    DoorInfo[dorid[playerid]][inside_y] = -89.609596;
				    DoorInfo[dorid[playerid]][inside_z] = 1003.549988;
				    DoorInfo[dorid[playerid]][inside_int] = 18;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				//	SetPlayerPos(playerid,-30.946699,-89.609596,1003.549988);
				//	SetPlayerInterior(playerid,18);
				}
				case 3:
				{
				    DoorInfo[dorid[playerid]][inside_x] = -25.9075;
				    DoorInfo[dorid[playerid]][inside_y] = -141.2804;
				    DoorInfo[dorid[playerid]][inside_z] = 1003.5469;
				    DoorInfo[dorid[playerid]][inside_int] = 16;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				//	SetPlayerPos(playerid,-25.132599,-139.066986,1003.549988);
				//	SetPlayerInterior(playerid,16);
				}
				case 4:
				{
				    DoorInfo[dorid[playerid]][inside_x] = -27.312300;
				    DoorInfo[dorid[playerid]][inside_y] = -29.277599;
				    DoorInfo[dorid[playerid]][inside_z] = 1003.549988;
				    DoorInfo[dorid[playerid]][inside_int] = 4;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				//	SetPlayerPos(playerid,-27.312300,-29.277599,1003.549988);
				//	SetPlayerInterior(playerid,4);
				}
				case 5:
				{
				    DoorInfo[dorid[playerid]][inside_x] = -26.691599;
				    DoorInfo[dorid[playerid]][inside_y] = -55.714897;
				    DoorInfo[dorid[playerid]][inside_z] = 1003.549988;
				    DoorInfo[dorid[playerid]][inside_int] = 6;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				//	SetPlayerPos(playerid,-26.691599,-55.714897,1003.549988);
				//	SetPlayerInterior(playerid,6);
				}
				case 6:ShowPlayerDialog(playerid, DIALOG_INT, DIALOG_STYLE_LIST, "Kategorie Interiorów:","24/7 \nLotnisko \nAmmunations \nDomy \nDomy 2 \nStadiony \nKasyna \nSklepy \nGaraże \nCJ's Girlfriends Interior \nOdzieżowe & Fryzjer \nRestauracje & Kluby \nSale Gimnastyczne \nDepartament \nPozostałe", "Wybierz", "Anuluj");
			}
		}
	}
	if(dialogid == D_2)// Inty Lotniska
	{
 		if(response)
	    {
	    	switch(listitem)
			{
				case 0: // Francis Ticket Sales Airport
				{
				    DoorInfo[dorid[playerid]][inside_x] = -1827.147338;
				    DoorInfo[dorid[playerid]][inside_y] = 7.207418;
				    DoorInfo[dorid[playerid]][inside_z] = 1061.143554;
				    DoorInfo[dorid[playerid]][inside_int] = 14;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				//	SetPlayerPos(playerid,-1827.147338,7.207418,1061.143554);
		    	//	SetPlayerInterior(playerid,14);
				}
				case 1: // Francis Baggage Claim Airport
				{
				    DoorInfo[dorid[playerid]][inside_x] = -1855.568725;
				    DoorInfo[dorid[playerid]][inside_y] = 41.263156;
				    DoorInfo[dorid[playerid]][inside_z] = 1061.143554;
				    DoorInfo[dorid[playerid]][inside_int] = 14;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				//	SetPlayerPos(playerid,-1855.568725,41.263156,1061.143554);
			    //	SetPlayerInterior(playerid,14);
				}
				case 2: // Andromada Cargo Hold
				{
				    DoorInfo[dorid[playerid]][inside_x] = 315.856170;
				    DoorInfo[dorid[playerid]][inside_y] = 1024.496459;
				    DoorInfo[dorid[playerid]][inside_z] = 1949.797363;
				    DoorInfo[dorid[playerid]][inside_int] = 9;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,315.856170,1024.496459,1949.797363);
			   	//	SetPlayerInterior(playerid,9);
				}
				case 3: // Shamal Cabin
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2.384830;
				    DoorInfo[dorid[playerid]][inside_y] = 33.103397;
				    DoorInfo[dorid[playerid]][inside_z] = 1199.849976;
				    DoorInfo[dorid[playerid]][inside_int] = 1;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2.384830,33.103397,1199.849976);
			   	//	SetPlayerInterior(playerid,1);
				}
				case 4: // Interernational Airport
				{
				    DoorInfo[dorid[playerid]][inside_x] = -1830.81;
				    DoorInfo[dorid[playerid]][inside_y] = 16.83;
				    DoorInfo[dorid[playerid]][inside_z] = 1061.14;
				    DoorInfo[dorid[playerid]][inside_int] = 14;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,-1830.81,16.83,1061.14);
			    //	SetPlayerInterior(playerid,14);
				}
				case 5:ShowPlayerDialog(playerid, DIALOG_INT, DIALOG_STYLE_LIST, "Kategorie Interiorów:","24/7 \nLotnisko \nAmmunations \nDomy \nDomy 2 \nStadiony \nKasyna \nSklepy \nGaraże \nCJ's Girlfriends Interior \nOdzieżowe & Fryzjer \nRestauracje & Kluby \nSale Gimnastyczne \nDepartament \nPozostałe", "Wybierz", "Anuluj");
			}
		}
	}
	if(dialogid == D_3)// Int'y Ammunations
	{
	    if(response)
	    {
	        switch(listitem)
	        {
	            case 0: // Ammunation 1
				{
				    DoorInfo[dorid[playerid]][inside_x] = 286.148987;
				    DoorInfo[dorid[playerid]][inside_y] = -40.644398;
				    DoorInfo[dorid[playerid]][inside_z] = 1001.569946;
				    DoorInfo[dorid[playerid]][inside_int] = 1;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,286.148987,-40.644398,1001.569946);
		    	//	SetPlayerInterior(playerid,1);
				}
				case 1: // Ammunation 2
				{
				    DoorInfo[dorid[playerid]][inside_x] = 286.800995;
				    DoorInfo[dorid[playerid]][inside_y] = -82.547600;
				    DoorInfo[dorid[playerid]][inside_z] = 1001.539978;
				    DoorInfo[dorid[playerid]][inside_int] = 4;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			 	//	SetPlayerPos(playerid,286.800995,-82.547600,1001.539978);
			   	//	SetPlayerInterior(playerid,4);
				}
				case 2: // Ammunation 3
				{
				    DoorInfo[dorid[playerid]][inside_x] = 296.919983;
				    DoorInfo[dorid[playerid]][inside_y] = -108.071999;
				    DoorInfo[dorid[playerid]][inside_z] = 1001.569946;
				    DoorInfo[dorid[playerid]][inside_int] = 6;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				// 	SetPlayerPos(playerid,296.919983,-108.071999,1001.569946);
			    //	SetPlayerInterior(playerid,6);
				}
				case 3: // Ammunation 4
				{
				    DoorInfo[dorid[playerid]][inside_x] = 314.820984;
				    DoorInfo[dorid[playerid]][inside_y] = -141.431992;
				    DoorInfo[dorid[playerid]][inside_z] = 999.661987;
				    DoorInfo[dorid[playerid]][inside_int] = 7;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			  	//	SetPlayerPos(playerid,314.820984,-141.431992,999.661987);
			   	//	SetPlayerInterior(playerid,7);
				}
				case 4: // Ammunation 5
				{
				    DoorInfo[dorid[playerid]][inside_x] = 316.524994;
				    DoorInfo[dorid[playerid]][inside_y] = -167.706985;
				    DoorInfo[dorid[playerid]][inside_z] = 999.661987;
				    DoorInfo[dorid[playerid]][inside_int] = 6;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				// 	SetPlayerPos(playerid,316.524994,-167.706985,999.661987);
			    //	SetPlayerInterior(playerid,6);
				}
				case 5: // Booth Ammunation
				{
				    DoorInfo[dorid[playerid]][inside_x] = 302.292877;
				    DoorInfo[dorid[playerid]][inside_y] = -143.139099;
				    DoorInfo[dorid[playerid]][inside_z] = 1004.062500;
				    DoorInfo[dorid[playerid]][inside_int] = 7;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,302.292877,-143.139099,1004.062500);
		    	//	SetPlayerInterior(playerid,7);
				}
				case 6: // Range Ammunation
				{
				    DoorInfo[dorid[playerid]][inside_x] = 280.795104;
				    DoorInfo[dorid[playerid]][inside_y] = -135.203353;
				    DoorInfo[dorid[playerid]][inside_z] = 1004.062500;
				    DoorInfo[dorid[playerid]][inside_int] = 7;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,280.795104,-135.203353,1004.062500);
		    	//	SetPlayerInterior(playerid,7);
				}
				case 7:ShowPlayerDialog(playerid, DIALOG_INT, DIALOG_STYLE_LIST, "Kategorie Interiorów:","24/7 \nLotnisko \nAmmunations \nDomy \nDomy 2 \nStadiony \nKasyna \nSklepy \nGaraże \nCJ's Girlfriends Interior \nOdzieżowe & Fryzjer \nRestauracje & Kluby \nSale Gimnastyczne \nDepartament \nPozostałe", "Wybierz", "Anuluj");
			}
		}
	}
	if(dialogid == D_4)//Int'y Domów
	{
	    if(response)
		{
		    switch(listitem)
		    {
      			case 0: // B Dup's Apartment
				{
				    DoorInfo[dorid[playerid]][inside_x] = 1527.0468;
				    DoorInfo[dorid[playerid]][inside_y] = -12.0236;
				    DoorInfo[dorid[playerid]][inside_z] = 1002.0971;
				    DoorInfo[dorid[playerid]][inside_int] = 3;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,1527.0468, -12.0236, 1002.0971);
			    //	SetPlayerInterior(playerid,3);
				}
				case 1: // B Dup's Crack Palace
				{
				    DoorInfo[dorid[playerid]][inside_x] = 1523.5098;
				    DoorInfo[dorid[playerid]][inside_y] = -47.8211;
				    DoorInfo[dorid[playerid]][inside_z] = 1002.2699;
				    DoorInfo[dorid[playerid]][inside_int] = 2;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,1523.5098, -47.8211, 1002.2699);
			    //	SetPlayerInterior(playerid,2);
				}
				case 2: // OG Loc's House
				{
				    DoorInfo[dorid[playerid]][inside_x] = 512.9291;
				    DoorInfo[dorid[playerid]][inside_y] = -11.6929;
				    DoorInfo[dorid[playerid]][inside_z] = 1001.5653;
				    DoorInfo[dorid[playerid]][inside_int] = 3;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,512.9291, -11.6929, 1001.5653);
			    //	SetPlayerInterior(playerid,3);
				}
				case 3: // Ryder's
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2447.8704;
				    DoorInfo[dorid[playerid]][inside_y] = -1704.4509;
				    DoorInfo[dorid[playerid]][inside_z] = 1013.5078;
				    DoorInfo[dorid[playerid]][inside_int] = 2;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2447.8704, -1704.4509, 1013.5078);
			    //	SetPlayerInterior(playerid,2);
				}
				case 4: // Sweet's
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2527.0176;
				    DoorInfo[dorid[playerid]][inside_y] = -1679.2076;
				    DoorInfo[dorid[playerid]][inside_z] = 1015.4986;
				    DoorInfo[dorid[playerid]][inside_int] = 1;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			  	//	SetPlayerPos(playerid,2527.0176, -1679.2076, 1015.4986);
			    //	SetPlayerInterior(playerid,1);
				}
				case 5: // Madd Dogg's Mansion
				{
				    DoorInfo[dorid[playerid]][inside_x] = 1267.8407;
				    DoorInfo[dorid[playerid]][inside_y] = -776.9587;
				    DoorInfo[dorid[playerid]][inside_z] = 1091.9063;
				    DoorInfo[dorid[playerid]][inside_int] = 5;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,1267.8407, -776.9587, 1091.9063);
			    //	SetPlayerInterior(playerid,5);
				}
				case 6: // CJ's House
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2496.0549;
				    DoorInfo[dorid[playerid]][inside_y] = -1695.1749;
				    DoorInfo[dorid[playerid]][inside_z] = 1014.7422;
				    DoorInfo[dorid[playerid]][inside_int] = 3;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2496.0549, -1695.1749, 1014.7422);
			    //	SetPlayerInterior(playerid,3);
				}
				case 7: // Angel Pine trailer
				{
				    DoorInfo[dorid[playerid]][inside_x] = 1.1853;
				    DoorInfo[dorid[playerid]][inside_y] = -3.2387;
				    DoorInfo[dorid[playerid]][inside_z] = 999.4284;
				    DoorInfo[dorid[playerid]][inside_int] = 2;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

				//	SetPlayerPos(playerid,1.1853, -3.2387, 999.4284);
   				//	SetPlayerInterior(playerid,2);
				}
				case 8: // Safe House
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2233.6919;
				    DoorInfo[dorid[playerid]][inside_y] = -1112.8107;
				    DoorInfo[dorid[playerid]][inside_z] = 1050.8828;
				    DoorInfo[dorid[playerid]][inside_int] = 5;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2233.6919, -1112.8107, 1050.8828);
			   	//	SetPlayerInterior(playerid,5);
				}
				case 9: // Safe House 2
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2194.7900;
				    DoorInfo[dorid[playerid]][inside_y] = -1204.3500;
				    DoorInfo[dorid[playerid]][inside_z] = 1049.0234;
				    DoorInfo[dorid[playerid]][inside_int] = 6;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2194.7900, -1204.3500, 1049.0234);
			   	//	SetPlayerInterior(playerid,6);
				}
				case 10: // Safe House 3
				{
				   	DoorInfo[dorid[playerid]][inside_x] = 2319.1272;
				   	DoorInfo[dorid[playerid]][inside_y] = -1023.9562;
				   	DoorInfo[dorid[playerid]][inside_z] = 1050.2109;
				   	DoorInfo[dorid[playerid]][inside_int] = 9;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2319.1272, -1023.9562, 1050.2109);
			    //	SetPlayerInterior(playerid,9);
				}
				case 11: // Safe House 4
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2262.4797;
				    DoorInfo[dorid[playerid]][inside_y] = -1138.5591;
				    DoorInfo[dorid[playerid]][inside_z] = 1050.6328;
				    DoorInfo[dorid[playerid]][inside_int] = 10;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2262.4797,-1138.5591,1050.6328);
			    //	SetPlayerInterior(playerid,10);
				}
				case 12: // Verdant Bluff safehouse
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2365.1089;
				    DoorInfo[dorid[playerid]][inside_y] = -1133.0795;
				    DoorInfo[dorid[playerid]][inside_z] = 1050.875;
				    DoorInfo[dorid[playerid]][inside_int] = 8;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2365.1089, -1133.0795, 1050.875);
			    //	SetPlayerInterior(playerid,8);
				}
				case 13: // Willowfield Safehouse
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2282.9099;
				    DoorInfo[dorid[playerid]][inside_y] = -1138.2900;
				    DoorInfo[dorid[playerid]][inside_z] = 1050.8984;
				    DoorInfo[dorid[playerid]][inside_int] = 11;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2282.9099, -1138.2900, 1050.8984);
			   	//	SetPlayerInterior(playerid,11);
				}
				case 14: // The Camel's Toe Safehouse
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2216.1282;
				    DoorInfo[dorid[playerid]][inside_y] = -1076.3052;
				    DoorInfo[dorid[playerid]][inside_z] = 1050.4844;
				    DoorInfo[dorid[playerid]][inside_int] = 1;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2216.1282, -1076.3052, 1050.4844);
			   	//	SetPlayerInterior(playerid,1);
				}
				case 15: // Abounded AC Tower
				{
				    DoorInfo[dorid[playerid]][inside_x] = 419.8936;
				    DoorInfo[dorid[playerid]][inside_y] = 2537.1155;
				    DoorInfo[dorid[playerid]][inside_z] = 10;
				    DoorInfo[dorid[playerid]][inside_int] = 10;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid, 419.8936, 2537.1155, 10);
			   	//	SetPlayerInterior(playerid, 10);
				}
				case 16: // Burning Desire
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2338.32;
				    DoorInfo[dorid[playerid]][inside_y] = -1180.61;
				    DoorInfo[dorid[playerid]][inside_z] = 1027.98;
				    DoorInfo[dorid[playerid]][inside_int] = 5;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2338.32,-1180.61,1027.98);
			   	//	SetPlayerInterior(playerid,5);
				}
				case 17: // Colonel Furhberger
				{
				    DoorInfo[dorid[playerid]][inside_x] = 2807.63;
				    DoorInfo[dorid[playerid]][inside_y] = -1170.15;
				    DoorInfo[dorid[playerid]][inside_z] = 1025.57;
				    DoorInfo[dorid[playerid]][inside_int] = 8;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,2807.63,-1170.15,1025.57);
			    //	SetPlayerInterior(playerid,8);
				}
				case 18: // Welcome Pump(Dillimore)
				{
				    DoorInfo[dorid[playerid]][inside_x] = 681.66;
				    DoorInfo[dorid[playerid]][inside_y] = -453.32;
				    DoorInfo[dorid[playerid]][inside_z] = -25.61;
				    DoorInfo[dorid[playerid]][inside_int] = 1;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,681.66,-453.32,-25.61);
			    //	SetPlayerInterior(playerid,1);
				}
				case 19: // Woozies Apartment
				{
				    DoorInfo[dorid[playerid]][inside_x] = -2158.72;
				    DoorInfo[dorid[playerid]][inside_y] = 641.29;
				    DoorInfo[dorid[playerid]][inside_z] = 1052.38;
				    DoorInfo[dorid[playerid]][inside_int] = 1;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,-2158.72,641.29,1052.38);
			    //	SetPlayerInterior(playerid,1);
				}
				case 20:ShowPlayerDialog(playerid, DIALOG_INT, DIALOG_STYLE_LIST, "Kategorie Interiorów:","24/7 \nLotnisko \nAmmunations \nDomy \nDomy 2 \nStadiony \nKasyna \nSklepy \nGaraże \nCJ's Girlfriends Interior \nOdzieżowe & Fryzjer \nRestauracje & Kluby \nSale Gimnastyczne \nDepartament \nPozostałe", "Wybierz", "Anuluj");
			}
		}
	}
	if(dialogid == D_5) //Domy 2
	{
  		if(response)
  		{
		   	switch(listitem)
      		{
          		case 0: // Hous
				{
				    DoorInfo[dorid[playerid]][inside_x] = 234.2826;
				    DoorInfo[dorid[playerid]][inside_y] = 1065.229;
				    DoorInfo[dorid[playerid]][inside_z] = 1084.2101;
				    DoorInfo[dorid[playerid]][inside_int] = 6;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,234.2826, 1065.229, 1084.2101);
			    //	SetPlayerInterior(playerid,6);
				}
				case 1: // Burglary House #1
				{
				    DoorInfo[dorid[playerid]][inside_x] = 234.6087;
				    DoorInfo[dorid[playerid]][inside_y] = 1187.8195;
				    DoorInfo[dorid[playerid]][inside_z] = 1080.2578;
				    DoorInfo[dorid[playerid]][inside_int] = 3;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,234.6087, 1187.8195, 1080.2578);
			    //	SetPlayerInterior(playerid,3);
				}
				case 2: // Burglary House #2
				{
				    DoorInfo[dorid[playerid]][inside_x] = 225.5707;
				    DoorInfo[dorid[playerid]][inside_y] = 1240.0643;
				    DoorInfo[dorid[playerid]][inside_z] = 1082.1406;
				    DoorInfo[dorid[playerid]][inside_int] = 2;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,225.5707, 1240.0643, 1082.1406);
			    //	SetPlayerInterior(playerid,2);
				}
				case 3: // Burglary House #3
				{
				    DoorInfo[dorid[playerid]][inside_x] = 224.288;
				    DoorInfo[dorid[playerid]][inside_y] = 1289.1907;
				    DoorInfo[dorid[playerid]][inside_z] = 1082.1406;
				    DoorInfo[dorid[playerid]][inside_int] = 1;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,224.288, 1289.1907, 1082.1406);
			    //	SetPlayerInterior(playerid,1);
				}
				case 4: // Burglary House #4
				{
				    DoorInfo[dorid[playerid]][inside_x] = 239.2819;
				    DoorInfo[dorid[playerid]][inside_y] = 1114.1991;
				    DoorInfo[dorid[playerid]][inside_z] = 1080.9922;
				    DoorInfo[dorid[playerid]][inside_int] = 5;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,239.2819, 1114.1991, 1080.9922);
			    //	SetPlayerInterior(playerid,5);
				}
				case 5: // Burglary House #5
				{
				    DoorInfo[dorid[playerid]][inside_x] = 295.1391;
				    DoorInfo[dorid[playerid]][inside_y] = 1473.3719;
				    DoorInfo[dorid[playerid]][inside_z] = 1080.2578;
				    DoorInfo[dorid[playerid]][inside_int] = 15;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,295.1391, 1473.3719, 1080.2578);
			    //	SetPlayerInterior(playerid,15);
				}
				case 6: // Burglary House #6
				{
				    DoorInfo[dorid[playerid]][inside_x] = 261.1165;
				    DoorInfo[dorid[playerid]][inside_y] = 1287.2197;
				    DoorInfo[dorid[playerid]][inside_z] = 1080.2578;
				    DoorInfo[dorid[playerid]][inside_int] = 4;
					SaveDoor(dorid[playerid]);
					LoadDoorsEx(dorid[playerid]);

			   	//	SetPlayerPos(playerid,261.1165, 1287.2197, 1080.2578);
	%0