Advertisement
Guest User

Untitled

a guest
May 4th, 2013
412
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 59.25 KB | None | 0 0
  1. /*
  2.     Selfmade
  3.    
  4.     Changelog:
  5.    
  6.     Register/Login System
  7.     Account Speicherung
  8.     Opdachlosen Spawn Ohne Map
  9.     Textdraw´s: Forum & ServerVersion
  10.     Bei Register: Männlich/Weiblich Abfrage und Alter hinzugefügt
  11.     Roller Mietung eingefügt
  12.     /editserver Server bearbeiten [RollerPreis]
  13.     /gibadmin Als Rcon um Admin zu geben
  14.     /help eingefügt
  15.     /roller [Roller Mieten] /delroller [Roller löschen]
  16.     MYSQL Tabellen werden im Script erstellt
  17.     Server Enum über sscanf geladen!
  18.     Interior System eingefügt Enter Taste!
  19.     Interior System "Spam" entfernt man wird jedes mal 1 Sekunde gefreezet
  20.     /kick /ban /goto /gethere /lic /setint /setvw eingefügt
  21.     Admin befehle werden Geloggt "Logs.txt" y_ini
  22.     Perso System eingefügt (einfaches System In Stadhalle beantragen 5mins warten.)
  23.     Map bei Spawn hinzugefügt
  24.     Map bei Skin shop vorne hinzugefügt
  25.     Skin Shop eingefügt mit Textdraws und Tasten
  26.     Skin Shop Bugs entfernt CJ Skin
  27.     Uhr und datum anzeige rein gemacht
  28.     Shop eingefügt
  29.     Anlage in Skin shop eingefügt drinne läuft musik "Housetime"
  30.     Opdachlosen heim eingefügt
  31.    
  32. */
  33.  
  34. #include <a_samp>
  35. #include <zcmd>
  36. #include <sscanf2>
  37. #include <a_mysql>
  38. #include <streamer>
  39. #include <y_ini>
  40. //#include <moreaudio>
  41. //#include <AudioHideV2>
  42.  
  43.  
  44.  
  45.  
  46. //============== | Andere |=================
  47.  
  48. #define ScriptServerVersion "RL x0.0.5"
  49. #define ForumURL "Forum: http://:www.forum.de"
  50. #define Teamspeak "Teamspeak: ts.beispiel.de"
  51.  
  52.  
  53.  
  54. #define SetPos(%0,%1,%2,%3,%4) SetPlayerPos(%0,%1,%2,%3); SetPlayerFacingAngle(%0,%4)
  55. #define IDERROR SendClientMessage(playerid,grau,"ID nicht verfügbar!"); return 1
  56. #define GetDatum new jahr,monat,tag; getdate(jahr,monat,tag)
  57. #define GetZeit new stunde,minute,sekunde; gettime(stunde,minute,sekunde)
  58.  
  59. #pragma tabsize 0
  60.  
  61.  
  62.  
  63. //=================== | Mysql Daten |===========
  64.  
  65. #define m_Host "localhost"
  66. #define m_User "root"
  67. #define m_Pass ""
  68. #define m_Data "samp"
  69.  
  70.  
  71. //============== | forward´s |================
  72.  
  73. forward UpdateForumDraw();
  74. forward UnfreezePlayer(playerid); //Für Interior System "Spam"
  75. forward KickPlayer(playerid,admin[],const reason[]);
  76. //forward KickPlayerNow(playerid);
  77. forward BanPlayer(playerid,admin[],const reason[]);
  78. //forward BanPlayerNow(playerid);
  79. forward Log(what[],loge[]);
  80. forward MessageInRand(playerid,const message[]);
  81. forward PersoFunc(playerid);
  82. forward AntiSkinSpam(playerid);
  83. forward UpdateClock();
  84. forward OnPlayerGoInShop(playerid);
  85.  
  86.  
  87. //================| Farben |==================
  88. #define rot 0xFF6347FF
  89. #define gruen 0x33AA33FF
  90. #define orange 0xFFAA00FF
  91. #define grau 0xAFAFAFFF
  92. #define gelb 0xFFF000FF
  93. #define weis 0xE0FFFFFF
  94. #define gold 0xB8860BFF
  95. #define blau 0x33CCFFFF
  96. #define lila 0xC2A2DAFF
  97.  
  98.  
  99.  
  100. //=============| Global Textdraws |=============
  101. new
  102.     Text:UntenBox,
  103.     Text:UntenBox1,
  104.     Text:Forum,
  105.     Text:ServerVersion,
  106.     bool:ts,
  107.     Text:Uhr,
  108.     Text:Datum;
  109.  
  110.  
  111. //============| Dialog Enum |===============
  112. enum
  113. {
  114.     DIALOG_LOGIN,
  115.     DIALOG_REGISTER,
  116.     DIALOG_EDITSERVER,
  117.     DIALOG_EDITROLLER,
  118.     DIALOG_GENDER,
  119.     DIALOG_ALTER,
  120.     DIALOG_MENU,
  121.     DIALOG_JOBMENU
  122. };
  123.  
  124.  
  125.  
  126. //============| Spieler |===================
  127. enum PlayerEnum
  128. {
  129.     pLevel,
  130.     pGeld,
  131.     pAdmin,
  132.     pIp[32],
  133.     pSkin,
  134.     pOpdachlos,
  135.     pGender,
  136.     pAlter,
  137.     pBan,
  138.     pBanReason[24],
  139.     pPerso,
  140.     pJob
  141.    
  142. };
  143. new
  144.     Name[MAX_PLAYERS][24],
  145.     Ip[MAX_PLAYERS][32],
  146.     pInfo[MAX_PLAYERS][PlayerEnum],
  147.     PwFalsch[MAX_PLAYERS],
  148.     RentRoller[MAX_PLAYERS],
  149.     bool:SearchRoller[MAX_PLAYERS],
  150.     bool:PersoAntrag[MAX_PLAYERS],
  151.     PersoCheckPoint[MAX_PLAYERS],
  152.     JobCheckPoint[MAX_PLAYERS],
  153.     bool:InSkin[MAX_PLAYERS],
  154.     bool:SkinSpam[MAX_PLAYERS];
  155.    
  156. //Player Textdraws
  157.  
  158. new
  159.     Text:SkinBox[MAX_PLAYERS],
  160.     Text:SkinHead[MAX_PLAYERS],
  161.     Text:SkinRight[MAX_PLAYERS],
  162.     Text:SkinLeft[MAX_PLAYERS],
  163.     Text:SkinID[MAX_PLAYERS],
  164.     Text:SkinInfo[MAX_PLAYERS];
  165.    
  166. new Float:OPSpawn[][4] ={
  167.     {1179.9146,-1433.3530,17.7681,115.6078},
  168.     {1179.7917,-1441.6010,17.7681,55.4422},
  169.     {1172.5808,-1444.0317,17.7681,73.1374}
  170. };
  171.  
  172.    
  173.    
  174. //============| Server Sachen Enum |================
  175.  
  176. enum ServerEnum
  177. {
  178.     RollerRentPreis
  179. };
  180. new
  181.     sv[ServerEnum];
  182.    
  183. new
  184.     Text3D:RollerLabel;
  185.    
  186.    
  187. //===========| Interior System |===============
  188.  
  189. enum InteriorEnum
  190. {
  191.     Float:enterX,
  192.     Float:enterY,
  193.     Float:enterZ,
  194.     Float:intX,
  195.     Float:intY,
  196.     Float:intZ,
  197.     ExitGameText[32],
  198.     intid,
  199.     iLabel[100]
  200. };
  201. new
  202.     bool:inInt[MAX_PLAYERS],
  203.     bool:AntiSpam[MAX_PLAYERS];
  204.  
  205. new Int[][InteriorEnum] =
  206. {
  207.     {1480.8561,-1769.4833,18.7958 ,389.3296,173.8848,1008.3828,"Los Santos",3,"[Stadthalle]\nBenutze 'Enter' um das Gebäude zu betreten"}
  208.     //{1099.1499,-1473.7970,15.7969 ,226.293991,-7.431529,1002.210937,"Los Santos",5,"[Skinshop]\nBenutze 'Enter' um das Gebäude zu betreten"}
  209. };
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216. //Andere
  217.  
  218. new
  219.     /*SkinArea,*/
  220.     bool:InSkinShop[MAX_PLAYERS];
  221.  
  222.  
  223. main()
  224. {
  225.     print("=======|Reallife Gamemode|=======");
  226.     print("by TheO (c) 2013");
  227.     print("=================================");
  228. }
  229.  
  230.  
  231. public OnGameModeInit()
  232. {
  233.     SetGameModeText(ScriptServerVersion);
  234.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  235.     DisableInteriorEnterExits();
  236.     EnableStuntBonusForAll(0);
  237.     mysql_connect(m_Host,m_User,m_Data,m_Pass);
  238.     if(!mysql_ping())
  239.     {
  240.         print("MYSQL: Es konnte keine Verbindung zum MYSQL Server hergestellt werden!");
  241.         SendRconCommand("gmx");
  242.     }
  243.     else
  244.     {
  245.         new string[128];
  246.         LoadServerEnum();
  247.         //SetWorldTime(0);
  248.  
  249.        
  250.         for(new i = 0; i<sizeof(Int);i++)
  251.         {
  252.             CreatePickup(19130,1,Int[i][enterX],Int[i][enterY],Int[i][enterZ],0);
  253.             CreatePickup(19130,1,Int[i][intX],Int[i][intY],Int[i][intZ],0);
  254.             Create3DTextLabel(Int[i][iLabel],0xFFAA00AA,Int[i][enterX],Int[i][enterY],Int[i][enterZ]+0.5,20,0,1);
  255.         }
  256.    
  257.         //Accounts Tabelle
  258.         mysql_query("CREATE TABLE IF NOT EXISTS `accounts` (\
  259.           `ID` int(11) NOT NULL AUTO_INCREMENT,\
  260.           `Name` varchar(24) NOT NULL,\
  261.           `Password` varchar(50) NOT NULL,\
  262.           PRIMARY KEY (`ID`));");
  263.          
  264.         mysql_query("ALTER TABLE  `accounts` ADD  `Level` INT NOT NULL");
  265.         mysql_query("ALTER TABLE  `accounts` ADD  `Geld` INT NOT NULL");
  266.         mysql_query("ALTER TABLE  `accounts` ADD  `Admin` INT NOT NULL");
  267.         mysql_query("ALTER TABLE  `accounts` ADD  `Ip` VARCHAR( 32 ) NOT NULL");
  268.         mysql_query("ALTER TABLE  `accounts` ADD  `Skin` INT NOT NULL");
  269.         mysql_query("ALTER TABLE  `accounts` ADD  `Opdachlos` INT NOT NULL");
  270.         mysql_query("ALTER TABLE  `accounts` ADD  `Gender` INT NOT NULL");
  271.         mysql_query("ALTER TABLE  `accounts` ADD  `Alter` INT NOT NULL");
  272.         mysql_query("ALTER TABLE  `accounts` ADD  `Ban` INT NOT NULL");
  273.         mysql_query("ALTER TABLE  `accounts` ADD  `Banreason` VARCHAR(24) NOT NULL");
  274.         mysql_query("ALTER TABLE  `accounts` ADD  `Perso` INT NOT NULL");
  275.         mysql_query("ALTER TABLE  `accounts` ADD  `Job` INT NOT NULL");
  276.        
  277.         //Server Tabelle
  278.         mysql_query("CREATE TABLE IF NOT EXISTS `Server` (\
  279.           `ID` int(11) NOT NULL AUTO_INCREMENT,\
  280.           `RollerRentPreis` int(11) NOT NULL,\
  281.           PRIMARY KEY (`ID`));");
  282.         mysql_query("SELECT * FROM `Server` WHERE `ID` = '1'");
  283.         mysql_store_result();
  284.         if(mysql_num_rows() == 0)
  285.         {
  286.             mysql_query("INSERT INTO `Server` (`RollerRentPreis`) VALUES ('50')");
  287.         }
  288.          
  289.  
  290.          
  291.          
  292.         //========| Labels =========
  293.        
  294.         format(string,128,"[Rollervermietung]\nHier kannst du einen Roller mieten\n/roller [%d$]",sv[RollerRentPreis]);
  295.         RollerLabel = Create3DTextLabel(string,orange,1095.9596,-1439.7075,15.7681,15,0,1);
  296.         CreatePickup(1239,1,1095.9596,-1439.7075,15.7681,0);
  297.        
  298.        
  299.         CreatePickup(1239,1, 362.8217,173.6371,1008.3828);
  300.         Create3DTextLabel("|- Tippe 'menü' -|\nUm in das Menü zu kommen",blau,362.8217,173.6371,1008.3828+0.5,8,0,1);
  301.        
  302.        
  303.         CreatePickup(1275,1,1092.1044,-1471.8582,15.7525);
  304.         Create3DTextLabel("|- Tippe '/skinshop' -|\nUm in das Menü zu kommen",blau,1092.1044,-1471.8582,15.7525+0.5,8,0,1);
  305.        
  306.        
  307.         //Zonen
  308.         //SkinArea = CreateDynamicRectangle(1087.0,-1479.049560,1101.194213+0.5,-1465.0);
  309.        
  310.        
  311.         //==========| Global Textdraw´s =============
  312.         UntenBox = TextDrawCreate(693.294799, 426.749969, "usebox");
  313.         TextDrawLetterSize(UntenBox, 0.000000, 0.914812);
  314.         TextDrawTextSize(UntenBox, -3.882318, 0.000000);
  315.         TextDrawAlignment(UntenBox, 1);
  316.         TextDrawColor(UntenBox, 255);
  317.         TextDrawUseBox(UntenBox, true);
  318.         TextDrawBoxColor(UntenBox, 202);
  319.         TextDrawSetShadow(UntenBox, 0);
  320.         TextDrawSetOutline(UntenBox, 0);
  321.         TextDrawFont(UntenBox, 0);
  322.  
  323.         Forum = TextDrawCreate(7.529368, 424.666809, ForumURL);
  324.         TextDrawLetterSize(Forum, 0.311176, 1.226665);
  325.         TextDrawAlignment(Forum, 1);
  326.         TextDrawColor(Forum, 6553599);
  327.         TextDrawSetShadow(Forum, 0);
  328.         TextDrawSetOutline(Forum, 0);
  329.         TextDrawBackgroundColor(Forum, 51);
  330.         TextDrawFont(Forum, 1);
  331.         TextDrawSetProportional(Forum, 1);
  332.  
  333.         ServerVersion = TextDrawCreate(583.587951, 424.500122, ScriptServerVersion);
  334.         TextDrawLetterSize(ServerVersion, 0.311176, 1.226665);
  335.         TextDrawAlignment(ServerVersion, 1);
  336.         TextDrawColor(ServerVersion, 6553599);
  337.         TextDrawSetShadow(ServerVersion, 0);
  338.         TextDrawSetOutline(ServerVersion, 0);
  339.         TextDrawBackgroundColor(ServerVersion, 51);
  340.         TextDrawFont(ServerVersion, 1);
  341.         TextDrawSetProportional(ServerVersion, 1);
  342.        
  343.         SetTimer("UpdateForumDraw",15*1000,true);
  344.        
  345.         Datum = TextDrawCreate(545.000000, 26.000000, "22. November 2015");
  346.         TextDrawBackgroundColor(Datum, 255);
  347.         TextDrawFont(Datum, 1);
  348.         TextDrawLetterSize(Datum, 0.240000, 1.400000);
  349.         TextDrawColor(Datum, -1);
  350.         TextDrawSetOutline(Datum, 1);
  351.         TextDrawSetProportional(Datum, 1);
  352.  
  353.         Uhr = TextDrawCreate(546.000000, 47.000000, "15:03:33");
  354.         TextDrawBackgroundColor(Uhr, 255);
  355.         TextDrawFont(Uhr, 1);
  356.         TextDrawLetterSize(Uhr, 0.310000, 1.400000);
  357.         TextDrawColor(Uhr, -1);
  358.         TextDrawSetOutline(Uhr, 1);
  359.         TextDrawSetProportional(Uhr, 1);
  360.  
  361.        
  362.         SetTimer("UpdateClock",1000,true);
  363.        
  364.         //===========| Spawn Vorne
  365.         CreateDynamicObject(1257, 1132.70813, -1411.58972, 13.73594,   0.00000, 0.00000, -90.00000);
  366.         CreateDynamicObject(1229, 1129.32495, -1411.05615, 13.77080,   0.00000, 0.00000, 180.00000);
  367.         CreateDynamicObject(640, 1137.95361, -1411.20740, 13.28759,   0.00000, 0.00000, 90.00000);
  368.         CreateDynamicObject(640, 1143.41406, -1411.18738, 13.28760,   0.00000, 0.00000, 90.00000);
  369.         CreateDynamicObject(640, 1148.87952, -1411.18738, 13.28760,   0.00000, 0.00000, 90.00000);
  370.         CreateDynamicObject(640, 1154.44189, -1411.18738, 13.28760,   0.00000, 0.00000, 90.00000);
  371.         CreateDynamicObject(970, 1157.06702, -1413.73352, 13.10180,   0.00000, 0.00000, 90.00000);
  372.         CreateDynamicObject(19126, 1157.34436, -1411.31909, 13.00658,   0.00000, 0.00000, 0.00000);
  373.         CreateDynamicObject(19126, 1157.34436, -1415.68127, 13.00660,   0.00000, 0.00000, 0.00000);
  374.         CreateDynamicObject(640, 1126.18530, -1411.20740, 13.28760,   0.00000, 0.00000, 90.00000);
  375.         CreateDynamicObject(970, 1123.50684, -1413.73352, 13.10180,   0.00000, 0.00000, 90.00000);
  376.         CreateDynamicObject(19126, 1123.13708, -1411.31909, 13.00660,   0.00000, 0.00000, 0.00000);
  377.         CreateDynamicObject(19126, 1123.13708, -1415.68127, 13.00660,   0.00000, 0.00000, 0.00000);
  378.         CreateDynamicObject(1597, 1127.38672, -1400.76672, 15.00380,   0.00000, 0.00000, 90.00000);
  379.         CreateDynamicObject(1597, 1138.29578, -1400.76672, 15.00380,   0.00000, 0.00000, 90.00000);
  380.         CreateDynamicObject(1597, 1149.05920, -1400.76672, 15.00380,   0.00000, 0.00000, 90.00000);
  381.         CreateDynamicObject(19126, 1132.55920, -1400.51184, 13.00660,   0.00000, 0.00000, 0.00000);
  382.         CreateDynamicObject(19126, 1143.88269, -1400.50757, 13.00660,   0.00000, 0.00000, 0.00000);
  383.         CreateDynamicObject(19126, 1143.40039, -1400.49695, 13.00660,   0.00000, 0.00000, 0.00000);
  384.         CreateDynamicObject(19126, 1133.16016, -1400.49500, 13.00660,   0.00000, 0.00000, 0.00000);
  385.         CreateDynamicObject(3578, 1125.30835, -1406.30042, 11.72440,   0.00000, 0.00000, 90.00000);
  386.         CreateDynamicObject(3578, 1127.69507, -1406.31042, 11.72440,   0.00000, 0.00000, 90.00000);
  387.         CreateDynamicObject(3578, 1129.76685, -1406.13501, 11.72440,   0.00000, 0.00000, 90.00000);
  388.         CreateDynamicObject(3578, 1136.21729, -1405.79919, 11.72440,   0.00000, 0.00000, 90.00000);
  389.         CreateDynamicObject(3578, 1138.67847, -1405.94971, 11.72440,   0.00000, 0.00000, 90.00000);
  390.         CreateDynamicObject(3578, 1140.76831, -1406.01025, 11.74740,   0.00000, 0.00000, 90.00000);
  391.         CreateDynamicObject(3578, 1147.02283, -1405.68262, 11.78840,   0.00000, 0.00000, 90.00000);
  392.         CreateDynamicObject(3578, 1149.49170, -1405.83716, 11.78840,   0.00000, 0.00000, 90.00000);
  393.         CreateDynamicObject(3578, 1151.63635, -1405.90552, 11.78840,   0.00000, 0.00000, 90.00000);
  394.         CreateDynamicObject(3578, 1125.30835, -1394.69275, 11.72440,   0.00000, 0.00000, 90.00000);
  395.         CreateDynamicObject(3578, 1127.69507, -1394.69275, 11.74440,   0.00000, 0.00000, 90.00000);
  396.         CreateDynamicObject(3578, 1136.20752, -1395.27283, 11.82440,   0.00000, 0.00000, 90.00000);
  397.         CreateDynamicObject(3578, 1138.67847, -1394.69275, 11.84440,   0.00000, 0.00000, 90.00000);
  398.         CreateDynamicObject(3578, 1140.76843, -1394.67273, 11.84740,   0.00000, 0.00000, 90.00000);
  399.         CreateDynamicObject(3578, 1147.02283, -1394.69275, 11.90840,   0.00000, 0.00000, 90.00000);
  400.         CreateDynamicObject(3578, 1149.49170, -1394.69275, 11.90840,   0.00000, 0.00000, 90.00000);
  401.         CreateDynamicObject(3578, 1151.63635, -1394.69275, 11.88840,   0.00000, 0.00000, 90.00000);
  402.         CreateDynamicObject(3578, 1129.76685, -1394.69275, 11.76440,   0.00000, 0.00000, 90.00000);
  403.        
  404.         //========| Skin Shop vorne
  405.         CreateDynamicObject(640, 1100.15320, -1468.46875, 15.40094,   0.00000, 0.00000, -18.00000);
  406.         CreateDynamicObject(640, 1096.75842, -1478.52783, 15.40094,   0.00000, 0.00000, -18.00000);
  407.         CreateDynamicObject(1432, 1102.53491, -1470.95911, 14.78674,   0.00000, 0.00000, 0.00000);
  408.         CreateDynamicObject(1432, 1102.62988, -1467.79260, 14.78674,   0.00000, 0.00000, -31.38001);
  409.         CreateDynamicObject(1432, 1102.62988, -1467.79260, 14.78674,   0.00000, 0.00000, -31.38001);
  410.         CreateDynamicObject(1432, 1098.42542, -1480.62476, 14.78674,   0.00000, 0.00000, -31.38001);
  411.         CreateDynamicObject(1432, 1101.82520, -1480.13123, 14.78674,   0.00000, 0.00000, -4.50001);
  412.         CreateDynamicObject(1432, 1100.04114, -1477.73828, 14.78674,   0.00000, 0.00000, 9.11999);
  413.         CreateDynamicObject(1432, 1105.33972, -1469.84668, 14.78674,   0.00000, 0.00000, -4.50001);
  414.         CreateDynamicObject(1215, 1099.08167, -1472.00269, 15.18686,   0.00000, 0.00000, 0.00000);
  415.         CreateDynamicObject(1215, 1097.93884, -1475.20544, 15.18686,   0.00000, 0.00000, 0.00000);
  416.        
  417.         //StadtZentrum ;)
  418.        
  419.         /*new StadtZentrum = */
  420.         //SetDynamicObjectMaterial(StadtZentrum,2,19454,"all_walls","mp_motel_whitewall",0);
  421.         //SetDynamicObjectMaterial(objectid,index,modelid,txdname,texturename,0);
  422.         //CreateDynamicObject(19322, 1117.58594, -1490.00781, 32.71875,   0.00000, 0.00000, 0.00000);
  423.        
  424.        
  425.         //Stadt Zentrum Objecte
  426.         CreateDynamicObject(19322, 1117.59888, -1490.03284, 32.71875,   0.00000, 0.00000, 0.00000);
  427.         CreateDynamicObject(19323, 1117.59900, -1490.02808, 32.69000,   0.00000, 0.00000, 0.00000);
  428.        
  429.         //======= SKIN SHOP
  430.         CreateDynamicObject(3857, 1099.58057, -1468.51733, 15.28381,   0.00000, 0.00000, -62.93999);
  431.         CreateDynamicObject(3857, 1096.38647, -1478.62402, 15.28381,   0.00000, 0.00000, -62.93999);
  432.         CreateDynamicObject(2623, 1090.29822, -1471.34680, 16.22730,   0.00000, 0.00000, 71.91997);
  433.         CreateDynamicObject(2403, 1095.38843, -1469.37256, 14.77487,   0.00000, 0.00000, 76.97993);
  434.         CreateDynamicObject(18608, 1094.57349, -1468.61072, 19.74780,   0.00000, 0.00000, -17.70001);
  435.         CreateDynamicObject(2727, 1098.28259, -1473.42554, 20.02260,   90.00000, 90.00000, -16.98000);
  436.         CreateDynamicObject(2400, 1091.47498, -1480.33899, 15.56450,   0.00000, 0.00000, 162.05986);
  437.         CreateDynamicObject(2387, 1096.02832, -1476.33704, 14.78649,   0.00000, 0.00000, -19.44000);
  438.         CreateDynamicObject(2387, 1096.02832, -1476.33704, 14.78649,   0.00000, 0.00000, -19.44000);
  439.         CreateDynamicObject(2387, 1095.44971, -1477.93188, 14.78649,   0.00000, 0.00000, -19.44000);
  440.         CreateDynamicObject(2387, 1094.67566, -1479.98157, 14.78649,   0.00000, 0.00000, -19.44000);
  441.         CreateDynamicObject(2372, 1088.83972, -1476.67627, 14.77452,   0.00000, 0.00000, 0.00000);
  442.         CreateDynamicObject(2381, 1088.65796, -1475.95923, 15.48690,   0.00000, 0.00000, -90.30000);
  443.         CreateDynamicObject(2689, 1090.51697, -1479.78369, 16.88346,   0.00000, 0.00000, 163.79999);
  444.         CreateDynamicObject(2689, 1090.51697, -1479.78369, 16.88346,   0.00000, 0.00000, 163.79999);
  445.         CreateDynamicObject(2689, 1089.46448, -1479.20618, 16.88346,   0.00000, 0.00000, 163.79999);
  446.         CreateDynamicObject(2652, 1092.64404, -1468.44824, 15.27964,   0.00000, 0.00000, 0.00000);
  447.         CreateDynamicObject(2229, 1090.64734, -1467.68750, 15.40361,   0.00000, 0.00000, 73.67999);
  448.         CreateDynamicObject(2229, 1093.17322, -1465.11682, 15.40361,   0.00000, 0.00000, 28.91998);
  449.         CreateDynamicObject(2229, 1096.80762, -1464.61377, 15.40361,   0.00000, 0.00000, -12.84003);
  450.        
  451.         //======== ROLLER SHOP
  452.         CreateDynamicObject(3857, 1101.87854, -1434.42371, 15.08996,   0.00000, 0.00000, -45.06000);
  453.         CreateDynamicObject(3857, 1101.87573, -1445.50427, 15.08996,   0.00000, 0.00000, -45.06000);
  454.         CreateDynamicObject(1998, 1093.67407, -1438.02686, 14.76216,   0.00000, 0.00000, -90.90001);
  455.         CreateDynamicObject(1998, 1094.66455, -1440.10913, 14.76216,   0.00000, 0.00000, -180.00003);
  456.         CreateDynamicObject(1806, 1093.54602, -1439.04614, 14.76457,   0.00000, 0.00000, -55.32000);
  457.         CreateDynamicObject(1806, 1093.40869, -1440.22766, 14.76457,   0.00000, 0.00000, -137.75999);
  458.         CreateDynamicObject(1704, 1095.33801, -1433.86853, 14.76287,   0.00000, 0.00000, 90.48001);
  459.         CreateDynamicObject(1827, 1097.28320, -1433.54456, 14.76192,   0.00000, 0.00000, 0.00000);
  460.         CreateDynamicObject(1704, 1099.33838, -1433.08020, 14.76287,   0.00000, 0.00000, 269.87994);
  461.         CreateDynamicObject(19174, 1092.37354, -1439.46436, 17.12573,   0.00000, 0.00000, 90.60000);
  462.         CreateDynamicObject(18014, 1102.52173, -1434.81470, 15.19985,   0.00000, 0.00000, 0.00000);
  463.         CreateDynamicObject(18014, 1102.42761, -1445.57800, 15.19985,   0.00000, 0.00000, 0.00000);
  464.         CreateDynamicObject(1215, 1102.37622, -1441.84082, 15.19124,   0.00000, 0.00000, 0.00000);
  465.         CreateDynamicObject(1215, 1102.31738, -1438.46045, 15.19124,   0.00000, 0.00000, 0.00000);
  466.  
  467.         //=========== Opdachlosen Heim
  468.         CreateDynamicObject(18014, 1154.75134, -1445.21960, 15.20441,   0.00000, 0.00000, 0.00000);
  469.         CreateDynamicObject(18014, 1154.83704, -1434.99780, 15.20441,   0.00000, 0.00000, 0.00000);
  470.         CreateDynamicObject(3857, 1155.45447, -1434.81616, 15.60324,   0.00000, 0.00000, -44.40000);
  471.         CreateDynamicObject(3857, 1155.27966, -1445.57739, 15.60324,   0.00000, 0.00000, -45.90000);
  472.         CreateDynamicObject(19465, 1177.64417, -1434.52429, 17.21929,   0.00000, 0.00000, 0.00000);
  473.         CreateDynamicObject(19464, 1180.48071, -1437.45557, 17.21930,   0.00000, 0.00000, 90.00000);
  474.         CreateDynamicObject(1812, 1182.24988, -1434.52625, 14.76408,   0.00000, 0.00000, 0.00000);
  475.         CreateDynamicObject(2514, 1182.78247, -1436.06470, 14.76423,   0.00000, 0.00000, -89.99999);
  476.         CreateDynamicObject(19465, 1177.64417, -1440.50415, 17.21930,   0.00000, 0.00000, 0.00000);
  477.         CreateDynamicObject(19464, 1180.48071, -1443.41602, 17.21930,   0.00000, 0.00000, 90.00000);
  478.         CreateDynamicObject(1812, 1179.97400, -1439.51721, 14.76335,   0.00000, 0.00000, -62.58000);
  479.         CreateDynamicObject(2514, 1182.75220, -1441.12439, 14.77936,   0.00000, 0.00000, -91.55999);
  480.         CreateDynamicObject(2009, 1159.79456, -1433.34924, 14.75983,   0.00000, 0.00000, 0.00000);
  481.         CreateDynamicObject(2009, 1163.06494, -1433.34924, 14.75980,   0.00000, 0.00000, 0.00000);
  482.         CreateDynamicObject(2009, 1166.10803, -1433.34924, 14.75980,   0.00000, 0.00000, 0.00000);
  483.         CreateDynamicObject(2009, 1168.96643, -1433.34924, 14.75980,   0.00000, 0.00000, 0.00000);
  484.         CreateDynamicObject(1806, 1169.80713, -1433.25903, 14.76265,   0.00000, 0.00000, 5.22000);
  485.         CreateDynamicObject(1806, 1166.92761, -1433.43689, 14.76265,   0.00000, 0.00000, -26.88000);
  486.         CreateDynamicObject(1806, 1163.86658, -1433.30322, 14.76265,   0.00000, 0.00000, 28.50000);
  487.         CreateDynamicObject(1806, 1160.96619, -1433.23047, 14.76265,   0.00000, 0.00000, 64.55998);
  488.  
  489.         //Shop Scheiben
  490.         CreateDynamicObject(3857, 1139.70154, -1523.44495, 15.19421,   0.00000, 0.00000, 65.63997);
  491.         CreateDynamicObject(3857, 1154.89636, -1526.53210, 22.72783,   0.00000, 0.00000, 92.99998);
  492.         CreateDynamicObject(3857, 1163.20410, -1517.05408, 22.72783,   0.00000, 0.00000, 93.59998);
  493.         CreateDynamicObject(3857, 1101.28845, -1526.72400, 22.66844,   0.00000, 0.00000, -2.94000);
  494.         CreateDynamicObject(3857, 1092.94397, -1517.36145, 22.66844,   0.00000, 0.00000, -2.94000);
  495.         CreateDynamicObject(3857, 1094.38257, -1444.54065, 23.05755,   0.00000, 0.00000, -44.75998);
  496.         CreateDynamicObject(3857, 1094.46704, -1458.01135, 23.05755,   0.00000, 0.00000, -44.75998);
  497.         CreateDynamicObject(3857, 1101.87634, -1452.71558, 15.09408,   0.00000, 0.00000, -46.14000);
  498.         CreateDynamicObject(3857, 1155.28394, -1452.68823, 15.29810,   0.00000, 0.00000, -45.24000);
  499.         CreateDynamicObject(3857, 1157.14453, -1468.12671, 15.29889,   0.00000, 0.00000, -26.46001);
  500.         CreateDynamicObject(3857, 1160.63318, -1478.52124, 15.29889,   0.00000, 0.00000, -26.46001);
  501.         CreateDynamicObject(3857, 1159.76135, -1502.02283, 15.29790,   0.00000, 0.00000, -65.57996);
  502.         CreateDynamicObject(3857, 1117.34839, -1523.54004, 16.02042,   0.00000, 0.00000, 23.76000);
  503.         CreateDynamicObject(3857, 1097.25427, -1502.31775, 15.61666,   0.00000, 0.00000, -23.88000);
  504.         CreateDynamicObject(3857, 1162.99731, -1441.84204, 23.11988,   0.00000, 0.00000, -44.88000);
  505.         CreateDynamicObject(3857, 1163.05762, -1428.41748, 23.11988,   0.00000, 0.00000, -44.88000);
  506.  
  507.  
  508.  
  509.     }
  510.     return 1;
  511. }
  512.  
  513. public OnGameModeExit()
  514. {
  515.     return 1;
  516. }
  517.  
  518. //=============| Andere Publics ===============
  519.  
  520. public UpdateClock()
  521. {
  522.     GetDatum;
  523.     GetZeit;
  524.     new month[30];
  525.     switch(monat)
  526.     {
  527.         case 1:{month="Januar";}
  528.         case 2:{month="Februar";}
  529.         case 3:{month="Maerz";}
  530.         case 4:{month="April";}
  531.         case 5:{month="Mai";}
  532.         case 6:{month="Juni";}
  533.         case 7:{month="Juli";}
  534.         case 8:{month="August";}
  535.         case 9:{month="September";}
  536.         case 10:{month="Oktober";}
  537.         case 11:{month="November";}
  538.         case 12:{month="Dezember";}
  539.     }
  540.     new string[32];
  541.     format(string,32,"%02d:%02d:%02d",stunde,minute,sekunde);
  542.     TextDrawSetString(Uhr,string);
  543.     format(string,32,"%02d. %s %02d",tag,month,jahr);
  544.     TextDrawSetString(Datum,string);
  545.     SetWorldTime(stunde);
  546.     return 1;
  547. }
  548.  
  549. public UpdateForumDraw()
  550. {
  551.     if(!ts)
  552.     {
  553.         TextDrawSetString(Forum,Teamspeak);
  554.         ts = true;
  555.     }else{
  556.         TextDrawSetString(Forum,ForumURL);
  557.         ts = false;
  558.     }
  559.     return 1;
  560. }
  561.  
  562. public Log(what[],loge[])
  563. {
  564.     new string[100];
  565.     GetDatum;
  566.     format(string,100,"\n%s:[%02d/%02d/%d]: %s",what,tag,monat,jahr,loge);
  567.     new
  568.         INI:ini = INI_Open("Logs.txt");
  569.         INI_WriteString(ini, "", string);
  570.         INI_Close(ini);
  571.        
  572.     print(string);
  573.     return 1;
  574. }
  575.  
  576.  
  577.  
  578.  
  579. public OnPlayerRequestClass(playerid, classid)
  580. {
  581.     if(IsPlayerNPC(playerid))return 1;
  582.     new query[128],dstring[200];
  583.     format(query,128,"SELECT * FROM `accounts` WHERE `Name` = '%s'",Name[playerid]);
  584.     mysql_query(query);
  585.     mysql_store_result();
  586.     if(mysql_num_rows() == 0)
  587.     {
  588.         format(dstring,200,"{FF8C00}===========| Regestritaion |===========\n{FFFFFF}\
  589.         Willkommen {FF8C00}%s{FFFFFF}!\n\nUm auf diesem Server Spielen zu können benötigst du einen Account.\
  590.         \nBitte Regestriere dich jetzt:",Name[playerid]);
  591.         ShowPlayerDialog(playerid, DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Willkommen!",dstring,"Register","Exit");
  592.     }
  593.     else
  594.     {
  595.         format(dstring,200,"{FF8C00}===========| Login |===========\n{FFFFFF}\
  596.         Willkommen zurück {FF8C00}%s{FFFFFF}!\n\nDein Account wurde in der Datenbank Gefunden!\nLogge dich nun ein.",Name[playerid]);
  597.         ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",dstring,"Login","Exit");
  598.     }
  599.     return 1;
  600. }
  601.  
  602. public OnPlayerConnect(playerid)
  603. {
  604.     RentRoller[playerid] = 0;
  605.    
  606.     new string[128];
  607.     Spam(playerid, 30);
  608.     GetPlayerName(playerid, Name[playerid], 24);
  609.     GetPlayerIp(playerid, Ip[playerid], 32);
  610.     format(string,128,"|================| Willkommen %s |================|",Name[playerid]);
  611.     SendClientMessage(playerid, gelb, string);
  612.     InterpolateCameraPos(playerid, 436.262359, -1293.885375, 71.302558, 1364.872802, -860.460998, 85.655143, 30000);
  613.     InterpolateCameraLookAt(playerid, 433.295440, -1297.800170, 70.368942, 1367.875122, -856.513793, 85.018013, 1000);
  614.    
  615.     //Textdraw erstellung
  616.     SkinBox[playerid] = TextDrawCreate(409.999847, 342.166748, "usebox");
  617.     TextDrawLetterSize(SkinBox[playerid], 0.000000, 6.488888);
  618.     TextDrawTextSize(SkinBox[playerid], 233.764663, 0.000000);
  619.     TextDrawAlignment(SkinBox[playerid], 1);
  620.     TextDrawColor(SkinBox[playerid], 0);
  621.     TextDrawUseBox(SkinBox[playerid], true);
  622.     TextDrawBoxColor(SkinBox[playerid], 190);
  623.     TextDrawSetShadow(SkinBox[playerid], 0);
  624.     TextDrawSetOutline(SkinBox[playerid], 0);
  625.     TextDrawFont(SkinBox[playerid], 0);
  626.  
  627.     SkinHead[playerid] = TextDrawCreate(276.705932, 341.833404, "]Skin-Shop]");
  628.     TextDrawLetterSize(SkinHead[playerid], 0.313529, 1.337499);
  629.     TextDrawAlignment(SkinHead[playerid], 1);
  630.     TextDrawColor(SkinHead[playerid], -1149239041);
  631.     TextDrawSetShadow(SkinHead[playerid], 0);
  632.     TextDrawSetOutline(SkinHead[playerid], 1);
  633.     TextDrawBackgroundColor(SkinHead[playerid], 51);
  634.     TextDrawFont(SkinHead[playerid], 2);
  635.     TextDrawSetProportional(SkinHead[playerid], 1);
  636.  
  637.     SkinRight[playerid] = TextDrawCreate(358.588165, 365.166717, "LD_BEAT:right");
  638.     TextDrawLetterSize(SkinRight[playerid], -0.014117, 1.341666);
  639.     TextDrawTextSize(SkinRight[playerid], 17.882349, 17.499988);
  640.     TextDrawAlignment(SkinRight[playerid], 1);
  641.     TextDrawColor(SkinRight[playerid], -1);
  642.     TextDrawSetShadow(SkinRight[playerid], 0);
  643.     TextDrawSetOutline(SkinRight[playerid], 0);
  644.     TextDrawFont(SkinRight[playerid], 4);
  645.  
  646.     SkinLeft[playerid] = TextDrawCreate(270.176635, 366.166748, "LD_BEAT:left");
  647.     TextDrawLetterSize(SkinLeft[playerid], -0.014117, 1.341666);
  648.     TextDrawTextSize(SkinLeft[playerid], 17.882349, 17.499988);
  649.     TextDrawAlignment(SkinLeft[playerid], 1);
  650.     TextDrawColor(SkinLeft[playerid], -1);
  651.     TextDrawSetShadow(SkinLeft[playerid], 0);
  652.     TextDrawSetOutline(SkinLeft[playerid], 0);
  653.     TextDrawFont(SkinLeft[playerid], 4);
  654.  
  655.     SkinID[playerid] = TextDrawCreate(294.117767, 366.333465, "~r~SkinID: 512");
  656.     TextDrawLetterSize(SkinID[playerid], 0.274000, 1.524166);
  657.     TextDrawAlignment(SkinID[playerid], 1);
  658.     TextDrawColor(SkinID[playerid], -1);
  659.     TextDrawSetShadow(SkinID[playerid], 0);
  660.     TextDrawSetOutline(SkinID[playerid], 1);
  661.     TextDrawBackgroundColor(SkinID[playerid], 51);
  662.     TextDrawFont(SkinID[playerid], 1);
  663.     TextDrawSetProportional(SkinID[playerid], 1);
  664.  
  665.     SkinInfo[playerid] = TextDrawCreate(241.941268, 388.333526, "~g~Druecke ENTER um den Skin zu kaufen");
  666.     TextDrawLetterSize(SkinInfo[playerid], 0.245294, 1.325832);
  667.     TextDrawAlignment(SkinInfo[playerid], 1);
  668.     TextDrawColor(SkinInfo[playerid], -1);
  669.     TextDrawSetShadow(SkinInfo[playerid], 0);
  670.     TextDrawSetOutline(SkinInfo[playerid], 1);
  671.     TextDrawBackgroundColor(SkinInfo[playerid], 51);
  672.     TextDrawFont(SkinInfo[playerid], 1);
  673.     TextDrawSetProportional(SkinInfo[playerid], 1);
  674.    
  675.     //Einkauscenter
  676.     RemoveBuildingForPlayer(playerid, 6130, 1117.5859, -1490.0078, 32.7188, 0.25);
  677.     RemoveBuildingForPlayer(playerid, 6255, 1117.5859, -1490.0078, 32.7188, 0.25);
  678.     RemoveBuildingForPlayer(playerid, 762, 1175.3594, -1420.1875, 19.8828, 0.25);
  679.     RemoveBuildingForPlayer(playerid, 615, 1166.3516, -1417.6953, 13.9531, 0.25);
  680.    
  681.     SetTimerEx("OnPlayerGoInShop",1000,true,"d",playerid);
  682.    
  683.     SetPlayerColor(playerid,0x646464FF);
  684.  
  685.     return 1;
  686. }
  687.  
  688. public OnPlayerGoInShop(playerid)
  689. {
  690.     //////////Skin Shop Anlage//////////////////////////////////////////////////////////////
  691.     if(IsPlayerInRangeOfPoint(playerid,11,1092.1044,-1471.8582,15.7525))
  692.     {
  693.         if(!InSkinShop[playerid])
  694.         {
  695.             InSkinShop[playerid] = true;
  696.             PlayAudioStreamForPlayer(playerid,"http://listen.housetime.fm/dsl.pls",1092.1044,-1471.8582,15.7525,11,1);
  697.             SendClientMessage(playerid,grau,"Willkommen im Skin Shop hier kannst du dein aussehen ändern.");
  698.             SendClientMessage(playerid,grau,"Die Audio Nachricht kannst du mit ''/audiomsg'' An/Aus schalten.");
  699.         }
  700.     }
  701.     if(!IsPlayerInRangeOfPoint(playerid,11,1092.1044,-1471.8582,15.7525))
  702.     {
  703.         if(InSkinShop[playerid])
  704.         {
  705.             StopAudioStreamForPlayer(playerid);
  706.             InSkinShop[playerid] = false;
  707.         }
  708.     }
  709.     //////////////////////////////////////////////////////////////////////////////////////
  710.     return 1;
  711. }
  712.  
  713. public OnPlayerDisconnect(playerid, reason)
  714. {
  715.     SavePlayer(playerid);
  716.     DestroyVehicle(RentRoller[playerid]);
  717.     return 1;
  718. }
  719.  
  720. public OnPlayerSpawn(playerid)
  721. {
  722.  
  723.     SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
  724.     SetCameraBehindPlayer(playerid);
  725.  
  726.     TextDrawShowForPlayer(playerid, UntenBox);
  727.     //TextDrawShowForPlayer(playerid, UntenBox1);
  728.     TextDrawShowForPlayer(playerid, Forum);
  729.     TextDrawShowForPlayer(playerid, ServerVersion);
  730.     TextDrawShowForPlayer(playerid, Uhr);
  731.     TextDrawShowForPlayer(playerid, Datum);
  732.    
  733.     if(pInfo[playerid][pOpdachlos])
  734.     {
  735.         new rand=random(sizeof(OPSpawn));
  736.         SetPos(playerid,OPSpawn[rand][0],OPSpawn[rand][1],OPSpawn[rand][2],OPSpawn[rand][3]);
  737.         SendClientMessage(playerid,grau,"* Du bist Opdachlos. Deswegen spawnst du im Opdachlosen Heim!");
  738.         inInt[playerid] = false;
  739.         return 1;
  740.     }
  741.     return 1;
  742. }
  743.  
  744. public OnPlayerDeath(playerid, killerid, reason)
  745. {
  746.     TextDrawHideForPlayer(playerid, UntenBox);
  747.     TextDrawHideForPlayer(playerid, UntenBox1);
  748.     TextDrawHideForPlayer(playerid, Forum);
  749.     TextDrawHideForPlayer(playerid, ServerVersion);
  750.     TextDrawHideForPlayer(playerid, Uhr);
  751.     TextDrawHideForPlayer(playerid, Datum);
  752.     return 1;
  753. }
  754.  
  755. public OnVehicleSpawn(vehicleid)
  756. {
  757.     return 1;
  758. }
  759.  
  760. public OnVehicleDeath(vehicleid, killerid)
  761. {
  762.     return 1;
  763. }
  764.  
  765. public OnPlayerText(playerid, text[])
  766. {
  767.     if(strfind(text, "menü", true) != -1)
  768.     {
  769.         if(IsPlayerInRangeOfPoint(playerid,5,362.8217,173.6371,1008.3828)){
  770.         ShowPlayerDialog(playerid, DIALOG_MENU,DIALOG_STYLE_LIST,"Stadthallen Menü","Personal Ausweis beantragen\nArbeitsamt","Weiter","Exit");
  771.         }
  772.         return 0;
  773.     }
  774.     new string[128];
  775.     format(string,128,"%s sagt: %s",Name[playerid],text);
  776.     MessageInRand(playerid,string);
  777.    
  778.     return 0;
  779. }
  780.  
  781. public MessageInRand(playerid,const message[])
  782. {
  783.     new i,Float:p[3];
  784.     GetPlayerPos(playerid, p[0],p[1],p[2]);
  785.     for(;i<GetMaxPlayers();i++)
  786.     {
  787.         if(!IsPlayerConnected(i))continue;
  788.         if(IsPlayerInRangeOfPoint(i, 8, p[0],p[1],p[2]))
  789.         {
  790.             SendClientMessage(i, 0xE6E6E6FF, message);
  791.         }
  792.     }
  793.     return 1;
  794. }
  795.  
  796. public OnPlayerCommandText(playerid, cmdtext[])
  797. {
  798.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  799.     {
  800.         // Do something here
  801.         return 1;
  802.     }
  803.     return 0;
  804. }
  805.  
  806. public KickPlayer(playerid, admin[], const reason[])
  807. {
  808.     new string[128];
  809.     format(string,128,"AdmCmd: %s wurde von %s Gekickt Grund | %s",Name[playerid],admin,reason);
  810.     SendClientMessageToAll(rot,string);
  811.     Kick(playerid);
  812.     //SetTimerEx("KickPlayerNow",1000,false,"d",playerid);
  813.     return 1;
  814. }
  815.  
  816. public BanPlayer(playerid, admin[], const reason[])
  817. {
  818.     new string[128];
  819.     format(string,128,"AdmCmd: %s wurde von %s Gebannt Grund: %s",Name[playerid],admin,reason);
  820.     SendClientMessageToAll(rot,string);
  821.     format(string,128,"UPDATE `accounts` SET `Ban` = '1', `Banreason` = '%s' WHERE `Name` = '%s'",reason,Name[playerid]);
  822.     mysql_query(string);
  823.     Ban(playerid);
  824.     //SetTimerEx("BanPlayerNow",1000,false,"d",playerid);
  825.     return 1;
  826. }
  827.  
  828. /*
  829. public KickPlayerNow(playerid)
  830. {
  831.     TogglePlayerControllable(playerid,false);
  832.     Kick(playerid);
  833.     return 1;
  834. }
  835.  
  836. public BanPlayerNow(playerid)
  837. {
  838.     TogglePlayerControllable(playerid,false);
  839.     Ban(playerid);
  840.     return 1;
  841. }
  842. */
  843.  
  844.  
  845. //============= | Admin Befehle | ==============
  846.  
  847. CMD:setint(playerid,params[])
  848. {
  849.     new pid,int,string[64];
  850.     if(pInfo[playerid][pAdmin] >= 2)
  851.     {
  852.         if(sscanf(params,"ud",pid,int))return SendClientMessage(playerid,rot,"Benutze: /setint [Id/Name] [InteriorID]");
  853.         if(IsPlayerConnected(pid)){
  854.             format(string,64,"%s hat dein Interior auf %d gesetzt.",Name[playerid],int);
  855.             SendClientMessage(pid,blau,string);
  856.             SetPlayerInterior(pid,int);
  857.             format(string,64,"Du hat %s Interior auf %d gesetzt.",Name[pid],int);
  858.             SendClientMessage(playerid,blau,string);
  859.             format(string,64,"%s hat den Interior von %s auf %d gesetzt.",Name[playerid],Name[pid],int);
  860.             Log("SETINT",string);
  861.         }else{
  862.             IDERROR;
  863.         }
  864.     }
  865.     return 1;
  866. }
  867.  
  868. CMD:setvw(playerid,params[])
  869. {
  870.     new pid,int,string[64];
  871.     if(pInfo[playerid][pAdmin] >= 2)
  872.     {
  873.         if(sscanf(params,"ud",pid,int))return SendClientMessage(playerid,rot,"Benutze: /setvw [Id/Name] [Virtuelle Welt]");
  874.         if(IsPlayerConnected(pid)){
  875.             format(string,64,"%s hat deine Virtuelle Welt auf %d gesetzt.",Name[playerid],int);
  876.             SendClientMessage(pid,blau,string);
  877.             SetPlayerVirtualWorld(pid,int);
  878.             format(string,64,"Du hast %s Virtuelle Welt auf %d gesetzt.",Name[pid],int);
  879.             SendClientMessage(playerid,blau,string);
  880.             format(string,64,"%s hat die Virtuelle Welt von %s auf %d gesetzt.",Name[playerid],Name[pid],int);
  881.             Log("SETVW",string);
  882.         }else{
  883.             IDERROR;
  884.         }
  885.     }
  886.     return 1;
  887. }
  888.  
  889. CMD:lic(playerid,params[])
  890. {
  891.     new lic[20],pid,string[64];
  892.     if(pInfo[playerid][pAdmin] >= 3)
  893.     {
  894.         if(sscanf(params,"us[20]",pid,lic))return SendClientMessage(playerid,rot,"Benutze: /lic [Id/Name] [Perso/Alle]");
  895.         if(IsPlayerConnected(pid)){
  896.             if(strcmp(lic,"Perso",false) == 0)
  897.             {
  898.                 format(string,64,"%s hat %s den Perso gegeben",Name[playerid],Name[pid]);
  899.                 Log("LIC",string);
  900.                 pInfo[pid][pPerso] = 1;
  901.                 format(string,64,"%s hat dir den Perso gegeben!",Name[playerid]);
  902.                 SendClientMessage(pid,blau,string);
  903.                 format(string,64,"Du hast %s den Perso gegeben!",Name[pid]);
  904.                 SendClientMessage(playerid,blau,string);
  905.             }
  906.             if(strcmp(lic,"Alle",false) == 0)
  907.             {
  908.                 format(string,64,"%s hat %s alle Lizenzen gegeben",Name[playerid],Name[pid]);
  909.                 Log("LIC",string);
  910.                 pInfo[pid][pPerso] = 1;
  911.                 format(string,64,"%s hat dir alle Lizenzen gegeben!",Name[playerid]);
  912.                 SendClientMessage(pid,blau,string);
  913.                 format(string,64,"Du hast %s alle Lizenzen gegeben!",Name[pid]);
  914.                 SendClientMessage(playerid,blau,string);
  915.             }
  916.  
  917.         }else{
  918.        
  919.             IDERROR;
  920.         }
  921.     }
  922.     return 1;
  923. }
  924.  
  925. CMD:goto(playerid,params[])
  926. {
  927.     new pid,Float:p[3],int,veh,string[128];
  928.     if(pInfo[playerid][pAdmin] >= 2)
  929.     {
  930.         if(sscanf(params,"u",pid))return SendClientMessage(playerid, rot, "Benutze: /goto [Id/Name]");
  931.         if(IsPlayerConnected(pid)){
  932.             format(string,128,"%s hat sich zu %s Geportet!",Name[playerid],Name[pid]);
  933.             if(!IsPlayerInAnyVehicle(playerid))
  934.             {
  935.                 GetPlayerPos(pid, p[0],p[1],p[2]);
  936.                 int = GetPlayerInterior(pid);
  937.                 SetPlayerInterior(playerid, int);
  938.                 SetPlayerPos(playerid,p[0],p[1]+1.5,p[2]);
  939.                 SendClientMessage(playerid,blau,"Du hast dich Telepotiert!");
  940.                 Log("GOTO",string);
  941.             }
  942.             else
  943.             {
  944.                 veh = GetPlayerVehicleID(playerid);
  945.                 GetPlayerPos(pid, p[0],p[1],p[2]);
  946.                 int = GetPlayerInterior(pid);
  947.                 SetPlayerInterior(playerid, int);
  948.                 SetPlayerPos(playerid,p[0],p[1]+1.5,p[2]);
  949.                 SetVehiclePos(veh,p[0],p[1]+1.5,p[2]);
  950.                 PutPlayerInVehicle(playerid, veh, 0);
  951.                 SendClientMessage(playerid,blau,"Du hast dich Telepotiert!");
  952.                 Log("GOTO",string);
  953.             }
  954.         }else
  955.         {
  956.             IDERROR;
  957.         }
  958.     }
  959.     return 1;
  960. }
  961.  
  962. CMD:gethere(playerid,params[])
  963. {
  964.     new pid,Float:p[3],int,string[128];
  965.     if(pInfo[playerid][pAdmin] >= 2)
  966.     {
  967.         if(sscanf(params,"u",pid))return SendClientMessage(playerid, rot, "Benutze: /gethere [Id/Name]");
  968.         if(IsPlayerConnected(pid)){
  969.             format(string,128,"%s hat %s zu sich Geportet!",Name[playerid],Name[pid]);
  970.             Log("GETHERE",string);
  971.             int = GetPlayerInterior(playerid);
  972.             SetPlayerInterior(pid, int);
  973.             GetPlayerPos(pid, p[0],p[1],p[2]);
  974.             SetPlayerPos(pid, p[0],p[1],p[2]);
  975.             SendClientMessage(playerid,blau,"Du wurdest Teleportiert!");
  976.         }else{
  977.             IDERROR;
  978.         }
  979.        
  980.     }
  981.     return 1;
  982. }
  983.  
  984. CMD:kick(playerid,params[])
  985. {
  986.     new pid,grund[24],string[128];
  987.     if(pInfo[playerid][pAdmin] >= 1)
  988.     {
  989.         if(sscanf(params,"us[24]",pid,grund))return SendClientMessage(playerid,rot,"Benutze: /kick [Id/Name] [Grund]");
  990.         if(pInfo[pid][pAdmin] > pInfo[playerid][pAdmin])return SendClientMessage(playerid,rot,"** Dieser Spieler hat ein höheres Admin level als du!");
  991.         if(IsPlayerConnected(pid))
  992.         {
  993.             format(string,128,"Du wurdest von Admin: %s Gekickt Grund | %s",Name[playerid],grund);
  994.             SendClientMessage(pid,rot,string);
  995.             format(string,128,"%s hat %s Gekickt Grund: %s",Name[playerid],Name[pid],grund);
  996.             Log("KICK",string);
  997.             KickPlayer(pid,Name[playerid],grund);
  998.         }else{
  999.             IDERROR;
  1000.         }
  1001.     }
  1002.     return 1;
  1003. }
  1004.  
  1005. CMD:ban(playerid,params[])
  1006. {
  1007.     new pid,grund[24],string[128];
  1008.     if(pInfo[playerid][pAdmin] >= 2)
  1009.     {
  1010.         if(sscanf(params,"us[24]",pid,grund))return SendClientMessage(playerid,rot,"Benutze: /ban [Id/Name] [Grund]");
  1011.         if(pInfo[pid][pAdmin] > pInfo[playerid][pAdmin])return SendClientMessage(playerid,rot,"** Dieser Spieler hat ein höheres Admin level als du!");
  1012.         if(IsPlayerConnected(pid)){
  1013.             format(string,128,"Du wurdest von Admin: %s Gebannt Grund | %s",Name[playerid],grund);
  1014.             SendClientMessage(pid,rot,string);
  1015.             format(string,128,"%s hat %s Gebannt Grund: %s",Name[playerid],Name[pid],grund);
  1016.             Log("BAN",string);
  1017.             BanPlayer(pid,Name[playerid],grund);
  1018.         }else{
  1019.             IDERROR;
  1020.         }
  1021.     }
  1022.     return 1;
  1023. }
  1024.  
  1025. CMD:gibadmin(playerid,params[])
  1026. {
  1027.     if(IsPlayerAdmin(playerid))
  1028.     {
  1029.         SendClientMessage(playerid,gelb,"Du bist nun Admin 5");
  1030.         pInfo[playerid][pAdmin] = 5;
  1031.     }
  1032.     return 1;
  1033. }
  1034.  
  1035. CMD:editserver(playerid,params[])
  1036. {
  1037.     if(pInfo[playerid][pAdmin] >= 5)
  1038.     {
  1039.         new string[64];
  1040.         format(string,64,"{FFFFFF}Roller Rent Preis: {FFA000}%d$",sv[RollerRentPreis]);
  1041.         ShowPlayerDialog(playerid,DIALOG_EDITSERVER,DIALOG_STYLE_LIST,"Server Bearbeiten",string,"Edit","Exit");
  1042.     }
  1043.     return 1;
  1044. }
  1045.  
  1046. CMD:ah(playerid,params[])
  1047. {
  1048.     if(pInfo[playerid][pAdmin] >= 1)
  1049.     {
  1050.         SendClientMessage(playerid,grau,"Admin 1: /kick");
  1051.     }
  1052.     if(pInfo[playerid][pAdmin] >= 2)
  1053.     {
  1054.         SendClientMessage(playerid,grau,"Admin 2: /ban /goto /gethere /setint /setvw");
  1055.     }
  1056.     if(pInfo[playerid][pAdmin] >= 3)
  1057.     {
  1058.         SendClientMessage(playerid,grau,"Admin 3: /lic");
  1059.     }
  1060.     if(pInfo[playerid][pAdmin] >= 4)
  1061.     {
  1062.  
  1063.     }
  1064.     if(pInfo[playerid][pAdmin] >= 5)
  1065.     {
  1066.         SendClientMessage(playerid,grau,"Admin 5: /editserver");
  1067.     }
  1068.     return 1;
  1069. }
  1070.  
  1071.  
  1072.  
  1073. //========= | Usere Befehle =============
  1074.  
  1075. CMD:help(playerid,params[])
  1076. {
  1077.     SendClientMessage(playerid,orange,"| Allgemein: /roller [Roller Mieten] | /del [Gemieteten Roller löschen]");
  1078.     return 1;
  1079. }
  1080.  
  1081. CMD:rlock(playerid,params[])
  1082. {
  1083.     if(!RentRoller[playerid]){
  1084.         new Float:v[3],engine,lights,alarm,doors,bonnet,boot,objective;
  1085.         GetVehiclePos(RentRoller[playerid],v[0],v[1],v[2]);
  1086.         if(IsPlayerInRangeOfPoint(playerid,5,v[0],v[1],v[2]))
  1087.         {
  1088.             GetVehicleParamsEx(RentRoller[playerid],engine,lights,alarm,doors,bonnet,boot,objective);
  1089.             if(!doors)
  1090.             {
  1091.                 SetVehicleParamsEx(RentRoller[playerid],1,1,0,1,0,0,0);
  1092.                 GameTextForPlayer(playerid,"~r~Roller Abgeschlossen",3000,3);
  1093.             }
  1094.             else
  1095.             {
  1096.                 SetVehicleParamsEx(RentRoller[playerid],1,1,0,0,0,0,0);
  1097.                 GameTextForPlayer(playerid,"~g~Roller Aufgeschlossen",3000,3);
  1098.             }
  1099.         }
  1100.         else{
  1101.             SendClientMessage(playerid,rot,"Du bist nicht in der nähe deines Rollers!");
  1102.         }
  1103.     }
  1104.     return 1;
  1105. }
  1106.  
  1107. CMD:findroller(playerid,params[])
  1108. {
  1109.     if(RentRoller[playerid] >= 1)
  1110.     {
  1111.         if(!SearchRoller[playerid]){
  1112.         new Float:v[3];
  1113.         GetVehiclePos(RentRoller[playerid],v[0],v[1],v[2]);
  1114.         SetPlayerCheckpoint(playerid,v[0],v[1],v[2],5);
  1115.         SearchRoller[playerid] = true;
  1116.         SendClientMessage(playerid,rot,"Du kannst die suche mit ''/findroller'' Abbrechen.");
  1117.         }else
  1118.         {
  1119.             DisablePlayerCheckpoint(playerid);
  1120.             GameTextForPlayer(playerid,"~r~Suche Abgebrochen",3,1500);
  1121.         }
  1122.     }
  1123.     return 1;
  1124. }
  1125.  
  1126. CMD:roller(playerid,params[])
  1127. {
  1128.     if(GetMoney(playerid) >= sv[RollerRentPreis] && !RentRoller[playerid] && IsPlayerInRangeOfPoint(playerid,3,1095.9596,-1439.7075,15.7681))
  1129.     {
  1130.         new string[10];
  1131.         strcat(string,Name[playerid]);
  1132.         RentRoller[playerid] = CreateVehicle(462,1118.3557,-1413.5071,13.1331,359.4275,-1,-1,-1);
  1133.         SetVehicleNumberPlate(RentRoller[playerid],string);
  1134.         PutPlayerInVehicle(playerid, RentRoller[playerid],0);
  1135.         SendClientMessage(playerid,gelb,"=========| Roller Info |=========");
  1136.         SendClientMessage(playerid,-1,"- Du kannst den Roller mit /rlock Auf/Ab schliessen.");
  1137.         SendClientMessage(playerid,-1,"- Du kannst den Roller orten mit /findroller");
  1138.         SetVehicleParamsEx(RentRoller[playerid],1,1,0,1,0,0,0);
  1139.         GiveMoney(playerid,-sv[RollerRentPreis]);
  1140.         GameTextForPlayer(playerid,"~r~Roller Gemietet",3000,3);
  1141.     }else{SendClientMessage(playerid,rot,"* Du hast nicht genug Geld! Oder besitzt bereits einen Roller Tippe: /delroller");}
  1142.     return 1;
  1143. }
  1144.  
  1145. CMD:delroller(playerid,params[])
  1146. {
  1147.     if(!RentRoller[playerid])
  1148.     {
  1149.         return SendClientMessage(playerid,orange,"Du hast garkein Roller!");
  1150.     }else{
  1151.         DestroyVehicle(RentRoller[playerid]);
  1152.         SendClientMessage(playerid,grau,"Dein Roller wurde entfernt!");
  1153.         RentRoller[playerid] = 0;}
  1154.     return 1;
  1155. }
  1156.  
  1157. CMD:skinshop(playerid,params[])
  1158. {
  1159.     if(!InSkin[playerid])
  1160.     {
  1161.         if(IsPlayerInRangeOfPoint(playerid,3,1092.1044,-1471.8582,15.7525))
  1162.         {
  1163.             TextDrawShowForPlayer(playerid, SkinBox[playerid]);
  1164.             TextDrawShowForPlayer(playerid, SkinHead[playerid]);
  1165.             TextDrawShowForPlayer(playerid, SkinRight[playerid]);
  1166.             TextDrawShowForPlayer(playerid, SkinLeft[playerid]);
  1167.             TextDrawShowForPlayer(playerid, SkinID[playerid]);
  1168.             TextDrawShowForPlayer(playerid, SkinInfo[playerid]);
  1169.             new string[20];
  1170.             new playerskin = GetPlayerSkin(playerid);
  1171.             format(string,20,"~r~SkinID: %d",playerskin);
  1172.             TextDrawSetString(SkinID[playerid],string);
  1173.             InSkin[playerid] = true;
  1174.             //SetPlayerCameraPos(playerid, 207.1649, -10.4705, 1002.2742);
  1175.             //SetPlayerCameraLookAt(playerid, 206.2622, -10.8976, 1001.9838);
  1176.             SetPlayerCameraPos(playerid, 1095.6769, -1467.3933, 16.4008);
  1177.             SetPlayerCameraLookAt(playerid, 1094.7498, -1467.7896, 16.0561);
  1178.             new vw = random(500);
  1179.             SetPlayerVirtualWorld(playerid,vw);
  1180.             SendClientMessage(playerid,orange,"=========| Skin Shop Info |=========");
  1181.             SendClientMessage(playerid,-1,"Um einen Skin zu nehmen drücke 'ENTER/F'");
  1182.             SendClientMessage(playerid,-1,"Um den Skin zu wechseln 'Rechts/Links' drücken");
  1183.             SendClientMessage(playerid,-1,"Um das Menü zu verlassen tippe '/skinshop'");
  1184.             SetPos(playerid,1093.6700,-1468.1250,15.7525,278.8959);
  1185.             TogglePlayerControllable(playerid,false);
  1186.  
  1187.         }
  1188.     }
  1189.     else
  1190.     {
  1191.         TextDrawHideForPlayer(playerid, SkinBox[playerid]);
  1192.         TextDrawHideForPlayer(playerid, SkinHead[playerid]);
  1193.         TextDrawHideForPlayer(playerid, SkinRight[playerid]);
  1194.         TextDrawHideForPlayer(playerid, SkinLeft[playerid]);
  1195.         TextDrawHideForPlayer(playerid, SkinID[playerid]);
  1196.         TextDrawHideForPlayer(playerid, SkinInfo[playerid]);
  1197.         InSkin[playerid] = false;
  1198.         SetCameraBehindPlayer(playerid);
  1199.         //new vw = random(500);
  1200.         SetPlayerVirtualWorld(playerid,0);
  1201.         SetPlayerPos(playerid, 1092.1044,-1471.8582,15.7525);
  1202.         TogglePlayerControllable(playerid,true);
  1203.         SetPlayerSkin(playerid,pInfo[playerid][pSkin]);
  1204.     }
  1205.     return 1;
  1206. }
  1207.  
  1208. /*
  1209. public OnPlayerEnterDynamicCP(playerid, checkpointid)
  1210. {
  1211.     if(checkpointid == PersoCheckPoint[playerid])
  1212.     {
  1213.         SendClientMessage(playerid, gruen, "Bitte geduldige dich noch einen Moment!");
  1214.         SendClientMessage(playerid, gruen, "Du bekommst deinen Perso in per Post (2-3min)");
  1215.         DestroyDynamicCP(PersoCheckPoint[playerid]);
  1216.         PersoAntrag[playerid] = true;
  1217.         SetTimerEx("PersoFunc",1000*60*2,false,"d",playerid);
  1218.         //TogglePlayerControllable(playerid, false);
  1219.     }
  1220.     if(checkpointid == JobCheckPoint[playerid])
  1221.     {
  1222.         ShowPlayerDialog(playerid, DIALOG_JOBMENU,DIALOG_STYLE_LIST,"Wähle aus...","Müllman","Auswählen","Exit");
  1223.         DestroyDynamicCP(JobCheckPoint[playerid]);
  1224.     }
  1225.     return 1;
  1226. }*/
  1227.  
  1228. public PersoFunc(playerid)
  1229. {
  1230.     SendClientMessage(playerid,-1,"=======| Post für dich |=======");
  1231.     SendClientMessage(playerid,gruen,"In dem Brief war dein Ausweis.");
  1232.     GiveMoney(playerid, -30);
  1233.     pInfo[playerid][pPerso] = 1;
  1234.     return 1;
  1235. }
  1236.  
  1237. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1238. {
  1239.     return 1;
  1240. }
  1241.  
  1242. public OnPlayerExitVehicle(playerid, vehicleid)
  1243. {
  1244.     return 1;
  1245. }
  1246.  
  1247. public OnPlayerStateChange(playerid, newstate, oldstate)
  1248. {
  1249.     return 1;
  1250. }
  1251.  
  1252. public OnPlayerEnterCheckpoint(playerid)
  1253. {
  1254.     if(SearchRoller[playerid]){DisablePlayerCheckpoint(playerid);return 1;}
  1255.     if(PersoCheckPoint[playerid])
  1256.     {
  1257.         SendClientMessage(playerid, gruen, "Bitte geduldige dich noch einen Moment!");
  1258.         SendClientMessage(playerid, gruen, "Du bekommst deinen Perso in per Post (2-3min)");
  1259.         DisablePlayerCheckpoint(playerid);
  1260.         PersoAntrag[playerid] = true;
  1261.         SetTimerEx("PersoFunc",1000*60*2,false,"d",playerid);
  1262.         //TogglePlayerControllable(playerid, false);
  1263.         PersoCheckPoint[playerid] = 0;
  1264.         return 1;
  1265.     }
  1266.     if(JobCheckPoint[playerid])
  1267.     {
  1268.         ShowPlayerDialog(playerid, DIALOG_JOBMENU,DIALOG_STYLE_LIST,"Wähle aus...","Müllman","Auswählen","Exit");
  1269.         DisablePlayerCheckpoint(playerid);
  1270.         JobCheckPoint[playerid] = 0;
  1271.         return 1;
  1272.     }
  1273.     return 1;
  1274. }
  1275.  
  1276. public OnPlayerLeaveCheckpoint(playerid)
  1277. {
  1278.     return 1;
  1279. }
  1280.  
  1281. public OnPlayerEnterRaceCheckpoint(playerid)
  1282. {
  1283.     return 1;
  1284. }
  1285.  
  1286. public OnPlayerLeaveRaceCheckpoint(playerid)
  1287. {
  1288.     return 1;
  1289. }
  1290.  
  1291. public OnRconCommand(cmd[])
  1292. {
  1293.     return 1;
  1294. }
  1295.  
  1296. public OnPlayerRequestSpawn(playerid)
  1297. {
  1298.     return 1;
  1299. }
  1300.  
  1301. public OnObjectMoved(objectid)
  1302. {
  1303.     return 1;
  1304. }
  1305.  
  1306. public OnPlayerObjectMoved(playerid, objectid)
  1307. {
  1308.     return 1;
  1309. }
  1310.  
  1311. public OnPlayerPickUpPickup(playerid, pickupid)
  1312. {
  1313.     return 1;
  1314. }
  1315.  
  1316. public OnVehicleMod(playerid, vehicleid, componentid)
  1317. {
  1318.     return 1;
  1319. }
  1320.  
  1321. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  1322. {
  1323.     return 1;
  1324. }
  1325.  
  1326. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  1327. {
  1328.     return 1;
  1329. }
  1330.  
  1331. public OnPlayerSelectedMenuRow(playerid, row)
  1332. {
  1333.     return 1;
  1334. }
  1335.  
  1336. public OnPlayerExitedMenu(playerid)
  1337. {
  1338.     return 1;
  1339. }
  1340.  
  1341. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  1342. {
  1343.     return 1;
  1344. }
  1345.  
  1346. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1347. {
  1348.     /*
  1349.     new string[128];
  1350.     format(string,sizeof(string), "%d", newkeys);
  1351.     SendClientMessage(playerid, grau, string);*/
  1352.     if(newkeys & 16)
  1353.     {
  1354.         new i;
  1355.         if(!AntiSpam[playerid])
  1356.         {
  1357.             for(;i<sizeof(Int);i++)
  1358.             {
  1359.                 if(inInt[playerid])
  1360.                 {
  1361.                     if(IsPlayerInRangeOfPoint(playerid,2,Int[i][intX],Int[i][intY],Int[i][intZ]))
  1362.                     {
  1363.                         SetPlayerPos(playerid, Int[i][enterX],Int[i][enterY],Int[i][enterZ]);
  1364.                         inInt[playerid] = false;
  1365.                         GameTextForPlayer(playerid,Int[i][ExitGameText],2000,3);
  1366.                         SetPlayerInterior(playerid, 0);
  1367.                         AntiSpam[playerid] = true;
  1368.                         TogglePlayerControllable(playerid,false);
  1369.                         SetTimerEx("UnfreezePlayer",1000,false,"d",playerid);
  1370.                     }
  1371.                     //break;
  1372.                 }
  1373.                 else if(!inInt[playerid])
  1374.                 {
  1375.                     if(IsPlayerInRangeOfPoint(playerid,2, Int[i][enterX],Int[i][enterY],Int[i][enterZ]))
  1376.                     {
  1377.                         SetPlayerPos(playerid, Int[i][intX],Int[i][intY],Int[i][intZ]);
  1378.                         SetPlayerInterior(playerid, Int[i][intid]);
  1379.                         inInt[playerid]  = true;
  1380.                         AntiSpam[playerid] = true;
  1381.                         TogglePlayerControllable(playerid,false);
  1382.                         SetTimerEx("UnfreezePlayer",1000,false,"d",playerid);
  1383.                     }
  1384.                     //break;
  1385.                 }
  1386.             }
  1387.         }
  1388.     }
  1389.     if(InSkin[playerid])
  1390.     {
  1391.         if(newkeys & 16)
  1392.         {
  1393.  
  1394.             pInfo[playerid][pSkin] = GetPlayerSkin(playerid);
  1395.             TextDrawHideForPlayer(playerid, SkinBox[playerid]);
  1396.             TextDrawHideForPlayer(playerid, SkinHead[playerid]);
  1397.             TextDrawHideForPlayer(playerid, SkinRight[playerid]);
  1398.             TextDrawHideForPlayer(playerid, SkinLeft[playerid]);
  1399.             TextDrawHideForPlayer(playerid, SkinID[playerid]);
  1400.             TextDrawHideForPlayer(playerid, SkinInfo[playerid]);
  1401.             InSkin[playerid] = false;
  1402.             SetCameraBehindPlayer(playerid);
  1403.             //new vw = random(500);
  1404.             SetPlayerVirtualWorld(playerid,0);
  1405.             SetPos(playerid, 1092.5917,-1470.5067,15.8754,77.1839);
  1406.             TogglePlayerControllable(playerid,true);
  1407.             SetPlayerSkin(playerid,pInfo[playerid][pSkin]);
  1408.             new query[64];
  1409.             format(query,64,"UPDATE `accounts` SET `Skin` = '%d' WHERE `Name` = '%s'",pInfo[playerid][pSkin],Name[playerid]);
  1410.             mysql_query(query);
  1411.             mysql_free_result();
  1412.  
  1413.         }
  1414.     }
  1415.     return 1;
  1416. }
  1417.  
  1418. public UnfreezePlayer(playerid)
  1419. {
  1420.     AntiSpam[playerid] = false;
  1421.     TogglePlayerControllable(playerid, true);
  1422.     return 1;
  1423. }
  1424.  
  1425. public OnRconLoginAttempt(ip[], password[], success)
  1426. {
  1427.     return 1;
  1428. }
  1429.  
  1430. public OnPlayerUpdate(playerid)
  1431. {
  1432.     if(InSkin[playerid])
  1433.     {
  1434.         new Keys,ud,lr,string[20];
  1435.         GetPlayerKeys(playerid,Keys,ud,lr);
  1436.  
  1437.         if(lr == KEY_LEFT)
  1438.         {
  1439.             if(!SkinSpam[playerid])
  1440.             {
  1441.                 SetPlayerSkin(playerid,GetPlayerSkin(playerid)-1);
  1442.                 new playerskin = GetPlayerSkin(playerid);
  1443.                 format(string,20,"~r~SkinID: %d",playerskin);
  1444.                 TextDrawSetString(SkinID[playerid],string);
  1445.                 SetTimerEx("AntiSkinSpam",500,false,"d",playerid);
  1446.                 SkinSpam[playerid] = true;
  1447.                 if(GetPlayerSkin(playerid) == 74)
  1448.                 {
  1449.                     SetPlayerSkin(playerid,73);
  1450.                 }
  1451.                 if(GetPlayerSkin(playerid) == 0 || GetPlayerSkin(playerid) > 85)
  1452.                 {
  1453.                     SetPlayerSkin(playerid, 2);
  1454.                 }
  1455.             }
  1456.         }
  1457.         else if(lr == KEY_RIGHT)
  1458.         {
  1459.             if(!SkinSpam[playerid]){
  1460.                 SetPlayerSkin(playerid,GetPlayerSkin(playerid)+1);
  1461.                 new playerskin = GetPlayerSkin(playerid);
  1462.                 format(string,20,"~r~SkinID: %d",playerskin);
  1463.                 TextDrawSetString(SkinID[playerid],string);
  1464.                 SetTimerEx("AntiSkinSpam",500,false,"d",playerid);
  1465.                 SkinSpam[playerid] = true;
  1466.                 if(GetPlayerSkin(playerid) == 74)
  1467.                 {
  1468.                     SetPlayerSkin(playerid,75);
  1469.                 }
  1470.                 if(GetPlayerSkin(playerid) == 0 || GetPlayerSkin(playerid) > 85)
  1471.                 {
  1472.                     SetPlayerSkin(playerid, 2);
  1473.                 }
  1474.             }
  1475.         }
  1476.     }
  1477.     return 1;
  1478. }
  1479.  
  1480. public AntiSkinSpam(playerid)
  1481. {
  1482.     SkinSpam[playerid] = false;
  1483.     if(GetPlayerSkin(playerid) == 0 || GetPlayerSkin(playerid) > 85)
  1484.     {
  1485.         SetPlayerSkin(playerid, 2);
  1486.     }
  1487.     return 1;
  1488. }
  1489.  
  1490. public OnPlayerStreamIn(playerid, forplayerid)
  1491. {
  1492.     return 1;
  1493. }
  1494.  
  1495. public OnPlayerStreamOut(playerid, forplayerid)
  1496. {
  1497.     return 1;
  1498. }
  1499.  
  1500. public OnVehicleStreamIn(vehicleid, forplayerid)
  1501. {
  1502.     return 1;
  1503. }
  1504.  
  1505. public OnVehicleStreamOut(vehicleid, forplayerid)
  1506. {
  1507.     return 1;
  1508. }
  1509.  
  1510. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1511. {
  1512.     new dstring[200];
  1513.     switch(dialogid)
  1514.     {
  1515.         case DIALOG_REGISTER:
  1516.         {
  1517.             if(response){
  1518.                 if(strlen(inputtext) >= 5 && strlen(inputtext) < 50)
  1519.                 {
  1520.                     new query[256],ip[32];
  1521.                     GetPlayerIp(playerid, ip, 32);
  1522.                     format(query,sizeof(query),"INSERT INTO `accounts` (`Name`,`Password`,`Level`,`Geld`,`Admin`,`Ip`,`Skin`,`Opdachlos`)\
  1523.                     VALUES('%s','%s','1','5000','0','%s','26','1')",Name[playerid],inputtext,ip);
  1524.                     mysql_query(query);
  1525.                     //print(query);
  1526.                     /*pInfo[playerid][pLevel] = 1;
  1527.                     pInfo[playerid][pOpdachlos] = 1;
  1528.                     GiveMoney(playerid, 5000);
  1529.                     pInfo[playerid][pAdmin] = 0;
  1530.                     pInfo[playerid][pSkin] = 26;
  1531.                     //SpawnPlayer(playerid);
  1532.                     SetPlayerSkin(playerid, 26);
  1533.                     SetPlayerScore(playerid, 1);*/
  1534.                     ShowPlayerDialog(playerid,DIALOG_GENDER,DIALOG_STYLE_MSGBOX,"Geschlecht","{FFFFFF}Bitte gebe dein Geschlecht an:","Männlich","Weiblich");
  1535.  
  1536.                 }else{
  1537.                     SendClientMessage(playerid,rot,"** Das Password muss mindestens 5 Zeichen haben und darf Maximal 50 Zeichen haben!!");
  1538.                     format(dstring,200,"{FF8C00}===========| Regestritaion |===========\n{FFFFFF}\
  1539.                     Willkommen {FF8C00}%s{FFFFFF}!\nUm auf diesem Server Spielen zu können benötigst du einen Account.\
  1540.                     \nBitte Regestriere dich jetzt:",Name[playerid]);
  1541.                     ShowPlayerDialog(playerid, DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Willkommen!",dstring,"Register","Exit");
  1542.                 }
  1543.             }else{
  1544.                 SendClientMessage(playerid,rot,"Regestration Abbgebrochen!");
  1545.                 Kick(playerid);
  1546.             }
  1547.             return 1;
  1548.         }
  1549.         case DIALOG_LOGIN:
  1550.         {
  1551.             if(response)
  1552.             {
  1553.                 new sel[128],pw[50];
  1554.                 format(sel, 128, "SELECT `Password` FROM `accounts` WHERE `Name` = '%s'",Name[playerid]);
  1555.                 mysql_query(sel);
  1556.                 mysql_store_result();
  1557.                 mysql_fetch_row(pw);
  1558.                 if(!strcmp(pw,inputtext,false))
  1559.                 {
  1560.                     //SendClientMessage(playerid, gruen, "Erfolgreich eingeloggt!");
  1561.                     LoadPlayer(playerid);
  1562.                     //SpawnPlayer(playerid);
  1563.                 }
  1564.                 else
  1565.                 {
  1566.                     PwFalsch[playerid] ++;
  1567.                     format(sel,128," Passwort Falsch: (%d/3)",PwFalsch[playerid]);
  1568.                     SendClientMessage(playerid,rot,sel);
  1569.                     ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Login","{FFFFFF}Du hast das Passwort Falsch eingegeben\nVersuche es erneut!","Login","Exit");
  1570.                     if(PwFalsch[playerid] == 3)
  1571.                     {
  1572.                         Kick(playerid);
  1573.                     }
  1574.                 }
  1575.             }
  1576.             else
  1577.             {
  1578.                 SendClientMessage(playerid, rot, " Abgebrcohen!");
  1579.                 Kick(playerid);
  1580.             }
  1581.             return 1;
  1582.         }
  1583.         case DIALOG_EDITSERVER:
  1584.         {
  1585.             if(response)
  1586.             {
  1587.                 switch(listitem)
  1588.                 {
  1589.                     case 0:
  1590.                     {
  1591.                         ShowPlayerDialog(playerid, DIALOG_EDITROLLER,DIALOG_STYLE_INPUT,"Roller Preis Bearbeiten","Bitte gebe den Preis ein:","Weiter","Exit");
  1592.                     }
  1593.                 }
  1594.             }
  1595.             return 1;
  1596.         }
  1597.         case DIALOG_EDITROLLER:
  1598.         {
  1599.             if(response)
  1600.             {
  1601.                 if(!strlen(inputtext))
  1602.                 {
  1603.                     return 0;
  1604.                 }
  1605.                 else
  1606.                 {
  1607.                     new query[64];
  1608.                     format(query,64,"UPDATE `Server` SET `RollerRentPreis` = '%d'",strval(inputtext));
  1609.                     mysql_query(query);
  1610.                     sv[RollerRentPreis] = strval(inputtext);
  1611.                     format(query,64,"| Roller Rent Preis: %d",sv[RollerRentPreis]);
  1612.                     SendClientMessage(playerid, grau, query);
  1613.                     format(query,128,"[Rollervermietung]\nHier kannst du einen Roller mieten\n/roller [%d$]",sv[RollerRentPreis]);
  1614.                     Update3DTextLabelText(RollerLabel,orange,query);
  1615.                 }
  1616.             }
  1617.         }
  1618.         case DIALOG_GENDER:
  1619.         {
  1620.             new query[64];
  1621.             if(response)
  1622.             {
  1623.                 format(query,64,"UPDATE `accounts` SET `Gender` = '1' WHERE `Name` = '%s'",Name[playerid]);
  1624.                 mysql_query(query);
  1625.                 SendClientMessage(playerid,gruen,"Du bist also Männlich.");
  1626.             }else
  1627.             {
  1628.                 format(query,64,"UPDATE `accounts` SET `Gender` = '2' WHERE `Name` = '%s'",Name[playerid]);
  1629.                 mysql_query(query);
  1630.                 SendClientMessage(playerid,gruen,"Du bist also Weiblich.");
  1631.             }
  1632.             ShowPlayerDialog(playerid, DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","{FFFFFF}Bitte gebe noch dein Alter an:","Weiter","");
  1633.         }
  1634.         case DIALOG_ALTER:
  1635.         {
  1636.             if(!strlen(inputtext))
  1637.             {
  1638.                 ShowPlayerDialog(playerid, DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","{FFFFFF}Bitte gebe noch dein Alter an:","Weiter","");
  1639.             }
  1640.             if(strlen(inputtext) > 2 || strlen(inputtext) < 2)
  1641.             {
  1642.                 ShowPlayerDialog(playerid, DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter","{FFFFFF}Bitte gebe noch dein Alter an:","Weiter","");
  1643.             }
  1644.             if(strlen(inputtext) == 2)
  1645.             {
  1646.                 new query[64];
  1647.                 format(query,64,"UPDATE `accounts` SET `Alter` = '%d' WHERE `Name` = '%s'",strval(inputtext),Name[playerid]);
  1648.                 mysql_query(query);
  1649.                 format(query,64,"Gut weiter gehts du bist %d Jahre alt!",strval(inputtext));
  1650.                 SendClientMessage(playerid,gruen,query);
  1651.                 LoadPlayer(playerid);
  1652.                 //SpawnPlayer(playerid);
  1653.             }
  1654.            
  1655.         }
  1656.         case DIALOG_MENU:
  1657.         {
  1658.             if(response)
  1659.             {
  1660.                 switch(listitem)
  1661.                 {
  1662.                     case 0:
  1663.                     {
  1664.                         if(pInfo[playerid][pPerso] == 0){
  1665.                             SendClientMessage(playerid, gruen, "Bitte gehe ins Büro des Einwohner melde amt´s (Roter Punkt).");
  1666.                             //SetPlayerCheckpoint(playerid, 361.3492,204.1520,1008.3828,1);
  1667.                             //PersoCheckPoint[playerid] = CreateDynamicCP(361.3492,204.1520,1008.3828,1,-1,-1,playerid);
  1668.                             //PersoAntrag[playerid] = true;
  1669.                             SetPlayerCheckpoint(playerid,361.3492,204.1520,1008.3828,1);
  1670.                             PersoCheckPoint[playerid] = 1;
  1671.                            
  1672.                         }
  1673.                     }
  1674.                     case 1:
  1675.                     {
  1676.                         if(pInfo[playerid][pPerso] == 1){
  1677.                             SendClientMessage(playerid,gruen,"Bitte gehe ins Büro (Arbeits Agentur)");
  1678.                             //JobCheckPoint[playerid] = CreateDynamicCP(356.4636,208.8975,1008.3828,1,-1,-1);
  1679.                             SetPlayerCheckpoint(playerid,356.4636,208.8975,1008.3828,1);
  1680.                             JobCheckPoint[playerid] = 1;
  1681.                         }else{SendClientMessage(playerid,rot,"Du benötigst einen Perso!");}
  1682.                     }
  1683.                 }
  1684.             }
  1685.         }
  1686.         case DIALOG_JOBMENU:
  1687.         {
  1688.             if(response)
  1689.             {
  1690.                 if(pInfo[playerid][pJob] >= 1)
  1691.                 {
  1692.  
  1693.                 }else{
  1694.                     switch(listitem)
  1695.                     {
  1696.                         case 0:
  1697.                         {
  1698.                             pInfo[playerid][pJob] = 1;
  1699.                             SendClientMessage(playerid,gruen,"Glückwunsch du bist nun Müllman (/jobhelp)");
  1700.                         }
  1701.                     }
  1702.                 }
  1703.             }
  1704.         }
  1705.     }
  1706.     mysql_free_result();
  1707.     return 1;
  1708. }
  1709.  
  1710.  
  1711. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1712. {
  1713.     if(clickedplayerid == playerid)
  1714.     {
  1715.         new Float:p[3];
  1716.         GetPlayerPos(playerid,p[0],p[1],p[2]);
  1717.         new veh = CreateVehicle(522,p[0],p[1],p[2],0,-1,-1,-1);
  1718.         PutPlayerInVehicle(playerid, veh, 0);
  1719.     }
  1720.     return 1;
  1721. }
  1722.  
  1723. /*
  1724.     pLevel,
  1725.     pGeld,
  1726.     pAdmin,
  1727.     pIp[32],
  1728.     pSkin,
  1729.     pOpdachlos,
  1730.     pGender,
  1731.     pAlter,
  1732.     pBan,
  1733.     pBanReason[24],
  1734.     pPerso*/
  1735.  
  1736. //======= | Player
  1737. stock LoadPlayer(playerid)
  1738. {
  1739.     new query[128],str[150];
  1740.     format(query, 128, "SELECT * FROM `accounts` WHERE `Name` = '%s'",Name[playerid]);
  1741.     mysql_query(query);
  1742.     mysql_store_result();
  1743.     while(mysql_fetch_row(str))
  1744.     {
  1745.         sscanf(str ,"e<p<|>{i}{s[24]}{s[50]}iiis[32]iiiiis[24]ii>",pInfo[playerid]);
  1746.         SetPlayerColor(playerid, -1);
  1747.         if(pInfo[playerid][pBan] == 0)
  1748.         {
  1749.             SendClientMessage(playerid, gruen, "Erfolgreich eingeloggt!");
  1750.             SetMoney(playerid, pInfo[playerid][pGeld]);
  1751.             SetPlayerScore(playerid, pInfo[playerid][pLevel]);
  1752.             SpawnPlayer(playerid);
  1753.         }
  1754.         else
  1755.         {
  1756.             SendClientMessage(playerid,orange,"Du bist Gebannt!");
  1757.             SendClientMessage(playerid,orange,"Falls du denkst der Ban war unberechtigt oder falsch.");
  1758.             SendClientMessage(playerid,orange,"Melde dich im Teamspeak oder im Forum!");
  1759.             format(query,200,"Account Name: %s",Name[playerid]);
  1760.             SendClientMessage(playerid,orange,query);
  1761.             format(query,200,"Der Grund für diese Ban: %s",pInfo[playerid][pBanReason]);
  1762.             SendClientMessage(playerid,orange,query);
  1763.             format(query,200,"Deine IP: %s wird aus sicherheits Gründen gespeichert.",Ip[playerid]);
  1764.             SendClientMessage(playerid,orange,query);
  1765.             KickPlayer(playerid, "Anticheat","Gebannter User");
  1766.         }
  1767.         //printf("%s",str);
  1768.     }
  1769.     mysql_free_result();
  1770.     return 1;
  1771. }
  1772.  
  1773.  
  1774. stock SavePlayer(playerid)
  1775. {
  1776.     new query[300];
  1777.     format(query,300,"UPDATE `accounts` SET `Level` = '%d',`Geld` = '%d',`Admin` = '%d',`Ip` = '%s',`Skin` = '%d' WHERE `Name` = '%s'",\
  1778.     pInfo[playerid][pLevel],pInfo[playerid][pGeld],pInfo[playerid][pAdmin],Ip[playerid],pInfo[playerid][pSkin],Name[playerid]);
  1779.     mysql_query(query);
  1780.     format(query,300,"UPDATE `accounts` SET `Perso` = '%d',`Job` = '%d' WHERE `Name` = '%s'",pInfo[playerid][pPerso],pInfo[playerid][pJob],Name[playerid]);
  1781.     mysql_query(query);
  1782.     mysql_free_result();
  1783.     return 1;
  1784. }
  1785.  
  1786. //========= | Server Enum
  1787.  
  1788. stock LoadServerEnum()
  1789. {
  1790.     new str[64];
  1791.     mysql_query("SELECT * FROM `Server` WHERE `ID` = '1'");
  1792.     mysql_store_result();
  1793.     while(mysql_fetch_row(str))
  1794.     {
  1795.         sscanf(str,"e<p<|>{i}i>",sv[RollerRentPreis]);
  1796.     }
  1797.     mysql_free_result();
  1798.     return 1;
  1799. }
  1800.  
  1801.  
  1802.  
  1803.  
  1804. stock Spam(playerid, count)
  1805. {
  1806.     for(new i;i<count;i++)
  1807.     {
  1808.         SendClientMessage(playerid,-1,"");
  1809.     }
  1810. }
  1811.  
  1812. stock SetMoney(playerid, money)
  1813. {
  1814.     pInfo[playerid][pGeld] = money;
  1815.     ResetPlayerMoney(playerid);
  1816.     GivePlayerMoney(playerid, money);
  1817. }
  1818.  
  1819. stock GiveMoney(playerid, money)
  1820. {
  1821.     if(money < 0)
  1822.     {
  1823.         new string[10];
  1824.         format(string, 10, "%d",money);
  1825.         strdel(string, 0, 1);
  1826.         GivePlayerMoney(playerid,money);
  1827.         pInfo[playerid][pGeld] -= strval(string);
  1828.     }
  1829.     else
  1830.     {
  1831.         pInfo[playerid][pGeld] += money;
  1832.         GivePlayerMoney(playerid, money);
  1833.     }
  1834. }
  1835.  
  1836. stock GetMoney(playerid)
  1837. {
  1838.     return pInfo[playerid][pGeld];
  1839. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement