Advertisement
Guest User

Untitled

a guest
Sep 30th, 2015
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 39.42 KB | None | 0 0
  1. #include <a_samp>
  2. #include <a_mysql>
  3. #include <md5>
  4. #include <ocmd>
  5.  
  6. #define SQL_HOST "127.0.0.1"
  7. #define SQL_NAME "root"
  8. #define SQL_PASS "sa-mp.de"
  9. #define SQL_DATA "samp"
  10.  
  11. new Text:Watermark;
  12. new Handle;
  13. new Connection;
  14. new JailDoor[12];
  15. new JailDoorOpen = true;
  16.  
  17. forward SQL_Connect(ip[], name[], pass[], data[]);
  18. forward SQL_CheckAccount(playerid);
  19. forward SQL_CheckPassword(playerid);
  20. forward SQL_LoadAccount(playerid);
  21. forward SQL_SaveAccount(playerid);
  22. forward SQL_LoadSpawnGuns(playerid);
  23.  
  24. forward SpawnOfficer(playerid);
  25. forward SpawnPrisoner(playerid);
  26. forward Payday();
  27. forward SpawnInJail(playerid);
  28. forward OpenJails(playerid);
  29. forward CentralMenu(playerid);
  30.  
  31. new CopSkins[] =
  32. {
  33.     280,
  34.     281,
  35.     282,
  36.     283,
  37.     288,
  38.     284,
  39.     285,
  40.     286
  41. };
  42.  
  43. new PrisonerSkins[] =
  44. {
  45.     95,
  46.     107,
  47.     110,
  48.     116,
  49.     125,
  50.     254,
  51.     268,
  52.     260
  53. };
  54.  
  55.  
  56. enum pPlayerInfo
  57. {
  58.     Confirmed,
  59.     Time,
  60.     CopSkin,
  61.     PrisonerSkin,
  62.     Officer,
  63.     PaydayTime,
  64.     Upgrade,
  65.     Level,
  66.     Money,
  67.     Skin,
  68.     SkinCount,
  69.     Melee,
  70.     Pistol,
  71.     InJail,
  72.     Armor
  73. };
  74. new pInfo[MAX_PLAYERS][pPlayerInfo];
  75.  
  76. enum pJailInfo
  77. {
  78.     Started,
  79.     Time,
  80.     Players,
  81.     Prisoners,
  82.     Officers
  83. };
  84. new pJail[pJailInfo];
  85.  
  86. enum
  87. {
  88.     DIALOG_REGISTER,
  89.     DIALOG_LOGIN,
  90.     DIALOG_WELCOME,
  91.     DIALOG_TEAM,
  92.     DIALOG_COPCLOTHES,
  93.     DIALOG_WEAPONS,
  94.     DIALOG_LOADING,
  95.     DIALOG_HANDWEAPS,
  96.     DIALOG_CENTRAL,
  97.     DIALOG_MELEEWEAPS,
  98.     DIALOG_ARMORWEAPS
  99. };
  100.  
  101. main(){}
  102.  
  103.  
  104. new Float:CopBaseSpawn[][] =
  105. {
  106.     {280.5527,171.3673,1007.1719,322.5851},
  107.     {287.2065,169.0052,1007.1719,359.6632},
  108.     {290.5421,168.8926,1007.1719,359.6632},
  109.     {296.0088,172.7228,1007.1719,49.6926}
  110. };
  111.  
  112. new Float:PrisonerBaseSpawn[][] =
  113. {
  114.     {1726.8997,-1670.5448,22.6151,14.9442},
  115.     {1730.8209,-1666.3082,22.6094,69.5372},
  116.     {1728.5966,-1668.8352,22.6094,43.1126},
  117.     {1728.1583,-1644.2771,20.2268,133.9800}
  118. };
  119.  
  120. new Float:CopSpawnJail[][] =
  121. {
  122.     {194.3630,-179.2462,1.5752,324.9875},
  123.     {194.2906,-176.8384,1.5752,324.9875},
  124.     {196.4540,-176.4042,1.5752,324.9875},
  125.     {198.0299,-177.7151,1.5752,324.9875},
  126.     {198.5843,-180.2222,1.5752,324.9875},
  127.     {198.7825,-182.4286,1.5752,324.9875},
  128.     {199.0525,-185.0829,1.5752,324.9875},
  129.     {199.7361,-186.8750,1.5752,324.9875}
  130. };
  131.  
  132. new Float:PrisonerSpawnJail[][] =
  133. {
  134.     {172.0425,-94.4443,1.5752,180.1199},
  135.     {172.5921,-120.7576,1.5752,357.9266},
  136.     {195.5302,-120.7284,1.5752,0.7059},
  137.     {195.2871,-94.6067,1.5752,178.8259},
  138.     {195.7892,-94.9398,4.8965,168.3409},
  139.     {172.0609,-95.2879,4.8965,179.7428},
  140.     {158.9294,-107.5369,4.8965,269.4614},
  141.     {172.2350,-120.0110,4.8965,357.7817},
  142.     {208.9480,-107.5774,4.8965,85.6376},
  143.     {195.4874,-120.6410,4.8965,0.4740}
  144. };
  145.  
  146. new Float:DoorPos[][] =
  147. {
  148.     {173.5996100,-119.5996100,0.3000000,90.0000000,179.9950000,270.0000000},
  149.     {172.2300000,-119.6000000,0.3000000,90.0000000,0.0000000,270.0000000},
  150.     {170.9500000,-119.6000000,0.3000000,90.0000000,0.0000000,270.0000000},
  151.     {196.8000000,-119.6000000,0.3000000,90.0000000,179.9950000,270.0000000},
  152.     {196.8000000,-95.6000000,0.3000000,90.0000000,179.9950000,270.0000000},
  153.     {194.1300000,-119.6000000,0.3000000,90.0000000,0.0000000,270.0000000},
  154.     {195.5000000,-119.5996100,0.3000000,90.0000000,179.9950000,270.0000000},
  155.     {195.5000000,-95.6000000,0.3000000,90.0000000,179.9950000,270.0000000},
  156.     {170.8999900,-95.6000000,0.3000000,90.0000000,0.0000000,270.0000000},
  157.     {194.0996100,-95.5996100,0.3000000,90.0000000,0.0000000,270.0000000},
  158.     {172.2000000,-95.6000000,0.3000000,90.0000000,0.0000000,270.0000000},
  159.     {173.6000100,-95.6000000,0.3000000,90.0000000,180.0000000,270.0000000}
  160. };
  161.  
  162. public OnGameModeInit()
  163. {
  164.     DisableInteriorEnterExits();
  165.     SetNameTagDrawDistance(30.0);
  166.     ShowPlayerMarkers(PLAYER_MARKERS_MODE_OFF);
  167.  
  168.     SQL_Connect(SQL_HOST, SQL_NAME, SQL_PASS, SQL_DATA);
  169.     SetGameModeText("German Prison Break");
  170.  
  171.     AddPlayerClass(0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0);
  172.  
  173.     Watermark = TextDrawCreate(522.000000, 4.000000, "German ~r~Prison Break");
  174.     TextDrawBackgroundColor(Watermark, 255);
  175.     TextDrawFont(Watermark, 2);
  176.     TextDrawLetterSize(Watermark, 0.240000, 1.399999);
  177.     TextDrawColor(Watermark, -1);
  178.     TextDrawSetOutline(Watermark, 0);
  179.     TextDrawSetProportional(Watermark, 1);
  180.     TextDrawSetShadow(Watermark, 1);
  181.  
  182.     SetTimer("Payday", 1000 * 60, true);
  183.  
  184.     /* Cop Clothes */
  185.     CreatePickup(1275, 1, 254.4144, 190.5917, 1008.1719, -1);
  186.     Create3DTextLabel("Kleiderschrank (/kleidung)\nPreis: $1500", 0x0091FFFF, 254.4144, 190.5917, 1008.1719, 20.0, 0, 1);
  187.  
  188.     /* Prisoner Clothes */
  189.     CreatePickup(1275, 1, 1712.3420,-1640.2197,20.2239, -1);
  190.     Create3DTextLabel("Kleiderschrank (/kleidung)\nPreis: $1500", 0x0091FFFF, 1712.3420,-1640.2197,20.2239, 20.0, 0, 1);
  191.  
  192.     /* Waffenladen Cops */
  193.     CreatePickup(1247, 1, 268.2095,186.0142,1008.1719, -1);
  194.     Create3DTextLabel("Spawnequipment (/spawnequip)", 0xCC974DFF, 268.2095,186.0142,1008.1719, 20.0, 0, 1);
  195.  
  196.     /* Jail Enter Cop */
  197.     CreatePickup(1318, 1, 238.7445,139.4836,1003.0234, -1);
  198.     Create3DTextLabel("Beitritt zum Gefängnis! (/enterjail)", 0x00A300FF, 238.7445,139.4836,1003.0234, 20.0, 0, 1);
  199.  
  200.     /* Prisoner Enter Cop */
  201.     CreatePickup(1318, 1, 1701.3378,-1667.9337,20.2188, -1);
  202.     Create3DTextLabel("Beitritt zum Gefängnis! (/enterjail)", 0x00A300FF, 1701.3378, -1667.9337, 20.2188, 20.0, 0, 1);
  203.  
  204.     /* Controlcenter - Jail */
  205.     CreatePickup(1239, 1, 220.5488,-174.4541,5.7925, 0);
  206.     Create3DTextLabel("Zentrale (/zentrale)", 0x0097FFFF, 220.5488,-174.4541,5.7925, 20.0, 0, 1);
  207.  
  208.  
  209.     return 1;
  210. }
  211.  
  212. public OnGameModeExit()
  213. {
  214.     return 1;
  215. }
  216.  
  217. public OnPlayerRequestClass(playerid, classid)
  218. {
  219.     if(!Connection)
  220.         Kick(playerid);
  221.  
  222.     new strQuery[256];
  223.     mysql_format(Handle, strQuery, sizeof(strQuery), "SELECT * FROM accounts WHERE name='%s' LIMIT 1", GetUsername(playerid));
  224.     mysql_tquery(Handle, strQuery, "SQL_CheckAccount", "i", playerid);
  225.  
  226.     return 1;
  227. }
  228.  
  229. public OnPlayerConnect(playerid)
  230. {
  231.     SetPlayerColor(playerid, 0xFFFFFFFF);
  232.  
  233.     RemoveBuildingForPlayer(playerid, 13201, 207.8047, -191.8438, 0.5781, 0.25);
  234.     RemoveBuildingForPlayer(playerid, 13292, 166.6172, -106.5781, 4.4531, 0.25);
  235.     RemoveBuildingForPlayer(playerid, 13293, 201.0938, -106.5781, 4.4531, 0.25);
  236.     RemoveBuildingForPlayer(playerid, 13493, 224.4922, -68.2578, 5.3750, 0.25);
  237.     RemoveBuildingForPlayer(playerid, 1438, 206.3516, -162.6328, 0.5469, 0.25);
  238.     RemoveBuildingForPlayer(playerid, 1308, 193.1172, -153.0000, 0.7031, 0.25);
  239.     RemoveBuildingForPlayer(playerid, 780, 204.9375, -157.5703, 0.8438, 0.25);
  240.     RemoveBuildingForPlayer(playerid, 1294, 185.7969, -138.8359, 5.0313, 0.25);
  241.     RemoveBuildingForPlayer(playerid, 700, 196.3438, -131.0313, 1.0391, 0.25);
  242.     RemoveBuildingForPlayer(playerid, 700, 154.7188, -129.1719, 1.1953, 0.25);
  243.     RemoveBuildingForPlayer(playerid, 1308, 143.4531, -125.6563, 0.7031, 0.25);
  244.     RemoveBuildingForPlayer(playerid, 781, 164.7266, -130.1953, 0.4141, 0.25);
  245.     RemoveBuildingForPlayer(playerid, 781, 176.9766, -131.1406, 0.4141, 0.25);
  246.     RemoveBuildingForPlayer(playerid, 700, 149.3594, -120.8359, 1.0234, 0.25);
  247.     RemoveBuildingForPlayer(playerid, 1536, 207.5000, -113.1250, 3.8828, 0.25);
  248.     RemoveBuildingForPlayer(playerid, 1345, 196.7109, -121.4063, 1.2734, 0.25);
  249.     RemoveBuildingForPlayer(playerid, 781, 146.0625, -112.0391, 0.4141, 0.25);
  250.     RemoveBuildingForPlayer(playerid, 1294, 224.4219, -173.9453, 5.0313, 0.25);
  251.     RemoveBuildingForPlayer(playerid, 773, 218.9063, -167.9922, 0.5391, 0.25);
  252.     RemoveBuildingForPlayer(playerid, 700, 209.5469, -131.1797, 1.0391, 0.25);
  253.     RemoveBuildingForPlayer(playerid, 1308, 222.4766, -137.1250, 0.6172, 0.25);
  254.     RemoveBuildingForPlayer(playerid, 781, 220.6250, -134.5859, 0.4141, 0.25);
  255.     RemoveBuildingForPlayer(playerid, 781, 220.6953, -124.3203, 0.4141, 0.25);
  256.     RemoveBuildingForPlayer(playerid, 700, 209.7656, -123.0547, 1.0391, 0.25);
  257.     RemoveBuildingForPlayer(playerid, 1294, 224.4063, -112.0000, 5.0313, 0.25);
  258.     RemoveBuildingForPlayer(playerid, 12938, 201.0938, -106.5781, 4.4531, 0.25);
  259.     RemoveBuildingForPlayer(playerid, 12940, 166.6172, -106.5781, 4.4531, 0.25);
  260.     RemoveBuildingForPlayer(playerid, 955, 201.0156, -107.6172, 0.8984, 0.25);
  261.     RemoveBuildingForPlayer(playerid, 764, 186.4141, -107.2578, 0.7500, 0.25);
  262.     RemoveBuildingForPlayer(playerid, 766, 180.7734, -108.8047, 0.6484, 0.25);
  263.     RemoveBuildingForPlayer(playerid, 1294, 141.1953, -107.0078, 5.0313, 0.25);
  264.     RemoveBuildingForPlayer(playerid, 13450, 183.8516, -107.6094, 3.0391, 0.25);
  265.     RemoveBuildingForPlayer(playerid, 1345, 165.9219, -107.6328, 1.2734, 0.25);
  266.     RemoveBuildingForPlayer(playerid, 781, 220.9375, -107.3672, 0.4141, 0.25);
  267.     RemoveBuildingForPlayer(playerid, 781, 146.4375, -102.9766, 0.4141, 0.25);
  268.     RemoveBuildingForPlayer(playerid, 781, 221.0000, -97.1016, 0.4141, 0.25);
  269.     RemoveBuildingForPlayer(playerid, 700, 147.8438, -95.6875, 1.0234, 0.25);
  270.     RemoveBuildingForPlayer(playerid, 1345, 182.9922, -93.6172, 1.2734, 0.25);
  271.     RemoveBuildingForPlayer(playerid, 1345, 171.4453, -93.4453, 1.2734, 0.25);
  272.     RemoveBuildingForPlayer(playerid, 700, 155.6797, -85.4375, 1.1953, 0.25);
  273.     RemoveBuildingForPlayer(playerid, 1308, 222.8359, -86.1016, 0.7031, 0.25);
  274.     RemoveBuildingForPlayer(playerid, 1308, 148.0469, -82.2422, 0.7031, 0.25);
  275.     RemoveBuildingForPlayer(playerid, 781, 165.1719, -82.9766, 0.4141, 0.25);
  276.     RemoveBuildingForPlayer(playerid, 781, 175.6250, -82.8125, 0.4141, 0.25);
  277.     RemoveBuildingForPlayer(playerid, 781, 188.7266, -83.0313, 0.4141, 0.25);
  278.     RemoveBuildingForPlayer(playerid, 781, 201.8125, -83.2422, 0.4141, 0.25);
  279.     RemoveBuildingForPlayer(playerid, 1294, 166.4297, -80.2109, 5.0313, 0.25);
  280.     RemoveBuildingForPlayer(playerid, 1294, 208.0547, -80.2109, 5.0313, 0.25);
  281.     RemoveBuildingForPlayer(playerid, 13436, 252.3281, -28.8906, 9.1094, 0.25);
  282.     RemoveBuildingForPlayer(playerid, 1522, 201.9219, -201.5234, 0.5625, 0.25);
  283.     RemoveBuildingForPlayer(playerid, 1522, 204.9531, -201.5000, 0.5625, 0.25);
  284.     RemoveBuildingForPlayer(playerid, 13437, 210.9375, -245.1406, 10.0234, 0.25);
  285.     RemoveBuildingForPlayer(playerid, 12924, 207.8047, -191.8438, 0.5781, 0.25);
  286.     RemoveBuildingForPlayer(playerid, 1308, 225.8516, -195.8125, 0.6172, 0.25);
  287.     RemoveBuildingForPlayer(playerid, 1688, 198.7266, -188.0781, 7.5703, 0.25);
  288.     RemoveBuildingForPlayer(playerid, 1691, 194.2188, -188.7813, 6.9766, 0.25);
  289.     RemoveBuildingForPlayer(playerid, 1687, 209.3750, -187.6172, 7.3828, 0.25);
  290.     RemoveBuildingForPlayer(playerid, 1440, 196.1953, -180.7969, 1.0625, 0.25);
  291.  
  292.     return 1;
  293. }
  294.  
  295. public OnPlayerDisconnect(playerid, reason)
  296. {
  297.     SQL_SaveAccount(playerid);
  298.  
  299.     pInfo[playerid][Confirmed] = false;
  300.     pInfo[playerid][Time] = false;
  301.     pInfo[playerid][CopSkin] = false;
  302.     pInfo[playerid][PrisonerSkin] = false;
  303.     pInfo[playerid][Officer] = false;
  304.     pInfo[playerid][PaydayTime] = false;
  305.     pInfo[playerid][Upgrade] = false;
  306.     pInfo[playerid][Level] = false;
  307.     pInfo[playerid][Money] = false;
  308.     pInfo[playerid][Skin] = false;
  309.     pInfo[playerid][SkinCount] = false;
  310.     pInfo[playerid][Melee] = false;
  311.     pInfo[playerid][Pistol] = false;
  312.     pInfo[playerid][InJail] = false;
  313.     pInfo[playerid][Armor] = false;
  314.  
  315.     if(IsPlayerJailed(playerid))
  316.     {
  317.         new Temp[256];
  318.         pJail[Players]--;
  319.         if(IsPlayerPrisoner(playerid))
  320.         {
  321.             pJail[Prisoners]--;
  322.             format(Temp, sizeof(Temp), "{849CFF}** Gefangener %s hat das Spiel verlassen!", GetUsername(playerid));
  323.         }
  324.         else
  325.         {
  326.             format(Temp, sizeof(Temp), "{849CFF}** Wärter %s hat das Spiel verlassen!", GetUsername(playerid));
  327.             pJail[Officers]--;
  328.         }
  329.         SendClientMessageToAll(-1, Temp);
  330.     }
  331.  
  332.     return 1;
  333. }
  334.  
  335. public OnPlayerSpawn(playerid)
  336. {
  337.     if(IsPlayerLoggedIn(playerid))
  338.     {
  339.         if(pInfo[playerid][Officer])
  340.             SpawnOfficer(playerid);
  341.         else
  342.             SpawnPrisoner(playerid);
  343.  
  344.         if(pInfo[playerid][InJail])
  345.             SpawnInJail(playerid);
  346.     }
  347.     else
  348.     {
  349.         Kick(playerid);
  350.     }
  351.     return 1;
  352. }
  353.  
  354. public OnPlayerDeath(playerid, killerid, reason)
  355. {
  356.     return 1;
  357. }
  358.  
  359. public OnVehicleSpawn(vehicleid)
  360. {
  361.     return 1;
  362. }
  363.  
  364. public OnVehicleDeath(vehicleid, killerid)
  365. {
  366.     return 1;
  367. }
  368.  
  369. public OnPlayerText(playerid, text[])
  370. {
  371.     new Temp[256];
  372.  
  373.     if(IsPlayerPrisoner(playerid))
  374.     {
  375.         format(Temp, sizeof(Temp), "{FF6567}Gefangener %s:{FFFFFF} %s", GetUsername(playerid), text);
  376.         SendClientMessage(playerid, -1, Temp);
  377.     }
  378.     else
  379.     {
  380.         format(Temp, sizeof(Temp), "{008CFF}Wärter %s:{FFFFFF} %s", GetUsername(playerid), text);
  381.         SendClientMessage(playerid, -1, Temp);
  382.     }
  383.     return 0;
  384. }
  385.  
  386. public OnPlayerCommandText(playerid, cmdtext[])
  387. {
  388.     return 0;
  389. }
  390.  
  391. ocmd:team(playerid, params[])
  392. {
  393.     if(IsPlayerLoggedIn(playerid))
  394.     {
  395.         TogglePlayerSpectating(playerid, true);
  396.         InterpolateCameraPos(playerid, 223.138931, -209.686340, 32.131401, 234.480102, -81.005691, 31.686792, 10000);
  397.         InterpolateCameraLookAt(playerid, 220.834838, -206.901214, 28.676805, 230.885742, -83.180137, 28.975269, 10000);
  398.  
  399.         for(new i = 0; i < 20; i++)
  400.             SendClientMessage(playerid, -1, " ");
  401.  
  402.         new Temp[256];
  403.         format(Temp, sizeof(Temp), "{FFFFFF}Du musst nun auswählen in welchem Team du Spielen möchtest.\n");
  404.         ShowPlayerDialog(playerid, DIALOG_TEAM, DIALOG_STYLE_MSGBOX, "Wähle dein Team!", Temp, "{008CFF}Wärter", "{FF6567}Gefangener");
  405.  
  406.         SetPlayerInterior(playerid, 0);
  407.     }
  408.     return 1;
  409. }
  410.  
  411. ocmd:kleidung(playerid, params[])
  412. {
  413.     if(IsPlayerLoggedIn(playerid))
  414.     {
  415.         if(IsPlayerInRangeOfPoint(playerid, 5.0, 254.4144, 190.5917, 1008.1719) || IsPlayerInRangeOfPoint(playerid, 5.0, 1712.3420,-1640.2197,20.2239) )
  416.         {
  417.             if(pInfo[playerid][Money] >= 1500)
  418.             {
  419.                 if(IsPlayerPrisoner(playerid))
  420.                 {
  421.                     SetPlayerPos(playerid, 1726.6606,-1639.7579,23.7191);
  422.                     SetPlayerFacingAngle(playerid, 180);
  423.  
  424.                     SetPlayerCameraPos(playerid, 1726.6815,-1642.1686,24.7657);
  425.                     SetPlayerCameraLookAt(playerid, 1726.6606,-1639.7579,23.7191, 0);
  426.                 }
  427.                 else
  428.                 {
  429.                     SetPlayerPos(playerid, 246.1158,186.0663,1008.1719);
  430.                     SetPlayerFacingAngle(playerid, 360);
  431.  
  432.                     SetPlayerCameraPos(playerid, 246.0719,191.2205,1008.1719);
  433.                     SetPlayerCameraLookAt(playerid, 246.1158,186.0663,1008.1719, 0);
  434.                 }
  435.  
  436.                 TogglePlayerControllable(playerid, false);
  437.                 CleanChat(playerid);
  438.  
  439.                 pInfo[playerid][Money] -= 1500;
  440.                 RefreshMoney(playerid);
  441.  
  442.                 SendClientMessage(playerid, -1, "Verwende die {FFFF00}'Maustasten'{FFFFFF} um dir einen Skin auszusuchen!");
  443.                 SendClientMessage(playerid, -1, "Mit {FFFF00}'ENTER'{FFFFFF} kannst du deine Auswahl bestätigen!");
  444.                 pInfo[playerid][Skin] = true;
  445.             }
  446.             else
  447.             {
  448.                 SendClientMessage(playerid, -1, "{FF6768}Du benötigst mindestens $1500!");
  449.             }
  450.         }
  451.         else
  452.         {
  453.             SendClientMessage(playerid, -1, "{FF6768}Du bist nicht in der nähe eines Kleiderschrank!");
  454.         }
  455.     }
  456.     return 1;
  457. }
  458.  
  459. ocmd:spawnequip(playerid, params[])
  460. {
  461.     if(IsPlayerLoggedIn(playerid))
  462.     {
  463.         if(!IsPlayerPrisoner(playerid))
  464.         {
  465.             new Temp[256];
  466.             format(Temp, sizeof(Temp), "Pistolen\nSchlagwaffen\nArmor", Temp);
  467.             ShowPlayerDialog(playerid, DIALOG_WEAPONS, DIALOG_STYLE_TABLIST, "Spawnwaffen", Temp, "Bestätigen", "Beenden");
  468.         }
  469.     }
  470.     return 1;
  471. }
  472.  
  473. ocmd:enterjail(playerid, params[])
  474. {
  475.     if(IsPlayerLoggedIn(playerid))
  476.     {
  477.         if(IsPlayerInRangeOfPoint(playerid, 5.0, 238.7445,139.4836,1003.0234) || IsPlayerInRangeOfPoint(playerid, 5.0, 1701.3378,-1667.9337,20.2188))
  478.         {
  479.             new Temp[256];
  480.  
  481.             pInfo[playerid][InJail] = true;
  482.             SpawnInJail(playerid);
  483.  
  484.             pJail[Players]++;
  485.  
  486.             if(IsPlayerPrisoner(playerid))
  487.             {
  488.                 pJail[Prisoners]++;
  489.                 format(Temp, sizeof(Temp), "{B5EE00}** Spieler %s ist als Gefangener beigetreten!", GetUsername(playerid));
  490.             }
  491.             else
  492.             {
  493.                 pJail[Officers]++;
  494.                 format(Temp, sizeof(Temp), "{B5EE00}** Spieler %s ist als Wärter beigetreten!", GetUsername(playerid));
  495.             }
  496.  
  497.             SendClientMessageToAll(-1, Temp);
  498.         }
  499.         else
  500.         {
  501.             SendClientMessage(playerid, -1, "{FF6768}Du befindest dich nicht in der nähe zum Einstieg in das Spiel!");
  502.         }
  503.     }
  504.     return 1;
  505. }
  506.  
  507. ocmd:exitjail(playerid, params[])
  508. {
  509.     if(IsPlayerLoggedIn(playerid))
  510.     {
  511.         if(IsPlayerJailed(playerid))
  512.         {
  513.             new Temp[256];
  514.             pInfo[playerid][InJail] = false;
  515.  
  516.             pJail[Players]--;
  517.  
  518.             if(IsPlayerPrisoner(playerid))
  519.             {
  520.                 pJail[Prisoners]--;
  521.                 format(Temp, sizeof(Temp), "{849CFF}** Gefangener %s hat das Spiel verlassen!", GetUsername(playerid));
  522.                 SpawnPrisoner(playerid);
  523.             }
  524.             else
  525.             {
  526.                 format(Temp, sizeof(Temp), "{849CFF}** Wärter %s hat das Spiel verlassen!", GetUsername(playerid));
  527.                 pJail[Officers]--;
  528.                 SpawnOfficer(playerid);
  529.             }
  530.  
  531.             SendClientMessageToAll(-1, Temp);
  532.         }
  533.         else
  534.         {
  535.             SendClientMessage(playerid, -1, "{FF6768}Du bist nicht im Gefängnis und kannst es nicht verlassen!");
  536.         }
  537.     }
  538.     return 1;
  539. }
  540.  
  541. ocmd:zentrale(playerid, params[])
  542. {
  543.     CentralMenu(playerid);
  544.     return 1;
  545. }
  546.  
  547. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  548. {
  549.     return 1;
  550. }
  551.  
  552. public OnPlayerExitVehicle(playerid, vehicleid)
  553. {
  554.     return 1;
  555. }
  556.  
  557. public OnPlayerStateChange(playerid, newstate, oldstate)
  558. {
  559.     return 1;
  560. }
  561.  
  562. public OnPlayerEnterCheckpoint(playerid)
  563. {
  564.     return 1;
  565. }
  566.  
  567. public OnPlayerLeaveCheckpoint(playerid)
  568. {
  569.     return 1;
  570. }
  571.  
  572. public OnPlayerEnterRaceCheckpoint(playerid)
  573. {
  574.     return 1;
  575. }
  576.  
  577. public OnPlayerLeaveRaceCheckpoint(playerid)
  578. {
  579.     return 1;
  580. }
  581.  
  582. public OnRconCommand(cmd[])
  583. {
  584.     return 1;
  585. }
  586.  
  587. public OnPlayerRequestSpawn(playerid)
  588. {
  589.     return 1;
  590. }
  591.  
  592. public OnObjectMoved(objectid)
  593. {
  594.     return 1;
  595. }
  596.  
  597. public OnPlayerObjectMoved(playerid, objectid)
  598. {
  599.     return 1;
  600. }
  601.  
  602. public OnPlayerPickUpPickup(playerid, pickupid)
  603. {
  604.     return 1;
  605. }
  606.  
  607. public OnVehicleMod(playerid, vehicleid, componentid)
  608. {
  609.     return 1;
  610. }
  611.  
  612. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  613. {
  614.     return 1;
  615. }
  616.  
  617. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  618. {
  619.     return 1;
  620. }
  621.  
  622. public OnPlayerSelectedMenuRow(playerid, row)
  623. {
  624.     return 1;
  625. }
  626.  
  627. public OnPlayerExitedMenu(playerid)
  628. {
  629.     return 1;
  630. }
  631.  
  632. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  633. {
  634.     return 1;
  635. }
  636.  
  637. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  638. {
  639.     if(pInfo[playerid][Skin])
  640.     {
  641.         if(newkeys & KEY_FIRE && pInfo[playerid][SkinCount] <= 6)
  642.             pInfo[playerid][SkinCount]++;
  643.  
  644.         if(newkeys & KEY_HANDBRAKE  && pInfo[playerid][SkinCount] >= 0)
  645.             pInfo[playerid][SkinCount]--;
  646.  
  647.         if(newkeys & KEY_SECONDARY_ATTACK)
  648.         {
  649.             pInfo[playerid][Skin] = false;
  650.             SpawnPlayer(playerid);
  651.  
  652.             if(IsPlayerPrisoner(playerid))
  653.                 pInfo[playerid][PrisonerSkin] = PrisonerSkins[pInfo[playerid][SkinCount]];
  654.             else
  655.                 pInfo[playerid][CopSkin] = CopSkins[pInfo[playerid][SkinCount]];
  656.         }
  657.  
  658.         if(IsPlayerPrisoner(playerid))
  659.             SetPlayerSkin(playerid, PrisonerSkins[pInfo[playerid][SkinCount]]);
  660.         else
  661.             SetPlayerSkin(playerid, CopSkins[pInfo[playerid][SkinCount]]);
  662.     }
  663.  
  664.     return 1;
  665. }
  666.  
  667. public OnRconLoginAttempt(ip[], password[], success)
  668. {
  669.     return 1;
  670. }
  671.  
  672. public OnPlayerUpdate(playerid)
  673. {
  674.     return 1;
  675. }
  676.  
  677. public OnPlayerStreamIn(playerid, forplayerid)
  678. {
  679.     return 1;
  680. }
  681.  
  682. public OnPlayerStreamOut(playerid, forplayerid)
  683. {
  684.     return 1;
  685. }
  686.  
  687. public OnVehicleStreamIn(vehicleid, forplayerid)
  688. {
  689.     return 1;
  690. }
  691.  
  692. public OnVehicleStreamOut(vehicleid, forplayerid)
  693. {
  694.     return 1;
  695. }
  696.  
  697. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  698. {
  699.     if(dialogid == DIALOG_REGISTER)
  700.     {
  701.         if(response)
  702.         {
  703.             if(strlen(inputtext) >= 6)
  704.             {
  705.                 new strQuery[256];
  706.                 mysql_format(Handle, strQuery, sizeof(strQuery), "INSERT INTO accounts (name, password, level, money) VALUES ('%e', '%e', '%i', '%i')", GetUsername(playerid), MD5_Hash(inputtext), 1, 30000);
  707.                 mysql_tquery(Handle, strQuery, "", "");
  708.  
  709.                 mysql_format(Handle, strQuery, sizeof(strQuery), "SELECT * FROM accounts WHERE name='%e' AND password='%e' LIMIT 1", GetUsername(playerid), MD5_Hash(inputtext));
  710.                 mysql_tquery(Handle, strQuery, "SQL_CheckPassword", "i", playerid);
  711.  
  712.                 ShowPlayerDialog(playerid, DIALOG_WELCOME, DIALOG_STYLE_MSGBOX, "Erfolgreich!", "{FFFFFF}Du hast dir erfolgreich einen Account erstellt!", "Weiter", "");
  713.             }
  714.             else
  715.             {
  716.                 SendClientMessage(playerid, -1, "{FF6768}Dein Passwort muss mindestens 6. Zeichen lang sein!");
  717.  
  718.                 new Temp[256];
  719.                 format(Temp, sizeof(Temp), "{FFFFFF}Unser System konnte {FF6768}keinen{FFFFFF} Account mit deinem Namen finden.\n");
  720.                 format(Temp, sizeof(Temp), "%sGib ein Passwort an und drücke anschließend auf {FFFF00}'Weiter'{FFFFFF} um einen Account zu erstellen.", Temp);
  721.                 ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", Temp, "Weiter", "Beenden");
  722.             }
  723.         }
  724.         else
  725.         {
  726.             Kick(playerid);
  727.         }
  728.     }
  729.  
  730.     if(dialogid == DIALOG_LOGIN)
  731.     {
  732.         if(response)
  733.         {
  734.             new strQuery[256];
  735.             mysql_format(Handle, strQuery, sizeof(strQuery), "SELECT * FROM accounts WHERE name='%e' AND password='%e' LIMIT 1", GetUsername(playerid), MD5_Hash(inputtext));
  736.             mysql_tquery(Handle, strQuery, "SQL_CheckPassword", "i", playerid);
  737.         }
  738.         else
  739.         {
  740.             Kick(playerid);
  741.         }
  742.     }
  743.  
  744.     if(dialogid == DIALOG_TEAM)
  745.     {
  746.         if(response)
  747.         {
  748.             if(pInfo[playerid][Time] >= 30)
  749.             {
  750.                 TogglePlayerSpectating(playerid, false);
  751.                 StopAudioStreamForPlayer(playerid);
  752.                 pInfo[playerid][Officer] = true;
  753.                 SpawnPlayer(playerid);
  754.                 SpawnOfficer(playerid);
  755.                 SendClientMessage(playerid, -1, "{6C98FF}Du bist nun ein Wärter, bereite dich auf deinen Einsatz vor!");
  756.             }
  757.             else
  758.             {
  759.                 new Temp[256];
  760.                 format(Temp, sizeof(Temp), "{FFFFFF}Du musst nun auswählen in welchem Team du Spielen möchtest.\n");
  761.                 ShowPlayerDialog(playerid, DIALOG_TEAM, DIALOG_STYLE_MSGBOX, "Wähle dein Team!", Temp, "{008CFF}Wärter", "{FF6567}Gefangener");
  762.  
  763.                 format(Temp, sizeof(Temp), "{FF6768}Um als Wärter spielen zu können, benötigst du mindestens 30. Spielminuten!");
  764.                 SendClientMessage(playerid, -1, Temp);
  765.             }
  766.         }
  767.         else
  768.         {
  769.                 TogglePlayerSpectating(playerid, false);
  770.                 StopAudioStreamForPlayer(playerid);
  771.                 pInfo[playerid][Officer] = false;
  772.                 SpawnPlayer(playerid);
  773.                 SpawnPrisoner(playerid);
  774.                 SendClientMessage(playerid, -1, "{6C98FF}Du bist nun ein Gefangener, bereite dich auf das Gefängnis vor!");
  775.         }
  776.     }
  777.  
  778.     if(dialogid == DIALOG_WEAPONS)
  779.     {
  780.         if(response)
  781.         {
  782.             if(listitem == 0)
  783.             {
  784.                 new Temp[256];
  785.                 format(Temp, sizeof(Temp), "Waffe\tPreis\tLevel\n");
  786.  
  787.                 if(pInfo[playerid][Pistol] == 22)
  788.                     format(Temp, sizeof(Temp), "%s{FFFF00}Standart Pistole\t$5000\t3{FFFFFF}\n", Temp);
  789.                 else
  790.                     format(Temp, sizeof(Temp), "%sStandart Pistole\t$5000\t3\n", Temp);
  791.  
  792.                 if(pInfo[playerid][Pistol] == 23)
  793.                     format(Temp, sizeof(Temp), "%s{FFFF00}Schalldämpfer Pistole\t$10000\t6{FFFFFF}\n", Temp);
  794.                 else
  795.                    format(Temp, sizeof(Temp), "%sSchalldämpfer Pistole\t$10000\t6\n", Temp);
  796.  
  797.                 if(pInfo[playerid][Pistol] == 24)
  798.                     format(Temp, sizeof(Temp), "%s{FFFF00}Desert Eagle\t$15000\t12{FFFFFF}\n", Temp);
  799.                 else
  800.                     format(Temp, sizeof(Temp), "%sDesert Eagle\t$15000\t12\n", Temp);
  801.  
  802.  
  803.  
  804.                 ShowPlayerDialog(playerid, DIALOG_HANDWEAPS, DIALOG_STYLE_TABLIST_HEADERS, "Pistolen", Temp, "Auswählen", "Beenden");
  805.             }
  806.             if(listitem == 1)
  807.             {
  808.                 new Temp[256];
  809.                 format(Temp, sizeof(Temp), "Waffe\tPreis\tLevel\n");
  810.  
  811.                 if(pInfo[playerid][Melee] == 2)
  812.                     format(Temp, sizeof(Temp), "%s{FFFF00}Golfschläger\t$1000\t3{FFFFFF}\n", Temp);
  813.                 else
  814.                     format(Temp, sizeof(Temp), "%sGolfschläger\t$1000\t3\n", Temp);
  815.  
  816.                 if(pInfo[playerid][Melee] == 3)
  817.                     format(Temp, sizeof(Temp), "%s{FFFF00}Schlagstock\t$1200\t6{FFFFFF}\n", Temp);
  818.                 else
  819.                    format(Temp, sizeof(Temp), "%sSchlagstock\t$1200\t6\n", Temp);
  820.  
  821.                 if(pInfo[playerid][Melee] == 6)
  822.                     format(Temp, sizeof(Temp), "%s{FFFF00}Schaufel\t$1300\t12{FFFFFF}\n", Temp);
  823.                 else
  824.                     format(Temp, sizeof(Temp), "%sSchaufel\t$1300\t12\n", Temp);
  825.  
  826.  
  827.                 ShowPlayerDialog(playerid, DIALOG_MELEEWEAPS, DIALOG_STYLE_TABLIST_HEADERS, "Schlagwaffen", Temp, "Auswählen", "Beenden");
  828.             }
  829.             if(listitem == 2)
  830.             {
  831.                 new Temp[256];
  832.                 format(Temp, sizeof(Temp), "Wert\tPreis\tLevel\n");
  833.  
  834.                 if(pInfo[playerid][Armor] == 25)
  835.                     format(Temp, sizeof(Temp), "%s{FFFF00}Schutzweste auf 25 Prozent\t$5000\t3{FFFFFF}\n", Temp);
  836.                 else
  837.                     format(Temp, sizeof(Temp), "%sSchutzweste auf 25 Prozent\t$5000\t3\n", Temp);
  838.  
  839.                 if(pInfo[playerid][Armor] == 70)
  840.                     format(Temp, sizeof(Temp), "%s{FFFF00}Schutzweste auf 70 Prozent\t$10000\t6{FFFFFF}\n", Temp);
  841.                 else
  842.                    format(Temp, sizeof(Temp), "%sSchutzweste auf 70 Prozent\t$10000\t6\n", Temp);
  843.  
  844.                 if(pInfo[playerid][Armor] == 100)
  845.                     format(Temp, sizeof(Temp), "%s{FFFF00}Schutzweste auf 100 Prozent\t$15000\t12{FFFFFF}\n", Temp);
  846.                 else
  847.                     format(Temp, sizeof(Temp), "%sSchutzweste auf 100 Prozent\t$15000\t12\n", Temp);
  848.  
  849.  
  850.                 ShowPlayerDialog(playerid, DIALOG_ARMORWEAPS, DIALOG_STYLE_TABLIST_HEADERS, "Schutzwesten", Temp, "Auswählen", "Beenden");
  851.             }
  852.         }
  853.     }
  854.  
  855.     if(dialogid == DIALOG_HANDWEAPS)
  856.     {
  857.         if(response)
  858.         {
  859.             if(listitem == 0)
  860.             {
  861.                 if(pInfo[playerid][Level] >= 3)
  862.                     SetPistolWeapon(playerid, 22, 5000, "Du hast dir die normalen Pistolen geholt!");
  863.             }
  864.             if(listitem == 1)
  865.             {
  866.                 if(pInfo[playerid][Level] >= 6)
  867.                     SetPistolWeapon(playerid, 23, 10000, "Du hast dir die Schalldämpfer Pistole geholt!");
  868.             }
  869.             if(listitem == 2)
  870.             {
  871.                 if(pInfo[playerid][Level] >= 12)
  872.                     SetPistolWeapon(playerid, 24, 15000, "Du hast dir die Desert Eagle geholt!");
  873.             }
  874.         }
  875.     }
  876.  
  877.     if(dialogid == DIALOG_MELEEWEAPS)
  878.     {
  879.         if(response)
  880.         {
  881.             if(listitem == 0)
  882.             {
  883.                 if(pInfo[playerid][Level] >= 3)
  884.                     SetMeleeWeapon(playerid, 2, 1000, "Du hast dir einen Golfschläger gekauft!");
  885.             }
  886.             if(listitem == 1)
  887.             {
  888.                 if(pInfo[playerid][Level] >= 6)
  889.                     SetMeleeWeapon(playerid, 3, 1100, "Du hast dir einen Schlagstock gekauft!");
  890.             }
  891.             if(listitem == 2)
  892.             {
  893.                 if(pInfo[playerid][Level] >= 12)
  894.                     SetMeleeWeapon(playerid, 6, 1000, "Du hast dir eine Schaufel gekauft!");
  895.             }
  896.         }
  897.     }
  898.  
  899.     if(dialogid == DIALOG_ARMORWEAPS)
  900.     {
  901.         if(response)
  902.         {
  903.             if(listitem == 0)
  904.             {
  905.                 if(pInfo[playerid][Level] >= 3)
  906.                     SetArmorPlayer(playerid, 25, 1000, "Du hast dir 25 prozent Schutzweste gekauft!");
  907.             }
  908.             if(listitem == 1)
  909.             {
  910.                 if(pInfo[playerid][Level] >= 6)
  911.                     SetArmorPlayer(playerid, 70, 10000, "Du hast dir 70 prozent Schutzweste gekauft!");
  912.             }
  913.             if(listitem == 2)
  914.             {
  915.                 if(pInfo[playerid][Level] >= 12)
  916.                     SetArmorPlayer(playerid, 100, 15000, "Du hast dir 100 prozent Schutzweste gekauft!");
  917.             }
  918.         }
  919.     }
  920.  
  921.     if(dialogid == DIALOG_CENTRAL)
  922.     {
  923.         if(response)
  924.         {
  925.             if(listitem == 0)
  926.             {
  927.                 OpenJails(playerid);
  928.                 CentralMenu(playerid);
  929.             }
  930.         }
  931.     }
  932.     return 1;
  933. }
  934.  
  935. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  936. {
  937.     return 1;
  938. }
  939.  
  940. stock GetUsername(playerid)
  941. {
  942.     new Temp[32];
  943.     GetPlayerName(playerid, Temp, sizeof(Temp));
  944.     return Temp;
  945. }
  946.  
  947. stock IsPlayerLoggedIn(playerid)
  948. {
  949.     if(pInfo[playerid][Confirmed])
  950.         return true;
  951.     else
  952.         return false;
  953. }
  954.  
  955. stock RefreshMoney(playerid)
  956. {
  957.     ResetPlayerMoney(playerid);
  958.     GivePlayerMoney(playerid, pInfo[playerid][Money]);
  959.     return 1;
  960. }
  961.  
  962. stock CleanChat(playerid)
  963. {
  964.     for(new i = 0; i < 20; i++)
  965.     {
  966.         SendClientMessage(playerid, -1, " ");
  967.     }
  968.     return 1;
  969. }
  970.  
  971. stock IsPlayerPrisoner(playerid)
  972. {
  973.     if(pInfo[playerid][Officer])
  974.         return false;
  975.     else
  976.         return true;
  977. }
  978.  
  979. stock SpawnPlayerCorrect(playerid, Float:x, Float:y, Float:z, Float:angle)
  980. {
  981.     SetPlayerPos(playerid, x, y, z);
  982.     SetPlayerFacingAngle(playerid, angle);
  983.     SetCameraBehindPlayer(playerid);
  984.     return true;
  985. }
  986.  
  987. stock IsPlayerJailed(playerid)
  988. {
  989.     if(pInfo[playerid][InJail])
  990.         return true;
  991.     else
  992.         return false;
  993. }
  994.  
  995. stock SetMeleeWeapon(playerid, weapon, price, msg[])
  996. {
  997.     if(pInfo[playerid][Money] >= price)
  998.     {
  999.         pInfo[playerid][Money] -= price;
  1000.         pInfo[playerid][Melee] = weapon;
  1001.         GivePlayerWeapon(playerid, weapon, 120);
  1002.         RefreshMoney(playerid);
  1003.         SendClientMessage(playerid, -1, msg);
  1004.     }
  1005.     else
  1006.     {
  1007.         SendClientMessage(playerid, -1, "{FF0000}Du kannst dir dieses Produkt nicht leisten!");
  1008.     }
  1009.     return true;
  1010. }
  1011.  
  1012. stock SetPistolWeapon(playerid, weapon, price, msg[])
  1013. {
  1014.     if(pInfo[playerid][Money] >= price)
  1015.     {
  1016.         pInfo[playerid][Money] -= price;
  1017.         pInfo[playerid][Pistol] = weapon;
  1018.         GivePlayerWeapon(playerid, weapon, 120);
  1019.         RefreshMoney(playerid);
  1020.         SendClientMessage(playerid, -1, msg);
  1021.     }
  1022.     else
  1023.     {
  1024.         SendClientMessage(playerid, -1, "{FF0000}Du kannst dir dieses Produkt nicht leisten!");
  1025.     }
  1026.     return true;
  1027. }
  1028.  
  1029. stock SetArmorPlayer(playerid, amount, price, msg[])
  1030. {
  1031.     if(pInfo[playerid][Money] >= price)
  1032.     {
  1033.         pInfo[playerid][Money] -= price;
  1034.         pInfo[playerid][Armor] = amount;
  1035.         SetPlayerArmour(playerid, amount);
  1036.         RefreshMoney(playerid);
  1037.         SendClientMessage(playerid, -1, msg);
  1038.     }
  1039.     else
  1040.     {
  1041.         SendClientMessage(playerid, -1, "{FF0000}Du kannst dir dieses Produkt nicht leisten!");
  1042.     }
  1043.  
  1044.     return true;
  1045. }
  1046.  
  1047.  
  1048.  
  1049. public SQL_Connect(ip[], name[], pass[], data[])
  1050. {
  1051.     Handle = mysql_connect(ip, name, data, pass);
  1052.  
  1053.     if(mysql_errno())
  1054.     {
  1055.         printf("[SQL] KEINE VERBINDUNG ZUR DATENBANK MOEGLICH!");
  1056.         Connection = false;
  1057.     }
  1058.     else
  1059.     {
  1060.         printf("[SQL] VERBINDUNG ZUR DATENBANK WURDE HERGESTELLT!");
  1061.         Connection = true;
  1062.     }
  1063.  
  1064. }
  1065.  
  1066. public SQL_CheckAccount(playerid)
  1067. {
  1068.     new Fields, Rows;
  1069.     cache_get_data(Rows, Fields, Handle);
  1070.  
  1071.     PlayAudioStreamForPlayer(playerid, "http://localhost/theme.mp3");
  1072.  
  1073.     TogglePlayerSpectating(playerid, true);
  1074.     InterpolateCameraPos(playerid, 433.658966, -2110.827392, 39.952560, 437.411956, -1777.464111, 10.099081, 10000);
  1075.     InterpolateCameraLookAt(playerid, 430.606811, -2107.437255, 37.905204, 434.100738, -1773.718139, 10.158975, 10000);
  1076.  
  1077.     for(new i = 0; i < 20; i++)
  1078.         SendClientMessage(playerid, -1, " ");
  1079.  
  1080.     if(Rows)
  1081.     {
  1082.         SendClientMessage(playerid, -1, "Willkommen auf {FF9700}German Prison Break{FFFFFF}!");
  1083.         SendClientMessage(playerid, -1, "Bitte gib dein Passwort ein um dich in deinen Account einzuloggen!");
  1084.  
  1085.         new Temp[256];
  1086.         format(Temp, sizeof(Temp), "{FFFFFF}Unser System konnte einen Account mit deinem Namen finden.\n");
  1087.         format(Temp, sizeof(Temp), "%sGib dein Passwort an und drücke anschließend auf {FFFF00}'Weiter'{FFFFFF} um dich einzuloggen.", Temp);
  1088.         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", Temp, "Weiter", "Beenden");
  1089.     }
  1090.     else
  1091.     {
  1092.         SendClientMessage(playerid, -1, "Willkommen auf {FF9700}German Prison Break{FFFFFF}!");
  1093.         SendClientMessage(playerid, -1, "Um auf diesem Server spielen zu können benötigst du einen Account!");
  1094.  
  1095.         new Temp[256];
  1096.         format(Temp, sizeof(Temp), "{FFFFFF}Unser System konnte {FF6768}keinen{FFFFFF} Account mit deinem Namen finden.\n");
  1097.         format(Temp, sizeof(Temp), "%sGib ein Passwort an und drücke anschließend auf {FFFF00}'Weiter'{FFFFFF} um einen Account zu erstellen.", Temp);
  1098.         ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", Temp, "Weiter", "Beenden");
  1099.     }
  1100. }
  1101.  
  1102. public SQL_CheckPassword(playerid)
  1103. {
  1104.     new Fields, Rows;
  1105.     cache_get_data(Rows, Fields, Handle);
  1106.  
  1107.     if(Rows)
  1108.     {
  1109.         InterpolateCameraPos(playerid, 223.138931, -209.686340, 32.131401, 234.480102, -81.005691, 31.686792, 10000);
  1110.         InterpolateCameraLookAt(playerid, 220.834838, -206.901214, 28.676805, 230.885742, -83.180137, 28.975269, 10000);
  1111.  
  1112.         for(new i = 0; i < 20; i++)
  1113.             SendClientMessage(playerid, -1, " ");
  1114.  
  1115.         SendClientMessage(playerid, -1, "{95FF00}Du hast dich erfolgreich in deinen Account eingeloggt!");
  1116.         SendClientMessage(playerid, -1, "Solltest du noch fragen zur Spielweise haben so verwende {008CFF}'/help'{FFFFFF}.");
  1117.  
  1118.         new Temp[256];
  1119.         format(Temp, sizeof(Temp), "{FFFFFF}Du musst nun auswählen in welchem Team du Spielen möchtest.\n");
  1120.         ShowPlayerDialog(playerid, DIALOG_TEAM, DIALOG_STYLE_MSGBOX, "Wähle dein Team!", Temp, "{008CFF}Wärter", "{FF6567}Gefangener");
  1121.  
  1122.         SetPlayerInterior(playerid, 0);
  1123.  
  1124.         pInfo[playerid][Confirmed] = true;
  1125.  
  1126.         SQL_LoadAccount(playerid);
  1127.  
  1128.         TextDrawShowForPlayer(playerid, Watermark);
  1129.         SetPlayerScore(playerid, pInfo[playerid][Level]);
  1130.         RefreshMoney(playerid);
  1131.     }
  1132.     else
  1133.     {
  1134.         for(new i = 0; i < 20; i++)
  1135.             SendClientMessage(playerid, -1, " ");
  1136.  
  1137.         SendClientMessage(playerid, -1, "{FF6768}Dein Passwort stimmt nicht überein!");
  1138.  
  1139.         new Temp[256];
  1140.         format(Temp, sizeof(Temp), "{FFFFFF}Unser System konnte einen Account mit deinem Namen finden.\n");
  1141.         format(Temp, sizeof(Temp), "%sGib dein Passwort an und drücke anschließend auf {FFFF00}'Weiter'{FFFFFF} um dich einzuloggen.", Temp);
  1142.         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", Temp, "Weiter", "Beenden");
  1143.     }
  1144. }
  1145.  
  1146. public SQL_LoadAccount(playerid)
  1147. {
  1148.     if(pInfo[playerid][Confirmed])
  1149.     {
  1150.         pInfo[playerid][Time] = cache_get_field_content_int(0, "time", Handle);
  1151.         pInfo[playerid][CopSkin] = cache_get_field_content_int(0, "copskin", Handle);
  1152.         pInfo[playerid][PrisonerSkin] = cache_get_field_content_int(0, "prisonerskin", Handle);
  1153.         pInfo[playerid][PaydayTime] = cache_get_field_content_int(0, "payday", Handle);
  1154.         pInfo[playerid][Upgrade] = cache_get_field_content_int(0, "upgrade", Handle);
  1155.         pInfo[playerid][Level] = cache_get_field_content_int(0, "level", Handle);
  1156.         pInfo[playerid][Money] = cache_get_field_content_int(0, "money", Handle);
  1157.  
  1158.         new Temp[256];
  1159.         new Rows, Fields;
  1160.         mysql_format(Handle, Temp, sizeof(Temp), "SELECT * FROM weapons WHERE name='%e'", GetUsername(playerid));
  1161.         mysql_query(Handle, Temp);
  1162.  
  1163.         cache_get_data(Rows, Fields, Handle);
  1164.  
  1165.         if(Rows)
  1166.         {
  1167.             pInfo[playerid][Melee] = cache_get_field_content_int(0, "melee", Handle);
  1168.             pInfo[playerid][Pistol] = cache_get_field_content_int(0, "pistol", Handle);
  1169.             pInfo[playerid][Armor] = cache_get_field_content_int(0, "armor", Handle);
  1170.         }
  1171.         else
  1172.         {
  1173.             mysql_format(Handle, Temp, sizeof(Temp), "INSERT INTO weapons (name, melee, pistol) VALUES ('%e', '%i', '%i')", GetUsername(playerid), 0, 0);
  1174.             mysql_query(Handle, Temp);
  1175.         }
  1176.     }
  1177. }
  1178.  
  1179. public SQL_SaveAccount(playerid)
  1180. {
  1181.     if(IsPlayerLoggedIn(playerid))
  1182.     {
  1183.         new strQuery[256];
  1184.         mysql_format(Handle, strQuery, sizeof(strQuery), "UPDATE accounts SET time='%i', copskin='%i', prisonerskin='%i', payday='%i', upgrade='%i', level='%i', money='%i' WHERE name='%e'",
  1185.         pInfo[playerid][Time],
  1186.         pInfo[playerid][CopSkin],
  1187.         pInfo[playerid][PrisonerSkin],
  1188.         pInfo[playerid][PaydayTime],
  1189.         pInfo[playerid][Upgrade],
  1190.         pInfo[playerid][Level],
  1191.         pInfo[playerid][Money],
  1192.         GetUsername(playerid));
  1193.         mysql_tquery(Handle, strQuery, "", "");
  1194.  
  1195.         mysql_format(Handle, strQuery, sizeof(strQuery), "UPDATE weapons SET melee='%i', pistol='%i', armor='%i' WHERE name='%e'", pInfo[playerid][Melee], pInfo[playerid][Pistol], pInfo[playerid][Armor], GetUsername(playerid));
  1196.         mysql_query(Handle, strQuery);
  1197.     }
  1198. }
  1199.  
  1200. public SpawnOfficer(playerid)
  1201. {
  1202.     TogglePlayerSpectating(playerid, false);
  1203.     new RandomInt = random(sizeof(CopBaseSpawn));
  1204.     SpawnPlayerCorrect(playerid, CopBaseSpawn[RandomInt][0], CopBaseSpawn[RandomInt][1], CopBaseSpawn[RandomInt][2], CopBaseSpawn[RandomInt][3]);
  1205.  
  1206.     SetPlayerInterior(playerid, 3);
  1207.     SetPlayerSkin(playerid, pInfo[playerid][CopSkin]);
  1208.     GivePlayerWeapon(playerid, pInfo[playerid][Melee], 1);
  1209.     GivePlayerWeapon(playerid, pInfo[playerid][Pistol], 120);
  1210.     SetPlayerArmour(playerid, pInfo[playerid][Armor]);
  1211.     return 1;
  1212. }
  1213.  
  1214. public SpawnPrisoner(playerid)
  1215. {
  1216.     TogglePlayerSpectating(playerid, false);
  1217.     new RandomInt = random(sizeof(PrisonerBaseSpawn));
  1218.     SpawnPlayerCorrect(playerid, PrisonerBaseSpawn[RandomInt][0], PrisonerBaseSpawn[RandomInt][1], PrisonerBaseSpawn[RandomInt][2], PrisonerBaseSpawn[RandomInt][3]);
  1219.     SetPlayerInterior(playerid, 18);
  1220.     SetPlayerSkin(playerid, pInfo[playerid][PrisonerSkin]);
  1221.     return 1;
  1222. }
  1223.  
  1224. public Payday()
  1225. {
  1226.     for(new i = 0; i < MAX_PLAYERS; i++)
  1227.     {
  1228.         if(IsPlayerLoggedIn(i))
  1229.         {
  1230.             pInfo[i][PaydayTime]++;
  1231.             pInfo[i][Time]++;
  1232.  
  1233.             if(pInfo[i][PaydayTime] >= 30)
  1234.             {
  1235.                 pInfo[i][PaydayTime] = false;
  1236.                 pInfo[i][Upgrade]++;
  1237.                 SendClientMessage(i, -1, "{00AFFF}Du hast soebend einen Payday erhalten! (+1 Upgradepoint)");
  1238.                 SQL_SaveAccount(i);
  1239.             }
  1240.  
  1241.             if(pInfo[i][Time] == 60)
  1242.             {
  1243.                 SendClientMessage(i, -1, "Gratulation! Du hast soebend {FF6768}30{FFFFFF} Spielminuten erreicht!");
  1244.                 SendClientMessage(i, -1, "Nun kannst du beim nächsten Login als {00AFFF}Wärter{FFFFFF} in den Kampf ziehen!");
  1245.                 SendClientMessage(i, -1, "{FFFF00}Als dank dafür, schenken wir dir $15.000!");
  1246.                 pInfo[i][Money] += 15000;
  1247.                 RefreshMoney(i);
  1248.             }
  1249.  
  1250.             if(pInfo[i][Upgrade] == pInfo[i][Level] * 2)
  1251.             {
  1252.                 new Temp[256];
  1253.                 format(Temp, sizeof(Temp), "Spieler {B0FF5B}%s{FFFFFF} hat Level {FF6768}%i{FFFFFF} erreicht!", GetUsername(i), pInfo[i][Level] + 1);
  1254.                 SendClientMessageToAll(-1, Temp);
  1255.  
  1256.                 pInfo[i][Level]++;
  1257.                 pInfo[i][Upgrade] = false;
  1258.                 SetPlayerScore(i, pInfo[i][Level]);
  1259.                 SQL_SaveAccount(i);
  1260.             }
  1261.         }
  1262.     }
  1263.     return 1;
  1264. }
  1265.  
  1266.  
  1267. public SpawnInJail(playerid)
  1268. {
  1269.     if(IsPlayerPrisoner(playerid))
  1270.     {
  1271.         new RandomInt = random(sizeof(PrisonerSpawnJail));
  1272.         SpawnPlayerCorrect(playerid, PrisonerSpawnJail[RandomInt][0], PrisonerSpawnJail[RandomInt][1], PrisonerSpawnJail[RandomInt][2], PrisonerSpawnJail[RandomInt][3]);
  1273.     }
  1274.     else
  1275.     {
  1276.         new RandomInt = random(sizeof(CopSpawnJail));
  1277.         SpawnPlayerCorrect(playerid, CopSpawnJail[RandomInt][0], CopSpawnJail[RandomInt][1], CopSpawnJail[RandomInt][2], CopSpawnJail[RandomInt][3]);
  1278.     }
  1279.  
  1280.     SetPlayerInterior(playerid, 0);
  1281.  
  1282.     return 1;
  1283. }
  1284.  
  1285. public OpenJails(playerid)
  1286. {
  1287.     if(IsPlayerLoggedIn(playerid))
  1288.     {
  1289.         new Temp[256];
  1290.  
  1291.         if(JailDoorOpen)
  1292.         {
  1293.             format(Temp, sizeof(Temp), "{FF6768}*** Die Türen der Gefängniszellen wurden von {FFFF68}%s{FF6768} geöffnet. ***", GetUsername(playerid));
  1294.             for(new i = 0; i < sizeof(JailDoor); i++) { MoveObject(JailDoor[i], DoorPos[i][0], DoorPos[i][1], DoorPos[i][2] - 3, 0.5, 0, 0); }
  1295.         }
  1296.         else
  1297.         {
  1298.             format(Temp, sizeof(Temp), "{FF6768}*** Die Türen der Gefängniszellen wurden von {FFFF68}%s{FF6768} geschlossen! ***", GetUsername(playerid));
  1299.             for(new i = 0; i < sizeof(JailDoor); i++) { MoveObject(JailDoor[i], DoorPos[i][0], DoorPos[i][1], DoorPos[i][2], 0.5, 0, 0); }
  1300.         }
  1301.  
  1302.         JailDoorOpen = !JailDoorOpen;
  1303.         SendClientMessageToAll(-1, Temp);
  1304.     }
  1305.     return 1;
  1306. }
  1307.  
  1308. public CentralMenu(playerid)
  1309. {
  1310.     if(IsPlayerLoggedIn(playerid) && IsPlayerInRangeOfPoint(playerid, 5.0, 220.5488,-174.4541,5.7925))
  1311.     {
  1312.         new Temp[512];
  1313.  
  1314.         if(JailDoorOpen)
  1315.             format(Temp, sizeof(Temp), "Türen der Gefängniszellen - {FF6768}Geschlossen!{FFFFFF}\n");
  1316.         else
  1317.             format(Temp, sizeof(Temp), "Türen der Gefängniszellen - {00FF00}Geöffnet!{FFFFFF}\n");
  1318.  
  1319.         format(Temp, sizeof(Temp), "%sTür zum Massenjail - {FF6768}Geschlossen!{FFFFFF}\n", Temp);
  1320.         format(Temp, sizeof(Temp), "%sTür zur Heilkammer - {FF6768}Geschlossen!{FFFFFF}\n", Temp);
  1321.         format(Temp, sizeof(Temp), "%sTür zur Waffenkammer - {FF6768}Geschlossen!{FFFFFF}\n", Temp);
  1322.  
  1323.         ShowPlayerDialog(playerid, DIALOG_CENTRAL, DIALOG_STYLE_TABLIST, "Zentrale", Temp, "Wählen", "Beenden");
  1324.     }
  1325.     else
  1326.     {
  1327.         SendClientMessage(playerid, -1, "{FF6768}Du bist nicht in der nähe der Zentrale!");
  1328.     }
  1329.     return 1;
  1330. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement