Advertisement
Guest User

DT_MyHotel Ver.: 1.0.3 by [DT]Nightstr3am

a guest
May 29th, 2013
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 27.35 KB | None | 0 0
  1. // (C) BY DARK TRIGARDON & [DT]Nightstr3am
  2. // Dies ist eine neues Filterscript mit einer neuen (Hoffen wir) Idee.
  3. // Das Script wurde komplett neu erstellt, die Maps wurden von [DT]Nightstr3am angefertigt sowie der Code.
  4. // Dieses Script läuft komplett über die Mysql R5 Version von BlueG
  5. // Bitte Copyright etc. drin lassen.
  6. //Versions Nummer: 1.0.3
  7.  
  8. #define FILTERSCRIPT
  9.  
  10. #include <a_samp>
  11. #include <a_mysql>
  12.  
  13.  
  14.  
  15. //-------------------[DT_Myhotel Variablen/Define/etc.]-------------------//
  16.  
  17. //Einstellungen
  18. #define HPick 1277 //Das Pickup welches beim Eingang sein soll, in diesem Fall ist es gerade eine Blaue Diskette, zufinden auf : http://weedarr.wikidot.com/pickups
  19. #define MAX_HOTEL 5 //Die Maximale Anzahl an zu erstellenden Hotels
  20. #define MAX_RENTS 1 // Die Maximale Anzahl an Zimmer die EINE Person mieten kann
  21. #define MAX_STOCK 10 // DIe Maximale Anzahl an Stöcken die man erstellen kann
  22. #define START_VW 20 // Wo die Virtuelle Welt starten soll, es wird pro Hotel eine Welt hochgerechnet !
  23. #define MAX_PREIS 1000 //  Der Maximale Preis den man einstellen kann, bei der Hotel erstellung wieviel ein Zimmer kostet.
  24. //=== [ Zugang ] ===//
  25. #define My_Host   "localhost" // MYSQL Host Eintragen
  26. #define My_User   "root" // Mysql Benutzername/Username eintragen
  27. #define My_Pass   "123" // Mysql Passwort Eintragen
  28. #define My_DB     "samp" // Mysql Datenbank Name eintragen
  29.  
  30.  
  31.  
  32. ///////////// SPEICHERUNG FÜR PREIS SOWIE DIE VWELT BEIM SPIELER EINGEFÜGT !! FEHTL NOCH : BF To Do List
  33.  
  34. enum // Der Enum für die Dialoge
  35. {
  36.     D_AHOT = 2000,
  37.     D_HC1,
  38.     D_Hc1,
  39.     D_HC2,
  40.     D_HC3,
  41.     D_HC4,
  42.     D_DH,
  43.     D_HM,
  44.     D_HM2,
  45.     D_HM3,
  46.     D_SPAWN
  47. }
  48.  
  49. enum DTHotele //Der Allgemeine Enum
  50. {
  51.     Pick, // Das Pickup welches man wählen kann
  52.     Float:Ex, // Die X Koordinate für den Eingang eines Hotels
  53.     Float:Ey, // Die Y Koordinate für den Eingang eines Hotels
  54.     Float:Ez, // Die Z Koordinate für den Eingang eines Hotels
  55.     Float:Ea, // Die Facin Angle für die Richtige Richtung vom Skin
  56.     VWelt, // Die Virtuelle Welt bzw. die Nummer des Erstellten Hotel
  57.     Stock, // Wieviel Stockwerke ein erstelltes Hotel haben soll
  58.     preis, // Wieviel das hotel beim mieten kosten soll
  59.     Text3D:label, //Wird zum löschen benötigt
  60.     picku //Wird zum löschen benötigt
  61. }
  62. new DTHotel[MAX_HOTEL][DTHotele];
  63.  
  64. enum Player // Der Enum für den Spieler
  65. {
  66.     pname[MAX_PLAYER_NAME],
  67.     rent,
  68.     pvwelt
  69. }
  70. new PlayerH[MAX_PLAYERS][Player];
  71.  
  72. new elv1,elv2,elv3,auf;
  73.  
  74. #define C_GRAU 0xB4B4B4FF
  75. #define C_HBLAU 0x00CDFFFF
  76. #define C_ROT 0x9F0000FF
  77.  
  78.  
  79.  
  80. //-------------------[DT_Myhotel]-------------------//
  81. #if defined FILTERSCRIPT
  82.  
  83. public OnFilterScriptInit()
  84. {
  85.     print("\n--------------------------------------");
  86.     print(" DT_MyHotel Version 1.0.3 by [DT]Nightsr3am & Dark-Trigardon.eu");
  87.     print("--------------------------------------\n");
  88.     mysql_debug(1);
  89.     C_T_D();
  90.     // TABELLEN
  91.     mysql_query("CREATE TABLE IF NOT EXISTS `dt_myhotel` (`id` int(11) NOT NULL AUTO_INCREMENT, `pick` int(11), `ex` varchar(40),  `ey` varchar(40), `ez` varchar(40), `er` varchar(40), `vwelt` int(11), `stocke` int(11),`preis` int(11),PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
  92.     mysql_query("CREATE TABLE IF NOT EXISTS `dt_myplayer` (`id` int(11) NOT NULL AUTO_INCREMENT, `pname` varchar(24), `rent` int(11),`pvwelt` int(11),PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
  93.     //Laden
  94.     DT_LOAD();
  95.  
  96.     //////////////////////////////
  97.    
  98.     CreatePickup(1239,1,19.8568,232.4731,1002.1859,-1);
  99.     CreatePickup(1239,1,20.1925,240.5715,1002.1859,-1);
  100.     CreatePickup(1239,1,13.8304,234.5705,1002.1859,-1);
  101.     Create3DTextLabel("{00CDFF}/hotel\n{FFFFFF}Um ein Zimmer zu (ent)mieten",C_HBLAU,13.8304,234.5705,1002.1859,5.0,-1);
  102.     Create3DTextLabel("{00CDFF}/aufzug\n{FFFFFF}Um in dein Zimmer zu fahren",C_HBLAU,20.1925,240.5715,1002.1859,5.0,-1);
  103.     Create3DTextLabel("{00CDFF}/aufzug\n{FFFFFF}Um in die Lobby zu gelangen",C_HBLAU,20.2861,240.3584,1006.2501,5.0,-1);
  104.     CreateObject(19462, 10.34410, 236.32460, 1001.09998,   0.00000, 90.00000, 0.00000);
  105.     CreateObject(19462, 13.84432, 236.33173, 1001.09998,   0.00000, 90.00000, 0.00000);
  106.     CreateObject(19462, 17.34453, 236.31934, 1001.09998,   0.00000, 90.00000, 0.00000);
  107.     CreateObject(19462, 20.82452, 236.34062, 1001.09998,   0.00000, 90.00000, 0.00000);
  108.     CreateObject(19462, 24.30911, 236.34158, 1001.09998,   0.00000, 90.00000, 0.00000);
  109.     CreateObject(19450, 8.70028, 236.33409, 1002.88409,   0.00000, 0.00000, 0.00000);
  110.     CreateObject(19450, 13.47145, 241.08310, 1002.88409,   0.00000, 0.00000, 90.00000);
  111.     CreateObject(19450, 13.44674, 231.60826, 1002.88409,   0.00000, 0.00000, 90.00000);
  112.     CreateObject(19388, 19.85184, 231.60741, 1002.88409,   0.00000, 0.00000, 90.00000);
  113.     CreateObject(19450, 27.08512, 241.12924, 1002.88409,   0.00000, 0.00000, 90.00000);
  114.     CreateObject(19450, 26.24582, 231.60161, 1002.88409,   0.00000, 0.00000, 90.00000);
  115.     CreateObject(19450, 25.63710, 236.32210, 1002.88409,   0.00000, 0.00000, 0.00000);
  116.     CreateObject(1557, 19.07020, 231.61147, 1001.18665,   0.00000, 0.00000, 0.00000);
  117.     CreateObject(1703, 25.05212, 239.89244, 1001.18652,   0.00000, 0.00000, -90.00000);
  118.     CreateObject(1703, 25.04838, 234.81236, 1001.18652,   0.00000, 0.00000, -90.00000);
  119.     CreateObject(2010, 25.07315, 237.04228, 1001.18616,   0.00000, 0.00000, 0.00000);
  120.     CreateObject(2010, 25.08586, 235.48221, 1001.18616,   0.00000, 0.00000, 0.00000);
  121.     CreateObject(2010, 25.05025, 232.14235, 1001.18616,   0.00000, 0.00000, 0.00000);
  122.     CreateObject(2010, 25.01000, 240.64259, 1001.18616,   0.00000, 0.00000, 0.00000);
  123.     CreateObject(1827, 24.48251, 236.30077, 1001.18591,   0.00000, 0.00000, 0.00000);
  124.     CreateObject(2198, 12.39668, 233.15096, 1001.18597,   0.00000, 0.00000, -90.00000);
  125.     CreateObject(2198, 12.40427, 235.06140, 1001.18597,   0.00000, 0.00000, -90.00000);
  126.     CreateObject(2198, 12.40561, 236.98300, 1001.18597,   0.00000, 0.00000, -90.00000);
  127.     CreateObject(2773, 13.69592, 233.55437, 1001.68738,   0.00000, 0.00000, 90.00000);
  128.     CreateObject(2773, 13.64983, 235.46634, 1001.68738,   0.00000, 0.00000, 90.00000);
  129.     CreateObject(2010, 12.61036, 237.78616, 1001.18616,   0.00000, 0.00000, 0.00000);
  130.     CreateObject(2010, 12.55882, 240.55223, 1001.18616,   0.00000, 0.00000, 0.00000);
  131.     CreateObject(2010, 9.43847, 240.49681, 1001.18616,   0.00000, 0.00000, 0.00000);
  132.     CreateObject(2010, 9.20607, 232.15175, 1001.18616,   0.00000, 0.00000, 0.00000);
  133.     CreateObject(19462, 17.34453, 236.31934, 1001.09998,   0.00000, 90.00000, 0.00000);
  134.     CreateObject(19454, 10.37773, 236.32553, 1004.68628,   0.00000, 90.00000, 0.00000);
  135.     CreateObject(19454, 13.90490, 236.29283, 1004.68628,   0.00000, 90.00000, 0.00000);
  136.     CreateObject(19454, 17.39776, 236.28795, 1004.68628,   0.00000, 90.00000, 0.00000);
  137.     CreateObject(19454, 20.85971, 236.26056, 1004.68628,   0.00000, 90.00000, 0.00000);
  138.     CreateObject(19454, 24.36304, 236.23616, 1004.68628,   0.00000, 90.00000, 0.00000);
  139.     elv1 = CreateObject(18756, 20.24469, 243.04689, 1003.01978,   0.00000, 0.00000, 90.00000);
  140.     elv2 = CreateObject(18757, 20.25265, 243.04535, 1003.01978,   0.00000, 0.00000, 90.00000);
  141.     elv3 = CreateObject(18755, 20.28104, 243.11053, 1003.01978,   0.00000, 0.00000, 90.12000);
  142.     CreateObject(19448, 17.65089, 239.32133, 1005.16418,   0.00000, 90.00000, 90.00000);
  143.     CreateObject(19448, 17.65181, 235.81421, 1005.16418,   0.00000, 90.00000, 90.00000);
  144.     CreateObject(19448, 17.65269, 232.33522, 1005.16418,   0.00000, 90.00000, 90.00000);
  145.     CreateObject(19448, 11.09354, 236.26373, 1005.16418,   0.00000, 90.00000, 0.00000);
  146.     CreateObject(19448, 11.06809, 226.64116, 1005.16418,   0.00000, 90.00000, 0.00000);
  147.     CreateObject(19446, 13.46147, 241.07870, 1006.95068,   0.00000, 0.00000, 90.00000);
  148.     CreateObject(19446, 17.68256, 230.67612, 1006.95068,   0.00000, 0.00000, 90.00000);
  149.     CreateObject(19446, 8.05459, 230.66383, 1006.95068,   0.00000, 0.00000, 90.00000);
  150.     CreateObject(19446, 9.27525, 234.24701, 1006.95068,   0.00000, 0.00000, 0.00000);
  151.     CreateObject(19446, 9.24661, 243.88531, 1006.95068,   0.00000, 0.00000, 0.00000);
  152.     CreateObject(19446, 22.38539, 236.49635, 1006.95068,   0.00000, 0.00000, 0.00000);
  153.     CreateObject(19446, 22.38906, 226.88248, 1006.95068,   0.00000, 0.00000, 0.00000);
  154.     CreateObject(14446, 11.11520, 235.64520, 1005.84552,   0.00000, 0.00000, 90.00000);
  155.     CreateObject(2725, 9.77052, 237.74963, 1005.75098,   0.00000, 0.00000, 0.00000);
  156.     CreateObject(2725, 9.94868, 233.37469, 1005.75098,   0.00000, 0.00000, 0.00000);
  157.     CreateObject(2238, 9.86720, 233.31149, 1006.58588,   0.00000, 0.00000, 0.00000);
  158.     CreateObject(2238, 9.69537, 237.79459, 1006.58588,   0.00000, 0.00000, 0.00000);
  159.     CreateObject(2290, 18.17746, 234.28831, 1005.24939,   0.00000, 0.00000, 45.96000);
  160.     CreateObject(2290, 17.78786, 231.17145, 1005.24939,   0.00000, 0.00000, 92.10004);
  161.     CreateObject(2296, 22.00066, 233.49924, 1005.24969,   0.00000, 0.00000, -89.16000);
  162.     CreateObject(949, 9.69237, 231.03856, 1005.75043,   0.00000, 0.00000, 0.00000);
  163.     CreateObject(949, 9.79799, 240.63014, 1005.75043,   0.00000, 0.00000, 0.00000);
  164.     CreateObject(19454, 11.12488, 236.52138, 1008.74829,   0.00000, 90.00000, 0.00000);
  165.     CreateObject(19454, 17.62684, 239.56340, 1008.74829,   0.00000, 90.00000, 90.00000);
  166.     CreateObject(19454, 17.66788, 236.06439, 1008.74829,   0.00000, 90.00000, 90.00000);
  167.     CreateObject(19454, 17.70822, 232.54451, 1008.74829,   0.00000, 90.00000, 90.00000);
  168.     CreateObject(19454, 17.71852, 229.08296, 1008.74829,   0.00000, 90.00000, 90.00000);
  169.     CreateObject(19454, 11.07382, 226.89218, 1008.74829,   0.00000, 90.00000, 0.00000);
  170.  
  171.  
  172.     return 1;
  173. }
  174.  
  175. public OnFilterScriptExit()
  176. {
  177.     return 1;
  178. }
  179.  
  180. #else
  181.  
  182. main()
  183. {
  184.     print("\n----------------------------------");
  185.     print(" Blank Gamemode by your name here");
  186.     print("----------------------------------\n");
  187. }
  188.  
  189. #endif
  190.  
  191.  
  192. public OnPlayerConnect(playerid)
  193. {
  194.     DT_PLOAD(playerid);
  195.     return 1;
  196. }
  197.  
  198. public OnPlayerDisconnect(playerid, reason)
  199. {
  200.     DT_PSAVE(playerid);
  201.     return 1;
  202. }
  203.  
  204. public OnPlayerSpawn(playerid)
  205. {
  206.     if(PlayerH[playerid][rent] == 1)
  207.     {
  208.         ShowPlayerDialog(playerid,D_SPAWN,DIALOG_STYLE_MSGBOX,"DT_MyHotel - Spawn","Da du ein Hotel-Zimmer gemietet hast, möchtest du jetzt auch dort spawnen ?","Ja","Nein");
  209.     }
  210.     return 1;
  211. }
  212.  
  213. public OnPlayerDeath(playerid, killerid, reason)
  214. {
  215.     return 1;
  216. }
  217.  
  218. public OnVehicleSpawn(vehicleid)
  219. {
  220.     return 1;
  221. }
  222.  
  223. public OnVehicleDeath(vehicleid, killerid)
  224. {
  225.     return 1;
  226. }
  227.  
  228. public OnPlayerText(playerid, text[])
  229. {
  230.     return 1;
  231. }
  232.  
  233. public OnPlayerCommandText(playerid, cmdtext[])
  234. {
  235.     if(strcmp(cmdtext,"/hotelhelp",true) == 0)
  236.     {
  237.         SendClientMessage(playerid,C_GRAU,"/hotel /aufzug");
  238.         SendClientMessage(playerid,C_ROT,"----- RCON ADMIN -----");
  239.         SendClientMessage(playerid,C_GRAU,"/chotel");
  240.         SendClientMessage(playerid,C_HBLAU,"[ by www.dark-trigardon.de ] ");
  241.     }
  242.     if(strcmp(cmdtext,"/hotel",true) == 0)
  243.     {
  244.         if(IsPlayerInRangeOfPoint(playerid,5.0,13.8304,234.5705,1002.1859))
  245.         {
  246.             ShowPlayerDialog(playerid,D_HM,DIALOG_STYLE_LIST,"DT_MyHotel","Hotel Zimmer mieten\nMiet-Vertrag kündigen","Ok","Abbrechen");
  247.         }
  248.         else SendClientMessage(playerid,C_ROT,"Du bist an keiner Rezeption");
  249.     }
  250.     if(strcmp(cmdtext,"/chotel",true) == 0)
  251.     {
  252.         if(IsPlayerAdmin(playerid))
  253.         {
  254.             ShowDialog(playerid,1);
  255.         }
  256.         else SendClientMessage(playerid,C_ROT,"Du bist nicht als RCON-Administrator eingeloggt !");
  257.     }
  258.     if(strcmp(cmdtext,"/aufzug",true) == 0)
  259.     {
  260.         if(PlayerH[playerid][rent] == 1)
  261.         {
  262.             if(IsPlayerInRangeOfPoint(playerid,3.0,20.1925,240.5715,1002.1859) || IsPlayerInRangeOfPoint(playerid,3.0,20.2861,240.3584,1006.2501))
  263.             {
  264.                 if(auf == 0)
  265.                 {
  266.                     MoveObject(elv1,22.2447,243.04689,1003.01978,3);
  267.                     MoveObject(elv2,18.2526,243.04535,1003.01978,3);
  268.                     SendClientMessage(playerid,C_HBLAU,"Der Aufzug ist da, steige ein und warte, er bringt dich in dein Hotelzimmer!");
  269.                     SetTimer("AufzugO",4000,0);
  270.                     auf = 1;
  271.                 }
  272.                 else
  273.                 {
  274.                     SendClientMessage(playerid,C_ROT,"Der Aufzug fährt gerade ! Warte einen Moment...");
  275.                 }
  276.             }
  277.         }
  278.         else SendClientMessage(playerid,C_ROT,"Du hast kein Hotelzimmer gemietet !");
  279.     }
  280.     return 1;
  281. }
  282.  
  283. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  284. {
  285.     return 1;
  286. }
  287.  
  288. public OnPlayerExitVehicle(playerid, vehicleid)
  289. {
  290.     return 1;
  291. }
  292.  
  293. public OnPlayerStateChange(playerid, newstate, oldstate)
  294. {
  295.     return 1;
  296. }
  297.  
  298. public OnPlayerEnterCheckpoint(playerid)
  299. {
  300.     return 1;
  301. }
  302.  
  303. public OnPlayerLeaveCheckpoint(playerid)
  304. {
  305.     return 1;
  306. }
  307.  
  308. public OnPlayerEnterRaceCheckpoint(playerid)
  309. {
  310.     return 1;
  311. }
  312.  
  313. public OnPlayerLeaveRaceCheckpoint(playerid)
  314. {
  315.     return 1;
  316. }
  317.  
  318. public OnRconCommand(cmd[])
  319. {
  320.     return 1;
  321. }
  322.  
  323. public OnPlayerRequestSpawn(playerid)
  324. {
  325.     return 1;
  326. }
  327.  
  328. public OnObjectMoved(objectid)
  329. {
  330.     return 1;
  331. }
  332.  
  333. public OnPlayerObjectMoved(playerid, objectid)
  334. {
  335.     return 1;
  336. }
  337.  
  338. public OnPlayerPickUpPickup(playerid, pickupid)
  339. {
  340.     return 1;
  341. }
  342.  
  343. public OnVehicleMod(playerid, vehicleid, componentid)
  344. {
  345.     return 1;
  346. }
  347.  
  348. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  349. {
  350.     return 1;
  351. }
  352.  
  353. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  354. {
  355.     return 1;
  356. }
  357.  
  358. public OnPlayerSelectedMenuRow(playerid, row)
  359. {
  360.     return 1;
  361. }
  362.  
  363. public OnPlayerExitedMenu(playerid)
  364. {
  365.     return 1;
  366. }
  367.  
  368. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  369. {
  370.     return 1;
  371. }
  372.  
  373. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  374. {
  375.     if(newkeys == KEY_FIRE)
  376.     {
  377.         for(new id; id < MAX_HOTEL; id++)
  378.         {
  379.             if(DTHotel[id][Pick] == 0) continue;
  380.             if(IsPlayerInRangeOfPoint(playerid,5.0,DTHotel[id][Ex],DTHotel[id][Ey],DTHotel[id][Ez]))
  381.             {
  382.                 SetPlayerPos(playerid,19.8568,232.4731,1002.1859);
  383.                 SetPlayerFacingAngle(playerid,358.9175);
  384.                 SetPlayerVirtualWorld(playerid,DTHotel[id][VWelt]);
  385.             }
  386.             else if(IsPlayerInRangeOfPoint(playerid,5.0,19.8568,232.4731,1002.1859))
  387.             {
  388.                 if(GetPlayerVirtualWorld(playerid) == DTHotel[id][VWelt])
  389.                 {
  390.                     SetPlayerVirtualWorld(playerid,0);
  391.                     SetPlayerPos(playerid,DTHotel[id][Ex],DTHotel[id][Ey],DTHotel[id][Ez]);
  392.                     SetPlayerFacingAngle(playerid,DTHotel[id][Ea]);
  393.                 }
  394.             }
  395.         }
  396.     }
  397.     return 1;
  398. }
  399.  
  400. public OnRconLoginAttempt(ip[], password[], success)
  401. {
  402.     return 1;
  403. }
  404.  
  405. public OnPlayerUpdate(playerid)
  406. {
  407.     return 1;
  408. }
  409.  
  410. public OnPlayerStreamIn(playerid, forplayerid)
  411. {
  412.     return 1;
  413. }
  414.  
  415. public OnPlayerStreamOut(playerid, forplayerid)
  416. {
  417.     return 1;
  418. }
  419.  
  420. public OnVehicleStreamIn(vehicleid, forplayerid)
  421. {
  422.     return 1;
  423. }
  424.  
  425. public OnVehicleStreamOut(vehicleid, forplayerid)
  426. {
  427.     return 1;
  428. }
  429.  
  430. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  431. {
  432.     switch(dialogid)
  433.     {
  434.         case D_SPAWN:
  435.         {
  436.             if(response)
  437.             {
  438.                 SetPlayerVirtualWorld(playerid,PlayerH[playerid][pvwelt]);
  439.                 SetPlayerPos(playerid,10.9576, 238.0884, 1006.3504);
  440.                 SetPlayerFacingAngle(playerid,0.0);
  441.             }
  442.         }
  443.         case D_HM3:
  444.         {
  445.             if(response)
  446.             {
  447.                 SendClientMessage(playerid,C_GRAU,"Du hast dein Zimmer gekündigt");
  448.                 new str[150];
  449.                 new sto; sto -= 1;
  450.                 format(str,sizeof(str),"UPDATE `dt_myhotel` SET `stocke` = '%d' WHERE `vwelt` = '%d'",sto,GetPlayerVirtualWorld(playerid));
  451.                 mysql_query(str);
  452.                 PlayerH[playerid][rent] = 0;
  453.                 PlayerH[playerid][pvwelt] = 0;
  454.                 format(str,sizeof(str),"UPDATE `dt_myplayer` SET `rent` = '%d', `pvwelt` = '%d' WHERE `pname` = '%s'",PlayerH[playerid][rent],PlayerH[playerid][pvwelt],SpielerName(playerid));
  455.                 mysql_query(str);
  456.             }
  457.         }
  458.         case D_HM2:
  459.         {
  460.             if(response)
  461.             {
  462.                 new dat = Getp(GetPlayerVirtualWorld(playerid));
  463.                 if(GetPlayerMoney(playerid) >= dat)
  464.                 {
  465.                     new str[150];
  466.                     new sto; sto += 1;
  467.                     format(str,sizeof(str),"UPDATE `dt_myhotel` SET `stocke` = '%d' WHERE `vwelt` = '%d'",sto,GetPlayerVirtualWorld(playerid));
  468.                     mysql_query(str);
  469.                     PlayerH[playerid][rent] = 1;
  470.                     PlayerH[playerid][pvwelt] = GetPlayerVirtualWorld(playerid);
  471.                     format(str,sizeof(str),"INSERT INTO `dt_myplayer` (`pname`,`rent`,`pvwelt`) VALUES ('%s','%d','%d')",SpielerName(playerid),PlayerH[playerid][rent],PlayerH[playerid][pvwelt]);
  472.                     mysql_query(str);
  473.                     GivePlayerMoney(playerid,-dat);
  474.                     SendClientMessage(playerid,C_GRAU,"Du hast nun ein Hotel Zimmer gemietet");
  475.                 }
  476.                 else
  477.                 {
  478.                     new str2[50];
  479.                     format(str2,sizeof(str2),"Du hast nicht genügend Geld ! (min. %d )!",dat);
  480.                     SendClientMessage(playerid,C_ROT,str2);
  481.                 }
  482.             }
  483.         }
  484.         case D_HM:
  485.         {
  486.             if(response)
  487.             {
  488.                 if(listitem == 0)//Hotel Mieten
  489.                 {
  490.                     ShowPlayerDialog(playerid,D_HM2,DIALOG_STYLE_MSGBOX,"DT_MyHotel - Mieten","Bist du sicher das du dir hier ein Hotelzimmer mieten möchtest ?","Mieten","Abbrechen");
  491.                 }
  492.                 if(listitem == 1) // Miete Kündigen
  493.                 {
  494.                     if(PlayerH[playerid][rent] == 1)
  495.                     {
  496.                         ShowPlayerDialog(playerid,D_HM3,DIALOG_STYLE_MSGBOX,"DT_MyHotel - Mieten","Bist du sicher das du dein Zimmer kündigen möchtest ?","Kündigen","Abbrechen");
  497.                     }
  498.                     else SendClientMessage(playerid,C_ROT,"Du hast kein Zimmer gemietet !");
  499.                 }
  500.             }
  501.         }
  502.         case D_AHOT:
  503.         {
  504.             if(response)
  505.             {
  506.                 if(listitem == 0) //Hotel Erstellen
  507.                 {
  508.                     ShowDialog(playerid,2);
  509.                 }
  510.                 if(listitem == 1) //Hotel Löschen
  511.                 {
  512.                     ShowDialog(playerid,6);
  513.                 }
  514.             }
  515.         }
  516.         case D_HC1:
  517.         {
  518.             if(response)
  519.             {
  520.                 if(listitem == 0)
  521.                 {
  522.                     SetPVarInt(playerid,"Pi",HPick);
  523.                     ShowDialog(playerid,4);
  524.                 }
  525.                 if(listitem == 1)
  526.                 {
  527.                     ShowDialog(playerid,3);
  528.                 }
  529.             }
  530.             else ShowDialog(playerid,1);
  531.         }
  532.         case D_Hc1:
  533.         {
  534.             if(response)
  535.             {
  536.                 if(strval(inputtext) >= 1000)
  537.                 {
  538.                     SetPVarInt(playerid,"Pi",strval(inputtext));
  539.                     ShowDialog(playerid,4);
  540.                 }
  541.                 else
  542.                 {
  543.                     SendClientMessage(playerid,C_ROT,"Du musst eine gültige Pickup ID eingeben !");
  544.                     ShowDialog(playerid,3);
  545.                 }
  546.             }
  547.             else ShowDialog(playerid,2);
  548.         }
  549.         case D_HC2:
  550.         {
  551.             if(response)
  552.             {
  553.                 if(strval(inputtext) <= MAX_STOCK)
  554.                 {
  555.                     SetPVarInt(playerid,"Stocke",strval(inputtext));
  556.                     ShowDialog(playerid,7);
  557.                 }
  558.                 else
  559.                 {
  560.                     ShowDialog(playerid,4);
  561.                     SendClientMessage(playerid,C_ROT,"Halte dich an die MAX_STOCK im Script ! (Standart: 10)");
  562.                 }
  563.             }
  564.             else ShowDialog(playerid,2);
  565.         }
  566.         case D_HC3:
  567.         {
  568.             if(response)
  569.             {
  570.                 new Float:X,Float:Y,Float:Z,Float:R;
  571.                 GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,R);
  572.                 mysql_query("SELECT * FROM `dt_myhotel`");
  573.                 mysql_store_result();
  574.                 new ht= mysql_num_rows();
  575.                 mysql_free_result();
  576.                 CreateHotel(GetPVarInt(playerid,"Pi"),X,Y,Z,R,START_VW+ht+1,GetPVarInt(playerid,"Stocke"),GetPVarInt(playerid,"HPreis"));
  577.                 SendClientMessage(playerid,C_HBLAU,"Du hast erfolgreich ein Hotel erstellt !");
  578.             }
  579.         }
  580.         case D_HC4:
  581.         {
  582.             if(response)
  583.             {
  584.                 if(strval(inputtext) <= MAX_PREIS)
  585.                 {
  586.                     SetPVarInt(playerid,"HPreis",strval(inputtext));
  587.                     ShowDialog(playerid,5);
  588.                 }
  589.                 else
  590.                 {
  591.                     SendClientMessage(playerid,C_ROT,"Halte dich an den MAX_PREIS im Script ! (Standart: 1000)");
  592.                     ShowDialog(playerid,7);
  593.                 }
  594.             }
  595.             else ShowDialog(playerid,4);
  596.         }
  597.         case D_DH:
  598.         {
  599.             mysql_query("TRUNCATE `dt_myhotel`");
  600.             SendClientMessage(playerid,C_GRAU,"Alle Hotels wurden gelöscht !");
  601.             for(new id; id < MAX_HOTEL; id++)
  602.             {
  603.                 DTHotel[id][Ex] = 0;
  604.                 DTHotel[id][Ey] = 0;
  605.                 DTHotel[id][Ez] = 0;
  606.                 DTHotel[id][Pick] = 0;
  607.                 DestroyPickup(DTHotel[id][picku]);
  608.                 Delete3DTextLabel(DTHotel[id][label]);
  609.             }
  610.         }
  611.     }
  612.     return 0;
  613. }
  614.  
  615. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  616. {
  617.     return 1;
  618. }
  619.  
  620. stock ShowDialog(playerid,num)
  621. {
  622.     if(num == 1)
  623.     {
  624.         ShowPlayerDialog(playerid,D_AHOT,DIALOG_STYLE_LIST,"DT_MyHotel Menü","Hotel erstellen\nHotel Löschen","Weiter","Abbrechen");
  625.     }
  626.     if(num == 2)
  627.     {
  628.         ShowPlayerDialog(playerid,D_HC1,DIALOG_STYLE_LIST,"Welche Pickup ID möchtest du verwenden ?","Im Script Vorgegebene\nBenutzerdefiniert","Weiter","Zurück");
  629.     }
  630.     if(num == 3)
  631.     {
  632.         ShowPlayerDialog(playerid,D_Hc1,DIALOG_STYLE_INPUT,"Benutzerdefiniertes Pickup","Gib die Pickup ID ein welche du verwenden möchtest !","Weiter","Zurück");
  633.     }
  634.     if(num == 4)
  635.     {
  636.         ShowPlayerDialog(playerid,D_HC2,DIALOG_STYLE_INPUT,"DT_MyHotel Stockwerke","Gib nun eine Anzahl an Stockwerken an, welche das Hotel haben soll.","Weiter","Zurück");
  637.     }
  638.     if(num == 5)
  639.     {
  640.         ShowPlayerDialog(playerid,D_HC3,DIALOG_STYLE_MSGBOX,"DT_MyHotel Eingang","Bist du dir sicher das du an der richtigen Stelle stehst\nwo du den Eingang machen möchtest ?\nWenn ja, drücke auf Fertig,Wenn Nein, dann drücke auf Abbrechen","Fertig","Abbrechen");
  641.     }
  642.     if(num == 6)
  643.     {
  644.         new str[100];
  645.         format(str,sizeof(str),"Bist du dir sicher das du %d Häuser löschen möchtest ?",GetAll());
  646.         ShowPlayerDialog(playerid,D_DH,DIALOG_STYLE_MSGBOX,"DT_MyHotel-Löschen",str,"Löschen","Abbrechen");
  647.     }
  648.     if(num == 7)
  649.     {
  650.         ShowPlayerDialog(playerid,D_HC4,DIALOG_STYLE_INPUT,"DT_MyHotel Preis","Gib einen Preis an, wieiviel ein Zimmer kosten soll.","Weiter","Zurück");
  651.     }
  652. }
  653.  
  654. stock CreateHotel(pid,Float:ex,Float:ey,Float:ez,Float:er,vwelt,stocke,hpreis)
  655. {
  656.     new query[700];
  657.     new i = getFreeHotel();
  658.     if(i ==-1) return -1;
  659.     format(query,sizeof(query),"INSERT INTO `dt_myhotel` (`pick`,`ex`,`ey`,`ez`,`er`,`vwelt`,`stocke`,`preis`) VALUES ('%d','%f','%f','%f','%f','%d','%d','%d')",pid,ex,ey,ez,er,vwelt,stocke,hpreis);
  660.     mysql_query(query);
  661.     DTHotel[i][picku] = CreatePickup(pid,1,ex,ey,ez,0);
  662.     DTHotel[i][Pick] = pid;
  663.     DTHotel[i][Ex] = ex;
  664.     DTHotel[i][Ey] = ey;
  665.     DTHotel[i][Ez] = ez;
  666.     DTHotel[i][VWelt] = vwelt;
  667.     DTHotel[i][Stock] = stocke;
  668.     DTHotel[i][Ea] = er;
  669.     DTHotel[i][preis] = hpreis;
  670.     DTHotel[i][label] = Create3DTextLabel("{00CDFF}Taste [STRG]\n{FFFFFF}Um das Hotel zu betreten",C_HBLAU,ex,ey,ez,20.0,0);
  671.     return i;
  672. }
  673. forward AufzugO();
  674. public AufzugO()
  675. {
  676.     MoveObject(elv1,20.24469,243.04689,1007.0198,3);
  677.     MoveObject(elv2,20.25265,243.04535,1007.0198,3);
  678.     MoveObject(elv3,20.28104,243.11053,1007.0198,3);
  679.     SetTimer("AufzugO2",4000,0);
  680. }
  681. forward AufzugO2();
  682. public AufzugO2()
  683. {
  684.     MoveObject(elv1,22.2447,243.04689,1007.0198,3);
  685.     MoveObject(elv2,18.2526,243.04535,1007.0198,3);
  686.     SetTimer("AufzugU",2000,0);
  687. }
  688. forward AufzugU();
  689. public AufzugU()
  690. {
  691.     MoveObject(elv1,20.24469,243.04689,1007.0198,3);
  692.     MoveObject(elv2,20.25265,243.04535,1007.0198,3);
  693.     SetTimer("AufzugU2",4000,0);
  694. }
  695. forward AufzugU2();
  696. public AufzugU2()
  697. {
  698.     MoveObject(elv1,20.24469,243.04689,1003.01978,3);
  699.     MoveObject(elv2,20.25265,243.04535,1003.01978,3);
  700.     MoveObject(elv3,20.28104, 243.11053, 1003.01978,3);
  701.     auf = 0;
  702. }
  703. stock C_T_D()
  704. {
  705.     mysql_connect(My_Host, My_User, My_DB, My_Pass);
  706.     if(mysql_ping() == 1)
  707.     {
  708.         print("||>>|| [ Mysql ] Die Verbindung zur DB (= Datenbank) wurde hergestellt ||<<||");
  709.         return true;
  710.     }
  711.     else
  712.     {
  713.         print("||>>|| [ Mysql ] Die Verbindung zur DB konnte nicht hergestellt werden ||<<||!");
  714.         print("||>>|| [ Mysql ] Es wird versucht erneut zur DB zu Connecten ||<<||");
  715.         mysql_connect(My_Host, My_User, My_DB, My_Pass);
  716.         if(mysql_ping() == 1)
  717.         {
  718.             print("||>>|| [ Mysql ] Die Verbindung zur DB (= Datenbank) wurde hergestellt (2)||<<||");
  719.             return true;
  720.         }
  721.         else
  722.         {
  723.             print("||>>|| [ Mysql ] Die Verbindung zur DB konnte nicht hergestellt werden ||<<||");
  724.             print("||>>|| [ Mysql ] Das Filterscript DT_MyHotel by Dark-Trigardon wird heruntergefahren ||<<||!");
  725.             SendRconCommand("unloadfs DT_MyHotel");
  726.             return true;
  727.         }
  728.     }
  729. }
  730. stock GetAll()
  731. {
  732.     mysql_query("SELECT * FROM `dt_myhotel`");
  733.     mysql_store_result();
  734.     new ht= mysql_num_rows();
  735.     mysql_free_result();
  736.     return ht;
  737. }
  738. stock GetAlls(st)
  739. {
  740.     new str[150];
  741.     format(str,sizeof(str),"SELECT `stocke` FROM `dt_myhotel` WHERE `vwelt` = '%d'",st);
  742.     mysql_query(str);
  743.     mysql_store_result();
  744.     new hts= mysql_num_rows();
  745.     mysql_free_result();
  746.     return hts;
  747. }
  748.  
  749. stock Getp(v)
  750. {
  751.     new str[150];
  752.     format(str,sizeof(str),"SELECT `preis` FROM `dt_myhotel` WHERE `vwelt` = '%d'",v);
  753.     mysql_query(str);
  754.     mysql_store_result();
  755.     new hts= mysql_num_rows();
  756.     mysql_free_result();
  757.     return hts;
  758. }
  759.  
  760. stock getFreeHotel()
  761. {
  762.     for(new i=0;i<MAX_HOTEL;i++)
  763.     {
  764.         if(DTHotel[i][Pick] == 0) return i;
  765.     }
  766.     return -1;
  767. }
  768. stock DT_LOAD()
  769. {
  770.     new val[128];
  771.     mysql_query("SELECT * FROM `dt_myhotel`");
  772.     mysql_store_result();
  773.     for(new i=0;i<mysql_num_rows();i++)
  774.     {
  775.         if(i>=MAX_HOTEL)break;
  776.         mysql_retrieve_row();
  777.         mysql_fetch_field_row(val,"pick"); DTHotel[i][Pick] = strval(val);
  778.         mysql_fetch_field_row(val,"ex"); DTHotel[i][Ex] = floatstr(val);
  779.         mysql_fetch_field_row(val,"ey"); DTHotel[i][Ey] = floatstr(val);
  780.         mysql_fetch_field_row(val,"ez"); DTHotel[i][Ez] = floatstr(val);
  781.         mysql_fetch_field_row(val,"vwelt"); DTHotel[i][VWelt] = strval(val);
  782.         mysql_fetch_field_row(val,"stocke"); DTHotel[i][Stock] = strval(val);
  783.         mysql_fetch_field_row(val,"er"); DTHotel[i][Ea] = floatstr(val);
  784.         mysql_fetch_field_row(val,"preis"); DTHotel[i][preis] = strval(val);
  785.         printf("Hotel (%d): %d %0.2f %0.2f %0.2f %0.2f %d %d %d",i,DTHotel[i][Pick],DTHotel[i][Ex],DTHotel[i][Ey],DTHotel[i][Ez],DTHotel[i][Ea],DTHotel[i][VWelt],DTHotel[i][Stock],DTHotel[i][preis]);
  786.         DTHotel[i][picku] = CreatePickup(DTHotel[i][Pick],1,DTHotel[i][Ex],DTHotel[i][Ey],DTHotel[i][Ez],0);
  787.         DTHotel[i][label] = Create3DTextLabel("{00CDFF}Taste [STRG]\n{FFFFFF}Um das Hotel zu betreten",C_HBLAU,DTHotel[i][Ex],DTHotel[i][Ey],DTHotel[i][Ez],20.0,0);
  788.     }
  789.     mysql_free_result();
  790. }
  791.  
  792. stock SpielerName(playerid)
  793. {
  794.     new name[MAX_PLAYER_NAME];
  795.     GetPlayerName(playerid,name,sizeof(name));
  796.     return name;
  797. }
  798.  
  799. stock DT_PSAVE(playerid)
  800. {
  801.     new query[100];
  802.     format(query,sizeof(query),"UPDATE `dt_myplayer` SET `rent` = '%d',`pvwelt` = '%d' WHERE `pname` = '%s'",PlayerH[playerid][rent],PlayerH[playerid][pvwelt],SpielerName(playerid));
  803.     mysql_query(query);
  804. }
  805. stock DT_PLOAD(playerid)
  806. {
  807.     new query[150],val[128];
  808.     format(query,sizeof(query),"SELECT * FROM `dt_myplayer` WHERE `pname` = '%s'",SpielerName(playerid));
  809.     mysql_query(query);
  810.     mysql_store_result();
  811.     if(mysql_num_rows())
  812.     {
  813.         mysql_fetch_row_format(query);//Help by Beavis
  814.         mysql_fetch_field_row(val,"pname"); PlayerH[playerid][pname] = strlen(val);
  815.         mysql_fetch_field_row(val,"rent"); PlayerH[playerid][rent] = strval(val);
  816.         mysql_fetch_field_row(val,"pvwelt"); PlayerH[playerid][pvwelt] = strval(val);
  817.     }
  818.     mysql_free_result();
  819. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement