Advertisement
Guest User

Selfmade by Cal44

a guest
Apr 13th, 2011
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 27.49 KB | None | 0 0
  1. /*
  2. Folgende Datein müssen vorhanden sein:
  3. kicks.log
  4. bans.log
  5.  
  6.  
  7.  
  8. Du darfst dieses Script nicht verkaufen.
  9. Du darfst das Script nicht als dein eigenes ausgeben.
  10.  
  11.  
  12.  
  13. */
  14.  
  15. #include <a_samp>
  16. #include <utils>
  17. #include <morphinc>
  18. #include <a_mysql>
  19.  
  20. enum SpielerDaten
  21. {
  22.     pName[MAX_PLAYER_NAME],
  23.     pLevel,
  24.     pGeld,
  25.     pKills,
  26.     pTode,
  27.     Float:pHealth,
  28.     pAdmin,
  29.     pGebannt
  30. }
  31. new SpielerInfo[MAX_PLAYERS][SpielerDaten];
  32.  
  33. #define SQL_HOST   "127.0.0.1"
  34. #define SQL_USER   "User"
  35. #define SQL_PASS   "Passwort"
  36. #define SQL_DATA   "Datenbank"
  37.  
  38. #undef MAX_PLAYERS
  39. #define MAX_PLAYERS 50 //Mit Slots anpassen
  40.  
  41. //Dialoge
  42. #define DIALOG_REGISTER (1)
  43. #define DIALOG_LOGIN (2)
  44. //Farben
  45. #define COLOR_GRAD1 0xB4B5B7FF
  46. #define COLOR_GRAD2 0xBFC0C2FF
  47. #define COLOR_GRAD3 0xCBCCCEFF
  48. #define COLOR_GRAD4 0xD8D8D8FF
  49. #define COLOR_GRAD5 0xE3E3E3FF
  50. #define COLOR_GRAD6 0xF0F0F0FF
  51. #define COLOR_GREY 0xAFAFAFAA
  52. #define COLOR_GREEN 0x33AA33AA
  53. #define COLOR_RED 0xAA3333AA
  54. #define COLOR_LIGHTRED 0xFF6347AA
  55. #define COLOR_LIGHTBLUE 0x33CCFFAA
  56. #define COLOR_LIGHTGREEN 0x9ACD32AA
  57. #define COLOR_YELLOW 0xFFFF00AA
  58. #define COLOR_YELLOW2 0xF5DEB3AA
  59. #define COLOR_WHITE 0xFFFFFFAA
  60. #define COLOR_FADE1 0xE6E6E6E6
  61. #define COLOR_FADE2 0xC8C8C8C8
  62. #define COLOR_FADE3 0xAAAAAAAA
  63. #define COLOR_FADE4 0x8C8C8C8C
  64. #define COLOR_FADE5 0x6E6E6E6E
  65. #define COLOR_PURPLE 0xC2A2DAAA
  66. #define TUTBLUE 0x00C3FFFF
  67. #define COLOR_DBLUE 0x2641FEAA
  68. #define COLOR_ALLDEPT 0xFF8282AA
  69. #define RESTART_HOUR 4
  70. #define RESTART_MINS 30
  71.  
  72. forward BanLog(string[]);
  73. forward KickLog(string[]);
  74. forward CheckForRestart();
  75. forward UpdateZeit();
  76.  
  77. new Text:Uhr;
  78. new Stunde, Minute;
  79. new UhrString[32];
  80.  
  81. main()
  82. {
  83.     print("\n----------------------------------");
  84.     print(" Cal44");
  85.     print("----------------------------------\n");
  86. }
  87.  
  88. public OnGameModeInit()
  89. {
  90.     Connect_To_Database();
  91.    
  92.     ShowPlayerMarkers(false);
  93.     AllowAdminTeleport(true);
  94.     EnableZoneNames(true);
  95.     DisableInteriorEnterExits();
  96.     LimitGlobalChatRadius(30.0);
  97.     ManualVehicleEngineAndLights();
  98.     EnableStuntBonusForAll(false);
  99.  
  100.     //Autos
  101.  
  102.     //TextDraws
  103.     Uhr = TextDrawCreate(605.0,25.0,"00:00");
  104.     TextDrawUseBox(Uhr,0);
  105.     TextDrawFont(Uhr,3);
  106.     TextDrawSetShadow(Uhr,0);
  107.     TextDrawSetOutline(Uhr,2);
  108.     TextDrawBackgroundColor(Uhr,0x000000FF);
  109.     TextDrawColor(Uhr,0xFFFFFFFF);
  110.     TextDrawAlignment(Uhr,3);
  111.     TextDrawLetterSize(Uhr,0.5,1.5);
  112.    
  113.     //Timer
  114.     UpdateZeit();
  115.     SetTimer("CheckForRestart",60000,1);
  116.     SetTimer("UpdateZeit",1000 * 60,1);
  117.     return 1;
  118. }
  119.  
  120. public OnGameModeExit()
  121. {
  122.     return 1;
  123. }
  124.  
  125. public OnPlayerRequestClass(playerid, classid)
  126. {
  127.     if(GetPVarInt(playerid,"Eingeloggt") == 0)
  128.     {
  129.         if(mysql_CheckAccount(playerid) == 0)
  130.         {
  131.             SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");
  132.             SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde nicht gefunden, bitte Registriere dich!");
  133.             ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Bitte Gib ein Passwort an:","Register","Exit");
  134.         }
  135.         else if(mysql_CheckAccount(playerid) == 1)
  136.         {
  137.             SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");
  138.             SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde gefunden, bitte Log dich nun ein!");
  139.             ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Bitte gib dein Passwort ein:","Login","Abbrechen");
  140.         }
  141.     }
  142.     return 1;
  143. }
  144.  
  145. public OnPlayerConnect(playerid)
  146. {
  147.     return 1;
  148. }
  149.  
  150. public OnPlayerDisconnect(playerid, reason)
  151. {
  152.     SavePlayer(playerid);
  153.     DeletePVar(playerid,"Eingeloggt");
  154.     return 1;
  155. }
  156.  
  157. public OnPlayerSpawn(playerid)
  158. {
  159.     TextDrawShowForPlayer(playerid,Uhr);
  160.     gettime(Stunde, Minute);
  161.     SetPlayerTime(playerid, Stunde, Minute);
  162.     return 1;
  163. }
  164.  
  165. public OnPlayerDeath(playerid, killerid, reason)
  166. {
  167.     TextDrawHideForPlayer(playerid,Uhr);
  168.     return 1;
  169. }
  170.  
  171. public OnVehicleSpawn(vehicleid)
  172. {
  173.     return 1;
  174. }
  175.  
  176. public OnVehicleDeath(vehicleid, killerid)
  177. {
  178.     return 1;
  179. }
  180.  
  181. public OnPlayerText(playerid, text[])
  182. {
  183.     return 1;
  184. }
  185.  
  186. public OnPlayerCommandText(playerid, cmdtext[])
  187. {
  188.     new string[256];
  189.     new sendername[MAX_PLAYER_NAME];
  190.     new giveplayer[MAX_PLAYER_NAME];
  191.     new cmd[256];
  192.     new tmp[256];
  193.     new giveplayerid, idx;
  194.     cmd = strtok(cmdtext, idx);
  195.     if(strcmp(cmd, "/ban", true) == 0)
  196.     {
  197.         if(IsPlayerConnected(playerid))
  198.         {
  199.             tmp = strtok(cmdtext, idx);
  200.             if(!strlen(tmp))
  201.             {
  202.                 SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /ban [Spielerid/Name] [Grund]");
  203.                 return 1;
  204.             }
  205.             giveplayerid = ReturnUser(tmp);
  206.             if (SpielerInfo[playerid][pAdmin] >= 1)
  207.             {
  208.                 if(IsPlayerConnected(giveplayerid))
  209.                 {
  210.                     if(giveplayerid != INVALID_PLAYER_ID)
  211.                     {
  212.                         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  213.                         GetPlayerName(playerid, sendername, sizeof(sendername));
  214.                         new length = strlen(cmdtext);
  215.                         while ((idx < length) && (cmdtext[idx] <= ' '))
  216.                         {
  217.                             idx++;
  218.                         }
  219.                         new offset = idx;
  220.                         new result[64];
  221.                         while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  222.                         {
  223.                             result[idx - offset] = cmdtext[idx];
  224.                             idx++;
  225.                         }
  226.                         result[idx - offset] = EOS;
  227.                         if(!strlen(result))
  228.                         {
  229.                             SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /ban [Spielerid/Name] [Grund]");
  230.                             return 1;
  231.                         }
  232.                         new year, month,day;
  233.                         getdate(year, month, day);
  234.                         format(string, sizeof(string), "AdmCmd: %s hat %s gebannt. Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
  235.                         BanLog(string);
  236.                         format(string, sizeof(string), "AdmCmd: %s wurde von %s gebannt. Grund: %s", giveplayer, sendername, (result));
  237.                         SendClientMessageToAll(COLOR_LIGHTRED, string);
  238.                         SpielerInfo[giveplayerid][pGebannt] = 1;
  239.                         SavePlayer(giveplayerid);
  240.                         Ban(giveplayerid);
  241.                         return 1;
  242.                     }
  243.                 }//not connected
  244.             }
  245.             else
  246.             {
  247.                 format(string, sizeof(string), "%d ist nicht Online.", giveplayerid);
  248.                 SendClientMessage(playerid, COLOR_GRAD1, string);
  249.             }
  250.         }
  251.         return 1;
  252.     }
  253.     if(strcmp(cmd, "/kick", true) == 0)
  254.     {
  255.         if(IsPlayerConnected(playerid))
  256.         {
  257.             tmp = strtok(cmdtext, idx);
  258.             if(!strlen(tmp))
  259.             {
  260.                 SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /kick [Spielerid/Name] [Grund]");
  261.                 return 1;
  262.             }
  263.             giveplayerid = ReturnUser(tmp);
  264.             if (SpielerInfo[playerid][pAdmin] >= 1)
  265.             {
  266.                 if(IsPlayerConnected(giveplayerid))
  267.                 {
  268.                     if(giveplayerid != INVALID_PLAYER_ID)
  269.                     {
  270.                         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  271.                         GetPlayerName(playerid, sendername, sizeof(sendername));
  272.                         new length = strlen(cmdtext);
  273.                         while ((idx < length) && (cmdtext[idx] <= ' '))
  274.                         {
  275.                             idx++;
  276.                         }
  277.                         new offset = idx;
  278.                         new result[64];
  279.                         while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  280.                         {
  281.                             result[idx - offset] = cmdtext[idx];
  282.                             idx++;
  283.                         }
  284.                         result[idx - offset] = EOS;
  285.                         if(!strlen(result))
  286.                         {
  287.                             SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /kick [Spielerid/Name] [Grund]");
  288.                             return 1;
  289.                         }
  290.                         new year, month,day;
  291.                         getdate(year, month, day);
  292.                         format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt. Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
  293.                         KickLog(string);
  294.                         format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt. Grund: %s", giveplayer, sendername, (result));
  295.                         SendClientMessageToAll(COLOR_LIGHTRED, string);
  296.                         Kick(giveplayerid);
  297.                         return 1;
  298.                     }
  299.                 }
  300.             }
  301.             else
  302.             {
  303.                 format(string, sizeof(string), "%d ist nicht Online.", giveplayerid);
  304.                 SendClientMessage(playerid, COLOR_GRAD1, string);
  305.             }
  306.         }
  307.         return 1;
  308.     }
  309.     if(strcmp(cmd, "/freeze", true) == 0)
  310.     {
  311.         if(IsPlayerConnected(playerid))
  312.         {
  313.             tmp = strtok(cmdtext, idx);
  314.             if(!strlen(tmp))
  315.             {
  316.                 SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /freeze [Spielerid]");
  317.                 return 1;
  318.             }
  319.             new playa;
  320.             playa = ReturnUser(tmp);
  321.             if(SpielerInfo[playa][pAdmin] > 0)
  322.             {
  323.                 SendClientMessage(playerid, COLOR_GRAD2, "Admins können nicht eingefrohen werden");
  324.                 return 1;
  325.             }
  326.             if (SpielerInfo[playerid][pAdmin] >= 2)
  327.             {
  328.                 if(IsPlayerConnected(playa))
  329.                 {
  330.                     if(playa != INVALID_PLAYER_ID)
  331.                     {
  332.                         GetPlayerName(playa, giveplayer, sizeof(giveplayer));
  333.                         GetPlayerName(playerid, sendername, sizeof(sendername));
  334.                         TogglePlayerControllable(playa, 0);
  335.                         format(string, sizeof(string), "AdmCmd: %s hat %s eingefrohen.",sendername,  giveplayer);
  336.                         printf("%s",string);
  337.                         format(string, sizeof(string), "AdmCmd: %s wurde von %s eingefrohen.",giveplayer ,sendername);
  338.                     }
  339.                 }
  340.             }
  341.             else
  342.             {
  343.                 SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Admin!");
  344.             }
  345.         }
  346.         return 1;
  347.     }
  348.     if(strcmp(cmd, "/unfreeze", true) == 0)
  349.     {
  350.         if(IsPlayerConnected(playerid))
  351.         {
  352.             tmp = strtok(cmdtext, idx);
  353.             if(!strlen(tmp))
  354.             {
  355.                 SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /unfreeze [Spielerid]");
  356.                 return 1;
  357.             }
  358.             new playa;
  359.             playa = ReturnUser(tmp);
  360.             if (SpielerInfo[playerid][pAdmin] >= 1)
  361.             {
  362.                 if(IsPlayerConnected(playa))
  363.                 {
  364.                     if(playa != INVALID_PLAYER_ID)
  365.                     {
  366.                         GetPlayerName(playa, giveplayer, sizeof(giveplayer));
  367.                         GetPlayerName(playerid, sendername, sizeof(sendername));
  368.                         TogglePlayerControllable(playa, 1);
  369.                         format(string, sizeof(string), "AdmCmd: %s hat %s entfrohen",sendername,  giveplayer);
  370.                         printf("%s",string);
  371.                         format(string, sizeof(string), "AdmCmd: %s wurde von %s entfrohen",giveplayer ,sendername);
  372.                     }
  373.                 }
  374.             }
  375.             else
  376.             {
  377.                 SendClientMessage(playerid, COLOR_GRAD1, "Du bist kein Admin!");
  378.             }
  379.         }
  380.         return 1;
  381.     }
  382.  
  383.     if(strcmp(cmd, "/cveh",true) == 0)
  384.     {
  385.         new x_nr[256];
  386.         x_nr = strtok(cmdtext, idx);
  387.         if(!strlen(x_nr))
  388.         {
  389.             SendClientMessage(playerid, COLOR_WHITE, "|__________________ Fahrzeug System __________________|");
  390.             SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /cveh Motor | Lichter | Kofferraum | Motorhaube");
  391.             return 1;
  392.         }
  393.         if(strcmp(x_nr,"Motor",true) == 0)
  394.         {
  395.             if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  396.             {
  397.                 return 1;
  398.             }
  399.             new engine,lights,alarm,doors,bonnet,boot,objective;
  400.             new vid = GetPlayerVehicleID(playerid);
  401.             GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
  402.             if(vid != INVALID_VEHICLE_ID)
  403.             {
  404.                 if(engine == VEHICLE_PARAMS_ON)
  405.                 {
  406.                     SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  407.                     GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
  408.                 }
  409.                 else
  410.                 {
  411.                     SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  412.                     GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
  413.                 }
  414.             }
  415.         }
  416.         else if(strcmp(x_nr,"Lichter",true) == 0)
  417.         {
  418.             if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  419.             {
  420.                 return 1;
  421.             }
  422.             new engine,lights,alarm,doors,bonnet,boot,objective;
  423.             new vid = GetPlayerVehicleID(playerid);
  424.             GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
  425.             if(vid != INVALID_VEHICLE_ID)
  426.             {
  427.                 if(lights == VEHICLE_PARAMS_ON)
  428.                 {
  429.                     SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
  430.                     GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Lichter ~r~aus!", 2000, 5);
  431.                 }
  432.                 else
  433.                 {
  434.                     SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
  435.                     GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Lichter ~g~an!", 2000, 5);
  436.                 }
  437.             }
  438.         }
  439.         else if(strcmp(x_nr,"Kofferraum",true) == 0)
  440.         {
  441.             if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  442.             {
  443.                 return 1;
  444.             }
  445.             new engine,lights,alarm,doors,bonnet,boot,objective;
  446.             new vid = GetPlayerVehicleID(playerid);
  447.             GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
  448.             if(vid != INVALID_VEHICLE_ID)
  449.             {
  450.                 if(boot == VEHICLE_PARAMS_ON)
  451.                 {
  452.                     SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_OFF,objective);
  453.                     GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Kofferraum ~r~geschlossen!", 2000, 5);
  454.                 }
  455.                 else
  456.                 {
  457.                     SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_ON,objective);
  458.                     GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Kofferraum ~g~geoeffnet!", 2000, 5);
  459.                 }
  460.             }
  461.         }
  462.         else if(strcmp(x_nr,"Motorhaube",true) == 0)
  463.         {
  464.             if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  465.             {
  466.                 return 1;
  467.             }
  468.             new engine,lights,alarm,doors,bonnet,boot,objective;
  469.             new vid = GetPlayerVehicleID(playerid);
  470.             GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
  471.             if(vid != INVALID_VEHICLE_ID)
  472.             {
  473.                 if(bonnet == VEHICLE_PARAMS_ON)
  474.                 {
  475.                     SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
  476.                     GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motorhaube ~r~geschlossen!", 2000, 5);
  477.                 }
  478.                 else
  479.                 {
  480.                     SetVehicleParamsEx(vid,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
  481.                     GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motorhaube ~g~geoeffnet!", 2000, 5);
  482.                 }
  483.             }
  484.         }
  485.         return 1;
  486.     }
  487.     if(strcmp(cmd,"/gmx",true)==0)
  488.     {
  489.         if(SpielerInfo[playerid][pAdmin] >= 1337)
  490.         {
  491.             SendRconCommand("gmx");
  492.             return 1;
  493.         }
  494.     }
  495.     if(strcmp(cmd,"/shutdown",true)==0)
  496.     {
  497.         if(SpielerInfo[playerid][pAdmin] >= 2000)
  498.         {
  499.             SendClientMessage(playerid,COLOR_GREY,"Server wird ausgeschaltet!");
  500.             SendClientMessageToAll(COLOR_GREY,"Der Server wird ausgeschaltet!");
  501.             SendRconCommand("exit");
  502.             return 1;
  503.         }
  504.     }
  505.     if(strcmp(cmd,"/help",true)==0)
  506.     {
  507.         SendClientMessage(playerid,COLOR_GREY,"Verfügbare Commands:");
  508.         SendClientMessage(playerid,COLOR_GREY,"/cveh");
  509.         return 1;
  510.     }
  511.     if(strcmp(cmd,"/ahelp",true)==0)
  512.     {
  513.         SendClientMessage(playerid,COLOR_GREY,"Verfügbare Commands:");
  514.         if(SpielerInfo[playerid][pAdmin] >= 1)
  515.         {
  516.             SendClientMessage(playerid,COLOR_GREY,"**Supporter** /repairveh /kick /ban");
  517.         }
  518.         if(SpielerInfo[playerid][pAdmin] >= 2)
  519.         {
  520.             SendClientMessage(playerid,COLOR_GREY,"**Moderator** /unfreeze /freeze");
  521.         }
  522.         if(SpielerInfo[playerid][pAdmin] >= 3)
  523.         {
  524.             SendClientMessage(playerid,COLOR_GREY,"**Admin** ");
  525.         }
  526.         if(SpielerInfo[playerid][pAdmin] >= 4)
  527.         {
  528.             SendClientMessage(playerid,COLOR_GREY,"**Super Admin** ");
  529.         }
  530.         if(SpielerInfo[playerid][pAdmin] >= 1337)
  531.         {
  532.             SendClientMessage(playerid,COLOR_GREY,"**Server Manager** /gmx ");
  533.         }
  534.         if(SpielerInfo[playerid][pAdmin] >= 2000)
  535.         {
  536.             SendClientMessage(playerid,COLOR_GREY,"**Server Owner** /shutdown");
  537.         }
  538.         return 1;
  539.     }
  540.     if(strcmp(cmd,"/repairveh",true)==0)
  541.     {
  542.         if(SpielerInfo[playerid][pAdmin] >= 1)
  543.         {
  544.             new tmpcar = GetPlayerVehicleID(playerid);
  545.             RepairVehicle(tmpcar);
  546.             return 1;
  547.         }
  548.     }
  549.     if(strcmp(cmd,"/getadmin",true)==0)
  550.     {
  551.         if(IsPlayerAdmin(playerid))
  552.         {
  553.             SpielerInfo[playerid][pAdmin] = 2000;
  554.             SendClientMessage(playerid,COLOR_GREY,"Admin erfolgreich erhalten");
  555.             return 1;
  556.         }
  557.     }
  558.     return 0;
  559. }
  560.  
  561. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  562. {
  563.     return 1;
  564. }
  565.  
  566. public OnPlayerExitVehicle(playerid, vehicleid)
  567. {
  568.     return 1;
  569. }
  570.  
  571. public OnPlayerStateChange(playerid, newstate, oldstate)
  572. {
  573.     return 1;
  574. }
  575.  
  576. public OnPlayerEnterCheckpoint(playerid)
  577. {
  578.     return 1;
  579. }
  580.  
  581. public OnPlayerLeaveCheckpoint(playerid)
  582. {
  583.     return 1;
  584. }
  585.  
  586. public OnPlayerEnterRaceCheckpoint(playerid)
  587. {
  588.     return 1;
  589. }
  590.  
  591. public OnPlayerLeaveRaceCheckpoint(playerid)
  592. {
  593.     return 1;
  594. }
  595.  
  596. public OnRconCommand(cmd[])
  597. {
  598.     return 1;
  599. }
  600.  
  601. public OnPlayerRequestSpawn(playerid)
  602. {
  603.     return 1;
  604. }
  605.  
  606. public OnObjectMoved(objectid)
  607. {
  608.     return 1;
  609. }
  610.  
  611. public OnPlayerObjectMoved(playerid, objectid)
  612. {
  613.     return 1;
  614. }
  615.  
  616. public OnPlayerPickUpPickup(playerid, pickupid)
  617. {
  618.     return 1;
  619. }
  620.  
  621. public OnVehicleMod(playerid, vehicleid, componentid)
  622. {
  623.     return 1;
  624. }
  625.  
  626. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  627. {
  628.     return 1;
  629. }
  630.  
  631. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  632. {
  633.     return 1;
  634. }
  635.  
  636. public OnPlayerSelectedMenuRow(playerid, row)
  637. {
  638.     return 1;
  639. }
  640.  
  641. public OnPlayerExitedMenu(playerid)
  642. {
  643.     return 1;
  644. }
  645.  
  646. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  647. {
  648.     return 1;
  649. }
  650.  
  651. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  652. {
  653.     return 1;
  654. }
  655.  
  656. public OnRconLoginAttempt(ip[], password[], success)
  657. {
  658.     return 1;
  659. }
  660.  
  661. public OnPlayerUpdate(playerid)
  662. {
  663.     if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK)
  664.     {
  665.             new tname[MAX_PLAYER_NAME], string[128];
  666.             GetPlayerName(playerid, tname, sizeof(tname));
  667.             format(string, sizeof(string), "Anticheatsystem: %s(%d) wurde gebannt. Grund: Jetpack",tname,playerid);
  668.             SendClientMessageToAll(COLOR_RED, string);
  669.             Ban(playerid);
  670.     }
  671.     return 1;
  672. }
  673.  
  674. public OnPlayerStreamIn(playerid, forplayerid)
  675. {
  676.     return 1;
  677. }
  678.  
  679. public OnPlayerStreamOut(playerid, forplayerid)
  680. {
  681.     return 1;
  682. }
  683.  
  684. public OnVehicleStreamIn(vehicleid, forplayerid)
  685. {
  686.     return 1;
  687. }
  688.  
  689. public OnVehicleStreamOut(vehicleid, forplayerid)
  690. {
  691.     return 1;
  692. }
  693.  
  694. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  695. {
  696.     switch(dialogid)
  697.     {
  698.         case DIALOG_REGISTER:
  699.         {
  700.             if(response)
  701.             {
  702.                 if(strlen(inputtext) == 0)
  703.                 {
  704.                     ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
  705.                     return 1;
  706.                 }
  707.                 else
  708.                 {
  709.                     CreateAccount(playerid, inputtext);
  710.                     SetPVarInt(playerid,"Eingeloggt",1);
  711.                     SpawnPlayer(playerid);
  712.                     return 1;
  713.                 }
  714.             }
  715.             else
  716.             {
  717.                 Kick(playerid);
  718.             }
  719.         }
  720.         case DIALOG_LOGIN:
  721.         {
  722.             if(response)
  723.             {
  724.                 if(strlen(inputtext) == 0)
  725.                 {
  726.                     ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
  727.                     return 1;
  728.                 }
  729.                 else
  730.                 {
  731.                     new SpielerName[MAX_PLAYER_NAME];
  732.                     GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
  733.                     if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true))
  734.                     {
  735.                         SetPVarInt(playerid,"Eingeloggt",1);
  736.                         LoadPlayer(playerid);
  737.                         SpawnPlayer(playerid);
  738.                         return 1;
  739.                     }
  740.                     else
  741.                     {
  742.                         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
  743.                         return 1;
  744.                     }
  745.                 }
  746.             }
  747.             else
  748.             {
  749.                 Kick(playerid);
  750.             }
  751.         }
  752.     }
  753.     return 1;
  754. }
  755.  
  756. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  757. {
  758.     return 1;
  759. }
  760.  
  761. public UpdateZeit()
  762. {
  763.     gettime(Stunde, Minute);
  764.     format(UhrString,32,"%02d:%02d",Stunde, Minute);
  765.     TextDrawSetString(Uhr,UhrString);
  766.     SetWorldTime(Stunde);
  767.     new x=0;
  768.     while(x!=MAX_PLAYERS)
  769.     {
  770.         if(IsPlayerConnected(x) && GetPlayerState(x) != PLAYER_STATE_NONE)
  771.         {
  772.             SetPlayerTime(x,Stunde,Minute);
  773.         }
  774.         x++;
  775.     }
  776. }
  777.  
  778. public CheckForRestart()
  779. {
  780.     new thour, tmin, tsec;
  781.     gettime(thour,tmin,tsec);
  782.     if(thour == RESTART_HOUR && tmin == RESTART_MINS)
  783.     {
  784.         print(" Automatischer GMX ");
  785.         SendRconCommand("gmx");
  786.     }
  787.     return 1;
  788. }
  789.  
  790. stock Connect_To_Database()
  791. {
  792.     mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
  793.     if(mysql_ping() == 1)
  794.     {
  795.         print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");
  796.         return true;
  797.     }
  798.     else
  799.     {
  800.         print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  801.         print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
  802.         mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
  803.         if(mysql_ping() == 1)
  804.         {
  805.             print("<-| [MYSQL] Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
  806.             return true;
  807.         }
  808.         else
  809.         {
  810.             print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  811.             print("<-| [MYSQL] Der Server wird nun beendet!");
  812.             SendRconCommand("exit");
  813.             return true;
  814.         }
  815.     }
  816. }
  817.  
  818. stock mysql_CheckAccount(playerid)
  819. {
  820.     new Query[128],Name[MAX_PLAYER_NAME];
  821.     GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  822.     mysql_real_escape_string(Name, Name);
  823.     format(Query, sizeof(Query), "SELECT * FROM accounts WHERE Name = '%s'", Name);
  824.     mysql_query(Query);
  825.     mysql_store_result();
  826.     return mysql_num_rows();
  827. }
  828.  
  829. stock CreateAccount(playerid, pass[])
  830. {
  831.     new query[256],Name[MAX_PLAYER_NAME];
  832.     GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  833.     mysql_real_escape_string(Name,Name);
  834.     mysql_real_escape_string(pass,pass);
  835.     format(query, sizeof(query), "INSERT INTO accounts (Name, Passwort) VALUES ('%s', '%s')", Name, pass);
  836.     mysql_query(query);
  837.     return true;
  838. }
  839.  
  840. stock mysql_ReturnPasswort(Name[])
  841. {
  842.     new query[130], Get[130];
  843.     mysql_real_escape_string(Name, Name);
  844.     format(query, 128, "SELECT passwort FROM accounts WHERE Name = '%s'", Name);
  845.     mysql_query(query);
  846.     mysql_store_result();
  847.     mysql_fetch_row(Get);
  848.     mysql_free_result();
  849.     return Get;
  850. }
  851.  
  852. stock LoadPlayer(playerid)
  853. {
  854.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  855.     {
  856.         GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
  857.         SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
  858.         SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
  859.         SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]);
  860.         SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]);
  861.         SpielerInfo[playerid][pAdmin] = mysql_GetInt("accounts", "Admin", "Name", SpielerInfo[playerid][pName]);
  862.         SpielerInfo[playerid][pGebannt] = mysql_GetInt("accounts", "Gebannt", "Name", SpielerInfo[playerid][pName]);
  863.         if(SpielerInfo[playerid][pGebannt] == 1)
  864.         {
  865.             Ban(playerid);
  866.         }
  867.     }
  868.     return 1;
  869. }
  870.  
  871. stock mysql_GetInt(Table[], Field[], Where[], Is[])
  872. {
  873.     new query[128];
  874.     mysql_real_escape_string(Table, Table);
  875.     mysql_real_escape_string(Field, Field);
  876.     mysql_real_escape_string(Where, Where);
  877.     mysql_real_escape_string(Is, Is);
  878.     format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
  879.     mysql_query(query);
  880.     mysql_store_result();
  881.     new sqlint = mysql_fetch_int();
  882.     mysql_free_result();
  883.     return sqlint;
  884. }
  885.  
  886. stock mysql_GetString(Table[], Field[], Where[], Is[])
  887. {
  888.     new query[128], Get[128];
  889.     mysql_real_escape_string(Table, Table);
  890.     mysql_real_escape_string(Field, Field);
  891.     mysql_real_escape_string(Where, Where);
  892.     mysql_real_escape_string(Is, Is);
  893.     format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
  894.     mysql_query(query);
  895.     mysql_store_result();
  896.     mysql_fetch_row(Get);
  897.     return Get;
  898. }
  899.  
  900. stock Flaot:mysql_GetFloat(Table[], Field[], Where[], Is[])
  901. {
  902.     new query[128], Float:sqlfloat;
  903.     mysql_real_escape_string(Table, Table);
  904.     mysql_real_escape_string(Field, Field);
  905.     mysql_real_escape_string(Where, Where);
  906.     mysql_real_escape_string(Is, Is);
  907.     format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
  908.     mysql_query(query);
  909.     mysql_store_result();
  910.     mysql_fetch_float(sqlfloat);
  911.     mysql_free_result();
  912.     return sqlfloat;
  913. }
  914.  
  915. stock SavePlayer(playerid)
  916. {
  917.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  918.     {
  919.         if(GetPVarInt(playerid,"Eingeloggt") == 1)
  920.         {
  921.             mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
  922.             mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
  923.             mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
  924.             mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
  925.             mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
  926.             mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
  927.             mysql_SetInt("accounts", "Gebannt", SpielerInfo[playerid][pGebannt], "Name", SpielerInfo[playerid][pName]);
  928.         }
  929.     }
  930.     return 1;
  931. }
  932.  
  933. stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
  934. {
  935.     new query[128];
  936.     mysql_real_escape_string(Table, Table);
  937.     mysql_real_escape_string(Field, Field);
  938.     mysql_real_escape_string(Where, Where);
  939.     mysql_real_escape_string(Where2, Where2);
  940.     format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  941.     mysql_query(query);
  942.     return true;
  943. }
  944. stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
  945. {
  946.     new query[128];
  947.     mysql_real_escape_string(Table, Table);
  948.     mysql_real_escape_string(Field, Field);
  949.     mysql_real_escape_string(To, To);
  950.     mysql_real_escape_string(Where, Where);
  951.     mysql_real_escape_string(Where2, Where2);
  952.     format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  953.     mysql_query(query);
  954.     return true;
  955. }
  956. stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
  957. {
  958.     new query[128];
  959.     mysql_real_escape_string(Table, Table);
  960.     mysql_real_escape_string(Field, Field);
  961.     mysql_real_escape_string(Where, Where);
  962.     mysql_real_escape_string(Where2, Where2);
  963.     format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  964.     mysql_query(query);
  965.     return true;
  966. }
  967.  
  968. stock strtok(const string[], &index)
  969. {
  970.     new length = strlen(string);
  971.     while ((index < length) && (string[index] <= ' '))
  972.     {
  973.         index++;
  974.     }
  975.  
  976.     new offset = index;
  977.     new result[20];
  978.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  979.     {
  980.         result[index - offset] = string[index];
  981.         index++;
  982.     }
  983.     result[index - offset] = EOS;
  984.     return result;
  985. }
  986.  
  987. public KickLog(string[])
  988. {
  989.     new entry[256];
  990.     format(entry, sizeof(entry), "%s\n",string);
  991.     new File:hFile;
  992.     hFile = fopen("kicks.log", io_append);
  993.     fwrite(hFile, entry);
  994.     fclose(hFile);
  995. }
  996.  
  997. public BanLog(string[])
  998. {
  999.     new entry[256];
  1000.     format(entry, sizeof(entry), "%s\n",string);
  1001.     new File:hFile;
  1002.     hFile = fopen("bans.log", io_append);
  1003.     fwrite(hFile, entry);
  1004.     fclose(hFile);
  1005. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement