mskamilor

xd

Nov 14th, 2012
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 55.98 KB | None | 0 0
  1. /*
  2.  
  3.       .--"""""--._
  4.    .'             '.
  5.   /                 \
  6.  ;      By Msk.      \
  7.  |                   |
  8.  |                   |
  9.  \                   |
  10. H \ (`'--,    ,--'`) /
  11. A  \ \  _ )  ( _  / /
  12. R   ) )(')/  \(')( (
  13. D  (_ `""` /\ `""` _)
  14. C   \`"-, /  \ ,-"`/
  15. O    `\ / `""` \ /`
  16. R     |/\/\/\/\/\|
  17. E     |\        /|
  18.       ; |/\/\/\| ;
  19. S      \`-`--`-`/
  20. C       \      /
  21. R        ',__,'
  22. I
  23. P               Near Reality Missions - Ls Tour 1
  24. T
  25. E
  26. R
  27.  
  28. */
  29. /*********************************************/
  30. #include                <   a_samp          >
  31. #include                <   a_mysql         >
  32. #include                <   zcmd            >
  33. /*********************************************/
  34.  
  35. //======================================================================= [ EINSTELLUNGEN ] ============================================================================
  36.  
  37. #define                 SQL_HOST                                ""
  38. #define                 SQL_USER                                ""
  39. #define                 SQL_DB                                  ""
  40. #define                 SQL_PASS                                ""
  41.  
  42. #undef                  MAX_PLAYERS
  43. #define                 MAX_PLAYERS                             50
  44.  
  45. #define                 DG_LIST                                 DIALOG_STYLE_LIST
  46. #define                 DG_INPUT                                DIALOG_STYLE_INPUT
  47. #define                 DG_MSGBOX                               DIALOG_STYLE_LIST
  48.  
  49. #define                 DG_ID                                   (   315         )
  50. #define                 DG_REGISTER                             (   0 + DG_ID   )
  51. #define                 DG_LOGIN                                (   1 + DG_ID   )
  52. #define                 DG_HELP                                 (   2 + DG_ID   )
  53.  
  54.  
  55. #define                 AUTO_ID                                 (   411 )
  56. #define                 SKIN_ID                                 (   46  )
  57.  
  58. new Autos_Erlaubt = 0, Waffen_Erlaubt = 0;
  59.  
  60. new Float:StartPositionen[][] = {
  61.     {00.00,00.00,00.00, 00.00},
  62.     {00.00,00.00,00.00,00.00},
  63.     {00.00,00.00,00.00,00.00}
  64. };
  65. new Timer_Sekunden = 20;
  66.  
  67.  
  68. //===============================================================================================================================================================
  69.  
  70. //======================================================================= [ FARBEN ] ============================================================================
  71.  
  72. #define                 COLOR_WHITE                             0xFFFFFFFF
  73. #define                 COLOR_YELLOW                            0xFFFF00FF
  74. #define                 COLOR_ORANGE                            0xFF6A00FF
  75. #define                 COLOR_RED                               0xFF0000FF
  76. #define                 COLOR_DRED                              0x008000FF
  77. #define                 COLOR_GREEN                             0x00FF00FF
  78. #define                 COLOR_DGREEN                            0x008000FF
  79. #define                 COLOR_LBLUE                             0x00E0FFFF
  80. #define                 COLOR_BLUE                              0x007DE0FF
  81. #define                 COLOR_DBLUE                             0x0000C8FF
  82. #define                 COLOR_PURPLE                            0xFF9AFFFF
  83. #define                 COLOR_PINK                              0x6C0093FF
  84. #define                 COLOR_GREY                              0x828282FF
  85. #define                 COLOR_BLACK                             0x000000FF
  86.  
  87. #define                 COLW                                    "{FFFFFF}"
  88. #define                 COLY                                    "{FFFF00}"
  89. #define                 COLO                                    "{FF6A00}"
  90. #define                 COLR                                    "{FF0000}"
  91. #define                 COLDR                                   "{008000}"
  92. #define                 COLG                                    "{00FF00}"
  93. #define                 COLDG                                   "{008000}"
  94. #define                 COLTU                                   "{00E0FF}"
  95. #define                 COLB                                    "{007DE0}"
  96. #define                 COLDB                                   "{0000C8}"
  97. #define                 COLGR                                   "{828282}"
  98. #define                 COLBL                                   "{000000}"
  99. #define                 COLP                                    "{FF9AFF}"
  100. #define                 COLRO                                   "{6C0093}"
  101.  
  102. //===============================================================================================================================================================
  103. main() {}
  104. //===================================================================== [ ENUMS & ETC ] =========================================================================
  105.  
  106. enum PLAYER_ENUM
  107. {
  108.  
  109.     P_Name,
  110.     P_ID,
  111.     P_Passwort[128],
  112.  
  113.     P_Registered,
  114.     P_Logged,
  115.  
  116.     P_Level,
  117.     P_Admin,
  118.     P_Prem,
  119.    
  120.     P_Kills,
  121.     P_Deaths,
  122.     P_Skin,
  123.     P_Money,
  124.     P_Spawned,
  125.     P_Bereit,
  126.  
  127. };
  128.  
  129.  
  130. new PLYR            [MAX_PLAYERS]       [PLAYER_ENUM];
  131. new Veh             [MAX_PLAYERS];
  132.  
  133. forward             StartTimer();
  134. forward             StartTimer1();
  135.  
  136.  
  137. //===============================================================================================================================================================
  138.  
  139. //====================================================================== [ HAUPTTEIL ] ==========================================================================
  140.  
  141. public OnFilterScriptInit()
  142. {
  143.     mysql_debug(1);
  144.    
  145.     ConnectToDatabase();
  146.  
  147.     mysql_query("CREATE TABLE IF NOT EXISTS `Accounts` ("\
  148.                 "`Name` varchar(24) NOT NULL AUTO_INCREMENT, `AccID` int(11) NOT NULL,"\
  149.                 "`Passwort` varchar(128) NOT NULL, `Registriert` int(11) NULL,"\
  150.                 "`Level` int(11) NULL, `Adminlevel` int(11) NULL,"\
  151.                 "`Premiumlevel` int(11) NULL, `Kills` int(11) NULL,"\
  152.                 "`Deaths` int(11) NULL, `Skin` int(11) NULL,"\
  153.                 "`Geld` int(11) NULL, PRIMARY KEY (`AccID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;");
  154.     SetTimer("StartTimer1",5000,1);        
  155.  
  156.     return 1;
  157. }
  158.  
  159. public OnFilterScriptExit()
  160. {
  161.     return 1;
  162. }
  163.  
  164. public OnPlayerRequestClass(playerid, classid)
  165. {
  166.     if(PLYR[playerid][P_Logged] == 1)
  167.     {
  168.         SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  169.         SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  170.         SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  171.     }
  172.     return 1;
  173. }
  174.  
  175. public OnPlayerConnect(playerid)
  176. {
  177.     if(CheckAccount(playerid) == 0)
  178.     {
  179.         ShowDialog(playerid, DG_REGISTER);
  180.     }
  181.     else
  182.     {
  183.         ShowDialog(playerid, DG_LOGIN);
  184.     }
  185.     LoadPlayer(playerid);
  186.     mysql_free_result();
  187.     return 1;
  188. }
  189.  
  190. public OnPlayerDisconnect(playerid, reason)
  191. {
  192.     PLYR[playerid][ P_Money ] = GetPlayerMoney(playerid);
  193.     PLYR[playerid][ P_Level ] = GetPlayerScore(playerid);
  194.  
  195.     SavePlayer(playerid);
  196.     return 1;
  197. }
  198.  
  199. public OnPlayerSpawn(playerid)
  200. {
  201.     GivePlayerMoney(playerid, PLYR[playerid][ P_Money ]);
  202.     SetPlayerScore(playerid, PLYR[playerid][ P_Level ]);
  203.  
  204.     SetCameraBehindPlayer(playerid);
  205.     PLYR[playerid][P_Spawned] = 1;
  206.     return 1;
  207. }
  208.  
  209. public OnPlayerDeath(playerid, killerid, reason)
  210. {
  211.     PLYR[killerid][ P_Kills ]++;
  212.     PLYR[playerid][ P_Deaths ]++;
  213.     PLYR[playerid][P_Spawned] = 0;
  214.     return 1;
  215. }
  216.  
  217. public OnVehicleSpawn(vehicleid)
  218. {
  219.     return 1;
  220. }
  221.  
  222. public OnVehicleDeath(vehicleid, killerid)
  223. {
  224.     return 1;
  225. }
  226.  
  227. public OnPlayerText(playerid, text[])
  228. {
  229.     return 1;
  230. }
  231.  
  232. CMD:help(playerid, params[]) return cmd_cmds(playerid, params);
  233. CMD:cmds(playerid, params[])
  234. {
  235.     ShowDialog(playerid, DG_HELP );
  236.     return 1;
  237. }
  238.  
  239.  
  240. CMD:statistik(playerid, params[]) return cmd_stats(playerid, params);
  241. CMD:stats(playerid, params[])
  242. {
  243.     new Str128[128];
  244.    
  245.     format(Str128, sizeof(Str128), "------------------ Statistik von "#COLW"%s"#COLG" ------------------", GetName(playerid));
  246.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  247.    
  248.     format(Str128, sizeof(Str128), "[ Kills "#COLW"%d "#COLG"]  [ Deaths "#COLW"%d "#COLG"]", PLYR[playerid][ P_Kills ], PLYR[playerid][ P_Deaths ]);
  249.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  250.    
  251.     format(Str128, sizeof(Str128), "[ Geld: "#COLW"%d "#COLG"] [ Skin: "#COLW"%d "#COLG"] [ Level: "#COLW"%d "#COLG"]", GetPlayerMoney(playerid), GetPlayerSkin(playerid),PLYR[playerid][ P_Level ]);
  252.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  253.    
  254.     format(Str128, sizeof(Str128), "[ Premiumlevel: "#COLW"%d "#COLG"] [ Adminlevel: "#COLW"%d "#COLG"]", PLYR[playerid][ P_Prem ], PLYR[playerid][ P_Admin ]);
  255.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  256.    
  257.     SendClientMessage(playerid, COLOR_GREEN, "----------------------------------------------------------------------");
  258.     return 1;
  259. }
  260. CMD:wkaufen(playerid,params[])
  261. {
  262.     if(Waffen_Erlaubt == 0) return SendClientMessage(playerid,-1,""#COLR"[ {FFFFFF}Info "#COLR"]{FFFFFF} In dieser Mission sind Waffen nicht erlaubt");
  263.     return 1;
  264. }
  265. CMD:vkaufen(playerid,params[])
  266. {
  267.     if(Autos_Erlaubt == 0) return SendClientMessage(playerid,-1,""#COLR"[ {FFFFFF}Info "#COLR"]{FFFFFF} In dieser Mission sind Autos nicht erlaubt");
  268.     return 1;
  269. }
  270.  
  271. CMD:admins(playerid, params[])
  272. {
  273.     new Str128[128];
  274.    
  275.     SendClientMessage(playerid, COLOR_GREEN, "------------------ "#COLW"Team Mitglieger Online"#COLG" ------------------");
  276.  
  277.     new i = 0;
  278.     for(; i < MAX_PLAYERS; i++)
  279.     {
  280.         if(IsPlayerConnected(i))
  281.         {
  282.             if(PLYR[i][ P_Admin ] == 1)
  283.             {
  284.                 format(Str128, sizeof(Str128), "Supporter: "#COLW"%s", GetName(i));
  285.                 SendClientMessage(playerid, COLOR_ORANGE, Str128);
  286.             }
  287.             else if(PLYR[i][ P_Admin ] == 2)
  288.             {
  289.                 format(Str128, sizeof(Str128), "Moderator: %s", GetName(i));
  290.                 SendClientMessage(playerid, COLOR_YELLOW, Str128);
  291.             }
  292.             else if(PLYR[i][ P_Admin ] == 3)
  293.             {
  294.                 format(Str128, sizeof(Str128), "Super Moderator: %s", GetName(i));
  295.                 SendClientMessage(playerid, COLOR_GREEN, Str128);
  296.             }
  297.             else if(PLYR[i][ P_Admin ] == 4)
  298.             {
  299.                 format(Str128, sizeof(Str128), "Administrator: %s", GetName(i));
  300.                 SendClientMessage(playerid, COLOR_BLUE, Str128);
  301.             }
  302.             else if(PLYR[i][ P_Admin ] == 5)
  303.             {
  304.                 format(Str128, sizeof(Str128), "Besitzer / Skripter: %s", GetName(i));
  305.                 SendClientMessage(playerid, COLOR_PURPLE, Str128);
  306.             }
  307.         }
  308.     }
  309.     SendClientMessage(playerid, COLOR_GREEN, "------------------------------------------------------------");
  310.     return 1;
  311. }
  312.    
  313. CMD:kill(playerid, params[])
  314. {
  315.     SetPlayerHealth(playerid, 0);
  316.     SetPlayerArmour(playerid, 0);
  317.     return 1;
  318. }
  319.  
  320. CMD:pm(playerid, params[])
  321. {
  322.     new ID, Text[128], Str128[128];
  323.     if( sscanf(params,"us", ID, Text )) return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Pm [ ID / Name ] [ Text ]");
  324.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  325.     else
  326.     format(Str128, sizeof(Str128), "[ "#COLW"PM ] von %s[ID:%d]: %s.", GetName(playerid), playerid, Text);
  327.     SendClientMessage(ID, COLOR_GREEN, Str128);
  328.     format(Str128, sizeof(Str128), "[ "#COLW"PM ] an %s: %s.", ID, Text);
  329.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  330.     return 1;
  331. }
  332.  
  333. CMD:report(playerid, params[])
  334. {
  335.     new ID, Grund[128], Str128[128];
  336.     if( sscanf(params,"us", ID, Grund ))    return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Report [ ID / Name ] [ Grund ]");
  337.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  338.     else
  339.     format(Str128, sizeof(Str128),"%s hat %s gemeldet! Grund: %s.", GetName(playerid), GetName(ID), Grund);
  340.     SendAdminMessage(COLOR_PINK, Str128);
  341.     return 1;
  342. }
  343.  
  344. CMD:ahelp(playerid, params[]) return cmd_ah(playerid, params);
  345. CMD:acmds(playerid, params[]) return cmd_ah(playerid, params);
  346. CMD:ah(playerid, params[])
  347. {
  348.     SendClientMessage(playerid, COLOR_GREEN, "----------------------------"#COLW" Admin Befehle "#COLG"----------------------------");
  349.     SendClientMessage(playerid, COLOR_WHITE,"[ "#COLG"Adminlevel 1 "#COLW"] /Ann /Freeze /Unfreeze /Seestats");
  350.     SendClientMessage(playerid, COLOR_WHITE,"[ "#COLG"Adminlevel 1 "#COLW"] /Ac /Slap /Kick /S(ave) /L(oad)");
  351.     SendClientMessage(playerid, COLOR_WHITE,"[ "#COLG"Adminlevel 1 "#COLW"] /Goto /Gethere");
  352.     SendClientMessage(playerid, COLOR_WHITE,"[ "#COLG"Adminlevel 3 "#COLW"] /Ban /Set[Kills/Deaths/Score/Money/Skin/Health/Armour]");
  353.     SendClientMessage(playerid, COLOR_WHITE,"[ "#COLG"Adminlevel 3 "#COLW"] /Givemoney /Giveskin");
  354.     SendClientMessage(playerid, COLOR_WHITE,"[ "#COLG"Adminlevel 4 "#COLW"] /Makeadmin /Explode");
  355.     return 1;
  356. }
  357.  
  358. CMD:ann(playerid,params[])
  359. {
  360.     new Text[128];
  361.     if(PLYR[playerid][ P_Admin ] < 1)   return SendClientMessage(playerid,COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"1");
  362.     if( sscanf(params,"s", Text ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Ann [ Text ]");
  363.  
  364.     GameTextForAll(Text, 3000, 3);
  365.     return 1;
  366. }
  367.  
  368. CMD:freeze(playerid,params[])
  369. {
  370.     new ID, Str128[128];
  371.     if(PLYR[playerid][ P_Admin ] < 1)   return SendClientMessage(playerid,COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"1");
  372.     if( sscanf(params,"u", ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Freeze [ ID / Name ]");
  373.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  374.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen Freezen.");
  375.    
  376.     format(Str128, sizeof(Str128), "Du hast %s gefreezt.", GetName(ID));
  377.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  378.    
  379.     format(Str128, sizeof(Str128),"Du wurdest von %s gefreezt.", GetName(playerid));
  380.     SendClientMessage(ID,COLOR_GREEN, Str128);
  381.     TogglePlayerControllable(ID, 0);
  382.     return 1;
  383. }
  384.  
  385. CMD:unfreeze(playerid,params[])
  386. {
  387.     new ID, Str128[128];
  388.     if(PLYR[playerid][ P_Admin ] < 1)   return SendClientMessage(playerid,COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"1");
  389.     if( sscanf(params,"u", ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Unfreeze [ ID / Name ]");
  390.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  391.  
  392.     format(Str128, sizeof(Str128), "Du hast %s unfreezt.", GetName(ID));
  393.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  394.  
  395.     format(Str128, sizeof(Str128),"Du wurdest von %s unfreezt.", GetName(playerid));
  396.     SendClientMessage(ID,COLOR_GREEN, Str128);
  397.     TogglePlayerControllable(ID, 1);
  398.     return 1;
  399. }
  400.  
  401. CMD:seestats(playerid, params[])
  402. {
  403.     new ID, Str128[128];
  404.  
  405.     if(PLYR[playerid][ P_Admin ] < 1)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"1");
  406.     if( sscanf(params,"ui", ID))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Seestats [ ID / Name ]");
  407.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  408.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen ändern.");
  409.  
  410.     format(Str128, sizeof(Str128), "------------------ Statistik von "#COLW"%s"#COLG" ------------------", GetName(ID));
  411.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  412.  
  413.     format(Str128, sizeof(Str128), "[ Kills "#COLW"%d "#COLG"]  [ Deaths "#COLW"%d "#COLG"]", PLYR[ID][ P_Kills ], PLYR[ID][ P_Deaths ], GetPlayerScore(ID));
  414.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  415.  
  416.     format(Str128, sizeof(Str128), "[ Geld: "#COLW"%d "#COLG"] [ Skin: "#COLW"%d "#COLG"] [ Level: "#COLW"%d "#COLG"]", GetPlayerMoney(ID), GetPlayerSkin(ID),PLYR[ID][ P_Level ]);
  417.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  418.  
  419.     format(Str128, sizeof(Str128), "[ Premiumlevel: "#COLW"%d "#COLG"] [ Adminlevel: "#COLW"%d "#COLG"]", PLYR[ID][ P_Prem ], PLYR[ID][ P_Admin ]);
  420.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  421.  
  422.     SendClientMessage(playerid, COLOR_GREEN, "----------------------------------------------------------------------");
  423.     return 1;
  424. }
  425.  
  426. CMD:ac(playerid,params[])
  427. {
  428.     new Text[128], Str128[128];
  429.     if(PLYR[playerid][ P_Admin ] < 1)   return SendClientMessage(playerid,COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"1");
  430.     if( sscanf(params,"s", Text ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Ac [ Text ]");
  431.     else
  432.    
  433.     format(Str128, sizeof(Str128), "%s[LVL:%d]: %s.", GetName(playerid), PLYR[playerid][ P_Admin ], Text);
  434.     SendAdminMessage(COLOR_LBLUE, Str128);
  435.     return 1;
  436. }
  437.  
  438. CMD:slap(playerid, params[])
  439. {
  440.     new ID, Grund[128], Float:X, Float:Y, Float:Z, Str128[128];
  441.     if(PLYR[playerid][ P_Admin ] < 1)   return SendClientMessage(playerid,COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"1");
  442.     if( sscanf(params,"us", ID, Grund ))    return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Slap [ ID / Name ] [ Grund ]");
  443.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  444.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen Slappen.");
  445.     else
  446.    
  447.     GetPlayerPos(ID, X, Y, Z);
  448.     SetPlayerPos(ID, X, Y, Z + 15);
  449.    
  450.     format(Str128, sizeof(Str128), "%s hat dich geslappt! Grund: %s.", GetName(playerid), Grund);
  451.     SendClientMessage(ID, COLOR_GREEN, Str128);
  452.  
  453.     return 1;
  454. }
  455.  
  456. CMD:kick(playerid, params[])
  457. {
  458.     new ID, Grund[128], Str128[128];
  459.     if(PLYR[playerid][ P_Admin ] < 1)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"1");
  460.     if( sscanf(params,"us", ID, Grund ))    return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Kick [ ID / Name ] [ Grund ]");
  461.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  462.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen Kicken.");
  463.     else
  464.  
  465.     format(Str128, sizeof(Str128), "%s hat %s gekickt! Grund: %s.", GetName(playerid), GetName(ID), Grund);
  466.     SendClientMessageToAll(COLOR_GREEN, Str128);
  467.  
  468.     format(Str128, sizeof(Str128), "%s hat dich gekickt! Grund: %s.", GetName(playerid), Grund);
  469.     SendClientMessage(ID, COLOR_GREEN, Str128);
  470.     Kick(ID);
  471.     return 1;
  472. }
  473.  
  474. CMD:goto(playerid, params[])
  475. {
  476.     new ID, Float:X, Float:Y, Float:Z,
  477.         vehid = GetPlayerVehicleID(playerid);
  478.     if(PLYR[playerid][ P_Admin ] < 2)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"2");
  479.     if( sscanf(params,"u", ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Goto [ ID / Name ]");
  480.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  481.     else
  482.  
  483.     GetPlayerPos(ID, X, Y, Z);
  484.     if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  485.     {
  486.         SetVehiclePos(vehid, X, Y+2, Z);
  487.     }else SetPlayerPos(playerid, X, Y, Z);
  488.     return 1;
  489. }
  490.  
  491. CMD:gethere(playerid, params[])
  492. {
  493.     new ID, Float:X, Float:Y, Float:Z,
  494.         vehid = GetPlayerVehicleID(ID);
  495.     if(PLYR[playerid][ P_Admin ] < 2)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"2");
  496.     if( sscanf(params,"u", ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Gethere [ ID / Name ]");
  497.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  498.     else
  499.  
  500.     GetPlayerPos(playerid, X, Y, Z);
  501.     if(GetPlayerState(ID) == PLAYER_STATE_DRIVER)
  502.     {
  503.         SetVehiclePos(vehid, X, Y+2, Z);
  504.     }else SetPlayerPos(ID, X, Y, Z);
  505.     return 1;
  506. }
  507.  
  508. CMD:ban(playerid, params[])
  509. {
  510.     new ID, Grund[128], Str128[128];
  511.     if(PLYR[playerid][ P_Admin ] < 3)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"3");
  512.     if( sscanf(params,"us", ID, Grund ))    return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Ban [ ID / Name ] [ Grund ]");
  513.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  514.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen Bannen.");
  515.     else
  516.  
  517.     format(Str128, sizeof(Str128), "%s hat %s gebannt! Grund: %s.",GetName(playerid), GetName(ID), Grund);
  518.     SendClientMessageToAll(COLOR_GREEN, Str128);
  519.  
  520.     format(Str128, sizeof(Str128), "%s hat dich gebannt! Grund: %s.",GetName(playerid), Grund);
  521.     SendClientMessage(ID, COLOR_GREEN, Str128);
  522.     Ban(ID);
  523.     return 1;
  524. }
  525.  
  526. CMD:setkills(playerid, params[])
  527. {
  528.     new ID, Var, Str128[128];
  529.     if(PLYR[playerid][ P_Admin ] < 3)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"3");
  530.     if( sscanf(params,"ui", ID, Var ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Setkills [ ID / Name ] [ Kills ]");
  531.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  532.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen ändern.");
  533.     else
  534.  
  535.     PLYR[ID][ P_Kills ] = Var;
  536.     format(Str128, sizeof(Str128), "Du hast die Kills von %s auf %d gesetzt.", GetName(ID), Var);
  537.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  538.  
  539.     format(Str128, sizeof(Str128), "%s hat deine Kills auf %d gesetzt.", GetName(playerid), Var);
  540.     SendClientMessage(ID, COLOR_GREEN, Str128);
  541.     return 1;
  542. }
  543.  
  544. CMD:setdeaths(playerid, params[])
  545. {
  546.     new ID, Var, Str128[128];
  547.     if(PLYR[playerid][ P_Admin ] < 3)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"3");
  548.     if( sscanf(params,"ui", ID, Var ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Setdeaths [ ID / Name ] [ Deaths ]");
  549.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  550.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen ändern.");
  551.     else
  552.  
  553.     PLYR[ID][ P_Deaths ] = Var;
  554.     format(Str128, sizeof(Str128), "Du hast die Deahts von %s auf %d gesetzt.", GetName(ID), Var);
  555.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  556.  
  557.     format(Str128, sizeof(Str128), "%s hat deine Deahts auf %d gesetzt.", GetName(playerid), Var);
  558.     SendClientMessage(ID, COLOR_GREEN, Str128);
  559.     return 1;
  560. }
  561.  
  562. CMD:setscore(playerid, params[])
  563. {
  564.     new ID, Var, Str128[128];
  565.     if(PLYR[playerid][ P_Admin ] < 3)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"3");
  566.     if( sscanf(params,"ui", ID, Var ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Setscore [ ID / Name ] [ Score ]");
  567.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  568.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen ändern.");
  569.     else
  570.    
  571.     SetPlayerScore(ID, Var);
  572.     format(Str128, sizeof(Str128), "Du hast den  Score von %s auf %d gesetzt.", GetName(ID), Var);
  573.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  574.  
  575.     format(Str128, sizeof(Str128), "%s hat deinen Score auf %d gesetzt.", GetName(playerid), Var);
  576.     SendClientMessage(ID, COLOR_GREEN, Str128);
  577.     return 1;
  578. }
  579.  
  580. CMD:setmoney(playerid, params[])
  581. {
  582.     new ID, Var, Str128[128];
  583.     if(PLYR[playerid][ P_Admin ] < 3)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"3");
  584.     if( sscanf(params,"ui", ID, Var ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Setmoney [ ID / Name ] [ Money ]");
  585.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  586.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen ändern.");
  587.     else
  588.  
  589.     ResetPlayerMoney(ID);
  590.     GivePlayerMoney(ID, Var);
  591.     format(Str128, sizeof(Str128), "Du hast das Geld von %s auf %d gesetzt.", GetName(ID), Var);
  592.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  593.  
  594.     format(Str128, sizeof(Str128), "%s hat dein Geld auf %d gesetzt.", GetName(playerid), Var);
  595.     SendClientMessage(ID, COLOR_GREEN, Str128);
  596.     return 1;
  597. }
  598.  
  599. CMD:sethealth(playerid, params[])
  600. {
  601.     new ID, Var, Str128[128];
  602.     if(PLYR[playerid][ P_Admin ] < 3)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"3");
  603.     if( sscanf(params,"ui", ID, Var ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Sethealth [ ID / Name ] [ 0 - 100 ]");
  604.     if( Var < 0 || Var > 100 )          return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": /Sethealth [ ID / Name ] [ 0 - 100 ]");
  605.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  606.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen ändern.");
  607.     else
  608.  
  609.     SetPlayerHealth(ID, Var);
  610.     format(Str128, sizeof(Str128), "Du hast das Health von %s auf %d gesetzt.", GetName(ID), Var);
  611.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  612.  
  613.     format(Str128, sizeof(Str128), "%s hat dein Health auf %d gesetzt.", GetName(playerid), Var);
  614.     SendClientMessage(ID, COLOR_GREEN, Str128);
  615.     return 1;
  616. }
  617.  
  618. CMD:setarmour(playerid, params[])
  619. {
  620.     new ID, Var, Str128[128];
  621.     if(PLYR[playerid][ P_Admin ] < 3)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"3");
  622.     if( sscanf(params,"ui", ID, Var ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Setarmour [ ID / Name ] [ 0 - 100 ]");
  623.     if( Var < 0 || Var > 100 )          return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": /Setarmour [ ID / Name ] [ 0 - 100 ]");
  624.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  625.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen ändern.");
  626.     else
  627.  
  628.     SetPlayerArmour(ID, Var);
  629.     format(Str128, sizeof(Str128), "Du hast das Health von %s auf %d gesetzt.", GetName(ID), Var);
  630.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  631.  
  632.     format(Str128, sizeof(Str128), "%s hat dein Health auf %d gesetzt.", GetName(playerid), Var);
  633.     SendClientMessage(ID, COLOR_GREEN, Str128);
  634.     return 1;
  635. }
  636.  
  637. CMD:givemoney(playerid, params[])
  638. {
  639.     new ID, Var, Str128[128];
  640.     if(PLYR[playerid][ P_Admin ] < 3)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"3");
  641.     if( sscanf(params,"ui", ID, Var ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Givemoney [ ID / Name ] [ Money ]");
  642.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  643.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen ändern.");
  644.     else
  645.  
  646.     ResetPlayerMoney(ID);
  647.     GivePlayerMoney(ID, Var);
  648.     format(Str128, sizeof(Str128), "Du hast %s %d Geld gegeben.", GetName(ID), Var);
  649.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  650.  
  651.     format(Str128, sizeof(Str128), "%s hat dir %d Geld gegeben.", GetName(playerid), Var);
  652.     SendClientMessage(ID, COLOR_GREEN, Str128);
  653.     return 1;
  654. }
  655.  
  656. CMD:giveskin(playerid, params[])
  657. {
  658.     new ID, Var, Str128[128];
  659.     if(PLYR[playerid][ P_Admin ] < 3)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"3");
  660.     if( sscanf(params,"ui", ID, Var ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Giveskin [ ID / Name ] [ Skin ]");
  661.     if( Var < 0 || Var > 299 )          return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": /Giveskin [ ID / Name ] [ 0 - 299 ]");
  662.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  663.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen ändern.");
  664.     else
  665.  
  666.     SetPlayerSkin(ID, Var);
  667.  
  668.     format(Str128, sizeof(Str128), "Du hast %s die Skin-ID %d gegeben.", GetName(ID), Var);
  669.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  670.  
  671.     format(Str128, sizeof(Str128), "%s hat dir die Skin-ID %d gegeben.", GetName(playerid), Var);
  672.     SendClientMessage(ID, COLOR_GREEN, Str128);
  673.     return 1;
  674. }
  675.  
  676.  
  677. CMD:mna(playerid, params[])
  678. {
  679.     new ID, Var, Str128[128];
  680.     if(PLYR[playerid][ P_Admin ] < 4)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"4.");
  681.     if( sscanf(params,"ui", ID, Var ))  return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Mna [ ID / Name ] [ Level ]");
  682.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  683.     else
  684.  
  685.     PLYR[playerid][ P_Admin ] = Var;
  686.  
  687.     format(Str128, sizeof(Str128),"Du hast %s auf Adminlevel %d gesetzt.", GetName(ID), Var);
  688.     SendClientMessage(playerid,COLOR_GREEN, Str128);
  689.    
  690.     format(Str128, sizeof(Str128),"%s hat dein Adminlevel auf %d gesetzt.", GetName(playerid), Var);
  691.     SendClientMessage(ID, COLOR_GREEN, Str128);
  692.     return 1;
  693. }
  694.  
  695. CMD:explode(playerid, params[])
  696. {
  697.     new ID, Str128[128], Float:X, Float:Y, Float:Z;
  698.     if(PLYR[playerid][ P_Admin ] < 4)   return SendClientMessage(playerid, COLOR_RED, ""#COLG"[ "#COLR"Fehler "#COLG"]"#COLW": Dein Adminlevel ist zu "#COLR"niedrig"#COLW"! Benötigtes Level: "#COLG"4.");
  699.     if( sscanf(params,"u", ID ))    return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLW"TIPP"#COLG" ]"#COLW": /Explode [ ID / Name ]");
  700.     if( !IsPlayerConnected(ID ))        return SendClientMessage(playerid, COLOR_GREEN, "[ "#COLR"Fehler"#COLG" ]"#COLW": Dieser Spieler ist "#COLR"nicht "#COLW"Online!");
  701.     if(PLYR[playerid][ P_Admin ] < PLYR[ID][ P_Admin ]) return SendClientMessage(playerid, COLOR_RED, "[ "#COLR"Fehler"#COLG" ]"#COLW": Du kannst keine höheren Personen explodieren lassen.");
  702.     else
  703.  
  704.     CreateExplosion(X, Y, Z, 5, 20);
  705.  
  706.     format(Str128, sizeof(Str128), "Du hast %s explodieren lassen.", GetName(ID));
  707.     SendClientMessage(playerid, COLOR_GREEN, Str128);
  708.  
  709.     format(Str128, sizeof(Str128), "Ein Admin hat dich explodieren lassen.");
  710.     SendClientMessage(ID, COLOR_GREEN, Str128);
  711.     return 1;
  712. }
  713.  
  714.  
  715. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  716. {
  717.     return 1;
  718. }
  719.  
  720. public OnPlayerExitVehicle(playerid, vehicleid)
  721. {
  722.     return 1;
  723. }
  724.  
  725. public OnPlayerStateChange(playerid, newstate, oldstate)
  726. {
  727.     return 1;
  728. }
  729.  
  730. public OnPlayerEnterCheckpoint(playerid)
  731. {
  732.     return 1;
  733. }
  734.  
  735. public OnPlayerLeaveCheckpoint(playerid)
  736. {
  737.     return 1;
  738. }
  739.  
  740. public OnPlayerEnterRaceCheckpoint(playerid)
  741. {
  742.     return 1;
  743. }
  744.  
  745. public OnPlayerLeaveRaceCheckpoint(playerid)
  746. {
  747.     return 1;
  748. }
  749.  
  750. public OnRconCommand(cmd[])
  751. {
  752.     return 1;
  753. }
  754.  
  755. public OnPlayerRequestSpawn(playerid)
  756. {
  757.     return 1;
  758. }
  759.  
  760. public OnObjectMoved(objectid)
  761. {
  762.     return 1;
  763. }
  764.  
  765. public OnPlayerObjectMoved(playerid, objectid)
  766. {
  767.     return 1;
  768. }
  769.  
  770. public OnPlayerPickUpPickup(playerid, pickupid)
  771. {
  772.     return 1;
  773. }
  774.  
  775. public OnVehicleMod(playerid, vehicleid, componentid)
  776. {
  777.     return 1;
  778. }
  779.  
  780. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  781. {
  782.     return 1;
  783. }
  784.  
  785. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  786. {
  787.     return 1;
  788. }
  789.  
  790. public OnPlayerSelectedMenuRow(playerid, row)
  791. {
  792.     return 1;
  793. }
  794.  
  795. public OnPlayerExitedMenu(playerid)
  796. {
  797.     return 1;
  798. }
  799.  
  800. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  801. {
  802.     return 1;
  803. }
  804.  
  805. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  806. {
  807.     return 1;
  808. }
  809.  
  810. public OnRconLoginAttempt(ip[], password[], success)
  811. {
  812.     return 1;
  813. }
  814.  
  815. public OnPlayerUpdate(playerid)
  816. {
  817.     return 1;
  818. }
  819.  
  820. public OnPlayerStreamIn(playerid, forplayerid)
  821. {
  822.     return 1;
  823. }
  824.  
  825. public OnPlayerStreamOut(playerid, forplayerid)
  826. {
  827.     return 1;
  828. }
  829.  
  830. public OnVehicleStreamIn(vehicleid, forplayerid)
  831. {
  832.     return 1;
  833. }
  834.  
  835. public OnVehicleStreamOut(vehicleid, forplayerid)
  836. {
  837.     return 1;
  838. }
  839.  
  840. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  841. {
  842.     switch(dialogid)
  843.     {
  844.         case DG_REGISTER:
  845.         {
  846.             new query[128], Str128[128];
  847.             if(!response) return Kick(playerid);
  848.             if(!strlen(inputtext)) return ShowDialog(playerid, DG_REGISTER);
  849.             else
  850.             {
  851.                 CreateAccount(playerid, inputtext);
  852.                
  853.                 format(query,sizeof(query),"INSERT INTO `Accounts` (Name,Passwort,Registriert,Level,Adminlevel,Premiumlevel,Kills,Deaths,Skin,Geld) VALUES('%s','%s','1','1','0','0','0','0','0','0')",GetName(playerid), inputtext);
  854.                 mysql_query(query);
  855.                 mysql_store_result();
  856.  
  857.                 SpawnPlayer(playerid);
  858.  
  859.                 format(Str128, sizeof(Str128), "Der Account "#COLB"%s "#COLW"wurde mit dem Passwort "#COLB"%s "#COLW"registriert.", GetName(playerid), inputtext);
  860.                 SendClientMessage(playerid, COLOR_WHITE, Str128);
  861.                
  862.                 ShowDialog(playerid, DG_LOGIN);
  863.             }
  864.         }
  865.  
  866.         case DG_LOGIN:
  867.         {
  868.             if(!response) return Kick(playerid);
  869.             if(!strlen(inputtext)) return ShowDialog(playerid, DG_LOGIN);
  870.             {
  871.                 if(strcmp(inputtext, ReturnPasswort(GetName(playerid))) == 0)
  872.                 {
  873.                     new Str128[128];
  874.                     PLYR[playerid][P_Logged] = 1;
  875.                     format(Str128, sizeof(Str128), "Du hast dich erfolgreich in den Account "#COLB"%s "#COLW"eingeloggt.", GetName(playerid));
  876.                     SendClientMessage(playerid, COLOR_WHITE, Str128);
  877.                     return 1;
  878.                 } else return ShowDialog(playerid, DG_LOGIN);
  879.             }
  880.         }
  881.     }
  882.     return 1;
  883. }
  884.  
  885. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  886. {
  887.     return 1;
  888. }
  889. public StartTimer()
  890. {
  891.     switch(Timer_Sekunden) {
  892.         case 15: {
  893.             Timer_Sekunden --;
  894.             GameTextForAll("15",1000,3);
  895.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  896.                 new Rand = random(sizeof(StartPositionen));
  897.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  898.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  899.                     PutPlayerInVehicle(x,Veh[x],0);
  900.                     SetCameraBehindPlayer(x);
  901.                     PLYR[x][P_Bereit] = 1;
  902.                     TogglePlayerControllable(x,0);
  903.                 }
  904.             }
  905.         }
  906.         case 14: {
  907.             Timer_Sekunden --;
  908.             GameTextForAll("14",1000,3);
  909.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  910.                 new Rand = random(sizeof(StartPositionen));
  911.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  912.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  913.                     PutPlayerInVehicle(x,Veh[x],0);
  914.                     SetCameraBehindPlayer(x);
  915.                     PLYR[x][P_Bereit] = 1;
  916.                     TogglePlayerControllable(x,0);
  917.                 }
  918.             }
  919.         }
  920.         case 13: {
  921.             Timer_Sekunden --;
  922.             GameTextForAll("13",1000,3);
  923.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  924.                 new Rand = random(sizeof(StartPositionen));
  925.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  926.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  927.                     PutPlayerInVehicle(x,Veh[x],0);
  928.                     SetCameraBehindPlayer(x);
  929.                     PLYR[x][P_Bereit] = 1;
  930.                     TogglePlayerControllable(x,0);
  931.                 }
  932.             }
  933.         }
  934.         case 12: {
  935.             Timer_Sekunden --;
  936.             GameTextForAll("12",1000,3);
  937.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  938.                 new Rand = random(sizeof(StartPositionen));
  939.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  940.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  941.                     PutPlayerInVehicle(x,Veh[x],0);
  942.                     SetCameraBehindPlayer(x);
  943.                     PLYR[x][P_Bereit] = 1;
  944.                     TogglePlayerControllable(x,0);
  945.                 }
  946.             }
  947.         }
  948.         case 11: {
  949.             Timer_Sekunden --;
  950.             GameTextForAll("11",1000,3);
  951.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  952.                 new Rand = random(sizeof(StartPositionen));
  953.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  954.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  955.                     PutPlayerInVehicle(x,Veh[x],0);
  956.                     SetCameraBehindPlayer(x);
  957.                     PLYR[x][P_Bereit] = 1;
  958.                     TogglePlayerControllable(x,0);
  959.                 }
  960.             }
  961.         }
  962.         case 10: {
  963.             Timer_Sekunden --;
  964.             GameTextForAll("10",1000,3);
  965.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  966.                 new Rand = random(sizeof(StartPositionen));
  967.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  968.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  969.                     PutPlayerInVehicle(x,Veh[x],0);
  970.                     SetCameraBehindPlayer(x);
  971.                     PLYR[x][P_Bereit] = 1;
  972.                     TogglePlayerControllable(x,0);
  973.                 }
  974.             }
  975.         }
  976.         case 9: {
  977.             Timer_Sekunden --;
  978.             GameTextForAll("9",1000,3);
  979.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  980.                 new Rand = random(sizeof(StartPositionen));
  981.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  982.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  983.                     PutPlayerInVehicle(x,Veh[x],0);
  984.                     SetCameraBehindPlayer(x);
  985.                     PLYR[x][P_Bereit] = 1;
  986.                     TogglePlayerControllable(x,0);
  987.                 }
  988.             }
  989.         }
  990.         case 8: {
  991.             Timer_Sekunden --;
  992.             GameTextForAll("8",1000,3);
  993.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  994.                 new Rand = random(sizeof(StartPositionen));
  995.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  996.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  997.                     PutPlayerInVehicle(x,Veh[x],0);
  998.                     SetCameraBehindPlayer(x);
  999.                     PLYR[x][P_Bereit] = 1;
  1000.                     TogglePlayerControllable(x,0);
  1001.                 }
  1002.             }
  1003.         }
  1004.         case 7: {
  1005.             Timer_Sekunden --;
  1006.             GameTextForAll("7",1000,3);
  1007.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  1008.                 new Rand = random(sizeof(StartPositionen));
  1009.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  1010.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  1011.                     PutPlayerInVehicle(x,Veh[x],0);
  1012.                     SetCameraBehindPlayer(x);
  1013.                     PLYR[x][P_Bereit] = 1;
  1014.                     TogglePlayerControllable(x,0);
  1015.                 }
  1016.             }
  1017.         }
  1018.         case 6: {
  1019.             Timer_Sekunden --;
  1020.             GameTextForAll("6",1000,3);
  1021.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  1022.                 new Rand = random(sizeof(StartPositionen));
  1023.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  1024.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  1025.                     PutPlayerInVehicle(x,Veh[x],0);
  1026.                     SetCameraBehindPlayer(x);
  1027.                     PLYR[x][P_Bereit] = 1;
  1028.                     TogglePlayerControllable(x,0);
  1029.                 }
  1030.             }
  1031.         }
  1032.         case 5: {
  1033.             Timer_Sekunden --;
  1034.             GameTextForAll("5",1000,3);
  1035.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  1036.                 new Rand = random(sizeof(StartPositionen));
  1037.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  1038.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  1039.                     PutPlayerInVehicle(x,Veh[x],0);
  1040.                     SetCameraBehindPlayer(x);
  1041.                     PLYR[x][P_Bereit] = 1;
  1042.                     TogglePlayerControllable(x,0);
  1043.                 }
  1044.             }
  1045.         }
  1046.         case 4: {
  1047.             Timer_Sekunden --;
  1048.             GameTextForAll("4",1000,3);
  1049.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  1050.                 new Rand = random(sizeof(StartPositionen));
  1051.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  1052.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  1053.                     PutPlayerInVehicle(x,Veh[x],0);
  1054.                     SetCameraBehindPlayer(x);
  1055.                     PLYR[x][P_Bereit] = 1;
  1056.                     TogglePlayerControllable(x,0);
  1057.                 }
  1058.             }
  1059.         }
  1060.         case 3: {
  1061.             Timer_Sekunden --;
  1062.             GameTextForAll("3",1000,3);
  1063.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  1064.                 new Rand = random(sizeof(StartPositionen));
  1065.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  1066.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  1067.                     PutPlayerInVehicle(x,Veh[x],0);
  1068.                     SetCameraBehindPlayer(x);
  1069.                     PLYR[x][P_Bereit] = 1;
  1070.                     TogglePlayerControllable(x,0);
  1071.                 }
  1072.             }
  1073.         }
  1074.         case 2: {
  1075.             Timer_Sekunden --;
  1076.             GameTextForAll("2",1000,3);
  1077.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  1078.                 new Rand = random(sizeof(StartPositionen));
  1079.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  1080.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  1081.                     PutPlayerInVehicle(x,Veh[x],0);
  1082.                     SetCameraBehindPlayer(x);
  1083.                     PLYR[x][P_Bereit] = 1;
  1084.                     TogglePlayerControllable(x,0);
  1085.                 }
  1086.             }
  1087.         }
  1088.         case 1: {
  1089.             Timer_Sekunden --;
  1090.             GameTextForAll("1",1000,3);
  1091.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  1092.                 new Rand = random(sizeof(StartPositionen));
  1093.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 0) {
  1094.                     Veh[x] = CreateVehicle(AUTO_ID,StartPositionen[Rand][0],StartPositionen[Rand][1],StartPositionen[Rand][2],StartPositionen[Rand][3],0,0,-1);        
  1095.                     PutPlayerInVehicle(x,Veh[x],0);
  1096.                     SetCameraBehindPlayer(x);
  1097.                     PLYR[x][P_Bereit] = 1;
  1098.                     TogglePlayerControllable(x,0);
  1099.                 }
  1100.             }
  1101.         }
  1102.         case 0: {
  1103.             Timer_Sekunden --;
  1104.             GameTextForAll("~g~Go !",1000,3);
  1105.             for ( new x = 0; x < MAX_PLAYERS; x ++) {
  1106.                 if(PLYR[x][P_Spawned] == 1 && PLYR[x][P_Bereit] == 1) {
  1107.                     SetCameraBehindPlayer(x);
  1108.                     TogglePlayerControllable(x,1);             
  1109.                 }
  1110.             }
  1111.         }
  1112.     }  
  1113.     return 1;
  1114. }
  1115. public StartTimer1()
  1116. {
  1117.     SetTimer("StartTimer",1000,1);
  1118.     return 1;
  1119. }
  1120. //===============================================================================================================================================================
  1121.  
  1122. //======================================================================= [ STOCKS ] ============================================================================
  1123.  
  1124. stock GetName(playerid)
  1125. {
  1126.     new Name[MAX_PLAYER_NAME];
  1127.     GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1128.     return Name;
  1129. }
  1130.  
  1131. stock SendAdminMessage(color, message[])
  1132. {
  1133.     for(new i = 0; i < MAX_PLAYERS; i++)
  1134.     {
  1135.         if(PLYR[i][ P_Admin ] >= 1)
  1136.         {
  1137.             SendClientMessage(i, color, message);
  1138.         }
  1139.     }
  1140. }
  1141.  
  1142. stock ShowDialog(playerid, dialogid)
  1143. {
  1144.     switch(dialogid)
  1145.     {
  1146.         case DG_REGISTER:
  1147.         {
  1148.             new Str128[128];
  1149.             format(Str128, sizeof(Str128), "\n"#COLW"Der Account "#COLB"%s"#COLW" ist nicht registriert!\nBitte gib ein Passwort ein:", GetName(playerid));
  1150.             ShowPlayerDialog(playerid, DG_REGISTER, DG_INPUT, "Near Reality Missions | Registrieren", Str128, "Register", "Kick");
  1151.         }
  1152.         case DG_LOGIN:
  1153.         {
  1154.             new Str128[128];
  1155.             format(Str128, sizeof(Str128),  "\n"#COLW"Der Account "#COLB"%s "#COLW"ist registriert!\n Bitte gib dein Passwort ein:", GetName(playerid));
  1156.             ShowPlayerDialog(playerid, DG_LOGIN, DG_INPUT, "Near Reality Missions | Login", Str128, "Login", "Kick");
  1157.         }
  1158.         case DG_HELP:
  1159.         {
  1160.             new Str128 [128];
  1161.             format(Str128, sizeof(Str128), "\n{FFFFFF}Hilfe - Befehle\n\n"#COLB"/Stats - "#COLW"Statistiken ansehen\n"#COLB"/Admins - {FFFFFF}Liste mit Admins die online sind\n"#COLB"/Pm - {FFFFFF}Private Nachricht senden\n"#COLB"/Report - {FFFFFF}Spieler bei Admins melden\n"#COLB"\n/wkaufen - {FFFFFF}Waffen kaufen\n"#COLB"\n/vkaufen - {FFFFFF}Autos kaufen");
  1162.             ShowPlayerDialog(playerid,DG_HELP,DG_MSGBOX, "Near Reality Missions | Befehle", Str128, "OK","");
  1163.         }
  1164.     }
  1165.     return 1;
  1166. }
  1167.  
  1168. stock ConnectToDatabase()
  1169. {
  1170.     mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  1171.     if(mysql_ping() == 1)
  1172.     {
  1173.         print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");
  1174.         return true;
  1175.     }
  1176.     else
  1177.     {
  1178.         print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  1179.         print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
  1180.         mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  1181.        
  1182.         if(mysql_ping() == 1)
  1183.         {
  1184.             print("<-| [MYSQL] Es konnte beim 2 Versuch eine Verbindung hergestellt werden!");
  1185.             return true;
  1186.         }
  1187.         else
  1188.         {
  1189.             print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  1190.             print("<-| [MYSQL] Der Server wird nun beendet!");
  1191.             SendRconCommand("exit");
  1192.             return true;
  1193.         }
  1194.     }
  1195. }
  1196.  
  1197. stock LoadPlayer(playerid)
  1198. {
  1199.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  1200.     {
  1201.         PLYR[playerid][ P_Registered] = mysql_GetInt("Accounts", "Registriert",     "Name", GetName(playerid));
  1202.         PLYR[playerid][ P_Level     ] = mysql_GetInt("Accounts", "Level",           "Name", GetName(playerid));
  1203.         PLYR[playerid][ P_Admin     ] = mysql_GetInt("Accounts", "Adminlevel",      "Name", GetName(playerid));
  1204.         PLYR[playerid][ P_Prem      ] = mysql_GetInt("Accounts", "Premiumlevel",    "Name", GetName(playerid));
  1205.  
  1206.         PLYR[playerid][ P_Kills     ] = mysql_GetInt("Accounts", "Kills",           "Name", GetName(playerid));
  1207.         PLYR[playerid][ P_Deaths    ] = mysql_GetInt("Accounts", "Deaths",          "Name", GetName(playerid));
  1208.         PLYR[playerid][ P_Skin      ] = mysql_GetInt("Accounts", "Skin",            "Name", GetName(playerid));
  1209.         PLYR[playerid][ P_Money     ] = mysql_GetInt("Accounts", "Geld",            "Name", GetName(playerid));
  1210.     }
  1211.     return 1;
  1212. }
  1213.  
  1214. stock SavePlayer(playerid)
  1215. {
  1216.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  1217.     {
  1218.         mysql_SetInt("Accounts",        "Registriert",      PLYR[playerid][ P_Registered]"Name", GetName(playerid));
  1219.         mysql_SetInt("Accounts",        "Level",            PLYR[playerid][ P_Level     ]"Name", GetName(playerid));
  1220.         mysql_SetInt("Accounts",        "Adminlevel",       PLYR[playerid][ P_Admin     ]"Name", GetName(playerid));
  1221.         mysql_SetInt("Accounts",        "Premiumlevel",     PLYR[playerid][ P_Prem      ]"Name", GetName(playerid));
  1222.  
  1223.         mysql_SetInt("Accounts",        "Kills",            PLYR[playerid][ P_Kills     ]"Name", GetName(playerid));
  1224.         mysql_SetInt("Accounts",        "Deaths",           PLYR[playerid][ P_Deaths    ]"Name", GetName(playerid));
  1225.         mysql_SetInt("Accounts",        "Skin",             PLYR[playerid][ P_Skin      ]"Name", GetName(playerid));
  1226.         mysql_SetInt("Accounts",        "Geld",             PLYR[playerid][ P_Money     ]"Name", GetName(playerid));
  1227.     }
  1228.     return 1;
  1229. }
  1230.  
  1231. stock CreateAccount(playerid, passwort[])
  1232. {
  1233.     new query[256],Name[MAX_PLAYER_NAME];
  1234.     GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1235.     mysql_real_escape_string(Name,Name);
  1236.     mysql_real_escape_string(passwort,passwort);
  1237.     format(query, sizeof(query), "INSERT INTO Accounts (Name, Passwort) VALUES ('%s', '%s')", Name, passwort);
  1238.     mysql_query(query);
  1239.     return true;
  1240. }
  1241.  
  1242. stock CheckAccount(playerid)
  1243. {
  1244.     new Query[128], Name[MAX_PLAYER_NAME];
  1245.     GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1246.     mysql_real_escape_string(Name, Name);
  1247.     format(Query, sizeof(Query), "SELECT * FROM Accounts WHERE Name = '%s'", Name);
  1248.     mysql_query(Query);
  1249.     mysql_store_result();
  1250.     return mysql_num_rows();
  1251. }
  1252.  
  1253. stock ReturnPasswort(Name[])
  1254. {
  1255.     new query[130], Get[130];
  1256.     mysql_real_escape_string(Name, Name);
  1257.     format(query, 128, "SELECT Passwort FROM Accounts WHERE Name = '%s'", Name);
  1258.     mysql_query(query);
  1259.     mysql_store_result();
  1260.     mysql_fetch_row(Get);
  1261.     mysql_free_result();
  1262.     return Get;
  1263. }
  1264.  
  1265. stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
  1266. {
  1267.     new query[256];
  1268.     mysql_real_escape_string(Table, Table);
  1269.     mysql_real_escape_string(Field, Field);
  1270.     mysql_real_escape_string(Where, Where);
  1271.     mysql_real_escape_string(Where2, Where2);
  1272.     format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  1273.     mysql_query(query);
  1274.     return true;
  1275. }
  1276. stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
  1277. {
  1278.     mysql_real_escape_string(Table, Table);
  1279.     mysql_real_escape_string(Field, Field);
  1280.     mysql_real_escape_string(To, To);
  1281.     mysql_real_escape_string(Where, Where);
  1282.     mysql_real_escape_string(Where2, Where2);
  1283.     format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  1284.     mysql_query(query);
  1285.     return true;
  1286. }
  1287. stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
  1288. {
  1289.     new query[256];
  1290.     mysql_real_escape_string(Table, Table);
  1291.     mysql_real_escape_string(Field, Field);
  1292.     mysql_real_escape_string(Where, Where);
  1293.     mysql_real_escape_string(Where2, Where2);
  1294.     format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);
  1295.     mysql_query(query);
  1296.     return true;
  1297. }
  1298.  
  1299. stock mysql_GetInt(Table[], Field[], Where[], Is[])
  1300. {
  1301.     new query[128];
  1302.     mysql_real_escape_string(Table, Table);
  1303.     mysql_real_escape_string(Field, Field);
  1304.     mysql_real_escape_string(Where, Where);
  1305.     mysql_real_escape_string(Is, Is);
  1306.     format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
  1307.     mysql_query(query);
  1308.     mysql_store_result();
  1309.     new sqlint = mysql_fetch_int();
  1310.     mysql_free_result();
  1311.     return sqlint;
  1312. }
  1313.  
  1314. stock mysql_GetString(Table[], Field[], Where[], Is[])
  1315. {
  1316.     new query[128], Get[128];
  1317.     mysql_real_escape_string(Table, Table);
  1318.     mysql_real_escape_string(Field, Field);
  1319.     mysql_real_escape_string(Where, Where);
  1320.     mysql_real_escape_string(Is, Is);
  1321.     format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
  1322.     mysql_query(query);
  1323.     mysql_store_result();
  1324.     mysql_fetch_row(Get);
  1325.     return Get;
  1326. }
  1327. stock sscanf(string[], format[], {Float,_}:...)
  1328. {
  1329.     #if defined isnull
  1330.         if (isnull(string))
  1331.     #else
  1332.         if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  1333.     #endif
  1334.         {
  1335.             return format[0];
  1336.         }
  1337.     #pragma tabsize 4
  1338.     new
  1339.         formatPos = 0,
  1340.         stringPos = 0,
  1341.         paramPos = 2,
  1342.         paramCount = numargs(),
  1343.         delim = ' ';
  1344.     while (string[stringPos] && string[stringPos] <= ' ')
  1345.     {
  1346.         stringPos++;
  1347.     }
  1348.     while (paramPos < paramCount && string[stringPos])
  1349.     {
  1350.         switch (format[formatPos++])
  1351.         {
  1352.             case '\0':
  1353.             {
  1354.                 return 0;
  1355.             }
  1356.             case 'i', 'd':
  1357.             {
  1358.                 new
  1359.                     neg = 1,
  1360.                     num = 0,
  1361.                     ch = string[stringPos];
  1362.                 if (ch == '-')
  1363.                 {
  1364.                     neg = -1;
  1365.                     ch = string[++stringPos];
  1366.                 }
  1367.                 do
  1368.                 {
  1369.                     stringPos++;
  1370.                     if ('0' <= ch <= '9')
  1371.                     {
  1372.                         num = (num * 10) + (ch - '0');
  1373.                     }
  1374.                     else
  1375.                     {
  1376.                         return -1;
  1377.                     }
  1378.                 }
  1379.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  1380.                 setarg(paramPos, 0, num * neg);
  1381.             }
  1382.             case 'h', 'x':
  1383.             {
  1384.                 new
  1385.                     num = 0,
  1386.                     ch = string[stringPos];
  1387.                 do
  1388.                 {
  1389.                     stringPos++;
  1390.                     switch (ch)
  1391.                     {
  1392.                         case 'x', 'X':
  1393.                         {
  1394.                             num = 0;
  1395.                             continue;
  1396.                         }
  1397.                         case '0' .. '9':
  1398.                         {
  1399.                             num = (num << 4) | (ch - '0');
  1400.                         }
  1401.                         case 'a' .. 'f':
  1402.                         {
  1403.                             num = (num << 4) | (ch - ('a' - 10));
  1404.                         }
  1405.                         case 'A' .. 'F':
  1406.                         {
  1407.                             num = (num << 4) | (ch - ('A' - 10));
  1408.                         }
  1409.                         default:
  1410.                         {
  1411.                             return -1;
  1412.                         }
  1413.                     }
  1414.                 }
  1415.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  1416.                 setarg(paramPos, 0, num);
  1417.             }
  1418.             case 'c':
  1419.             {
  1420.                 setarg(paramPos, 0, string[stringPos++]);
  1421.             }
  1422.             case 'f':
  1423.             {
  1424.  
  1425.                 new changestr[16], changepos = 0, strpos = stringPos;
  1426.                 while(changepos < 16 && string[strpos] && string[strpos] != delim)
  1427.                 {
  1428.                     changestr[changepos++] = string[strpos++];
  1429.                     }
  1430.                 changestr[changepos] = '\0';
  1431.                 setarg(paramPos,0,_:floatstr(changestr));
  1432.             }
  1433.             case 'p':
  1434.             {
  1435.                 delim = format[formatPos++];
  1436.                 continue;
  1437.             }
  1438.             case '\'':
  1439.             {
  1440.                 new
  1441.                     end = formatPos - 1,
  1442.                     ch;
  1443.                 while ((ch = format[++end]) && ch != '\'') {}
  1444.                 if (!ch)
  1445.                 {
  1446.                     return -1;
  1447.                 }
  1448.                 format[end] = '\0';
  1449.                 if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  1450.                 {
  1451.                     if (format[end + 1])
  1452.                     {
  1453.                         return -1;
  1454.                     }
  1455.                     return 0;
  1456.                 }
  1457.                 format[end] = '\'';
  1458.                 stringPos = ch + (end - formatPos);
  1459.                 formatPos = end + 1;
  1460.             }
  1461.             case 'u':
  1462.             {
  1463.                 new
  1464.                     end = stringPos - 1,
  1465.                     id = 0,
  1466.                     bool:num = true,
  1467.                     ch;
  1468.                 while ((ch = string[++end]) && ch != delim)
  1469.                 {
  1470.                     if (num)
  1471.                     {
  1472.                         if ('0' <= ch <= '9')
  1473.                         {
  1474.                             id = (id * 10) + (ch - '0');
  1475.                         }
  1476.                         else
  1477.                         {
  1478.                             num = false;
  1479.                         }
  1480.                     }
  1481.                 }
  1482.                 if (num && IsPlayerConnected(id))
  1483.                 {
  1484.                     setarg(paramPos, 0, id);
  1485.                 }
  1486.                 else
  1487.                 {
  1488.                     #if !defined foreach
  1489.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1490.                         #define __SSCANF_FOREACH__
  1491.                     #endif
  1492.                     string[end] = '\0';
  1493.                     num = false;
  1494.                     new
  1495.                         name[MAX_PLAYER_NAME];
  1496.                     id = end - stringPos;
  1497.                     foreach (Player, playerid)
  1498.                     {
  1499.                         GetPlayerName(playerid, name, sizeof (name));
  1500.                         if (!strcmp(name, string[stringPos], true, id))
  1501.                         {
  1502.                             setarg(paramPos, 0, playerid);
  1503.                             num = true;
  1504.                             break;
  1505.                         }
  1506.                     }
  1507.                     if (!num)
  1508.                     {
  1509.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  1510.                     }
  1511.                     string[end] = ch;
  1512.                     #if defined __SSCANF_FOREACH__
  1513.                         #undef foreach
  1514.                         #undef __SSCANF_FOREACH__
  1515.                     #endif
  1516.                 }
  1517.                 stringPos = end;
  1518.             }
  1519.             case 's', 'z':
  1520.             {
  1521.                 new
  1522.                     i = 0,
  1523.                     ch;
  1524.                 if (format[formatPos])
  1525.                 {
  1526.                     while ((ch = string[stringPos++]) && ch != delim)
  1527.                     {
  1528.                         setarg(paramPos, i++, ch);
  1529.                     }
  1530.                     if (!i)
  1531.                     {
  1532.                         return -1;
  1533.                     }
  1534.                 }
  1535.                 else
  1536.                 {
  1537.                     while ((ch = string[stringPos++]))
  1538.                     {
  1539.                         setarg(paramPos, i++, ch);
  1540.                     }
  1541.                 }
  1542.                 stringPos--;
  1543.                 setarg(paramPos, i, '\0');
  1544.             }
  1545.             default:
  1546.             {
  1547.                 continue;
  1548.             }
  1549.         }
  1550.         while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  1551.         {
  1552.             stringPos++;
  1553.         }
  1554.         while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  1555.         {
  1556.             stringPos++;
  1557.         }
  1558.         paramPos++;
  1559.     }
  1560.     do
  1561.     {
  1562.         if ((delim = format[formatPos++]) > ' ')
  1563.         {
  1564.             if (delim == '\'')
  1565.             {
  1566.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  1567.             }
  1568.             else if (delim != 'z')
  1569.             {
  1570.                 return delim;
  1571.             }
  1572.         }
  1573.     }
  1574.     while (delim > ' ');
  1575.     return 0;
  1576. }
Advertisement
Add Comment
Please, Sign In to add comment