Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <dini>
- #include <mysql>
- #include <streamer>
- #define MySQL_IP "127.0.0.1"
- #define MySQL_Login "root"
- #define MySQL_Password "anakonda1"
- #define MySQL_db "nvrp"
- #define MAX_HOUSES 50
- #define DIALOG_HOUSE 5050
- //-------------------------------------|
- enum HOUSE_DATA
- {
- Float:p_X,
- Float:p_Y,
- Float:p_Z,
- Float:i_X,
- Float:i_Y,
- Float:i_Z,
- iin,
- Cena,
- Vlastnik[MAX_PLAYER_NAME],
- Text3D:Text,
- Pickup,
- VW,
- Zamek,
- Ikonka
- }
- new HouseInfo[MAX_HOUSES][HOUSE_DATA];
- new InHouse[MAX_PLAYERS] = {-1,...};
- new HouseCount = -1;
- //------------------------------------|
- forward AddHouse(Float:pX, Float:pY, Float:pZ, Float:iX, Float:iY, Float:iZ, ii, Cenik);
- //------------------------------------|
- public AddHouse(Float:pX, Float:pY, Float:pZ, Float:iX, Float:iY, Float:iZ, ii, Cenik)
- {
- HouseCount++;
- if(HouseCount < MAX_HOUSES)
- {
- HouseInfo[HouseCount][p_X] = pX;
- HouseInfo[HouseCount][p_Y] = pY;
- HouseInfo[HouseCount][p_Z] = pZ;
- HouseInfo[HouseCount][i_X] = iX;
- HouseInfo[HouseCount][i_Y] = iY;
- HouseInfo[HouseCount][i_Z] = iZ;
- HouseInfo[HouseCount][iin] = ii;
- HouseInfo[HouseCount][Cena] = Cenik;
- HouseInfo[HouseCount][Vlastnik] = 0;
- HouseInfo[HouseCount][Zamek] = 0;
- HouseInfo[HouseCount][VW] = 50+HouseCount;
- new Query[800];
- format(Query, sizeof(Query), "SELECT * FROM `domi` WHERE HouseID = '%d'", HouseCount);
- mysql_query(Query);
- mysql_store_result();
- if(!mysql_num_rows())
- {
- format(Query,sizeof(Query),"INSERT INTO domi(HouseID,Owner,Locked) VALUES ('%d','%s','%d')",HouseCount,"none",0);
- mysql_query(Query);
- mysql_free_result();
- }
- if(mysql_num_rows())
- {
- new get[35],sx[100];
- mysql_fetch_field("Owner",get);
- if(strcmp(get,"none",true) == 0)
- {
- format(HouseInfo[HouseCount][Vlastnik],MAX_PLAYER_NAME,"Nikto");
- HouseInfo[HouseCount][Zamek] = 0;
- HouseInfo[HouseCount][Pickup] = CreatePickup(1273,1,pX, pY, pZ);
- HouseInfo[HouseCount][Ikonka] = CreateDynamicMapIcon(pX, pY, pZ, 31, 0);
- format(sx,100,"Dom č.%d\r\nMajiteľ: Nikto\r\nCena: %d",HouseCount,Cenik);
- HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,pX,pY,pZ+1,50,0);
- }
- else
- {
- HouseInfo[HouseCount][Pickup] = CreatePickup(1272,1,pX, pY, pZ);
- format(HouseInfo[HouseCount][Vlastnik],MAX_PLAYER_NAME,"%s",get);
- mysql_fetch_field("Locked",get);
- HouseInfo[HouseCount][Zamek] = strval(get);
- mysql_fetch_field("Owner",get);
- format(sx,100,"Dom č.%d\r\nMajiteľ: %s",HouseCount,get);
- HouseInfo[HouseCount][Text] = Create3DTextLabel(sx,0xFF0000FF,pX,pY,pZ+1,50,0);
- }
- }
- printf("Dom %d Vytvorený",HouseCount);
- mysql_free_result();
- }
- else
- {
- print("<!-- Kapacita AddHouse prekrocena, dum nebyl vytvoren !-->");
- }
- return 1;
- }
- //------------------------------------|
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- for(new h=0;h<HouseCount+1;h++)
- {
- if(IsPlayerInRangeOfPoint(playerid,3,HouseInfo[h][p_X],HouseInfo[h][p_Y],HouseInfo[h][p_Z]))
- {
- ShowPlayerDialog(playerid,DIALOG_HOUSE,DIALOG_STYLE_LIST,"Dům","Koupit\nProdat\nZamknout\nOdemknout\nInformace o domu\nVstoupit","Použít","Nic");
- }
- }
- return 1;
- }
- //------------------------------------|
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys == KEY_WALK)
- {
- if(InHouse[playerid] != -1)
- {
- new HouseId = InHouse[playerid];
- if(IsPlayerInRangeOfPoint(playerid,10,HouseInfo[HouseId][i_X],HouseInfo[HouseId][i_Y],HouseInfo[HouseId][i_Z]))
- {
- SetPlayerPos(playerid,HouseInfo[HouseId][p_X],HouseInfo[HouseId][p_Y],HouseInfo[HouseId][p_Z]);
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- InHouse[playerid] = -1;
- }
- }
- }
- return 1;
- }
- //------------------------------------|
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- for(new h=0;h<HouseCount+1;h++)
- {
- if(dialogid == DIALOG_HOUSE)
- {
- if(response == 1)
- {
- new Query[600],get[35];
- if(listitem == 0)
- {
- if(GetPlayerMoney(playerid) < HouseInfo[h][Cena]) return SendClientMessage(playerid, 0xFFFFFFFF, "Máš málo peněz !");
- if(!IsHouseForSale(h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům již někdo vlastní !");
- format(Query, sizeof(Query), "UPDATE domi SET Owner='%s' WHERE `HouseID` = '%d'", HousePlayerName(playerid),h);
- mysql_query(Query);
- mysql_free_result();
- format(Query,sizeof(Query),"SELECT * FROM `domi` WHERE HouseID = '%d'",h);
- mysql_query(Query);
- mysql_store_result();
- if (mysql_num_rows()) mysql_fetch_field("Owner",get);
- GivePlayerMoney(playerid, -HouseInfo[h][Cena]);
- SendClientMessage(playerid, 0xFFFFFFFF, "Pořidil jsi si dům !");
- new sx[100];
- format(sx,100,"Dom č.%d\r\nMajiteľ: %s",h,get);
- Update3DTextLabelText(HouseInfo[h][Text],0xFF0000FF,sx);
- DestroyPickup(HouseInfo[h][Pickup]);
- DestroyDynamicMapIcon(HouseInfo[h][Ikonka]);
- HouseInfo[h][Pickup] = CreatePickup(1272,1,HouseInfo[h][p_X],HouseInfo[h][p_Y],HouseInfo[h][p_Z]);
- mysql_free_result();
- }
- else if(listitem == 1)
- {
- if(!IsPlayerHouseOwner(playerid,h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům není tvůj !");
- format(Query, sizeof(Query), "UPDATE domi SET Owner='none' WHERE `HouseID` = '%d'",h);
- mysql_query(Query);
- mysql_free_result();
- GivePlayerMoney(playerid, HouseInfo[h][Cena]/2);
- SendClientMessage(playerid, 0xFFFFFFFF, "Dům prodán, byla ti vrácena cena !");
- new sx[100];
- format(sx,100,"Dom č.%d\r\nMajiteľ: Nikto\r\nCena: %d",h,HouseInfo[h][Cena]);
- Update3DTextLabelText(HouseInfo[h][Text],0xFF0000FF,sx);
- DestroyPickup(HouseInfo[h][Pickup]);
- HouseInfo[h][Pickup] = CreatePickup(1273,1,HouseInfo[h][p_X],HouseInfo[h][p_Y],HouseInfo[h][p_Z]);
- HouseInfo[h][Ikonka] = CreateDynamicMapIcon(HouseInfo[h][p_X],HouseInfo[h][p_Y],HouseInfo[h][p_Z], 31, 0);
- }
- else if(listitem == 2)
- {
- if(!IsPlayerHouseOwner(playerid,h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům není tvůj !");
- format(Query, sizeof(Query), "UPDATE domi SET Locked='1' WHERE `HouseID` = '%d'",h);
- mysql_query(Query);
- mysql_free_result();
- HouseInfo[h][Zamek] = 1;
- SendClientMessage(playerid, 0xFFFFFFFF, "Dům zamknut !");
- }
- else if(listitem == 3)
- {
- if(!IsPlayerHouseOwner(playerid,h)) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům není tvůj !");
- SendClientMessage(playerid, 0xFFFFFFFF, "Dům odemknut !");
- format(Query, sizeof(Query), "UPDATE domi SET Locked='0' WHERE `HouseID` = '%d'",h);
- mysql_query(Query);
- mysql_free_result();
- HouseInfo[h][Zamek] = 0;
- }
- else if(listitem == 4)
- {
- SendClientMessage(playerid, 0xFFFFFFFF, "Informace o domu:");
- if(HouseInfo[h][Zamek] == 1)
- {
- SendClientMessage(playerid,0xFFFFFFFF,"Zámek: Zamknutý.");
- }
- else
- {
- SendClientMessage(playerid,0xFFFFFFFF,"Zámek: Odemknutý.");
- }
- if (IsHouseForSale(h))
- {
- SendClientMessage(playerid,0xFFFFFFFF,"K Prodeji: Ano");
- }
- else
- {
- SendClientMessage(playerid,0xFFFFFFFF,"K Prodeji: Ne");
- }
- }
- else if(listitem == 5)
- {
- if(HouseInfo[h][Zamek] == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "Tento dům je zamknut !");
- SetPlayerPos(playerid, HouseInfo[h][i_X],HouseInfo[h][i_Y],HouseInfo[h][i_Z]);
- SetPlayerInterior(playerid, HouseInfo[h][iin]);
- InHouse[playerid] = h;
- SendClientMessage(playerid, 0xFFFFFFFF, "Dům opustíš L.ALT !");
- }
- }
- }
- }
- return 1;
- }
- main()
- {
- }
- public OnGameModeInit()
- {
- mysql_init(LOG_ONLY_ERRORS,1);
- mysql_connect(MySQL_IP,MySQL_Login,MySQL_Password,MySQL_db);
- AddPlayerClass(299, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- AddHouse(2033.3870,1368.0004,10.8203, 2324.419921,-1145.568359,1050.710083,12,1);
- AddHouse(2060.3870,1368.0004,10.8203, 2215.454833,-1147.475585,1025.796875,15,1);
- AddHouse(2070.3870,1368.0004,10.8203, 833.269775,10.588416,1004.179687,3,1);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- GivePlayerMoney(playerid,5000);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- //------------------------------------|
- stock HousePlayerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,MAX_PLAYER_NAME);
- return name;
- }
- stock IsPlayerHouseOwner(playerid,houseid)
- {
- new Query[600],get[35];
- format(Query,sizeof(Query),"SELECT * FROM `domi` WHERE HouseID = '%d'",houseid);
- mysql_query(Query);
- mysql_store_result();
- if(mysql_num_rows()) mysql_fetch_field("Owner",get);
- if(strcmp(HousePlayerName(playerid),get, false) == 0) return true;
- mysql_free_result();
- return false;
- }
- stock IsHouseForSale(houseid)
- {
- new Query[600],get[35];
- format(Query,sizeof(Query),"SELECT * FROM `domi` WHERE HouseID = '%d'",houseid);
- mysql_query(Query);
- mysql_store_result();
- if(mysql_num_rows()) mysql_fetch_field("Owner",get);
- if(strcmp("none",get, false) == 0) return true;
- mysql_free_result();
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement