Advertisement
Guest User

SAMP Pawn Tutorial by Logan Adams

a guest
May 19th, 2012
1,011
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 39.37 KB | None | 0 0
  1. // created by Logan Adams 2012
  2. // © by Logan Adams 2012
  3. // Info: Es ist verboten die Credits zu löschen
  4. // Wer die Credits löscht wird mit einem schlechten Gewissen bestraft!
  5.  
  6. //Includes
  7. #include <a_samp>
  8. #include <Dini>
  9. #include <MD5>
  10. #include <Ocmd>
  11. #include <streamer>
  12. #include <a_mysql>
  13. #include <sscanf2>
  14. #include <rft_mysql>
  15.  
  16. //Farben
  17. #define ROT 0xF50000FF
  18. #define BLAU 0x1400FFFF
  19. #define GELB 0xFFFF00FF
  20. #define GRÜN 0x19FF00FF
  21. #define TÜRKIS 0x00FFFFFF
  22. #define SCHWARZ 0x000000FF
  23. #define WEISS 0xFEFEFEFF
  24. #define GOLD 0xFFC800FF
  25. #define PINK 0xFF0055FF
  26. #define LILA 0xC800FFFF
  27. #define GRAU 0xAAAAAAFF
  28.  
  29. //Dialoge und andere Defines
  30. #define DIALOG_REGISTER 1
  31. #define DIALOG_LOGIN 2
  32. #define TACHOTIMER 1000
  33. #define MAX_SERVER_NAMEN 3
  34. #define DIALOG_RADIO 4
  35. #define DIALOG_FIGHT 5
  36.  
  37. //Variablen
  38. new Float:X1[MAX_PLAYERS],Float:Y1[MAX_PLAYERS],Float:Z1[MAX_PLAYERS];
  39. new Float:X2[MAX_PLAYERS],Float:Y2[MAX_PLAYERS],Float:Z2[MAX_PLAYERS];
  40. new SN[MAX_SERVER_NAMEN][64] = {{"~g~Mein Tutorial~r~ Server"},{"~y~Server noch im~b~ Scriptaufbau..."},{"~w~Besucht McBastard112's~r~ YouTube Kanal!"}};
  41. new Text:ServerNamen;
  42. new engine,lights,alarm,doors,bonnet,boot,objective;
  43. new bool:Motor[MAX_VEHICLES] = false;
  44. new zaehler;
  45. forward ServerNamenTimer();
  46. new pdgate;
  47. new PingWarns[MAX_PLAYERS];
  48. forward pdtortimer();
  49. forward CheckPing();
  50. new Text:Uhr;
  51. forward UpdateUhr();
  52. forward Banntimer();
  53. new Text:Tacho[MAX_PLAYERS];
  54. forward UpdateTacho();
  55. new Aond[MAX_PLAYERS] = 0;
  56. new spawnskins[30]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30};
  57. new Frakcar[1];
  58. new Fahrzeugname[][] =
  59. {
  60.    "Landstalker",
  61.    "Bravura",
  62.    "Buffalo",
  63.    "Linerunner",
  64.    "Pereniel",
  65.    "Sentinel",
  66.    "Dumper",
  67.    "Firetruck",
  68.    "Trashmaster",
  69.    "Stretch",
  70.    "Manana",
  71.    "Infernus",
  72.    "Voodoo",
  73.    "Pony",
  74.    "Mule",
  75.    "Cheetah",
  76.    "Ambulance",
  77.    "Leviathan",
  78.    "Moonbeam",
  79.    "Esperanto",
  80.    "Taxi",
  81.    "Washington",
  82.    "Bobcat",
  83.    "Mr Whoopee",
  84.    "BF Injection",
  85.    "Hunter",
  86.    "Premier",
  87.    "Enforcer",
  88.    "Securicar",
  89.    "Banshee",
  90.    "Predator",
  91.    "Bus",
  92.    "Rhino",
  93.    "Barracks",
  94.    "Hotknife",
  95.    "Trailer",
  96.    "Previon",
  97.    "Coach",
  98.    "Cabbie",
  99.    "Stallion",
  100.    "Rumpo",
  101.    "RC Bandit",
  102.    "Romero",
  103.    "Packer",
  104.    "Monster Truck",
  105.    "Admiral",
  106.    "Squalo",
  107.    "Seasparrow",
  108.    "Pizzaboy",
  109.    "Tram",
  110.    "Trailer",
  111.    "Turismo",
  112.    "Speeder",
  113.    "Reefer",
  114.    "Tropic",
  115.    "Flatbed",
  116.    "Yankee",
  117.    "Caddy",
  118.    "Solair",
  119.    "RC Van",
  120.    "Skimmer",
  121.    "PCJ-600",
  122.    "Roller",
  123.    "Freeway",
  124.    "RC Baron",
  125.    "RC Raider",
  126.    "Glendale",
  127.    "Oceanic",
  128.    "Sanchez",
  129.    "Sparrow",
  130.    "Patriot",
  131.    "Quad",
  132.    "Coastguard",
  133.    "Dinghy",
  134.    "Hermes",
  135.    "Sabre",
  136.    "Rustler",
  137.    "ZR-350",
  138.    "Walton",
  139.    "Regina",
  140.    "Comet",
  141.    "Fahrrad",
  142.    "Burrito",
  143.    "Camper",
  144.    "Marquis",
  145.    "Baggage",
  146.    "Dozer",
  147.    "Maverick",
  148.    "News Chopper",
  149.    "Rancher",
  150.    "FBI Rancher",
  151.    "Virgo",
  152.    "Greenwood",
  153.    "Jetmax",
  154.    "Hotring",
  155.    "Sandking",
  156.    "Blista Compact",
  157.    "Police Maverick",
  158.    "Boxville",
  159.    "Benson",
  160.    "Mesa",
  161.    "RC Goblin",
  162.    "Hotring Racer",
  163.    "Hotring Racer",
  164.    "Bloodring Banger",
  165.    "Rancher",
  166.    "Super GT",
  167.    "Elegant",
  168.    "Journey",
  169.    "Bike",
  170.    "Bike",
  171.    "Beagle",
  172.    "Cropdust",
  173.    "Stunt",
  174.    "Tanker",
  175.    "RoadTrain",
  176.    "Nebula",
  177.    "Majestic",
  178.    "Buccaneer",
  179.    "Shamal",
  180.    "Hydra",
  181.    "FCR-900",
  182.    "NRG-500",
  183.    "HPV1000",
  184.    "Cement Truck",
  185.    "Tow Truck",
  186.    "Fortune",
  187.    "Cadrona",
  188.    "FBI Truck",
  189.    "Willard",
  190.    "Forklift",
  191.    "Traktor",
  192.    "Combine",
  193.    "Feltzer",
  194.    "Remington",
  195.    "Slamvan",
  196.    "Blade",
  197.    "Freight",
  198.    "Streak",
  199.    "Vortex",
  200.    "Vincent",
  201.    "Bullet",
  202.    "Clover",
  203.    "Sadler",
  204.    "Firetruck",
  205.    "Hustler",
  206.    "Intruder",
  207.    "Primo",
  208.    "Cargobob",
  209.    "Tampa",
  210.    "Sunrise",
  211.    "Merit",
  212.    "Utility",
  213.    "Nevada",
  214.    "Yosemite",
  215.    "Windsor",
  216.    "Monster Truck",
  217.    "Monster Truck",
  218.    "Uranus",
  219.    "Jester",
  220.    "Sultan",
  221.    "Stratum",
  222.    "Elegy",
  223.    "Raindance",
  224.    "RC Tiger",
  225.    "Flash",
  226.    "Tahoma",
  227.    "Savanna",
  228.    "Bandito",
  229.    "Freight",
  230.    "Trailer",
  231.    "Kart",
  232.    "Mower",
  233.    "Duneride",
  234.    "Sweeper",
  235.    "Broadway",
  236.    "Tornado",
  237.    "AT-400",
  238.    "DFT-30",
  239.    "Huntley",
  240.    "Stafford",
  241.    "BF-400",
  242.    "Newsvan",
  243.    "Tug",
  244.    "Trailer",
  245.    "Emperor",
  246.    "Wayfarer",
  247.    "Euros",
  248.    "Hotdog",
  249.    "Club",
  250.    "Trailer",
  251.    "Trailer",
  252.    "Andromada",
  253.    "Dodo",
  254.    "RC Cam",
  255.    "Launch",
  256.    "Polizeiwagen",
  257.    "Polizeiwagen",
  258.    "Polizeiwagen",
  259.    "Cop Ranger",
  260.    "Picador",
  261.    "SWAT Van",
  262.    "Alpha",
  263.    "Phoenix",
  264.    "Glendale",
  265.    "Sadler",
  266.    "Luggage Trailer",
  267.    "Luggage Trailer",
  268.    "Stair Trailer",
  269.    "Boxville",
  270.    "Farm Plow",
  271.    "Utility Trailer"
  272. };
  273.  
  274. enum SpielerDaten
  275. {
  276.     pName[MAX_PLAYER_NAME],
  277.     pLevel,
  278.     pGeld,
  279.     Float:pHealth,
  280.     pBanned,
  281.     pFraktion,
  282.     pAdminlevel
  283. }
  284.  
  285. //Enum Define
  286. new SpielerInfo[MAX_PLAYERS][SpielerDaten];
  287.  
  288.  
  289. main()
  290. {
  291.         print("\n----------------------------------");
  292.         print(" Tutorial Gamemode");
  293.         print("----------------------------------\n");
  294. }
  295.  
  296.  
  297. public OnGameModeInit()
  298. {
  299.         ManualVehicleEngineAndLights();
  300.         for(new i= 0;i<MAX_VEHICLES;i++)
  301.         {
  302.             GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
  303.             SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  304.             Motor[i] = false;
  305.         }
  306.         for( new x = 0;x<GetMaxPlayers();x++)
  307.         {
  308.                 Tacho[x] = TextDrawCreate(228.0000, 338.0000,"Blub");
  309.                 TextDrawLetterSize(Tacho[x],0.4,1.1);
  310.                 TextDrawFont(Tacho[x],1);
  311.                 TextDrawSetShadow(Tacho[x],2);
  312.                 TextDrawSetOutline(Tacho[x],1);
  313.                 TextDrawUseBox(Tacho[x],1);
  314.                 TextDrawTextSize(Tacho[x],441.0000,727.0000);
  315.         }
  316.         SetTimer("ServerNamenTimer",10000,1);
  317.         SetTimer("UpdateTacho",TACHOTIMER,1);
  318.         SetTimer("CheckPing",4000,true);
  319.         printf("Es wurden %d Objekte erfolgreich gestreamt.",CountDynamicObjects());
  320.         pdgate = CreateDynamicObject(975, 1548.900024, -1622.400024, 14.100000, 0.000000, 0.000000, 265.250000);
  321.         SetGameModeText("Tutorial Gamemode");
  322.         AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  323.         AddStaticVehicleEx(4,1958.3783, 1343.1572, 15.3746,0,1,1,1);
  324.         //Spawn-Beschriftung
  325.         Create3DTextLabel("Willkommen am Noobspawn",GELB,1249.5454,-906.6514,46.6016,10.0,0);
  326.         Uhr = TextDrawCreate(545.000000,21.000000,"Hier steht nichts");
  327.         TextDrawBackgroundColor(Uhr,255);
  328.         TextDrawFont(Uhr,3);
  329.         TextDrawLetterSize(Uhr,0.52,2.29999);
  330.         TextDrawColor(Uhr,-1);
  331.         TextDrawSetOutline(Uhr,0);
  332.         TextDrawSetProportional(Uhr,1);
  333.         TextDrawSetShadow(Uhr,1);
  334.         SetTimer("UpdateUhr",500,1);
  335.         ServerNamen = TextDrawCreate(251.0000,6.0000,"Logan's Testserver");
  336.         TextDrawBackgroundColor(ServerNamen,WEISS);
  337.         TextDrawSetShadow(ServerNamen,1);
  338.         TextDrawLetterSize(ServerNamen,0.5,1.2);
  339.         SetTimer("ServerNamenTimer",15000,1);
  340.         ServerNamen = TextDrawCreate(251.0000,6.0000,"Testserver");
  341.         TextDrawBackgroundColor(ServerNamen,WEISS);
  342.         TextDrawSetShadow(ServerNamen,1);
  343.         TextDrawLetterSize(ServerNamen,0.5,1.2);
  344.         Frakcar[0] = AddStaticVehicle(596,1238.2861,-890.9871,42.6031,96.0572,0,1);
  345.         CreateDynamicPickup(1239,1,1481.1127,-1772.1567,18.7958,-1);
  346.         CreateDynamic3DTextLabel("Stadthalle\nEingang",ROT,1481.1127,-1772.1567,18.7958,20.0,-1,0);
  347.         CreateDynamicPickup(1239,1,388.8416,173.7418,1008.3828,-1);
  348.         CreateDynamic3DTextLabel("Stadthalle\nAusgang",ROT,388.8416,173.7418,1008.3828,-1,0);
  349.         DisableInteriorEnterExits();
  350.         UsePlayerPedAnims();
  351.         r_mysql_Connect_To_Database("localhost","root","","gta");
  352.         return 1;
  353. }
  354.  
  355. public OnGameModeExit()
  356. {
  357.     SaveAllCurrentOnlinePlayers();
  358.     return 1;
  359. }
  360.  
  361. public OnPlayerRequestClass(playerid, classid)
  362. {
  363.         SetSpawnInfo(playerid,0,spawnskins[random(sizeof(spawnskins))],1958.3783, 1343.1572, 15.3746,0,0,0,0,0,0,0);
  364.         SpawnPlayer(playerid);
  365.         return 1;
  366. }
  367.  
  368. ocmd:killmyself(playerid,params[])
  369. {
  370.         #pragma unused params
  371.         SetPlayerHealth(playerid,0);
  372.         return 1;
  373. }
  374.  
  375. public OnPlayerConnect(playerid)
  376. {
  377.         TextDrawShowForAll(ServerNamen);
  378.         TextDrawShowForAll(Uhr);
  379.         SetPlayerVirtualWorld(playerid,0);
  380.         if(IsPlayerNPC(playerid))return 1;
  381.         if(mysql_CheckAccount(playerid) == 1)
  382.         {
  383.             ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang","Herzlich Willkommen zurück auf meinem Server!\nGib bitte unten dein Passwort ein","Login","Abbrechen");
  384.         }
  385.         else if(mysql_CheckAccount(playerid) == 0)
  386.         {
  387.             ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Register Vorgang","Herzlich Willkommen.\nBevor du loslegen kannst musst du dich zuerst registrieren.\nGib unten dein gewünschtes Passwort an!","Register","Abbrechen");
  388.         }
  389.         return 1;
  390. }
  391.  
  392. public OnPlayerDisconnect(playerid, reason)
  393. {
  394.         TextDrawHideForAll(ServerNamen);
  395.         TextDrawHideForAll(Uhr);
  396.         if(GetPVarInt(playerid,"eingeloggt") == 1)
  397.         {
  398.             SpielerSpeichern(playerid);
  399.             DeletePVar(playerid,"eingeloggt");
  400.         }
  401.         return 1;
  402. }
  403.  
  404. public OnPlayerSpawn(playerid)
  405. {
  406.         SetPlayerPos(playerid,1249.5454,-906.6514,46.6016);
  407.         SetPlayerFacingAngle(playerid,187.7627);
  408.         return 1;
  409. }
  410.  
  411. public OnPlayerDeath(playerid, killerid, reason)
  412. {
  413.         StopAudioStreamForPlayer(playerid);
  414.         return 1;
  415. }
  416.  
  417. public OnVehicleSpawn(vehicleid)
  418. {
  419.         GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  420.         SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  421.         Motor[vehicleid] = false;
  422.         return 1;
  423. }
  424.  
  425. public OnVehicleDeath(vehicleid, killerid)
  426. {
  427.         return 1;
  428. }
  429.  
  430. public OnPlayerText(playerid, text[])
  431. {
  432.         new string[128];
  433.         format(string,128,"%s sagt: %s",SpielerName(playerid),text);
  434.         for(new i = 0;i<GetMaxPlayers();i ++)
  435.         {
  436.                 new Float:X,Float:Y,Float:Z;
  437.                 GetPlayerPos(playerid,X,Y,Z);
  438.                 if(IsPlayerInRangeOfPoint(i,7.0,X,Y,Z))
  439.                 {
  440.                         SendClientMessage(i,WEISS,string);
  441.                         return 0;
  442.                 }
  443.         }
  444.         return 1;
  445. }
  446.  
  447. public OnPlayerCommandText(playerid, cmdtext[])
  448. {
  449.         return 0;
  450. }
  451.  
  452. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  453. {
  454.         SendClientMessage(playerid,GRÜN,"Info: Mit /radio kannst du das Radio anschalten");
  455.         if(GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 510)
  456.         {
  457.             GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  458.             SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  459.         }
  460.         return 1;
  461. }
  462.  
  463. public OnPlayerExitVehicle(playerid, vehicleid)
  464. {
  465.         StopAudioStreamForPlayer(playerid);
  466.         return 1;
  467. }
  468.  
  469. public OnPlayerStateChange(playerid, newstate, oldstate)
  470. {
  471.         if(newstate == PLAYER_STATE_DRIVER)
  472.         {
  473.                 for(new i = 0;i< sizeof(Frakcar);i++)
  474.                 {
  475.                         if(GetPlayerVehicleID(playerid) == Frakcar[i])
  476.                         {
  477.                                 if(SpielerInfo[playerid][pFraktion] != 1)
  478.                                 {
  479.                                         RemovePlayerFromVehicle(playerid);
  480.                                         SendClientMessage(playerid,ROT,"Du bist nicht in der richtigen Fraktion");
  481.                                 }
  482.                         }
  483.                 }
  484.         }
  485.         return 1;
  486. }
  487.  
  488. public OnPlayerEnterCheckpoint(playerid)
  489. {
  490.         DisablePlayerCheckpoint(playerid);
  491.         DisablePlayerRaceCheckpoint(playerid);
  492.         return 1;
  493. }
  494.  
  495. public OnPlayerLeaveCheckpoint(playerid)
  496. {
  497.         return 1;
  498. }
  499.  
  500. public OnPlayerEnterRaceCheckpoint(playerid)
  501. {
  502.         return 1;
  503. }
  504.  
  505. public OnPlayerLeaveRaceCheckpoint(playerid)
  506. {
  507.         return 1;
  508. }
  509.  
  510. public OnRconCommand(cmd[])
  511. {
  512.         return 1;
  513. }
  514.  
  515. public OnPlayerRequestSpawn(playerid)
  516. {
  517.         return 1;
  518. }
  519.  
  520. public OnObjectMoved(objectid)
  521. {
  522.         return 1;
  523. }
  524.  
  525. public OnPlayerObjectMoved(playerid, objectid)
  526. {
  527.         return 1;
  528. }
  529.  
  530. public OnPlayerPickUpPickup(playerid, pickupid)
  531. {
  532.         return 1;
  533. }
  534.  
  535. public OnVehicleMod(playerid, vehicleid, componentid)
  536. {
  537.         return 1;
  538. }
  539.  
  540. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  541. {
  542.         return 1;
  543. }
  544.  
  545. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  546. {
  547.         return 1;
  548. }
  549.  
  550. public OnPlayerSelectedMenuRow(playerid, row)
  551. {
  552.         return 1;
  553. }
  554.  
  555. public OnPlayerExitedMenu(playerid)
  556. {
  557.         return 1;
  558. }
  559.  
  560. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  561. {
  562.         return 1;
  563. }
  564.  
  565. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  566. {
  567.         if(newkeys == KEY_SECONDARY_ATTACK)
  568.         {              
  569.                 if(IsPlayerInRangeOfPoint(playerid,5,1481.1127,-1772.1567,18.7958)) // Stadthallen Eingang in LS
  570.                 {
  571.                         SetPlayerInterior(playerid,3);
  572.                         SetPlayerPos(playerid,381.5300,173.8850,1008.3828);
  573.                         SetPlayerFacingAngle(playerid,88.6742);
  574.                         SetCameraBehindPlayer(playerid);
  575.                 }
  576.                 if(IsPlayerInRangeOfPoint(playerid,5,388.8416,173.7418,1008.3828))
  577.                 {
  578.                         SetPlayerInterior(playerid,0);
  579.                         SetPlayerPos(playerid,1481.4847,-1767.7715,18.7958);
  580.                         SetPlayerFacingAngle(playerid,0.3344);
  581.                         SetCameraBehindPlayer(playerid);
  582.                 }
  583.         }
  584.         return 1;
  585. }
  586.  
  587. public OnRconLoginAttempt(ip[], password[], success)
  588. {
  589.         return 1;
  590. }
  591.  
  592. public OnPlayerUpdate(playerid)
  593. {
  594.         return 1;
  595. }
  596.  
  597. public OnPlayerStreamIn(playerid, forplayerid)
  598. {
  599.         return 1;
  600. }
  601.  
  602. public OnPlayerStreamOut(playerid, forplayerid)
  603. {
  604.         return 1;
  605. }
  606.  
  607. public OnVehicleStreamIn(vehicleid, forplayerid)
  608. {
  609.         return 1;
  610. }
  611.  
  612. public OnVehicleStreamOut(vehicleid, forplayerid)
  613. {
  614.         return 1;
  615. }
  616.  
  617. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  618. {
  619.         if(dialogid == DIALOG_LOGIN)
  620.         {
  621.             if(response == 0)
  622.             {
  623.                 SendClientMessage(playerid,ROT,"Du hast den Login Vorgang abgebrochen und wirst deshalb nun gekickt!");
  624.                 Kick(playerid);
  625.             }
  626.             if(response == 1)
  627.             {
  628.                 if(!strlen(inputtext))
  629.                 {
  630.                     SendClientMessage(playerid,ROT,"Du musst auch ein Passwort angeben!");
  631.                     ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gib unten dein korrektes Passwort ein!","Login","Abbrechen");
  632.                     return 1;
  633.                 }
  634.                 else if(!strcmp(inputtext,mysql_ReturnPasswort(SpielerName(playerid)),true))
  635.                 {
  636.                         SpielerLaden(playerid);
  637.                         SetPVarInt(playerid,"eingeloggt",1);
  638.                 }
  639.                 else
  640.                 {
  641.                     ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das Passwort war leider falsch!\nGib unten dein korrektes Passwort ein!","Login","Abbrechen");
  642.                 }
  643.             }
  644.         }
  645.         if(dialogid == DIALOG_REGISTER)
  646.         {
  647.             if(response == 0)
  648.             {
  649.                 SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen und wirst gekickt!");
  650.                 Kick(playerid);
  651.                 return 1;
  652.             }
  653.             if(response == 1)
  654.             {
  655.                 if(!strlen(inputtext))
  656.                 {
  657.                     SendClientMessage(playerid,ROT,"Dein Passwort war nicht lang genug!\nBitte versuche es erneut!");
  658.                     ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Register","Herzlich Willkommen.\n Da dies dein 1.Besuch bei uns ist, musst du dich zuerst registrieren.\nGib bitte unten dein gewünschtes Passwort ein!","Register","Abbrechen");
  659.                     return 1;
  660.                 }
  661.                 else
  662.                 {
  663.                     CreateAccount(playerid,inputtext); // Erstellen eines Accounts
  664.                     SetPVarInt(playerid,"eingeloggt",1);
  665.                     return 1;
  666.                 }
  667.             }
  668.         }
  669.         switch(dialogid)
  670.         {
  671.                 case DIALOG_RADIO:
  672.                 {
  673.                         if(!response)
  674.                         {
  675.                                 SendClientMessage(playerid,ROT,"Du hast das Radio ausgeschaltet");
  676.                                 StopAudioStreamForPlayer(playerid);
  677.                         }
  678.                         switch(listitem)
  679.                         {
  680.                                 case 0:
  681.                                 {
  682.                                         PlayAudioStreamForPlayer(playerid,"http://listen.technobase.fm/dsl.asx");
  683.                                         SendClientMessage(playerid,GRÜN,"Du hörst Technobase.FM");                                  
  684.                                 }
  685.                                 case 1:
  686.                                 {
  687.                                         PlayAudioStreamForPlayer(playerid,"http://listen.HardBase.FM/aacplus.pls");
  688.                                         SendClientMessage(playerid,GRÜN,"Du hörst Hardbase.FM");
  689.                                 }
  690.                                 case 2:
  691.                                 {
  692.                                         PlayAudioStreamForPlayer(playerid,"http://listen.ClubTime.FM/aacplus.pls");
  693.                                         SendClientMessage(playerid,GRÜN,"Du hörst Clubtime.FM");
  694.                                 }
  695.                         }
  696.                 }
  697.                 case DIALOG_FIGHT:
  698.                 {
  699.                     switch(listitem)
  700.                     {
  701.                         case 0:
  702.                         {
  703.                             SetPlayerFightingStyle(playerid,FIGHT_STYLE_NORMAL);
  704.                             GivePlayerMoney(playerid,-50);
  705.                             SendClientMessage(playerid,GRÜN,"Erfolg: Du hast den Fightstyle 'Normal' erlernt");
  706.                         }
  707.                         case 1:
  708.                         {
  709.                             SetPlayerFightingStyle(playerid,FIGHT_STYLE_BOXING);
  710.                             GivePlayerMoney(playerid,-200);
  711.                             SendClientMessage(playerid,GRÜN,"Erfolg: Du hast den Fightstyle 'Boxing' erlernt");
  712.                         }
  713.                         case 2:
  714.                         {
  715.                             SetPlayerFightingStyle(playerid,FIGHT_STYLE_KUNGFU);
  716.                             GivePlayerMoney(playerid,-250);
  717.                             SendClientMessage(playerid,GRÜN,"Erfolg: Du hast den Fightstyle 'Kungfu' erlernt");
  718.                         }
  719.                         case 3:
  720.                         {
  721.                             SetPlayerFightingStyle(playerid,FIGHT_STYLE_KNEEHEAD);
  722.                             GivePlayerMoney(playerid,-300);
  723.                             SendClientMessage(playerid,GRÜN,"Erfolg: Du hast den Fightstyle 'Kneehead' erlernt");
  724.                         }
  725.                         case 4:
  726.                         {
  727.                             SetPlayerFightingStyle(playerid,FIGHT_STYLE_GRABKICK);
  728.                             GivePlayerMoney(playerid,-400);
  729.                             SendClientMessage(playerid,GRÜN,"Erfolg: Du hast den Fightstyle 'Grabkick' erlernt");
  730.                         }
  731.                         case 5:
  732.                         {
  733.                             SetPlayerFightingStyle(playerid,FIGHT_STYLE_ELBOW);
  734.                             GivePlayerMoney(playerid,-500);
  735.                             SendClientMessage(playerid,GRÜN,"Erfolg: Du hast den Fightstyle 'Elbow' erlernt");
  736.                         }
  737.                     }
  738.                 }
  739.         }
  740.         return 0;
  741. }
  742.  
  743. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  744. {
  745.         return 1;
  746. }
  747.  
  748. //SpielerName-Stock
  749. stock SpielerName(playerid)
  750. {
  751.         new GetName[MAX_PLAYER_NAME];
  752.         GetPlayerName(playerid,GetName,sizeof(GetName));
  753.         return GetName;
  754. }
  755.  
  756. //SpielerLaden-Stock
  757. stock SpielerLaden(playerid)
  758. {
  759.     if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  760.     {
  761.         GetPlayerName(playerid,SpielerInfo[playerid][pName],MAX_PLAYER_NAME);
  762.         if(r_LoadSQLEntrance("accounts","Name",SpielerInfo[playerid][pName]))
  763.         {
  764.            
  765.             SpielerInfo[playerid][pLevel] = r_mysql_GetInt("Level");
  766.             SpielerInfo[playerid][pHealth] = r_mysql_GetFloat("Health");
  767.             SpielerInfo[playerid][pAdminlevel] = r_mysql_GetInt("Adminlevel");
  768.             SpielerInfo[playerid][pFraktion] = r_mysql_GetInt("Fraktion");
  769.             SpielerInfo[playerid][pGeld] = r_mysql_GetInt("Geld");
  770.             SpielerInfo[playerid][pBanned] = r_mysql_GetInt("Banned");
  771.             GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
  772.             SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);
  773.             printf("[MySQL]Spielerdaten vom Spieler %s erfolgreich aus der Datenbank geladen[MySQL]",SpielerName(playerid));
  774.             if(SpielerInfo[playerid][pBanned] == 1)
  775.             {
  776.                 SendClientMessage(playerid,ROT,"Dieser Spieleraccount wurde von einem Administrator gebannt.");
  777.                 SendClientMessage(playerid,ROT,"Du kannst nicht mehr mit diesem Account spielen.");
  778.                 SendClientMessage(playerid,ROT,"Du darfst dir auch nicht unerlaubt einen neuen Account erstellen, das ist Multiaccounting und führt zu einem Range-Bann.");
  779.                 SendClientMessage(playerid,ROT,"Bei Fragen oder Einwänden melde dich im Forum oder im TS³ bei einem Admin.");
  780.                 SendClientMessage(playerid,ROT,"Du wirst jetzt nach 3 Sekunden gekickt.");
  781.                 SetTimer("Banntimer",3000,false);
  782.             }
  783.             r_UnloadSQLEntrance();
  784.         }
  785.        
  786.     }
  787.     return 1;
  788. }
  789.  
  790. //SpielerSPeichern-Stock
  791. stock SpielerSpeichern(playerid)
  792. {
  793.         if(GetPVarInt(playerid,"eingeloggt") == 1)
  794.         {
  795.             GetPlayerName(playerid,SpielerInfo[playerid][pName],MAX_PLAYER_NAME);
  796.             if(r_LoadSQLEntrance("accounts","Name",SpielerInfo[playerid][pName]))
  797.             {
  798.                 r_mysql_SetInt("Level",SpielerInfo[playerid][pLevel]);
  799.                 r_mysql_SetInt("Geld",SpielerInfo[playerid][pGeld]);
  800.                 r_mysql_SetInt("Fraktion",SpielerInfo[playerid][pFraktion]);
  801.                 r_mysql_SetFloat("Health",SpielerInfo[playerid][pHealth]);
  802.                 r_mysql_SetInt("Banned",SpielerInfo[playerid][pBanned]);
  803.                 r_mysql_SetInt("Adminlevel",SpielerInfo[playerid][pAdminlevel]);
  804.                 printf("[MySQL]Spielerdaten vom Spieler %s erfolgreich in der Datenbank gespeichert.[MySQL]",SpielerName(playerid));
  805.                 r_UnloadSQLEntrance();
  806.             }
  807.         }
  808.         return 1;
  809. }
  810.  
  811. //Admin-Stock
  812. stock IstSpielerAdmin(playerid,level)
  813. {
  814.         if(SpielerInfo[playerid][pAdminlevel] >=level)return 1;
  815.         return 0;
  816. }
  817.  
  818. //OCMD-Befehle
  819. ocmd:su(playerid,params[])
  820. {
  821.         new pID,anzahl,grund[20],string[128],string2[128];
  822.         if(!IsPlayerMember(playerid,1)) return SendClientMessage(playerid,ROT,"Nur Cops dürfen das.");
  823.         if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht connected");
  824.         if(sscanf(params,"uis",pID,anzahl,grund))return SendClientMessage(playerid,ROT,"Benutzung: /su [Name/ID] [Anzahl] [Grund]");
  825.         if(IsPlayerMember(playerid,1))
  826.         {
  827.                 SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID)+anzahl);
  828.                 format(string,sizeof(string),"Du hast %s %i Wanteds gegeben. Grund: %s",SpielerName(pID),anzahl,grund);
  829.                 format(string2,sizeof(string2),"Officer %s hat dir %i Wanteds gegeben. Grund: %s",SpielerName(playerid),anzahl,grund);
  830.                 SendClientMessage(playerid,GRÜN,string);
  831.                 SendClientMessage(pID,ROT,string2);
  832.                 SpielerSpeichern(playerid);
  833.                 SpielerSpeichern(pID);
  834.                 return 1;
  835.         }
  836.         return 1;
  837. }
  838. ocmd:setmember(playerid,params[])
  839. {
  840.         new pID,frakid,string[128];
  841.         if(!IstSpielerAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Zugriff verweigert. Benötigter Rang: Fulladmin");
  842.         if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht connected");
  843.         if(sscanf(params,"ui",pID,frakid))return SendClientMessage(playerid,ROT,"Benutzung: /setmember [Name/Playerid] [Fraktionsid]");
  844.         if(IstSpielerAdmin(playerid,5))
  845.         {
  846.                 SpielerInfo[pID][pFraktion] = frakid;
  847.                 format(string,128,"[AdmCmd] Fulladmin %s hat %s in die Fraktion %i gesetzt",SpielerName(playerid),SpielerName(pID),frakid);
  848.                 SendClientMessageToAll(ROT,string);
  849.                 SpielerSpeichern(playerid);
  850.                 SpielerSpeichern(pID);
  851.         }
  852.         return 1;
  853. }
  854.  
  855. ocmd:tor(playerid,params[])
  856. {
  857.         #pragma unused params
  858.         if(IsPlayerInRangeOfPoint(playerid,5,1548.900024, -1622.400024, 14.100000))
  859.         {
  860.                 MoveDynamicObject(pdgate,1548.900024, -1622.400024-10, 14.100000,2);
  861.                 SetTimer("pdtortimer",10000,0);
  862.                 SendClientMessage(playerid,ROT,"Das Tor wird sich nach 10 Sekunden automatisch schließen!");
  863.                 return 1;
  864.         }
  865.         else
  866.         {
  867.             SendClientMessage(playerid,ROT,"Du bist nicht nahe genung am Tor!");
  868.             return 1;
  869.         }
  870. }
  871.  
  872. public pdtortimer()
  873. {
  874.         MoveDynamicObject(pdgate,1548.900024, -1622.400024, 14.100000,2);
  875.         return 1;
  876. }
  877.  
  878. ocmd:ban(playerid,params[])
  879. {
  880.     new pID,string[128],grund[128];
  881.     if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht connected!");
  882.     if(sscanf(params,"us",pID))return SendClientMessage(playerid,ROT,"Benutzung: /ban [ID] [Grund]");
  883.     if(IstSpielerAdmin(playerid,2))
  884.     {
  885.         SpielerInfo[pID][pBanned] = 1;
  886.         format(string,sizeof(string),"[AdmCmd] %s hat %s permanent vom Server gebannt. Grund: %s",SpielerName(playerid),SpielerName(pID),grund);
  887.         SendClientMessageToAll(ROT,string);
  888.         FreezePlayer(pID);
  889.         Kick(pID);
  890.         SpielerSpeichern(playerid);
  891.         SpielerSpeichern(pID);
  892.     }
  893.     else
  894.         {
  895.             SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig");
  896.             return 1;
  897.         }
  898.     return 1;
  899. }
  900.  
  901. ocmd:changefightstyle(playerid,parmas[])
  902. {
  903.     ShowPlayerDialog(playerid,DIALOG_FIGHT,DIALOG_STYLE_LIST,"Fightstyle auswählen","Normal\r\nBoxing\r\nKungfu\r\nKneehead\r\nGrabkick\r\nElbow","OK","Quit");
  904.     return 1;
  905. }
  906.  
  907. ocmd:kick(playerid,params[])
  908. {
  909.         new pID,string[128],grund[128];
  910.         if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht connected!");
  911.         if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,ROT,"Benutzung: /kick [ID] [Grund]");
  912.         if(IstSpielerAdmin(playerid,1))
  913.         {
  914.                 format(string,sizeof(string),"[AdmCmd] %s hat %s vom Server gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
  915.                 SendClientMessageToAll(ROT,string);
  916.                 Kick(pID);
  917.                 FreezePlayer(pID);
  918.                 SpielerSpeichern(playerid);
  919.                 SpielerSpeichern(pID);
  920.         }
  921.         else
  922.         {
  923.             SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig");
  924.             return 1;
  925.         }
  926.         return 1;
  927. }
  928.  
  929. ocmd:goto(playerid,params[])
  930. {
  931.         new pID,string[128],string2[128];
  932.         if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht connected!");
  933.         if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutzung: /goto [ID]");
  934.         if(IstSpielerAdmin(playerid,1))
  935.         {
  936.             new Float:x,Float:y,Float:z,Float:angle;
  937.             GetPlayerPos(pID,x,y,z);
  938.             GetPlayerFacingAngle(pID,angle);
  939.             SetPlayerPos(playerid,x+1,y,z);
  940.             SetPlayerFacingAngle(playerid,angle);
  941.             format(string,sizeof(string),"[AdmCmd] %s hat sich zu dir teleportiert",SpielerName(playerid));
  942.             format(string2,sizeof(string2),"[AdmCmd] Du hast dich erfolgreich zum Spieler %s teleportiert",SpielerName(pID));
  943.             SendClientMessage(pID,ROT,string);
  944.             SendClientMessage(playerid,ROT,string2);
  945.             return 1;
  946.         }
  947.         return 1;
  948. }
  949.  
  950. ocmd:setadmin(playerid,params[])
  951. {
  952.         new pID,rang,string[128];
  953.         if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht connected!");
  954.         if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,ROT,"Benutzung: /setadmin [ID] [Adminlevel]");
  955.         if( rang <0 || rang > 3)return SendClientMessage(playerid,ROT,"Das Adminlevel muss zwischen 1 und 3 sein");
  956.         if(IstSpielerAdmin(playerid,3))
  957.         {
  958.             SpielerInfo[pID][pAdminlevel] = rang;
  959.             format(string,sizeof(string),"[AdmCmd] %s wurde von %s ins Adminteam mit dem Adminlevel %i gesetzt",SpielerName(pID),SpielerName(playerid),rang);
  960.             SendClientMessageToAll(ROT,string);
  961.             SpielerSpeichern(playerid);
  962.             return 1;
  963.         }
  964.         else
  965.         {
  966.             SendClientMessage(playerid,ROT,"Zugriff verweigert. Benötigter Rang : Head Admin");
  967.             return 1;
  968.         }
  969. }
  970.  
  971. //Freeze-Stock
  972. stock FreezePlayer(playerid)
  973. {
  974.         TogglePlayerControllable(playerid,0);
  975.         return 1;
  976. }
  977.  
  978. //Unfreeze Stock
  979. stock UnFreezePlayer(playerid)
  980. {
  981.         TogglePlayerControllable(playerid,1);
  982.         return 1;
  983. }
  984.  
  985. ocmd:heal(playerid,params[])
  986. {
  987.         new pID,string[128],string2[128];
  988.         if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht connected!");
  989.         if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Benutzung: /heal [ID]");
  990.         SetPlayerHealth(playerid,100.0);
  991.         format(string,sizeof(string),"Du hast den Spieler %s erfolgreich geheilt",SpielerName(pID));
  992.         format(string2,sizeof(string2),"Du wurdest vom Spieler %s geheilt",SpielerName(playerid));
  993.         SendClientMessage(playerid,GRÜN,string);
  994.         SendClientMessage(pID,GRÜN,string2);
  995.         return 1;
  996. }
  997.  
  998.  
  999. //Fraktionsabfrage
  1000. stock IsPlayerMember(playerid,frakid)
  1001. {
  1002.         if(SpielerInfo[playerid][pFraktion] == frakid)return 1;
  1003.         return 0;
  1004. }
  1005.  
  1006. public CheckPing()
  1007. {
  1008.         for(new i = 0;i<GetMaxPlayers();i++)
  1009.         {
  1010.                 if(GetPlayerPing(i) > 250)
  1011.                 {
  1012.                         PingWarns[i] ++;
  1013.                         SendClientMessage(i,ROT,"Warnung erhalten. Grund: Zu hoher Ping. Info: Nach 5 Ping-Warnungen folgt ein Kick.");
  1014.                 }
  1015.                 if(PingWarns[i] > 5)
  1016.                 {
  1017.                         SendClientMessage(i,ROT,"[AdmCmd] %s wurde vom Serversystem automatisch gekicket. Grund: Zu hoher Ping (über 250)");
  1018.                         Kick(i);
  1019.                 }
  1020.         }
  1021.         return 1;
  1022. }
  1023.  
  1024.  
  1025. ocmd:veh(playerid,params[])
  1026. {
  1027.         new Float:vehx,Float:vehy,Float:vehz;
  1028.         new vehid,cc1,cc2,string[128];
  1029.         if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid, ROT,"Benutzung: /veh [Vehicle ID] [Farbe 1] [Farbe 2]");
  1030.         if(IstSpielerAdmin(playerid,5))
  1031.         {
  1032.                 GetPlayerPos(playerid,vehx,vehy,vehz);
  1033.                 new carid = CreateVehicle(vehid,vehx,vehy,vehz,3,cc1,cc2,-1);
  1034.                 SetVehicleNumberPlate(carid,"~>Admin<~");
  1035.                 PutPlayerInVehicle(playerid, carid, 0);
  1036.                 format(string,sizeof(string),"[AdmCmd] Du hast ein Admincar gespawnt! (FahrzeugID :%d)",GetVehicleModel(GetPlayerVehicleID(playerid)));
  1037.                 SendClientMessage(playerid,ROT,string);
  1038.         }
  1039.         else
  1040.         {
  1041.                 SendClientMessage(playerid,ROT,"Zugriff verweigert.Benötigter Rang: {FF0023}FullAdmin");
  1042.         }
  1043.         return 1;
  1044. }
  1045.  
  1046. public UpdateUhr()
  1047. {
  1048.         new stunde,minute,sekunde,uhrstring[9];
  1049.         gettime(stunde,minute,sekunde);
  1050.         format(uhrstring,9,"%02d:%02d:%02d",stunde,minute,sekunde);
  1051.         TextDrawSetString(Uhr,uhrstring);
  1052. }
  1053.  
  1054. public UpdateTacho()
  1055. {
  1056.         for(new x = 0;x<GetMaxPlayers();x++)
  1057.         {
  1058.                 if(IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_DRIVER && !IsPlayerNPC(x))
  1059.                 {
  1060.                         new Float:Strecke,Float:Geschwindigkeit;
  1061.                         GetVehiclePos(GetPlayerVehicleID(x),X1[x],Y1[x],Z1[x]);
  1062.                         Strecke = floatsqroot(floatpower(floatabs(floatsub(X1[x],X2[x])),2)+floatpower(floatabs(floatsub(Y1[x],Y2[x])),2)+floatpower(floatabs(floatsub(Z1[x],Z2[x])),2));
  1063.                         Geschwindigkeit = (Strecke / (TACHOTIMER/1000)) * 3.6;
  1064.                         new String[80];
  1065.                         format(String,80,"Geschwindigkeit: ~b~%d km/h ~n~Fahrzeugtyp: ~r~%s",floatround(Geschwindigkeit),Fahrzeugname[GetVehicleModel(GetPlayerVehicleID(x))-400]);
  1066.                         TextDrawSetString(Tacho[x],String);
  1067.                         GetVehiclePos(GetPlayerVehicleID(x),X2[x],Y2[x],Z2[x]);
  1068.                         TextDrawShowForPlayer(x,Tacho[x]);
  1069.                 }
  1070.                 else
  1071.                 {
  1072.                         TextDrawHideForPlayer(x,Tacho[x]);
  1073.                 }
  1074.         }      
  1075.         return 1;
  1076. }
  1077.  
  1078. public ServerNamenTimer()
  1079. {
  1080.         new string[128];
  1081.         format(string,128,"%s",SN[zaehler]);
  1082.         zaehler += 1;
  1083.         TextDrawSetString(ServerNamen,string);
  1084.         if(zaehler >= MAX_SERVER_NAMEN)
  1085.         {
  1086.                 zaehler = 0;
  1087.         }
  1088.         return 1;
  1089. }
  1090.  
  1091. ocmd:aduty(playerid,params[])
  1092. {
  1093.         new Text3D:ADuty[MAX_PLAYERS],nachricht[128];
  1094.         new Float:X,Float:Y,Float:Z;
  1095.         if(!IstSpielerAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin");
  1096.         if(IstSpielerAdmin(playerid,1))
  1097.         {
  1098.                 if(Aond[playerid] == 0)
  1099.                 {
  1100.                         GetPlayerPos(playerid,X,Y,Z);
  1101.                         ADuty[playerid] = Create3DTextLabel("Admin im Dienst. DM verboten!",ROT,X,Y,Z,50.0,0,0);
  1102.                         format(nachricht,128,"%s hat sich als Admin angemeldet",SpielerName(playerid));
  1103.                         SendClientMessageToAll(GRÜN,nachricht);
  1104.                         Attach3DTextLabelToPlayer(ADuty[playerid],playerid,0.0,0.0,0.75);
  1105.                         Aond[playerid] = 1;
  1106.                 }
  1107.         }
  1108.         else
  1109.         {
  1110.                 Delete3DTextLabel(ADuty[playerid]);
  1111.                 format(nachricht,128,"%s hat sich als Admin abgemeldet",SpielerName(playerid));
  1112.                 Aond[playerid] = 0;
  1113.                 SendClientMessageToAll(GRÜN,nachricht);
  1114.         }
  1115.         return 1;
  1116. }
  1117.  
  1118. ocmd:radio(playerid,params[])
  1119. {
  1120.         #pragma unused params
  1121.         if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1122.         {
  1123.                 ShowPlayerDialog(playerid,DIALOG_RADIO,DIALOG_STYLE_LIST,"Radio - Sender","Technobase.FM\nHardbase.FM\nClubtime.FM","OK","Quit");
  1124.         }
  1125.         else if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  1126.         {
  1127.                 SendClientMessage(playerid,ROT,"Du bist kein Fahrer");
  1128.         }
  1129.         else
  1130.         {
  1131.                 SendClientMessage(playerid,ROT,"Du bist in keinem Auto");
  1132.         }
  1133.         return 1;
  1134. }
  1135.  
  1136. ocmd:stadthalle(playerid,params[])
  1137. {
  1138.         #pragma unused params
  1139.         if(!IstSpielerAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Adminlevel zu niedrig");
  1140.         if(IstSpielerAdmin(playerid,1))
  1141.         {
  1142.                 SetPlayerPos(playerid,1481.1127,-1772.1567,18.7958);
  1143.                 SendClientMessage(playerid,ROT,"Erfolgreich zur Stadthalle teleportiert");
  1144.         }
  1145.         return 1;
  1146.  }
  1147.  
  1148. stock mysql_CheckAccount(playerid)
  1149. {
  1150.     new Query[128],Name[MAX_PLAYER_NAME],count;
  1151.     GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1152.     mysql_real_escape_string(Name, Name);
  1153.     format(Query, sizeof(Query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", Name);
  1154.     mysql_query(Query);
  1155.     mysql_store_result();
  1156.     count = mysql_num_rows();
  1157.     mysql_free_result();
  1158.     return count;
  1159. }
  1160.  
  1161. stock CreateAccount(playerid, pass[])
  1162. {
  1163.     new query[256],Name[MAX_PLAYER_NAME];
  1164.     GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  1165.     mysql_real_escape_string(Name,Name);
  1166.     mysql_real_escape_string(pass,pass);
  1167.     format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, pass);
  1168.     mysql_query(query);
  1169.     return true;
  1170. }
  1171.  
  1172. stock mysql_ReturnPasswort(Name[])
  1173. {
  1174.     new query[130], Get[130];
  1175.     mysql_real_escape_string(Name, Name);
  1176.     format(query, 128, "SELECT `passwort` FROM `accounts` WHERE `Name` = '%s'", Name);
  1177.     mysql_query(query);
  1178.     mysql_store_result();
  1179.     mysql_fetch_row(Get);
  1180.     mysql_free_result();
  1181.     return Get;
  1182. }
  1183.  
  1184. stock CountDownForPlayer(playerid, seconds, freeze, style=1) //By Gabriel "Larcius" Cordes
  1185. {
  1186.     if(IsPlayerConnected(playerid))
  1187.     {
  1188.         if(!Counters[playerid][Down][Style])
  1189.         {
  1190.             Counters[playerid][Down][TextID]=0;
  1191.         }
  1192.         else if(Counters[playerid][Down][Style]!=style)
  1193.         {
  1194.             TextDrawDestroy(Text:Counters[playerid][Down][TextID]);
  1195.         }
  1196.         if(freeze==0 || style==0)
  1197.         {
  1198.             TogglePlayerControllable2(playerid, 1, FREEZE_COUNTDOWN);
  1199.         }
  1200.         else if(freeze)
  1201.         {
  1202.             TogglePlayerControllable2(playerid, 0, FREEZE_COUNTDOWN);
  1203.             SetCameraBehindPlayer(playerid);
  1204.         }
  1205.         Counters[playerid][Down][Style]=style;
  1206.         Counters[playerid][Down][Time]=seconds;
  1207.         return 1;
  1208.     }
  1209.     return 0;
  1210. }
  1211.  
  1212. stock CountDownForAll(seconds, freeze, style=1)
  1213. {
  1214.     new ret=0;
  1215.     for(new i=0; i<GetMaxPlayers(); i++)
  1216.     {
  1217.         if(CountDownForPlayer(i, seconds, freeze, style))
  1218.         {
  1219.             ret++;
  1220.         }
  1221.     }
  1222.     return ret;
  1223. }
  1224.  
  1225. stock IsNumeric(const string[])
  1226. {
  1227.     new length=strlen(string);
  1228.     if(length==0)
  1229.     {
  1230.         return 0;
  1231.     }
  1232.     for (new i=0; i<length; i++)
  1233.     {
  1234.         if (!((string[i] <= '9' && string[i] >= '0') || (i==0 && (string[i]=='-' || string[i]=='+'))))
  1235.         {
  1236.             return false;
  1237.         }
  1238.     }
  1239.     return 0;
  1240. }
  1241.  
  1242. public Banntimer()
  1243. {
  1244.     for(new x=0;x<GetMaxPlayers();x++)
  1245.     {
  1246.         Kick(x);
  1247.     }
  1248. }
  1249.  
  1250. stock SaveAllCurrentOnlinePlayers()
  1251. {
  1252.     for(new x = 0;x<GetMaxPlayers();x++)
  1253.     {
  1254.         if(GetPVarInt(x,"eingeloggt") == 1 && IsPlayerConnected(x) && !IsPlayerNPC(x))
  1255.         {
  1256.             GetPlayerName(x,SpielerInfo[x][pName],MAX_PLAYER_NAME);
  1257.             if(r_LoadSQLEntrance("accounts","Name",SpielerInfo[x][pName]))
  1258.             {
  1259.                 r_mysql_SetInt("Level",SpielerInfo[x][pLevel]);
  1260.                 r_mysql_SetInt("Geld",SpielerInfo[x][pGeld]);
  1261.                 r_mysql_SetInt("Fraktion",SpielerInfo[x][pFraktion]);
  1262.                 r_mysql_SetFloat("Health",SpielerInfo[x][pHealth]);
  1263.                 r_mysql_SetInt("Banned",SpielerInfo[x][pBanned]);
  1264.                 r_mysql_SetInt("Adminlevel",SpielerInfo[x][pAdminlevel]);
  1265.                 printf("[MySQL]Spielerdaten von allen Spielern erfolgreich in der Datenbank gespeichert.[MySQL]",SpielerName(x));
  1266.                 r_UnloadSQLEntrance();
  1267.             }
  1268.         }
  1269.     }
  1270.     return 1;
  1271. }
  1272.  
  1273. ocmd:motor(playerid,params[])
  1274. {
  1275.     if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1276.     {
  1277.             new vehicleid = GetPlayerVehicleID(playerid);
  1278.             if(GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 510)
  1279.             {
  1280.                 SendClientMessage(playerid,ROT,"In einem Fahrrad gibt es keinen Motor!");
  1281.                 Motor[vehicleid] = false;
  1282.             }
  1283.             else if(Motor[vehicleid] == false)
  1284.             {
  1285.                 GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  1286.                 SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  1287.                 SendClientMessage(playerid,ROT,"Motor erfolgreich eingeschaltet.");
  1288.                 Motor[vehicleid] = true;
  1289.             }
  1290.             else
  1291.             {
  1292.                 GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  1293.                 SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  1294.                 SendClientMessage(playerid,ROT,"Motor erfolgreich ausgeschaltet.");
  1295.                 Motor[vehicleid] = false;
  1296.             }
  1297.     }
  1298.     return 1;
  1299. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement