Advertisement
Guest User

My_Casino

a guest
Jun 12th, 2013
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 28.46 KB | None | 0 0
  1. /*
  2.             ==== [ Casino ] ====
  3.             Filterscript by [DT]Nighstr3am
  4.             Ver.: 1.0.0
  5. */
  6.  
  7. #include <a_samp>
  8. #include <a_mysql>
  9.  
  10. //==== [ Zugang ] ====//
  11. #define My_Host "localhost"
  12. #define My_User "samp2629"
  13. #define My_Pass "lnddatabase1337"
  14. #define My_DB "samp2629_race"
  15.  
  16.  
  17. //==== [ EINSTELLUNGEN ] ====//
  18. #define MAX_TABLE 100 // Die Maximale Anzahl an Casino Tischen
  19. #define FTAG "MC" // Der Server Tag wie auch immer welcher bei den Dialogen meist vorhanden ist.
  20. #define CHIP_WERT 2 // Wieviel 1 Spiel Chip wert sein soll.
  21. #define C_HBLAU 0x009BFFFF
  22. #define C_GRAU 0xB4B4B4FF
  23. #define CASINO_LICHT 2176 // Die Objekt ID von einem Casino Licht
  24. #define CASINO_BJACK 2188 // Die Objekt ID vom Black Jack Tisch
  25. #define CASINO_ROUL 1978 // Die Objekt ID vom Roulette Tisch
  26. #define CASINO_KAUF 2784 // Die Objekt ID vom Chip kauf Tisch.
  27.  
  28. enum Tables
  29. {
  30.     Float:cX,
  31.     Float:cY,
  32.     Float:cZ,
  33.     Float:cR,
  34.     cMM,
  35.     cModel,
  36.     Tisch, // Wird für Löschen benützt
  37.     Text3D:label, // Wird für Löschen benützt
  38.     Able
  39. }
  40. new Casino[MAX_TABLE][Tables];
  41.  
  42. enum
  43. {
  44.     D_CTABLE1 = 2000,
  45.     D_CTABLE2,
  46.     D_CTABLE3,
  47.     D_DELF,
  48.     D_VERWALT,
  49.     D_DELALL,
  50.     D_SPIELEN,
  51.     D_CHIP,
  52.     D_CHIP1,
  53.     D_BJACK,
  54.     D_BANLEITUNG,
  55.     D_BJACKP,
  56.     D_ROUL,
  57.     D_ROULP,
  58.     D_RANLEITUNG
  59. }
  60.  
  61. new jobj[MAX_PLAYERS],Text3D:jtext[MAX_PLAYERS],game[MAX_PLAYERS],chips[MAX_PLAYERS],karten[MAX_PLAYERS];
  62.  
  63. public OnFilterScriptInit()
  64. {
  65.     print("\n--------------------------------------");
  66.     print(" Casino System by [DT]Nighstr3am geladen");
  67.     print("--------------------------------------\n");
  68.    
  69.     C_T_D();
  70.     mysql_query("CREATE TABLE IF NOT EXISTS `casino` (`id` int(11) NOT NULL AUTO_INCREMENT, `cX` varchar(40), `cY` varchar(40), `cZ` varchar(40), `cR` varchar(40),`cMM` int(11),`cModel` int(11),PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
  71.     LoadTable();
  72.    
  73.     CreateObject(8661, 1038.34058, 550.63562, 999.18518,   0.00000, 0.00000, 0.00000);
  74.     CreateObject(2176, 1024.01953, 550.60327, 1001.67401,   0.00000, 0.00000, 0.00000);
  75.     CreateObject(2188, 1037.93787, 550.29980, 1000.17761,   0.00000, 0.00000, 0.00000);
  76.     CreateObject(1978, 1050.04761, 550.10211, 1000.17651,   0.00000, 0.00000, 0.00000);
  77.     return 1;
  78. }
  79.  
  80. public OnFilterScriptExit()
  81. {
  82.     return 1;
  83. }
  84.  
  85. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  86. {
  87.     switch(dialogid)
  88.     {
  89.         case D_CHIP:
  90.         {
  91.             if(response)
  92.             {
  93.                 if(strval(inputtext))
  94.                 {
  95.                     if(strval(inputtext) >= 50) { SendClientMessage(playerid,C_GRAU,"Du kannst dir nicht mehr als 50 Spiel Chips kaufen !"); }
  96.                     if(GetPlayerMoney(playerid) >= strval(inputtext)*CHIP_WERT)
  97.                     {
  98.                         GameTextForPlayer(playerid,"Chips gekauft",1000,1);
  99.                         chips[playerid] += strval(inputtext);
  100.                         GivePlayerMoney(playerid,-strval(inputtext)*CHIP_WERT);
  101.                     }
  102.                     else
  103.                     {
  104.                         SendClientMessage(playerid,C_GRAU,"Du hast nicht genügend Geld !");
  105.                     }
  106.                 }
  107.                 else SendClientMessage(playerid,C_GRAU,"Du musst eine Zahl eingeben !");
  108.             }
  109.         }
  110.         case D_CHIP1:
  111.         {
  112.             if(response)
  113.             {
  114.                 if(listitem == 0)
  115.                 {
  116.                     ShowPlayerDialog(playerid,D_CHIP,DIALOG_STYLE_INPUT,""FTAG"-Chips","Wieviel Spiel-Chips möchtest du dir kaufen ?","Kaufen","Abbrechen");
  117.                 }
  118.                 if(listitem == 1)
  119.                 {
  120.                     if(chips[playerid] >= 1)
  121.                     {
  122.                         GivePlayerMoney(playerid,chips[playerid]*CHIP_WERT);
  123.                         SendClientMessage(playerid,C_HBLAU,"Du hast erfolgreich deine Chips in Geld umgewandelt !");
  124.                     }
  125.                     else SendClientMessage(playerid,C_GRAU,"Du hast keine Chips dabei !");
  126.                 }
  127.             }
  128.         }
  129.         case D_BANLEITUNG:
  130.         {
  131.             if(response)
  132.             {
  133.                 ShowPlayerDialog(playerid,D_BJACK,DIALOG_STYLE_LIST,""FTAG"-Black Jack","Tisch verlassen\n10 Chips setzen\n20 Chips setzen\nAnleitung","Ok","Abbrechen");
  134.             }
  135.             else
  136.             {
  137.                 UnFreezePlayer(playerid);
  138.                 SetPVarInt(playerid,"Zock",0);
  139.                 SetCameraBehindPlayer(playerid);
  140.                 game[playerid] = 0;
  141.             }
  142.         }
  143.         case D_BJACKP:
  144.         {
  145.             if(response)
  146.             {
  147.                 if(listitem == 0)
  148.                 {
  149.                     ShowPlayerDialog(playerid,D_BJACKP,DIALOG_STYLE_LIST,""FTAG"-Black Jack | Weiterspielen ?","Im Chat steht deine Nummer\nNocheinmal ziehen","Ok","Abbrechen");
  150.                 }
  151.                 if(listitem == 1)
  152.                 {
  153.                     new randkart = 5 + random(10);
  154.                     karten[playerid] += randkart;
  155.                     new str[50];
  156.                     format(str,sizeof(str),"Deine Karten haben jetzt einen Wert von: %d !",karten[playerid]);
  157.                     SendClientMessage(playerid,C_HBLAU,str);
  158.                     if(karten[playerid] >= 17 && karten[playerid] <= 21)
  159.                     {
  160.                         if(GetPVarInt(playerid,"BJackP") == 1)
  161.                         {
  162.                             chips[playerid] += 20;
  163.                             SendClientMessage(playerid,C_HBLAU,"Du hast Gewonnen ! Du erhältst +20 Chips");
  164.                             SetPVarInt(playerid,"BJackP",0);
  165.                             ShowPlayerDialog(playerid,D_BJACK,DIALOG_STYLE_LIST,""FTAG"-Black Jack","Tisch verlassen\n10 Chips setzen\n20 Chips setzen\nAnleitung","Ok","Abbrechen");
  166.                         }
  167.                         if(GetPVarInt(playerid,"BJackP") == 2)
  168.                         {
  169.                             chips[playerid] += 40;
  170.                             SendClientMessage(playerid,C_HBLAU,"Du hast Gewonnen ! Du erhältst +40 Chips");
  171.                             SetPVarInt(playerid,"BJackP",0);
  172.                             ShowPlayerDialog(playerid,D_BJACK,DIALOG_STYLE_LIST,""FTAG"-Black Jack","Tisch verlassen\n10 Chips setzen\n20 Chips setzen\nAnleitung","Ok","Abbrechen");
  173.                         }
  174.                     }
  175.                     else if(karten[playerid] >= 22)
  176.                     {
  177.                         SendClientMessage(playerid,C_GRAU,"Du hast leider verloren.");
  178.                         karten[playerid] = 0;
  179.                         SetPVarInt(playerid,"BJackP",0);
  180.                         if(chips[playerid] >= 1)
  181.                         {
  182.                             ShowPlayerDialog(playerid,D_BJACK,DIALOG_STYLE_LIST,""FTAG"-Black Jack","Tisch verlassen\n10 Chips setzen\n20 Chips setzen\nAnleitung","Ok","Abbrechen");
  183.                         }
  184.                         else
  185.                         {
  186.                             UnFreezePlayer(playerid);
  187.                             SetPVarInt(playerid,"Zock",0);
  188.                             SetPVarInt(playerid,"BJackP",0);
  189.                             SetCameraBehindPlayer(playerid);
  190.                             game[playerid] = 0;
  191.                         }
  192.                     }
  193.                     else
  194.                     {
  195.                         ShowPlayerDialog(playerid,D_BJACKP,DIALOG_STYLE_LIST,""FTAG"-Black Jack | Weiterspielen ?","Im Chat steht deine Nummer\nNocheinmal ziehen","Ok","Abbrechen");
  196.                     }
  197.                 }
  198.             }
  199.             else
  200.             {
  201.                 UnFreezePlayer(playerid);
  202.                 SetPVarInt(playerid,"Zock",0);
  203.                 SetCameraBehindPlayer(playerid);
  204.                 game[playerid] = 0;
  205.             }
  206.         }
  207.         case D_BJACK:
  208.         {
  209.             if(response)
  210.             {
  211.                 if(listitem == 0)
  212.                 {
  213.                     UnFreezePlayer(playerid);
  214.                     SetPVarInt(playerid,"Zock",0);
  215.                     SetCameraBehindPlayer(playerid);
  216.                     game[playerid] = 0;
  217.                 }
  218.                 if(listitem == 1)
  219.                 {
  220.                     SetPVarInt(playerid,"BJackP",1);
  221.                     chips[playerid] -= 10;
  222.                     new randkart = 5 + random(10);
  223.                     karten[playerid] += randkart;
  224.                     new str[50];
  225.                     format(str,sizeof(str),"Du hast eine Kartennummer (%d) erhalten !",randkart);
  226.                     SendClientMessage(playerid,C_HBLAU,str);
  227.                     ShowPlayerDialog(playerid,D_BJACKP,DIALOG_STYLE_LIST,""FTAG"-Black Jack | Weiterspielen ?","Im Chat steht deine Nummer\nNocheinmal ziehen","Ok","Abbrechen");
  228.                 }
  229.                 if(listitem == 2)
  230.                 {
  231.                     SetPVarInt(playerid,"BJackP",2);
  232.                     chips[playerid] -= 20;
  233.                     new randkart = 5 + random(10);
  234.                     karten[playerid] += randkart;
  235.                     new str[50];
  236.                     format(str,sizeof(str),"Du hast eine Kartennummer (%d) erhalten !",randkart);
  237.                     SendClientMessage(playerid,C_HBLAU,str);
  238.                     ShowPlayerDialog(playerid,D_BJACKP,DIALOG_STYLE_LIST,""FTAG"-Black Jack | Weiterspielen ?","Im Chat steht deine Nummer\nNocheinmal ziehen","Ok","Abbrechen");
  239.                 }
  240.                 if(listitem == 3)
  241.                 {
  242.                     ShowPlayerDialog(playerid,D_BANLEITUNG,DIALOG_STYLE_MSGBOX,""FTAG"-Black Jack Anleitung","1. Setze eine vorgebene Chip Menge welche du besitzt.\n2. Du bekommst eine Kartennummer\n3. Nun wähle ob du noch eine willst\n4. Das Ziel ist es nicht über die Zahl 20 zu gelangen !\n5. Jedoch solltest du mit deinen Kartennummern min auf die Zahl 17 kommen.","Spielen","Abbrechen");
  243.                 }
  244.             }
  245.             else
  246.             {
  247.                 UnFreezePlayer(playerid);
  248.                 SetPVarInt(playerid,"Zock",0);
  249.                 SetCameraBehindPlayer(playerid);
  250.                 game[playerid] = 0;
  251.             }
  252.         }
  253.         case D_RANLEITUNG:
  254.         {
  255.             if(response)
  256.             {
  257.                 ShowPlayerDialog(playerid,D_ROUL,DIALOG_STYLE_LIST,""FTAG"-Roulette","Tisch verlassen\n10 Chips auf eine Zahl setzen\n20 Chips auf eine Zahl setzen\n10 Chips Auf Schwarz setzten\n10 Chips Auf Rot setzten\nAnleitung","Ok","Abbrechen");
  258.             }
  259.             else
  260.             {
  261.                 UnFreezePlayer(playerid);
  262.                 SetPVarInt(playerid,"Zock",0);
  263.                 SetCameraBehindPlayer(playerid);
  264.                 game[playerid] = 0;
  265.             }
  266.         }
  267.         case D_ROULP:
  268.         {
  269.             if(response)
  270.             {
  271.                 if(strval(inputtext))
  272.                 {
  273.                     if(strval(inputtext) >= 0 && strval(inputtext) <= 36)
  274.                     {
  275.                         if(GetPVarInt(playerid,"RoulP") == 1)
  276.                         {
  277.                             new randroul = 0 + random(36);
  278.                             if(randroul == strval(inputtext))
  279.                             {
  280.                                 chips[playerid] += 30;
  281.                                 SendClientMessage(playerid,C_HBLAU,"Du hast Gewonnen ! (+ 30 Chips)");
  282.                             }
  283.                             else
  284.                             {
  285.                                 SendClientMessage(playerid,C_HBLAU,"Leider verloren :(");
  286.                                 if(chips[playerid] >= 1)
  287.                                 {
  288.                                     ShowPlayerDialog(playerid,D_ROUL,DIALOG_STYLE_LIST,""FTAG"-Roulette","Tisch verlassen\n10 Chips auf eine Zahl setzen\n20 Chips auf eine Zahl setzen\n10 Chips Auf Schwarz setzten\n10 Chips Auf Rot setzten\nAnleitung","Ok","Abbrechen");
  289.                                 }
  290.                                 else
  291.                                 {
  292.                                     UnFreezePlayer(playerid);
  293.                                     SetPVarInt(playerid,"Zock",0);
  294.                                     SetCameraBehindPlayer(playerid);
  295.                                     game[playerid] = 0;
  296.                                 }
  297.                             }
  298.                         }
  299.                         if(GetPVarInt(playerid,"RoulP") == 2)
  300.                         {
  301.                             new randroul = 0 + random(36);
  302.                             if(randroul == strval(inputtext))
  303.                             {
  304.                                 chips[playerid] += 60;
  305.                                 SendClientMessage(playerid,C_HBLAU,"Du hast Gewonnen ! (+ 60 Chips)");
  306.                             }
  307.                             else
  308.                             {
  309.                                 SendClientMessage(playerid,C_HBLAU,"Leider verloren :(");
  310.                                 if(chips[playerid] >= 1)
  311.                                 {
  312.                                     ShowPlayerDialog(playerid,D_ROUL,DIALOG_STYLE_LIST,""FTAG"-Roulette","Tisch verlassen\n10 Chips auf eine Zahl setzen\n20 Chips auf eine Zahl setzen\n10 Chips Auf Schwarz setzten\n10 Chips Auf Rot setzten\nAnleitung","Ok","Abbrechen");
  313.                                 }
  314.                                 else
  315.                                 {
  316.                                     UnFreezePlayer(playerid);
  317.                                     SetPVarInt(playerid,"Zock",0);
  318.                                     SetCameraBehindPlayer(playerid);
  319.                                     game[playerid] = 0;
  320.                                 }
  321.                             }
  322.                         }
  323.                     }
  324.                     else
  325.                     {
  326.                         SendClientMessage(playerid,C_GRAU,"Du musst eine Zahl von 0 - 36 eingeben !");
  327.                         ShowPlayerDialog(playerid,D_ROULP,DIALOG_STYLE_INPUT,""FTAG"-Roulette","Auf welche Zahl möchtest du setzen ?","Ok"," ");
  328.                     }
  329.                 }
  330.                 else
  331.                 {
  332.                     SendClientMessage(playerid,C_GRAU,"Du musst eine Zahl eingeben !");
  333.                     ShowPlayerDialog(playerid,D_ROULP,DIALOG_STYLE_INPUT,""FTAG"-Roulette","Auf welche Zahl möchtest du setzen ?","Ok"," ");
  334.                 }
  335.             }
  336.             else
  337.             {
  338.                 UnFreezePlayer(playerid);
  339.                 SetPVarInt(playerid,"Zock",0);
  340.                 SetCameraBehindPlayer(playerid);
  341.                 game[playerid] = 0;
  342.             }
  343.         }
  344.         case D_ROUL:
  345.         {
  346.             if(response)
  347.             {
  348.                 if(listitem == 0)
  349.                 {
  350.                     UnFreezePlayer(playerid);
  351.                     SetPVarInt(playerid,"Zock",0);
  352.                     SetCameraBehindPlayer(playerid);
  353.                     game[playerid] = 0;
  354.                 }
  355.                 if(listitem == 1)
  356.                 {
  357.                     chips[playerid] -= 10;
  358.                     SetPVarInt(playerid,"RoulP",1);
  359.                     ShowPlayerDialog(playerid,D_ROULP,DIALOG_STYLE_INPUT,""FTAG"-Roulette","Auf welche Zahl möchtest du setzen ?","Ok"," ");
  360.                 }
  361.                 if(listitem == 2)
  362.                 {
  363.                     chips[playerid] -= 20;
  364.                     SetPVarInt(playerid,"RoulP",2);
  365.                     ShowPlayerDialog(playerid,D_ROULP,DIALOG_STYLE_INPUT,""FTAG"-Roulette","Auf welche Zahl möchtest du setzen ?","Ok"," ");
  366.                 }
  367.                 if(listitem == 3)
  368.                 {
  369.                     chips[playerid] -= 10;
  370.                     new randroul = 1 + random(2);
  371.                     if(randroul == 1)
  372.                     {
  373.                         SendClientMessage(playerid,C_HBLAU,"Du hast Gewonnen ! (+20 Chips)");
  374.                         ShowPlayerDialog(playerid,D_ROUL,DIALOG_STYLE_LIST,""FTAG"-Roulette","Tisch verlassen\n10 Chips auf eine Zahl setzen\n20 Chips auf eine Zahl setzen\n10 Chips Auf Schwarz setzten\n10 Chips Auf Rot setzten\nAnleitung","Ok","Abbrechen");
  375.                     }
  376.                     else
  377.                     {
  378.                         SendClientMessage(playerid,C_HBLAU,"Leider verloren :(");
  379.                         if(chips[playerid] >= 1)
  380.                         {
  381.                             ShowPlayerDialog(playerid,D_ROUL,DIALOG_STYLE_LIST,""FTAG"-Roulette","Tisch verlassen\n10 Chips auf eine Zahl setzen\n20 Chips auf eine Zahl setzen\n10 Chips Auf Schwarz setzten\n10 Chips Auf Rot setzten\nAnleitung","Ok","Abbrechen");
  382.                         }
  383.                         else
  384.                         {
  385.                             UnFreezePlayer(playerid);
  386.                             SetPVarInt(playerid,"Zock",0);
  387.                             SetCameraBehindPlayer(playerid);
  388.                             game[playerid] = 0;
  389.                         }
  390.                     }
  391.                 }
  392.                 if(listitem == 4)
  393.                 {
  394.                     chips[playerid] -= 10;
  395.                     new randroul = 1 + random(2);
  396.                     if(randroul == 2)
  397.                     {
  398.                         SendClientMessage(playerid,C_HBLAU,"Du hast Gewonnen ! (+20 Chips)");
  399.                         ShowPlayerDialog(playerid,D_ROUL,DIALOG_STYLE_LIST,""FTAG"-Roulette","Tisch verlassen\n10 Chips auf eine Zahl setzen\n20 Chips auf eine Zahl setzen\n10 Chips Auf Schwarz setzten\n10 Chips Auf Rot setzten\nAnleitung","Ok","Abbrechen");
  400.                     }
  401.                     else
  402.                     {
  403.                         SendClientMessage(playerid,C_HBLAU,"Leider verloren :(");
  404.                         if(chips[playerid] >= 1)
  405.                         {
  406.                             ShowPlayerDialog(playerid,D_ROUL,DIALOG_STYLE_LIST,""FTAG"-Roulette","Tisch verlassen\n10 Chips auf eine Zahl setzen\n20 Chips auf eine Zahl setzen\n10 Chips Auf Schwarz setzten\n10 Chips Auf Rot setzten\nAnleitung","Ok","Abbrechen");
  407.                         }
  408.                         else
  409.                         {
  410.                             UnFreezePlayer(playerid);
  411.                             SetPVarInt(playerid,"Zock",0);
  412.                             SetCameraBehindPlayer(playerid);
  413.                             game[playerid] = 0;
  414.                         }
  415.                     }
  416.                 }
  417.                 if(listitem == 5)
  418.                 {
  419.                     ShowPlayerDialog(playerid,D_RANLEITUNG,DIALOG_STYLE_MSGBOX,""FTAG"-Anleitung","1. Setze Chips auf eine vorgegeben Fläche\n2.Sofern du auf eine Zahl gesetzt hast bekommst du wenn diese richtig ist das 3-Fache\n3.Wenn du auf eine Farben Fläche gesetzt hast, bekommst du das 2-Fache","Spielen","Abbrechen");
  420.                 }
  421.             }
  422.             else
  423.             {
  424.                 UnFreezePlayer(playerid);
  425.                 SetPVarInt(playerid,"Zock",0);
  426.                 SetCameraBehindPlayer(playerid);
  427.                 game[playerid] = 0;
  428.             }
  429.         }
  430.         case D_SPIELEN:
  431.         {
  432.             if(response)
  433.             {
  434.                 if(GetPVarInt(playerid,"Zock") == 1)
  435.                 {
  436.                     FreezePlayer(playerid);
  437.                     game[playerid] = 1;
  438.                     ShowPlayerDialog(playerid,D_BJACK,DIALOG_STYLE_LIST,""FTAG"-Black Jack","Tisch verlassen\n10 Chips setzen\n20 Chips setzen\nAnleitung","Ok","Abbrechen");
  439.                 }
  440.                 if(GetPVarInt(playerid,"Zock") == 2)
  441.                 {
  442.                     FreezePlayer(playerid);
  443.                     game[playerid] = 1;
  444.                     ShowPlayerDialog(playerid,D_ROUL,DIALOG_STYLE_LIST,""FTAG"-Roulette","Tisch verlassen\n10 Chips auf eine Zahl setzen\n20 Chips auf eine Zahl setzen\n10 Chips Auf Schwarz setzten\n10 Chips Auf Rot setzten\nAnleitung","Ok","Abbrechen");
  445.                 }
  446.                 if(GetPVarInt(playerid,"Zock") == 3)
  447.                 {
  448.                     ShowPlayerDialog(playerid,D_CHIP1,DIALOG_STYLE_LIST,""FTAG"-Chips Menü","Chips kaufen\nAlle Chips in Geld umwandeln","Ok","Abbrechen");
  449.                 }
  450.             }
  451.             else
  452.             {
  453.                 SetPVarInt(playerid,"Zock",0);
  454.                 game[playerid] = 0;
  455.                 UnFreezePlayer(playerid);
  456.             }
  457.         }
  458.         case D_DELALL:
  459.         {
  460.             if(response)
  461.             {
  462.                 mysql_query("TRUNCATE `casino`");
  463.                 SendClientMessage(playerid,C_GRAU,"Alle Casino Objekte wurden gelöscht !");
  464.                 for(new id; id < MAX_TABLE; id++)
  465.                 {
  466.                     Casino[id][cX] = 0;
  467.                     Casino[id][cY] = 0;
  468.                     Casino[id][cZ] = 0;
  469.                     Casino[id][cR] = 0;
  470.                     DestroyObject(Casino[id][cModel]);
  471.                     Delete3DTextLabel(Casino[id][label]);
  472.                     Casino[id][Able] = 0;
  473.                 }
  474.             }
  475.         }
  476.         case D_VERWALT:
  477.         {
  478.             if(response)
  479.             {
  480.                 if(listitem == 0)
  481.                 {
  482.                     ShowPlayerDialog(playerid,D_CTABLE1,DIALOG_STYLE_LIST,""FTAG"-Model","Casino Licht\nBlack-Jack Tisch\nRoulette-Tisch\nChip-Kauf Tisch","Weiter","Abbrechen");
  483.                 }
  484.                 if(listitem == 1)
  485.                 {
  486.                     new str[100];
  487.                     format(str,sizeof(str),"Bist du dir sicher das du %d Casino Objekte löschen möchtest ?",GetAll());
  488.                     ShowPlayerDialog(playerid,D_DELALL,DIALOG_STYLE_MSGBOX,""FTAG"-Löschen",str,"Ja","Abbrechen");
  489.                 }
  490.             }
  491.         }
  492.         case D_DELF:
  493.         {
  494.             if(response)
  495.             {
  496.                 DestroyObject(jobj[playerid]);
  497.                 Delete3DTextLabel(jtext[playerid]);
  498.             }
  499.         }
  500.         case D_CTABLE3:
  501.         {
  502.             if(response)
  503.             {
  504.                 if(strval(inputtext) >= 10)
  505.                 {
  506.                     new Float:r;
  507.                     GetPlayerFacingAngle(playerid,r);
  508.                     UnFreezePlayer(playerid);
  509.                     SetPlayerPos(playerid,GetPVarFloat(playerid,"x"),GetPVarFloat(playerid,"y"),GetPVarFloat(playerid,"z"));
  510.                     SetCameraBehindPlayer(playerid);
  511.                     CreateCasino(playerid,GetPVarFloat(playerid,"x"),GetPVarFloat(playerid,"y"),GetPVarFloat(playerid,"z"),r,strval(inputtext),GetPVarInt(playerid,"MM"));
  512.                 }
  513.                 else ShowPlayerDialog(playerid,D_CTABLE3,DIALOG_STYLE_INPUT,"FEHLER !","Mindestens 10 $ Maximal Preis!","Erstellen","Abbrechen");
  514.             }
  515.             else
  516.             {
  517.                 UnFreezePlayer(playerid);
  518.                 SetCameraBehindPlayer(playerid);
  519.                 SetPlayerPos(playerid,GetPVarFloat(playerid,"x"),GetPVarFloat(playerid,"y"),GetPVarFloat(playerid,"z"));
  520.             }
  521.         }
  522.         case D_CTABLE2:
  523.         {
  524.             if(response)
  525.             {
  526.                 new Float:x,Float:y,Float:z;
  527.                 GetPlayerPos(playerid,x,y,z);
  528.                 SetPVarFloat(playerid,"x",x); SetPVarFloat(playerid,"y",y); SetPVarFloat(playerid,"z",z);
  529.                 SetPlayerPos(playerid,1037.0808, 546.0383, 1000.1767);
  530.                 FreezePlayer(playerid);
  531.                 if(GetPVarInt(playerid,"MM") == CASINO_LICHT)
  532.                 {
  533.                     SetPlayerCameraPos(playerid, 1024.6047, 542.3424, 1005.0853);
  534.                     SetPlayerCameraLookAt(playerid, 1024.4963, 543.3350, 1004.6395);
  535.                 }
  536.                 else if(GetPVarInt(playerid,"MM") == CASINO_BJACK)
  537.                 {
  538.                     SetPlayerCameraPos(playerid, 1038.0671, 547.3594, 1001.7005);
  539.                     SetPlayerCameraLookAt(playerid, 1037.9761, 548.3538, 1001.1346);
  540.                 }
  541.                 else if(GetPVarInt(playerid,"MM") == CASINO_ROUL)
  542.                 {
  543.                     SetPlayerCameraPos(playerid, 1050.2260, 546.8842, 1001.8344);
  544.                     SetPlayerCameraLookAt(playerid, 1050.1538, 547.8797, 1001.1535);
  545.                 }
  546.                 else if(GetPVarInt(playerid,"MM") == CASINO_KAUF)
  547.                 {
  548.                     SetPlayerCameraPos(playerid, 1037.9542, 549.4816, 1003.3256);
  549.                     SetPlayerCameraLookAt(playerid, 1038.0079, 550.4790, 1002.9608);
  550.                 }
  551.                 ShowPlayerDialog(playerid,D_CTABLE3,DIALOG_STYLE_INPUT,""FTAG"-Max.Einsatz","Gib nun an was der Maximale Preis an diesem Tisch sein soll!","Erstellen","Abbrechen");
  552.             }
  553.         }
  554.         case D_CTABLE1:
  555.         {
  556.             if(response)
  557.             {
  558.                 if(listitem == 0)
  559.                 {
  560.                     SetPVarInt(playerid,"MM",CASINO_LICHT);
  561.                     ShowPlayerDialog(playerid,D_CTABLE2,DIALOG_STYLE_MSGBOX,""FTAG"-Position","Bist du dir sicher das du an dieser Stelle,\nwo du stehst ein Licht platzieren möchtest ?","Ja","Abbrechen");
  562.                 }
  563.                 if(listitem == 1)
  564.                 {
  565.                     SetPVarInt(playerid,"MM",CASINO_BJACK);
  566.                     ShowPlayerDialog(playerid,D_CTABLE2,DIALOG_STYLE_MSGBOX,""FTAG"-Position","Bist du dir sicher das du an dieser Stelle,\nwo du stehst einen Black Jack Tisch platzieren möchtest ?","Ja","Abbrechen");
  567.                 }
  568.                 if(listitem == 2)
  569.                 {
  570.                     SetPVarInt(playerid,"MM",CASINO_ROUL);
  571.                     ShowPlayerDialog(playerid,D_CTABLE2,DIALOG_STYLE_MSGBOX,""FTAG"-Position","Bist du dir sicher das du an dieser Stelle,\nwo du stehst einen Roulette Tisch platzieren möchtest ?","Ja","Abbrechen");
  572.                 }
  573.                 if(listitem == 3)
  574.                 {
  575.                     SetPVarInt(playerid,"MM",CASINO_KAUF);
  576.                     ShowPlayerDialog(playerid,D_CTABLE2,DIALOG_STYLE_MSGBOX,""FTAG"-Position","Bist du dir sicher das du an dieser Stelle,\nwo du stehst einen Chip-Kauf Tisch platzieren möchtest ?","Ja","Abbrechen");
  577.                 }
  578.             }
  579.         }
  580.     }
  581.     return 1;
  582. }
  583.  
  584. public OnPlayerCommandText(playerid, cmdtext[])
  585. {
  586.     if(strcmp(cmdtext,"/ctable",true) == 0)
  587.     {
  588.         if(IsPlayerAdmin(playerid))
  589.         {
  590.             ShowPlayerDialog(playerid,D_VERWALT,DIALOG_STYLE_LIST,""FTAG",-Verwalten","Casino Object erstellen\nAlles Löschen","Weiter","Abbrechen");
  591.         }
  592.     }
  593.     if(strcmp(cmdtext,"/chips",true) == 0)
  594.     {
  595.         new str[50];
  596.         format(str,50,"Du hast noch %d Chips",chips[playerid]);
  597.         SendClientMessage(playerid,C_HBLAU,str);
  598.     }
  599.     return 0;
  600. }
  601.  
  602. public OnPlayerConnect(playerid)
  603. {
  604.     game[playerid] = 0;
  605.     jobj[playerid] = 0;
  606.     chips[playerid] = 0;
  607.     karten[playerid] = 0;
  608.     return 1;
  609. }
  610.  
  611. public OnPlayerDisconnect(playerid, reason)
  612. {
  613.     game[playerid] = 0;
  614.     jobj[playerid] = 0;
  615.     karten[playerid] = 0;
  616.     chips[playerid] = 0;
  617.     return 1;
  618. }
  619.  
  620. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  621. {
  622.     if(newkeys == KEY_FIRE)
  623.     {
  624.         for(new id; id < MAX_TABLE; id++)
  625.         {
  626.             if(Casino[id][Able] == 0) continue;
  627.             if(IsPlayerInRangeOfPoint(playerid,5.0,Casino[id][cX],Casino[id][cY],Casino[id][cZ]))
  628.             {
  629.                 if(game[playerid] == 0)
  630.                 {
  631.                     if(Casino[id][cModel] == CASINO_LICHT)return SendClientMessage(playerid,C_GRAU,"An einer Lampe kannst du nicht spielen !");
  632.                     else if(Casino[id][cModel] == CASINO_BJACK)
  633.                     {
  634.                         if(chips[playerid] >= 1)
  635.                         {
  636.                             SetPVarInt(playerid,"Zock",1);
  637.                             ShowPlayerDialog(playerid,D_SPIELEN,DIALOG_STYLE_MSGBOX,""FTAG"-Casino","Möchtest du auf diesem Tisch spielen ?","Ja","Nein");
  638.                         }
  639.                         else SendClientMessage(playerid,C_GRAU,"Du hast keine Chips ! Kaufe dir welche an der Bar !");
  640.                     }
  641.                     else if(Casino[id][cModel] == CASINO_ROUL)
  642.                     {
  643.                         if(chips[playerid] >= 1)
  644.                         {
  645.                             SetPVarInt(playerid,"Zock",2);
  646.                             ShowPlayerDialog(playerid,D_SPIELEN,DIALOG_STYLE_MSGBOX,""FTAG"-Casino","Möchtest du auf diesem Tisch spielen ?","Ja","Nein");
  647.                         }
  648.                         else SendClientMessage(playerid,C_GRAU,"Du hast keine Chips ! Kaufe dir welche an der Bar !");
  649.                     }
  650.                     else if(Casino[id][cModel] == CASINO_KAUF)
  651.                     {
  652.                         SetPVarInt(playerid,"Zock",3);
  653.                         ShowPlayerDialog(playerid,D_SPIELEN,DIALOG_STYLE_MSGBOX,""FTAG"-Casino","Möchtest du dir Spiel-Chips kaufen ?","Ja","Nein");
  654.                     }
  655.                 }
  656.             }
  657.         }
  658.     }
  659.     return 1;
  660. }
  661.  
  662. stock GetAll()
  663. {
  664.     mysql_query("SELECT * FROM `casino`");
  665.     mysql_store_result();
  666.     new ht= mysql_num_rows();
  667.     mysql_free_result();
  668.     return ht;
  669. }
  670.  
  671. stock LoadTable()
  672. {
  673.     new val[128];
  674.     mysql_query("SELECT * FROM `casino`");
  675.     mysql_store_result();
  676.     for(new i=0;i<mysql_num_rows();i++)
  677.     {
  678.         if(i>=MAX_TABLE)break;
  679.         mysql_retrieve_row();
  680.         mysql_fetch_field_row(val,"cX"); Casino[i][cX] = floatstr(val);
  681.         mysql_fetch_field_row(val,"cY"); Casino[i][cY] = floatstr(val);
  682.         mysql_fetch_field_row(val,"cZ"); Casino[i][cZ] = floatstr(val);
  683.         mysql_fetch_field_row(val,"cR"); Casino[i][cR] = floatstr(val);
  684.         mysql_fetch_field_row(val,"cMM"); Casino[i][cMM] = strval(val);
  685.         mysql_fetch_field_row(val,"cModel"); Casino[i][cModel] = strval(val);
  686.         printf("Casino Tisch (%d): %d %0.2f %0.2f %0.2f %0.2f %d",i,Casino[i][cModel],Casino[i][cX],Casino[i][cY],Casino[i][cZ],Casino[i][cR],Casino[i][cMM]);
  687.         Casino[i][Tisch] = CreateObject(Casino[i][cModel],Casino[i][cX],Casino[i][cY],Casino[i][cZ],0.0,0.0,Casino[i][cR]);
  688.         if(Casino[i][cModel] == CASINO_LICHT) { }
  689.         else if(Casino[i][cModel] == CASINO_KAUF) { Casino[i][label] = Create3DTextLabel("[STRG]\nUm Spiel Chips zu kaufen!",C_HBLAU,Casino[i][cX],Casino[i][cY],Casino[i][cZ],20.0,0); }
  690.         else if(Casino[i][cModel] == CASINO_BJACK) { Casino[i][label] = Create3DTextLabel("[STRG]\nUm auf diesem Tisch zu zocken!",C_HBLAU,Casino[i][cX],Casino[i][cY],Casino[i][cZ],20.0,0); }
  691.         else if(Casino[i][cModel] == CASINO_ROUL) { Casino[i][label] = Create3DTextLabel("[STRG]\nUm auf diesem Tisch zu zocken!",C_HBLAU,Casino[i][cX],Casino[i][cY],Casino[i][cZ],20.0,0); }
  692.         Casino[i][Able] = 1;
  693.     }
  694.     mysql_free_result();
  695. }
  696.  
  697. stock C_T_D()
  698. {
  699.     mysql_connect(My_Host, My_User, My_DB, My_Pass);
  700.     if(mysql_ping() == 1)
  701.     {
  702.         print("||>>|| [ Mysql ] Die Verbindung zur DB (= Datenbank) wurde hergestellt ||<<||");
  703.         return true;
  704.     }
  705.     else
  706.     {
  707.         print("||>>|| [ Mysql ] Die Verbindung zur DB konnte nicht hergestellt werden ||<<||!");
  708.         print("||>>|| [ Mysql ] Es wird versucht erneut zur DB zu Connecten ||<<||");
  709.         mysql_connect(My_Host, My_User, My_DB, My_Pass);
  710.         if(mysql_ping() == 1)
  711.         {
  712.             print("||>>|| [ Mysql ] Die Verbindung zur DB (= Datenbank) wurde hergestellt (2)||<<||");
  713.             return true;
  714.         }
  715.         else
  716.         {
  717.             print("||>>|| [ Mysql ] Die Verbindung zur DB konnte nicht hergestellt werden ||<<||");
  718.             print("||>>|| [ Mysql ] Das Filterscript My_Casino wird heruntergefahren ||<<||!");
  719.             SendRconCommand("unloadfs My_Casino");
  720.             return true;
  721.         }
  722.     }
  723. }
  724.  
  725. stock getFreeCasino()
  726. {
  727.     for(new i=0;i<MAX_TABLE;i++)
  728.     {
  729.         if(Casino[i][Able] == 0) return i;
  730.     }
  731.     return -1;
  732. }
  733.  
  734. stock CreateCasino(playerid,Float:cx,Float:cy,Float:cz,Float:cr,mm,model)
  735. {
  736.     new query[700];
  737.     new i = getFreeCasino();
  738.     if(i ==-1) return -1;
  739.     format(query,sizeof(query),"INSERT INTO `casino` (`cX`,`cY`,`cZ`,`cR`,`cMM`,`cModel`) VALUES ('%f','%f','%f','%f','%d','%d')",cx,cy,cz+1,cr,mm,model);
  740.     mysql_query(query);
  741.     Casino[i][Able] = 1;
  742.     Casino[i][cX] = cx;
  743.     Casino[i][cY] = cy;
  744.     Casino[i][cZ] = cz;
  745.     Casino[i][cR] = cr;
  746.     Casino[i][cMM] = mm;
  747.     Casino[i][cModel] = model;
  748.     Casino[i][Tisch] = jobj[playerid] = CreateObject(model,cx,cy,cz,0.0,0.0,cr);
  749.     if(GetPVarInt(playerid,"MM") == CASINO_LICHT) { }
  750.     else if(GetPVarInt(playerid,"MM") == CASINO_KAUF) { Casino[i][label] = jtext[playerid] = Create3DTextLabel("[STRG]\nUm Spiel Chips zu kaufen!",C_HBLAU,Casino[i][cX],Casino[i][cY],Casino[i][cZ],20.0,0); }
  751.     else if(GetPVarInt(playerid,"MM") == CASINO_BJACK) { Casino[i][label] = jtext[playerid] = Create3DTextLabel("[STRG]\nUm auf diesem Tisch zu zocken!",C_HBLAU,Casino[i][cX],Casino[i][cY],Casino[i][cZ],20.0,0); }
  752.     else if(GetPVarInt(playerid,"MM") == CASINO_ROUL) { Casino[i][label] = jtext[playerid] = Create3DTextLabel("[STRG]\nUm auf diesem Tisch zu zocken!",C_HBLAU,Casino[i][cX],Casino[i][cY],Casino[i][cZ],20.0,0); }
  753.     SetTimerEx("Ob",4000,0,"i",playerid);
  754.     return i;
  755. }
  756.  
  757. forward Ob(playerid);
  758. public Ob(playerid)
  759. {
  760.     ShowPlayerDialog(playerid,D_DELF,DIALOG_STYLE_MSGBOX,""FTAG",Lösch Anfrage","Möchtest du den soeben erstellen Tisch löschen ?\nWenn nein, drücke auf Nein (Sicherheit)","Ja","Nein");
  761. }
  762.  
  763. stock FreezePlayer(playerid)
  764. {
  765.     TogglePlayerControllable(playerid, false);
  766.     return 1;
  767. }
  768. stock UnFreezePlayer(playerid)
  769. {
  770.     TogglePlayerControllable(playerid, true);
  771.     return 1;
  772. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement