Guest User

SAMP Community | fair

a guest
Nov 12th, 2012
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 48.78 KB | None | 0 0
  1. //============================================================================//
  2. //                                                                            //
  3. //                                 By: samp Community                         //
  4. //                                                                            //
  5. //============================================================================//
  6.  
  7.  
  8. //============================================================================//
  9. //                                  Includes                                  //
  10. //============================================================================//
  11.  
  12. #include <a_samp>
  13. #include <ocmd>
  14. #include <foreach>
  15. #include <a_mysql>
  16. #include <_fair_Objects>
  17. #include <_fair_MySQLConnect>
  18. #include <_fair_Settings>
  19. #include <_fair_Color>
  20. #include <_fair_Fraktionscars>
  21.  
  22.  
  23. //============================================================================//
  24. //                                  Define s                                  //
  25. //============================================================================//
  26.  
  27. #define COL_GREEN "{6EF83C}"
  28. #define COL_RED "{F81414}"
  29. #define DIALOG_TUTORIAL (0)
  30. //============================================================================//
  31. //                                  New's                                     //
  32. //============================================================================//
  33.  
  34. new Text:newlogin0;
  35. new Text:newlogin1;
  36. new Text:newlogin2;
  37. new Text:newlogin3;
  38. new Text:newlogin5;
  39. new Text:newlogin7;
  40. new Text:newlogin8;
  41. new Text:newlogin9;
  42. new Text:newlogin10;
  43. new Text:newlogin11;
  44. new Text:newlogin12;
  45. new Text:newlogin13;
  46. new Text:newlogin14;
  47. new Text:newlogin15;
  48. new Float:gPlayerCameraPos[MAX_PLAYERS][COORD];
  49. new Float:gPlayerCamMovement[MAX_PLAYERS][CAMMOVEMENT];
  50. new Text:Textdraw1;
  51. new Text:Box[MAX_PLAYERS];
  52. new Text:BannedNotice[MAX_PLAYERS];
  53. new Text:Info[MAX_PLAYERS];
  54. new Text:Site[MAX_PLAYERS]
  55. ,TutTimer[MAX_PLAYERS]
  56. ,TutTime[MAX_PLAYERS];
  57. //============================================================================//
  58. //                                  Forwards                                  //
  59. //============================================================================//
  60.  
  61. forward     HideMessage1(playerid);
  62.  
  63. forward     Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2);
  64. forward     CameraMoveTimer(playerid);
  65.  
  66. //============================================================================//
  67. //                                  Main                                      //
  68. //============================================================================//
  69.  
  70. main(){}
  71.  
  72.  
  73.  
  74. //============================================================================//
  75. //                                  Publics                                   //
  76. //============================================================================//
  77. public OnGameModeInit()
  78. {
  79.     AntiDeAMX();
  80.     // INTRO
  81.     newlogin0 = TextDrawCreate(269.000000, 134.000000, "_");
  82.     TextDrawAlignment(newlogin0, 2);
  83.     TextDrawBackgroundColor(newlogin0, 255);
  84.     TextDrawFont(newlogin0, 1);
  85.     TextDrawLetterSize(newlogin0, 0.500000, 22.299987);
  86.     TextDrawColor(newlogin0, 30);
  87.     TextDrawSetOutline(newlogin0, 0);
  88.     TextDrawSetProportional(newlogin0, 1);
  89.     TextDrawSetShadow(newlogin0, 1);
  90.     TextDrawUseBox(newlogin0, 1);
  91.     TextDrawBoxColor(newlogin0, 80);
  92.     TextDrawTextSize(newlogin0, 0.000000, 787.000000);
  93.  
  94.     newlogin1 = TextDrawCreate(250.000000, -27.000000, "_");
  95.     TextDrawAlignment(newlogin1, 2);
  96.     TextDrawBackgroundColor(newlogin1, 255);
  97.     TextDrawFont(newlogin1, 1);
  98.     TextDrawLetterSize(newlogin1, 0.500000, 17.300004);
  99.     TextDrawColor(newlogin1, -1);
  100.     TextDrawSetOutline(newlogin1, 0);
  101.     TextDrawSetProportional(newlogin1, 1);
  102.     TextDrawSetShadow(newlogin1, 1);
  103.     TextDrawUseBox(newlogin1, 1);
  104.     TextDrawBoxColor(newlogin1, 200);
  105.     TextDrawTextSize(newlogin1, 0.000000, 787.000000);
  106.  
  107.     newlogin2 = TextDrawCreate(250.000000, 341.000000, "_");
  108.     TextDrawAlignment(newlogin2, 2);
  109.     TextDrawBackgroundColor(newlogin2, 255);
  110.     TextDrawFont(newlogin2, 1);
  111.     TextDrawLetterSize(newlogin2, 0.500000, 16.200000);
  112.     TextDrawColor(newlogin2, -1);
  113.     TextDrawSetOutline(newlogin2, 0);
  114.     TextDrawSetProportional(newlogin2, 1);
  115.     TextDrawSetShadow(newlogin2, 1);
  116.     TextDrawUseBox(newlogin2, 1);
  117.     TextDrawBoxColor(newlogin2, 200);
  118.     TextDrawTextSize(newlogin2, 0.000000, 787.000000);
  119.  
  120.     newlogin3 = TextDrawCreate(250.000000, 340.000000, "_");
  121.     TextDrawAlignment(newlogin3, 2);
  122.     TextDrawBackgroundColor(newlogin3, 255);
  123.     TextDrawFont(newlogin3, 1);
  124.     TextDrawLetterSize(newlogin3, 0.500000, -0.500000);
  125.     TextDrawColor(newlogin3, -1);
  126.     TextDrawSetOutline(newlogin3, 0);
  127.     TextDrawSetProportional(newlogin3, 1);
  128.     TextDrawSetShadow(newlogin3, 1);
  129.     TextDrawUseBox(newlogin3, 1);
  130.     TextDrawBoxColor(newlogin3, 0xFFFF00FF);
  131.     TextDrawTextSize(newlogin3, 0.000000, 787.000000);
  132.  
  133.     newlogin5 = TextDrawCreate(250.000000, 134.000000, "_");
  134.     TextDrawAlignment(newlogin5, 2);
  135.     TextDrawBackgroundColor(newlogin5, 255);
  136.     TextDrawFont(newlogin5, 1);
  137.     TextDrawLetterSize(newlogin5, 0.500000, -0.500000);
  138.     TextDrawColor(newlogin5, -1);
  139.     TextDrawSetOutline(newlogin5, 0);
  140.     TextDrawSetProportional(newlogin5, 1);
  141.     TextDrawSetShadow(newlogin5, 1);
  142.     TextDrawUseBox(newlogin5, 1);
  143.     TextDrawBoxColor(newlogin5, 0xFFFF00FF);
  144.     TextDrawTextSize(newlogin5, 0.000000, 787.000000);
  145.  
  146.     newlogin7 = TextDrawCreate(284.000000, 31.000000, "Willkommen");
  147.     TextDrawBackgroundColor(newlogin7, 255);
  148.     TextDrawFont(newlogin7, 3);
  149.     TextDrawLetterSize(newlogin7, 0.529999, 1.900000);
  150.     TextDrawColor(newlogin7, -156);
  151.     TextDrawSetOutline(newlogin7, 0);
  152.     TextDrawSetProportional(newlogin7, 1);
  153.     TextDrawSetShadow(newlogin7, 1);
  154.  
  155.     newlogin8 = TextDrawCreate(325.000000, 51.000000, "auf");
  156.     TextDrawBackgroundColor(newlogin8, 255);
  157.     TextDrawFont(newlogin8, 2);
  158.     TextDrawLetterSize(newlogin8, 0.440000, 1.700000);
  159.     TextDrawColor(newlogin8, -156);
  160.     TextDrawSetOutline(newlogin8, 0);
  161.     TextDrawSetProportional(newlogin8, 1);
  162.     TextDrawSetShadow(newlogin8, 1);
  163.  
  164.     newlogin9 = TextDrawCreate(246.000000, 73.000000, "Street");
  165.     TextDrawBackgroundColor(newlogin9, 255);
  166.     TextDrawFont(newlogin9, 3);
  167.     TextDrawLetterSize(newlogin9, 0.779999, 3.699998);
  168.     TextDrawColor(newlogin9, -1);
  169.     TextDrawSetOutline(newlogin9, 1);
  170.     TextDrawSetProportional(newlogin9, 1);
  171.  
  172.     newlogin10 = TextDrawCreate(79.000000, 103.000000, ".");
  173.     TextDrawBackgroundColor(newlogin10, 255);
  174.     TextDrawFont(newlogin10, 1);
  175.     TextDrawLetterSize(newlogin10, 29.940078, 1.000000);
  176.     TextDrawColor(newlogin10, -1);
  177.     TextDrawSetOutline(newlogin10, 1);
  178.     TextDrawSetProportional(newlogin10, 1);
  179.  
  180.     newlogin11 = TextDrawCreate(281.000000, 109.000000, "since");
  181.     TextDrawBackgroundColor(newlogin11, 255);
  182.     TextDrawFont(newlogin11, 2);
  183.     TextDrawLetterSize(newlogin11, 0.470000, 1.500000);
  184.     TextDrawColor(newlogin11, 0xFFFF00FF);
  185.     TextDrawSetOutline(newlogin11, 1);
  186.     TextDrawSetProportional(newlogin11, 1);
  187.  
  188.     newlogin12 = TextDrawCreate(390.000000, 108.000000, "v0.9.1");
  189.     TextDrawBackgroundColor(newlogin12, 255);
  190.     TextDrawFont(newlogin12, 2);
  191.     TextDrawLetterSize(newlogin12, 0.270000, 1.200000);
  192.     TextDrawColor(newlogin12, -156);
  193.     TextDrawSetOutline(newlogin12, 0);
  194.     TextDrawSetProportional(newlogin12, 1);
  195.     TextDrawSetShadow(newlogin12, 1);
  196.  
  197.     newlogin13 = TextDrawCreate(340.000000, 73.000000, "Lifehistory");
  198.     TextDrawBackgroundColor(newlogin13, 255);
  199.     TextDrawFont(newlogin13, 3);
  200.     TextDrawLetterSize(newlogin13, 0.779999, 3.699998);
  201.     TextDrawColor(newlogin13, 0xFFFF00FF);
  202.     TextDrawSetOutline(newlogin13, 1);
  203.     TextDrawSetProportional(newlogin13, 1);
  204.  
  205.     newlogin14 = TextDrawCreate(337.000000, 109.000000, "2009");
  206.     TextDrawBackgroundColor(newlogin14, 255);
  207.     TextDrawFont(newlogin14, 2);
  208.     TextDrawLetterSize(newlogin14, 0.470000, 1.500000);
  209.     TextDrawColor(newlogin14, -1);
  210.     TextDrawSetOutline(newlogin14, 1);
  211.     TextDrawSetProportional(newlogin14, 1);
  212.  
  213.     newlogin15 = TextDrawCreate(244.000000, 64.000000, ".");
  214.     TextDrawBackgroundColor(newlogin15, 255);
  215.     TextDrawFont(newlogin15, 1);
  216.     TextDrawLetterSize(newlogin15, 29.940078, 1.000000);
  217.     TextDrawColor(newlogin15, -1);
  218.     TextDrawSetOutline(newlogin15, 1);
  219.     TextDrawSetProportional(newlogin15, 1);
  220.     for(new playerid; playerid < MAX_PLAYERS; playerid ++) {
  221.         Box[playerid] = TextDrawCreate(2.000000, 0.000000, "~n~");
  222.         TextDrawBackgroundColor(Box[playerid], 255);
  223.         TextDrawFont(Box[playerid], 1);
  224.         TextDrawLetterSize(Box[playerid], 0.500000, 49.700004);
  225.         TextDrawColor(Box[playerid], -1);
  226.         TextDrawSetOutline(Box[playerid], 0);
  227.         TextDrawSetProportional(Box[playerid], 1);
  228.         TextDrawSetShadow(Box[playerid], 1);
  229.         TextDrawUseBox(Box[playerid], 1);
  230.         TextDrawBoxColor(Box[playerid], 255);
  231.         TextDrawTextSize(Box[playerid], 637.000000, 20.000000);
  232.  
  233.         BannedNotice[playerid] = TextDrawCreate(120.000000, 129.000000, "~r~Du wurdest verbannt");
  234.         TextDrawBackgroundColor(BannedNotice[playerid], 255);
  235.         TextDrawFont(BannedNotice[playerid], 1);
  236.         TextDrawLetterSize(BannedNotice[playerid], 0.600000, 5.000000);
  237.         TextDrawColor(BannedNotice[playerid], -1);
  238.         TextDrawSetOutline(BannedNotice[playerid], 0);
  239.         TextDrawSetProportional(BannedNotice[playerid], 1);
  240.         TextDrawSetShadow(BannedNotice[playerid], 1);
  241.  
  242.         Info[playerid] = TextDrawCreate(182.000000, 207.000000, "~r~Grund: ~w~ ~n~~r~gebannt von: ~w~ ~n~~r~Datum: ~w~ ");
  243.         TextDrawBackgroundColor(Info[playerid], 255);
  244.         TextDrawFont(Info[playerid], 1);
  245.         TextDrawLetterSize(Info[playerid], 0.500000, 1.800000);
  246.         TextDrawColor(Info[playerid], -1);
  247.         TextDrawSetOutline(Info[playerid], 0);
  248.         TextDrawSetProportional(Info[playerid], 1);
  249.         TextDrawSetShadow(Info[playerid], 1);
  250.         TextDrawUseBox(Info[playerid], 1);
  251.         TextDrawBoxColor(Info[playerid], 1681016400);
  252.         TextDrawTextSize(Info[playerid], 410.000000, -30.000000);
  253.  
  254.         Site[playerid] = TextDrawCreate(20.000000, 420.000000, "Sollte es ein Missverständniss sein so mach ein Screen mit ~g~ F8 ~w~ und melde es im Forum ~r~");
  255.         TextDrawBackgroundColor(Site[playerid], 255);
  256.         TextDrawFont(Site[playerid], 1);
  257.         TextDrawLetterSize(Site[playerid], 0.400000, 1.000000);
  258.         TextDrawColor(Site[playerid], -1);
  259.         TextDrawSetOutline(Site[playerid], 0);
  260.         TextDrawSetProportional(Site[playerid], 1);
  261.         TextDrawSetShadow(Site[playerid], 1);
  262.     }
  263.     _fair_AddNumber();
  264.     _fair_Settings();
  265.     SetTimer("MovingGates", 1000, true);
  266.     _fair_InsertObjects();
  267.     Textdraw1 = TextDrawCreate(13.000000, 150.000000, "First Message");
  268.     TextDrawBackgroundColor(Textdraw1, 255);
  269.     TextDrawFont(Textdraw1, 1);
  270.     TextDrawLetterSize(Textdraw1, 0.370000, 1.100000);
  271.     TextDrawColor(Textdraw1, -1);
  272.     TextDrawSetOutline(Textdraw1, 0);
  273.     TextDrawSetProportional(Textdraw1, 1);
  274.     TextDrawSetShadow(Textdraw1, 1);
  275.     TextDrawUseBox(Textdraw1, 1);
  276.     TextDrawBoxColor(Textdraw1, 255);
  277.     TextDrawTextSize(Textdraw1, 278.000000, 36.000000);
  278.     new stuff[128];
  279.     format(stuff, 128, "hostname %s", SERVER_NAME);
  280.     SendRconCommand(stuff);
  281.     format(stuff, 128, "mapname %s", SERVER_MAP);
  282.     SendRconCommand(stuff);
  283.     SetGameModeText("_fair´s Mode");
  284.     //================================================================//
  285.     //                              MySQL part                        //
  286.     //================================================================//
  287.     Connect();
  288.     //mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
  289.     mysql_query("CREATE TABLE IF NOT EXISTS playerdata(user VARCHAR(24), password VARCHAR(40), score INT(20), money INT(20), level INT(20), vip INT(20), kma INT(20), rank INT(20), kills INT(20), deaths INT(20), muted INT(20), jailed INT(20), frozen INT(20), mutedtimes INT(20), jailedtimes INT(20), frozentimes INT(20), banned INT(20), bannedby VARCHAR(24), logins INT(20), posx INT(20), posy INT(20), posz INT(20), posa INT(20), IP VARCHAR(15) )");
  290.     mysql_debug(1);
  291.     return 1;
  292. }
  293.  
  294. public OnGameModeExit()
  295. {
  296.     foreach(Player,i){
  297.     Spielerspeichern(i);
  298.     }
  299.     return 1;
  300. }
  301.  
  302. public OnPlayerRequestSpawn(playerid)
  303. {
  304.     //================================================================//
  305.     //                              MySQL part                        //
  306.     //================================================================//
  307.     if(!Logged[playerid])
  308.     {
  309.         if(!IsRegistered[playerid])
  310.         {
  311.             ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Registriere dich bitte",""White"Willkommen auf"Red""SERVER_NAME""White"!\n"White"Um bei uns zu Spielen musst du dich registrieren!\n\n"White"Bitte gib nun dein Passwort ein:", "Enter", "Cancel");
  312.             return 0;
  313.         }
  314.         if(IsRegistered[playerid] == 1)
  315.         {
  316.             ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Anmelden", ""White"Willkommen zurück"Red""SERVER_NAME""White"!\n"White"bevor du anfangen kannst zu spielen, musst du dich einloggen!\n\n"White"Gib nun "Red"dein"White" Passwort ein:", "Login", "Cancel");
  317.         }
  318.     }
  319.     return 1;
  320. }
  321.  
  322.  
  323. public OnPlayerSpawn(playerid)
  324. {
  325.     //================================================================//
  326.     //                              MySQL part                        //
  327.     //================================================================//
  328.     if(PlayerInfo[playerid][pLogins] == 0)
  329.     {
  330.         TogglePlayerControllable(playerid,false);
  331.         TutTime[playerid] = 1;
  332.         TutTimer[playerid] = SetTimerEx("Tutorial",1000,1,"i",playerid);
  333.     }
  334.     if(MoneyGiven[playerid] != -1)
  335.     {
  336.         GivePlayerMoney(playerid, MoneyGiven[playerid]);
  337.         MoneyGiven[playerid] = -1;
  338.     }
  339.     if(JustLogged[playerid] == 1)
  340.     {
  341.         KillTimer(TutTimer[playerid]); // der Tutorial Timer wird beendet
  342.         TutTime[playerid] = -1;
  343.         ShowPlayerDialog(playerid, DIALOG_POS, DIALOG_STYLE_MSGBOX, ""Blue"Erfolgreiche Anmeldung!", ""White"Du kannst dich nun zu deiner letzen Postion porten!\n\n"White"möchtest du dies tuen, beachte dabei dir Regeln!", "ja", "nein");
  344.         JustLogged[playerid] = 0;
  345.     }
  346.     return 1;
  347. }
  348.  
  349. public OnPlayerConnect(playerid)
  350. {
  351.     mall[playerid] = CreatePlayerObject(playerid, 19322, 1117.58, -1490.01, 32.72,   0.00, 0.00, 0.00);
  352.     SetPlayerObjectMaterial(playerid, mall[playerid], 1, 10615, "hotelback_sfs", "crazy paving", 0);
  353.     SetPlayerObjectMaterial(playerid, mall[playerid], 3, 10615, "hotelback_sfs", "crazy paving", 0);
  354.     SetPlayerObjectMaterial(playerid, mall[playerid], 5, 10615, "hotelback_sfs", "crazy paving", 0);
  355.     SetPlayerObjectMaterial(playerid, mall[playerid], 6, 5871, "cemetery_law", "brickgrey", 0);
  356.     SetPlayerObjectMaterial(playerid, mall[playerid], 8, 16070, "des_stownmain1", "des_brick1", 0);//testing redbrick
  357.     SetPlayerObjectMaterial(playerid, mall[playerid], 9, 5871, "cemetery_law", "brickgrey", 0);
  358.     _fair_RemoveObjects(playerid);
  359.     RemoveUnderScore(playerid);
  360.     TextDrawHideForPlayer(playerid, Textdraw1);
  361.     //================================================================//
  362.     //                              MySQL part                        //
  363.     //================================================================//
  364.     MySQLDialog(playerid);
  365.     return 1;
  366. }
  367.  
  368.  
  369. public OnPlayerDisconnect(playerid, reason)
  370. {
  371.     //================================================================//
  372.     //                              MySQL part                        //
  373.     //================================================================//
  374.     Spielerspeichern(playerid);
  375.     return 1;
  376. }
  377.  
  378. public OnPlayerDeath(playerid, killerid, reason)
  379. {
  380.     return 1;
  381. }
  382.  
  383. public OnVehicleSpawn(vehicleid)
  384. {
  385.     return 1;
  386. }
  387.  
  388. public OnVehicleDeath(vehicleid, killerid)
  389. {
  390.     return 1;
  391. }
  392.  
  393. public OnPlayerText(playerid, text[])
  394. {
  395.     new string[200];
  396.     format(string, sizeof(string), "%s sagt: %s", GetName(playerid), text);
  397.     ProxDetector(30.0, playerid, string, FARBE_FADE1,FARBE_FADE2,FARBE_FADE3,FARBE_FADE4,FARBE_FADE5);
  398.     return 0;
  399. }
  400.  
  401. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  402. {
  403.     if(IsYakuzaVeh(vehicleid) && !ispassenger)
  404.     {
  405.             new Float:pos[3];
  406.             GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  407.             SetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  408.             return SendMessage(playerid, "~g~Keine Schluessel!");
  409.     }
  410.     return 1;
  411. }
  412.  
  413. public OnPlayerExitVehicle(playerid, vehicleid)
  414. {
  415.     return 1;
  416. }
  417.  
  418. public OnPlayerStateChange(playerid, newstate, oldstate)
  419. {
  420.     return 1;
  421. }
  422.  
  423. public OnPlayerEnterCheckpoint(playerid)
  424. {
  425.     return 1;
  426. }
  427.  
  428. public OnPlayerLeaveCheckpoint(playerid)
  429. {
  430.     return 1;
  431. }
  432.  
  433. public OnPlayerEnterRaceCheckpoint(playerid)
  434. {
  435.     return 1;
  436. }
  437.  
  438. public OnPlayerLeaveRaceCheckpoint(playerid)
  439. {
  440.     return 1;
  441. }
  442.  
  443. public OnRconCommand(cmd[])
  444. {
  445.     return 1;
  446. }
  447.  
  448. public OnObjectMoved(objectid)
  449. {
  450.     return 1;
  451. }
  452.  
  453. public OnPlayerObjectMoved(playerid, objectid)
  454. {
  455.     return 1;
  456. }
  457.  
  458. public OnPlayerPickUpPickup(playerid, pickupid)
  459. {
  460.     return 1;
  461. }
  462.  
  463. public OnVehicleMod(playerid, vehicleid, componentid)
  464. {
  465.     return 1;
  466. }
  467.  
  468. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  469. {
  470.     return 1;
  471. }
  472.  
  473. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  474. {
  475.     return 1;
  476. }
  477.  
  478. public OnPlayerSelectedMenuRow(playerid, row)
  479. {
  480.     return 1;
  481. }
  482.  
  483. public OnPlayerExitedMenu(playerid)
  484. {
  485.     return 1;
  486. }
  487.  
  488. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  489. {
  490.     return 1;
  491. }
  492.  
  493. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  494. {
  495.     return 1;
  496. }
  497.  
  498. public OnRconLoginAttempt(ip[], password[], success)
  499. {
  500.     return 1;
  501. }
  502.  
  503. public OnPlayerUpdate(playerid)
  504. {
  505.     return 1;
  506. }
  507.  
  508. public OnPlayerStreamIn(playerid, forplayerid)
  509. {
  510.     return 1;
  511. }
  512.  
  513. public OnPlayerStreamOut(playerid, forplayerid)
  514. {
  515.     return 1;
  516. }
  517.  
  518. public OnVehicleStreamIn(vehicleid, forplayerid)
  519. {
  520.     return 1;
  521. }
  522.  
  523. public OnVehicleStreamOut(vehicleid, forplayerid)
  524. {
  525.     return 1;
  526. }
  527.  
  528. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  529. {
  530.     if(dialogid == DIALOG_POS)
  531.     {
  532.         if(response)
  533.         {
  534.             SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
  535.             SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPosA]);
  536.             SendMessage(playerid, "~g~Info: Letze Position wurde~w~ erfolgreich geladen!");
  537.         }
  538.         else if(!response)
  539.         {
  540.             return 1;
  541.         }
  542.     }
  543.     //================================================================//
  544.     //                              MySQL part                        //
  545.     //================================================================//
  546.     if(dialogid == DIALOG_REGISTER)
  547.     {
  548.         if(response)
  549.         {
  550.             if(!strlen(inputtext) || strlen(inputtext) > 100)
  551.             {
  552.                 SendMessage(playerid, "~r~Fehler: ~w~Dein Passwort muss zwischen 1 - 100 Zeichen lang sein!");
  553.                 ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Registriere dich bitte",""White"Willkommen auf"Red""SERVER_NAME""White"!\n"White"Um bei uns zu Spielen musst du dich registrieren!\n\n"White"Bitte gib nun dein Passwort ein:", "Enter", "Cancel");
  554.             }
  555.             else if(strlen(inputtext) > 0 && strlen(inputtext) < 100)
  556.             {
  557.                 new escpass[100];
  558.                 mysql_real_escape_string(inputtext, escpass);
  559.                 MySQL_Register(playerid, escpass);
  560.             }
  561.         }
  562.         if(!response)
  563.         {
  564.                 SendMessage(playerid, "~r~Fehler: ~w~Du musst dich vorher registireren!");
  565.                 ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Registriere dich bitte",""White"Willkommen auf"Red""SERVER_NAME""White"!\n"White"Um bei uns zu Spielen musst du dich registrieren!\n\n"White"Bitte gib nun dein Passwort ein:", "Enter", "Cancel");
  566.         }
  567.     }
  568.     if(dialogid == DIALOG_LOGIN)
  569.     {
  570.         if(!response)
  571.         {
  572.                 SendMessage(playerid, "~r~Fehler: ~w~Du musst dich vorher einloggen");
  573.                 ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Anmelden", ""White"Willkommen zurück"Red""SERVER_NAME""White"!\n"White"bevor du anfangen kannst zu spielen, musst du dich einloggen!\n\n"White"Gib nun "Red"dein"White" Passwort ein:", "Login", "Cancel");
  574.         }
  575.         if(response)
  576.         {
  577.             new query[200], pname[24], escapepass[100];
  578.             GetPlayerName(playerid, pname, 24);
  579.             mysql_real_escape_string(inputtext, escapepass);
  580.             format(query, sizeof(query), "SELECT `user` FROM playerdata WHERE user = '%s' AND password = SHA1('%s')", pname, escapepass);
  581.             mysql_query(query);
  582.             mysql_store_result();
  583.             new numrows = mysql_num_rows();
  584.             if(numrows == 1) MySQL_Login(playerid);
  585.             if(!numrows)
  586.             {
  587.                 ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Anmelden", ""White"Willkommen zurück"Red""SERVER_NAME""White"!\n"White"bevor du anfangen kannst zu spielen, musst du dich einloggen!\n\n"White"Gib nun "Red"dein"White" Passwort ein:", "Login", "Cancel");
  588.                 SendMessage(playerid, "~r~Fehler: ~w~Falsches Passwort!");
  589.             }
  590.             mysql_free_result();
  591.         }
  592.     }
  593.     return 1;
  594. }
  595.  
  596. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  597. {
  598.     return 1;
  599. }
  600.  
  601. //============================================================================//
  602. //                                  Player Commands                           //
  603. //============================================================================//
  604. ocmd:savepossition(playerid, params[])
  605. {
  606.     new Float:x, Float:y, Float:z, Float:a;
  607.     GetPlayerPos(playerid, x, y, z);
  608.     GetPlayerFacingAngle(playerid, a);
  609.     PlayerInfo[playerid][pPosX] = x;
  610.     PlayerInfo[playerid][pPosY] = y;
  611.     PlayerInfo[playerid][pPosZ] = z;
  612.     PlayerInfo[playerid][pPosA] = a;
  613.     SendMessage(playerid, "~g~Info: ~w~Koordinaten wurden gespeichert!");
  614.     return 1;
  615. }
  616.  
  617. ocmd:loadpossition(playerid, params[])
  618. {
  619.     SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
  620.     SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPosA]);
  621.     SendMessage(playerid, "~g~Info: ~w~Koordinaten wurden geladen!");
  622.     return 1;
  623. }
  624.  
  625.  
  626. //============================================================================//
  627. //                                  Admin Commands                            //
  628. //============================================================================//
  629. ocmd:setname(playerid, params[]){
  630. new Namee[24], pID, string[200];
  631. if(IstAdmin(playerid)){
  632. if(sscanf(params, "us", pID, Namee)) return SendClientMessage(playerid, COLOR_CORNSILK, "Benutzung: /setname [id] [Name]");
  633. SetPlayerName(pID, Namee);
  634. format(string,sizeof(string),"Du wurdest umbenannt in %s",Namee);
  635. SendMessage(pID,string);
  636. }
  637. return 1;
  638. }
  639. ocmd:setint(playerid, params[]){
  640. new pID, Int;
  641. if(IstAdmin(playerid)){
  642. if(sscanf(params, "uu", pID, Int)) return SendClientMessage(playerid, FARBE_FADE1,"Benutze: /setint [ID] [Int]");
  643. SetPlayerInterior(pID, Int);}
  644. return 1;
  645. }
  646. ocmd:go(playerid,params[])
  647. {
  648.     if(!IstAdmin(playerid))return SendClientMessage(playerid,COLOR_CORNSILK,"Info: Du bist kein Admin!");
  649.     {
  650.         new pID,string[128],string2[128];
  651.         if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_CORNSILK,"FEHLER: /go [ID/Name]");
  652.         new Float:x, Float:y, Float:z;
  653.         new car = GetPlayerVehicleID(playerid);
  654.         GetPlayerPos(pID,x,y,z);
  655.         SetPlayerInterior(playerid,GetPlayerInterior(pID));
  656.         SetPlayerPos(playerid,x+2,y+2,z+2);
  657.         if(IsPlayerInAnyVehicle(playerid))
  658.         {
  659.             SetVehiclePos(GetPlayerVehicleID(playerid), x+2, y+2, z+2);
  660.             PutPlayerInVehicle(playerid,car,0);
  661.         }
  662.         {
  663.         format(string,128,"Du hast dich zu %s teleportiert.",GetName(pID));
  664.         format(string2,128,"%s hat sich zu dir teleportiert.",GetName(playerid));
  665.         SendMessage(pID,string2);
  666.         SendClientMessage(playerid,COLOR_CORNSILK,string);
  667.         }
  668.     }
  669.     return 1;
  670. }
  671. ocmd:gethere(playerid,params[])
  672. {
  673.     if(!IstAdmin(playerid))return SendClientMessage(playerid,COLOR_CORNSILK,"Du bist kein Admin");
  674.     new string[128],player;
  675.     if(sscanf(params,"u",player))return SendClientMessage(playerid,COLOR_CORNSILK,"FEHLER: /gethere [ID/Name]");
  676.     if(!IstAdmin(playerid))return SendClientMessage(playerid,COLOR_CORNSILK,"Du bist kein Admin");
  677.     {
  678.         new sendername[MAX_PLAYER_NAME],playername[MAX_PLAYER_NAME];
  679.         GetPlayerName(player,sendername,sizeof sendername);
  680.         GetPlayerName(playerid,playername,sizeof playername);
  681.         format(string,sizeof string,"Admin %s hat dich zu sich geportet.",playername);
  682.         SendMessage(player,string);
  683.         format(string,sizeof string,"Du hast %s zu dir geportet.",sendername);
  684.         SendClientMessage(playerid,COLOR_CORNSILK,string);
  685.         new Float:X,Float:Y,Float:Z;
  686.         GetPlayerPos(playerid,X,Y,Z);
  687.         if(IsPlayerInAnyVehicle(player))
  688.         {
  689.             new autoid = GetPlayerVehicleID(player);
  690.             SetVehiclePos(autoid, X, Y+4, Z);
  691.         }
  692.         else
  693.         {
  694.             SetPlayerPos(player,X,Y+2,Z);
  695.         }
  696.     }
  697.     return 1;
  698. }
  699. ocmd:spawn(playerid, params[]){
  700. new pID;
  701. if(IstAdmin(playerid)){
  702. if(sscanf(params, "d", pID)) return SendClientMessage(playerid,0xB0AFB0FF,"Benutze: /spawn [id]");
  703. SpawnPlayer(pID);}
  704. return 1;}
  705.  
  706. ocmd:freeze(playerid, params[]){
  707. new pID;
  708. if(IstAdmin(playerid)){
  709. if(sscanf(params, "u", pID)) return SendClientMessage(playerid,0xB0AFB0FF,"Benutze: /freeze [id]");
  710. TogglePlayerControllable(pID,false);
  711. SendMessage(pID,"Du wurdest ~r~eingefrorren");
  712. }
  713. return 1;}
  714.  
  715. ocmd:unfreeze(playerid, params[]){
  716. new pID;
  717. if(IstAdmin(playerid)){
  718. if(sscanf(params, "u", pID)) return SendClientMessage(playerid,0xB0AFB0FF,"Benutze: /unfreeze [id]");
  719. TogglePlayerControllable(pID,true);
  720. SendMessage(pID,"Du wurdest ~g~aufgetaut");}
  721. return 1;}
  722. ocmd:setskin(playerid,params[])
  723. {
  724.     new pID, sskin;
  725.     if(sscanf(params, "dd",pID,sskin)) return SendClientMessage(playerid,0xB0AFB0FF, "/setskin [id] [Skinid]");
  726.     if(sskin < 0 || sskin > 299) return SendClientMessage(playerid,0xB0AFB0FF, "Die Fahrzeug Id muss von 0 bis 299 sein");
  727.     if(IstAdmin(playerid))
  728.     {
  729.         SetPlayerSkin(pID, sskin);
  730.         SendMessage(pID," Dein Skin wurde geändert");
  731.     }
  732.     else return 0;
  733.     return 1;
  734. }
  735. ocmd:veh(playerid,params[])
  736. {
  737.     new ModelID, color[2],Float:VehPos[4], vehicleid;
  738.     if(GetPlayerState(playerid)!=PLAYER_STATE_ONFOOT) return SendClientMessage(playerid,0xB0AFB0FF,"Du bist nicht zu Fuss");
  739.     if(sscanf(params, "ddd",ModelID,color[0],color[1])) return SendClientMessage(playerid,0xB0AFB0FF, "/veh [vehicleid] [color1] [color2]");
  740.     if(ModelID < 400 || ModelID > 611) return SendClientMessage(playerid,0xB0AFB0FF, "Die Fahrzeug Id muss von 400 bis 611 sein");
  741.     if(color[0] < 0 || color[0] > 126 || color[1] < 0 || color[1] > 200) return SendClientMessage(playerid,0xB0AFB0FF, "Falsche Farben  0 - 126");
  742.     if(IstAdmin(playerid))
  743.     {
  744.         GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
  745.         GetPlayerFacingAngle(playerid, VehPos[3]);
  746.         vehicleid = CreateVehicle(ModelID,VehPos[0],VehPos[1],VehPos[2]+2,VehPos[3],color[0],color[1],-1);
  747.         LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
  748.         SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
  749.         PutPlayerInVehicle(playerid, vehicleid, 0);
  750.     }
  751.     else return 0;
  752.     return 1;
  753. }
  754.  
  755. ocmd:makeadmin(playerid, params[]){
  756. if(IstAdmin(playerid)){
  757. new pID, Level, string[160];
  758. if(sscanf(params, "dd", pID, Level)) return SendClientMessage(playerid, COLOR_WHITE, "Benutze: /makeadmin [Playerid] [Level]");
  759. format(string, sizeof(string), "~g~%s ~w~wurde zum Admin ernannt, Level: ~y~%d", GetName(pID), Level);
  760. SendMessage(playerid, string);
  761. PlayerInfo[pID][pAdmin] = Level;
  762. Spielerspeichern(pID);}
  763. return 1;
  764. }
  765. ocmd:ban(playerid, params[]) {
  766.     new pID , reason[64] , string[128] , stringbig[256] , YEAR_string[5], Year, Month, Day;
  767.     getdate(Year, Month, Day);
  768.     if(!IstAdmin(playerid)) return 0;
  769.     if(sscanf(params, "us", pID ,reason))  return SendClientMessage(playerid, COLOR_WHITE, "SERVER: "COL_GREEN"/ban [playerid/partofname] [reason]");
  770.     format(string, sizeof(string), "SERVER: "COL_RED"%s "COL_GREEN"wurde gebannt "COL_RED"(Grund: %s)",GetName(pID), reason);
  771.     SendClientMessageToAll(COLOR_WHITE, string);
  772.     format(YEAR_string, sizeof(YEAR_string), "%d", Year);
  773.     strdel(YEAR_string, 0, 2);
  774.     format(stringbig, sizeof(stringbig),"~r~Grund: ~w~ %s ~n~~r~Gebannt von: ~w~ %s ~n~~r~Monat/Jahr: ~w~ %d/%s",reason,GetName(playerid),Month, YEAR_string);
  775.     TextDrawSetString(Info[pID] , stringbig);
  776.     TextDrawShowForPlayer(pID, Info[playerid]);
  777.     TextDrawShowForPlayer(pID, Box[playerid]);
  778.     TextDrawShowForPlayer(pID, BannedNotice[playerid]);
  779.     TextDrawShowForPlayer(pID, Site[playerid]);
  780.     BanEx(pID,reason);
  781.     return 1;
  782. }
  783.  
  784. //============================================================================//
  785. //                                  Stocks /  Publics                         //
  786. //============================================================================//
  787. forward IstAdmin(pid);
  788. public IstAdmin(pid)
  789. {
  790. if(PlayerInfo[pid][pAdmin] > 1 || IsPlayerAdmin(pid)) return 1;
  791. return 0;
  792. }
  793. public HideMessage1(playerid)
  794. {
  795.     TextDrawHideForPlayer(playerid, Textdraw1);
  796.     return 1;
  797. }
  798.  
  799. stock RemoveUnderScore(playerid)
  800. {
  801.     new name[MAX_PLAYER_NAME];
  802.     GetPlayerName(playerid,name,sizeof(name));
  803.     for(new i = 0; i < MAX_PLAYER_NAME; i++)
  804.     {
  805.         if(name[i] == '_') name[i] = ' ';
  806.     }
  807.     SendMessage(playerid,"~w~Dein Name hatte einen ~r~Unterstrich~w~ daher wurde dieser Entfernt");
  808.     return name;
  809. }
  810. forward Tutorial(playerid);
  811. public Tutorial(playerid)
  812. {
  813.     new string1[256],string2[256],string3[256],string4[256],string5[256],rest[500];
  814.     if(TutTime[playerid] >= 1) // wenn die Zeit auf 1 gesetzt worden war, gehts los. Wenn während des Tutorials die zeit wieder auf 0 gesetzt wird, passiert in dem Timer garnichts.
  815.     {
  816.         if(TutTime[playerid] == 2)// hier wird abgefragt wieviel Sekunden seit dem Start des Tutorials verstrichen sind
  817.         {
  818.             format(string1, sizeof(string1), "{FAFAFA}Willkommen auf SLH, schön dass du zu uns gefunden hast");
  819.             format(string2, sizeof(string2), "{FAFAFA}Es folgt nun eine kleine Einleitung also pass einfach auf.");
  820.             format(string3, sizeof(string3), "{FAFAFA}Natürlich kannst du alles im Forum nachschlagen wenn du also dass Tut überspringen möchtest");
  821.             format(string4, sizeof(string4), "{FAFAFA}dann tippe {E01B3F}/perso {FAFAFA}ein.");
  822.             format(string5, sizeof(string5), "x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x");
  823.             format(rest, sizeof rest, "%s\n%s\n%s\n%s\n%s", string1,string2,string3,string4,string5);
  824.             ShowPlayerDialog(playerid,DIALOG_TUTORIAL, DIALOG_STYLE_MSGBOX, "{E0D01B}Streetlifehistory - Tutorial{FFFFFF}", rest, "", "");
  825.             SetPlayerCameraPosEx(playerid, 2827.4434,1288.1993,10.7685,2827.4434,1288.1993,10.7685);
  826.             MoveCamera(playerid, 2825.3301,1347.0905,23.7587, 2827.4434,1288.1993,10.7685, 0.2);
  827.             TextDrawHideForPlayer(playerid, newlogin0);
  828.             TextDrawHideForPlayer(playerid, newlogin1);
  829.             TextDrawHideForPlayer(playerid, newlogin2);
  830.             TextDrawHideForPlayer(playerid, newlogin3);
  831.             TextDrawHideForPlayer(playerid, newlogin5);
  832.             TextDrawHideForPlayer(playerid, newlogin7);
  833.             TextDrawHideForPlayer(playerid, newlogin8);
  834.             TextDrawHideForPlayer(playerid, newlogin9);
  835.             TextDrawHideForPlayer(playerid, newlogin10);
  836.             TextDrawHideForPlayer(playerid, newlogin11);
  837.             TextDrawHideForPlayer(playerid, newlogin12);
  838.             TextDrawHideForPlayer(playerid, newlogin13);
  839.             TextDrawHideForPlayer(playerid, newlogin14);
  840.             TextDrawHideForPlayer(playerid, newlogin15);
  841.             PlayAudioStreamForPlayer(playerid,"http://fairnet-arts.de/mp3/tutorial.mp3");
  842.             //TextDrawShowForPlayer(playerid,lbt);
  843.             //TextDrawShowForPlayer(playerid,lbb);
  844.         }
  845.         else if(TutTime[playerid] == 12)// hier wird abgefragt wieviel Sekunden seit dem Start des Tutorials verstrichen sind
  846.         {
  847.             format(string1, sizeof string1, "{FAFAFA}Bitte behandle jeden so wie du gern behandelt werden möchtest.");
  848.             format(string2, sizeof string2, "{FAFAFA}Ein Verstoß´gegen diese Regel wird mit einem Warn gehandelt.");
  849.             format(string3, sizeof string3, "{FAFAFA}Bitte respektiere die Admins auch, denn auch sie werden dich..");
  850.             format(string4, sizeof string4, "{FAFAFA}..respektieren, sofern du nichts böses getan hast.");
  851.             format(string5, sizeof string5, "x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x");
  852.             format(rest, sizeof rest, "%s\n%s\n%s\n%s\n%s", string1,string2,string3,string4,string5);
  853.             ShowPlayerDialog(playerid,DIALOG_TUTORIAL, DIALOG_STYLE_MSGBOX, "{E0D01B}Respekt und Umgangston{FFFFFF}", rest, "", "");
  854.         }
  855.         else if(TutTime[playerid] == 22)// hier wird abgefragt wieviel Sekunden seit dem Start des Tutorials verstrichen sind
  856.         {
  857.             format(string1, sizeof string1, "{FAFAFA}Falls du jemanden siehst, der Bugusing betreibt");
  858.             format(string2, sizeof string2, "{FAFAFA}oder sich aufällig verhält, sprich Cheatet, dann melde es umgehend einem Admin.");
  859.             format(string3, sizeof string3, "{FAFAFA}Dazu musst du ein Video mit z.B 'Fraps' aufnehmen, und im Forum einem Admin zuschicken.");
  860.             format(string4, sizeof string4, "x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x");
  861.             format(rest, sizeof rest, "%s\n%s\n%s\n%s", string1,string2,string3,string4);
  862.             ShowPlayerDialog(playerid,DIALOG_TUTORIAL, DIALOG_STYLE_MSGBOX, "{E0D01B}Verbotene Vorteile verschaffen{FFFFFF}", rest, "", "");
  863.         }
  864.         else if(TutTime[playerid] == 32)// hier wird abgefragt wieviel Sekunden seit dem Start des Tutorials verstrichen sind
  865.         {
  866.             format(string1, sizeof string1, "{FAFAFA}Häuser werden nach Wunsch erstellt, einige gibt es aber auch bereits zum Kaufen.");
  867.             format(string2, sizeof string2, "{FAFAFA}Fahrzeuge werden in Autohäusern verkauft dazu benötigst du auch ein Nummernschild.");
  868.             format(string3, sizeof string3, "{FAFAFA}Auch hier gibt es Regeln an die du dich halten solltest");
  869.             format(string4, sizeof string4, "{FAFAFA}diese werden dir im Forum genauer erläutert.");
  870.             format(string5, sizeof string5, "x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x");
  871.             format(rest, sizeof rest, "%s\n%s\n%s\n%s\n%s", string1,string2,string3,string4,string5);
  872.             ShowPlayerDialog(playerid,DIALOG_TUTORIAL, DIALOG_STYLE_MSGBOX, "{E0D01B}Häuser, Grundbesitze und Fahrzeuge{FFFFFF}", rest, "", "");
  873.         }
  874.         else if(TutTime[playerid] == 42)// hier wird abgefragt wieviel Sekunden seit dem Start des Tutorials verstrichen sind
  875.         {
  876.             format(string1, sizeof string1, "{FAFAFA}Als User kann man sich ein Business kaufen oder/und einen Beruf suchen,");
  877.             format(string2, sizeof string2, "{FAFAFA}dazu musst du dich im Forum bewerben. ");
  878.             format(string3, sizeof string3, "{FAFAFA}Für ein Biz brauchst du ein Konzept, ohne diesen werden die Admins dir keine");
  879.             format(string4, sizeof string4, "{FAFAFA}Erlaubniss erteilen dir ein Biz herzurichten.");
  880.             format(string5, sizeof string5, "x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x");
  881.             format(rest, sizeof rest, "%s\n%s\n%s\n%s\n%s", string1,string2,string3,string4,string5);
  882.             ShowPlayerDialog(playerid,DIALOG_TUTORIAL, DIALOG_STYLE_MSGBOX, "{E0D01B}Berufe und Firmen{FFFFFF}", rest, "", "");
  883.         }
  884.         else if(TutTime[playerid] == 52)
  885.         {
  886.             format(string1, sizeof string1, "{FAFAFA}Ich hoffe du hast dir alles gut gemerkt, falls nicht ist es nicht so tragisch,");
  887.             format(string2, sizeof string2, "{FAFAFA}im {E0B21B}Forum {FAFAFA}kannst du alles noch einmal nach lesen.");
  888.             format(string3, sizeof string3, "x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x");
  889.             format(rest, sizeof rest, "%s\n%s\n%s", string1,string2,string3);
  890.             ShowPlayerDialog(playerid,DIALOG_TUTORIAL, DIALOG_STYLE_MSGBOX, "{E0D01B}Streetlifehistory{FFFFFF}", rest, "", "");
  891.         }
  892.         else if(TutTime[playerid] == 62)
  893.         {
  894.             format(string1, sizeof string1, "{FAFAFA}Scheien erhälst du bei den Fahrlehrern,");
  895.             format(string2, sizeof string2, "{FAFAFA}für diese musst du eine Fahrschule besuchen.");
  896.             format(string3, sizeof string3, "x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x x¸,ø¤°``°¤ø,¸¸,ø¤°``°¤ø,¸x");
  897.             format(rest, sizeof rest, "%s\n%s\n%s", string1,string2,string3);
  898.             ShowPlayerDialog(playerid,DIALOG_TUTORIAL, DIALOG_STYLE_MSGBOX, "{E0D01B}Info{FFFFFF}", rest, "", "");
  899.         }
  900.         else if(TutTime[playerid] == 72) // hier wird abgefragt wieviel Sekunden seit dem Start des Tutorials verstrichen sind
  901.         {
  902.             PlayerInfo[playerid][pLogins] += 1;
  903.             KillTimer(TutTimer[playerid]); // der Tutorial Timer wird beendigt
  904.             TutTime[playerid] = -1; // die Tutorial Zeit auf INVALID gsetzt - nach Goldkiller :)
  905.             SpawnPlayer(playerid);//Frakspawn(playerid);
  906.             TextDrawHideForPlayer(playerid, newlogin0);
  907.             TextDrawHideForPlayer(playerid, newlogin1);
  908.             TextDrawHideForPlayer(playerid, newlogin2);
  909.             TextDrawHideForPlayer(playerid, newlogin3);
  910.             TextDrawHideForPlayer(playerid, newlogin5);
  911.             TextDrawHideForPlayer(playerid, newlogin7);
  912.             TextDrawHideForPlayer(playerid, newlogin8);
  913.             TextDrawHideForPlayer(playerid, newlogin9);
  914.             TextDrawHideForPlayer(playerid, newlogin10);
  915.             TextDrawHideForPlayer(playerid, newlogin11);
  916.             TextDrawHideForPlayer(playerid, newlogin12);
  917.             TextDrawHideForPlayer(playerid, newlogin13);
  918.             TextDrawHideForPlayer(playerid, newlogin14);
  919.             TextDrawHideForPlayer(playerid, newlogin15);
  920.             TogglePlayerControllable(playerid,true); // hier wird die Fähigkeit sich zu bewegen wieder auf  "wahr" gesetzt
  921.             GameTextForPlayer(playerid,"~g~Willkommen, ~r~ auf Streetlifehistory.",6000,1); // GameText am Ende des Tutorials
  922.         }
  923.         TutTime[playerid]++; // hier wird die Zeit jede Sekunde erhöht
  924.     }
  925. }
  926. stock SendMessage(playerid, message[])
  927. {
  928.     TextDrawHideForPlayer(playerid, Textdraw1);
  929.     TextDrawSetString(Textdraw1, message);
  930.     TextDrawShowForPlayer(playerid, Textdraw1);
  931.     SetTimer("HideMessage1", 10000, false);
  932.     return 1;
  933. }
  934. stock ErrorMessage(playerid, message[])
  935. {
  936.     new string[128];
  937.     format(string, sizeof string, ""Red"[Fehler] "White"%s", message);
  938.     SendClientMessage(playerid, -1, string);
  939.     return 1;
  940. }
  941. stock GetName(playerid)
  942. {
  943.     new pname[24];
  944.     GetPlayerName(playerid, pname, 24);
  945.     return pname;
  946. }
  947. forward MovingGates();
  948. public MovingGates()
  949. {
  950.         foreach(Player, i)
  951.         {
  952.         if(IsPlayerInRangeOfPoint(i, 7.0, 1536.9276,-1628.3940,13.3828) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
  953.             {
  954.             MoveDynamicObject( cancello1, 1539.70703125,-1626.12207031,5.40908051, 1.2);
  955.             MoveDynamicObject( cancello2, 1539.76171875,-1630.18164062,5.40908051, 1.2);
  956.             return;
  957.             }
  958.         }
  959.         MoveDynamicObject( cancello1, 1539.70703125,-1626.12207031,13.90900040, 1.2);
  960.         MoveDynamicObject( cancello2, 1539.76171875,-1630.18164062,13.90900040, 1.2);
  961.         return;
  962. }
  963.  
  964. stock IsACopVehicle(vehicleid)
  965. {
  966.     new modell = GetVehicleModel(vehicleid);
  967.     if(modell == 523 || modell == 430 || modell == 427 || modell == 490 || modell == 528 || modell >= 596 && modell <= 601 || modell == 497)
  968.         return true;
  969.     return false;
  970. }
  971. stock MoveCamera(playerid, Float:dest_x, Float:dest_y, Float:dest_z, Float:lookat_x, Float:lookat_y, Float:lookat_z, Float:speedd) {
  972.     new Float:distance;
  973.  
  974.     distance = GetDistanceBetweenPoints(gPlayerCameraPos[playerid][coord_x],
  975.                                         gPlayerCameraPos[playerid][coord_y],
  976.                                         gPlayerCameraPos[playerid][coord_z],
  977.                                         dest_x,
  978.                                         dest_y,
  979.                                         dest_z);
  980.  
  981.     gPlayerCamMovement[playerid][steps] = floatround(distance / speedd);
  982.     gPlayerCamMovement[playerid][currentstep] = 0;
  983.  
  984.     gPlayerCamMovement[playerid][amount_x] = (dest_x - gPlayerCameraPos[playerid][coord_x]) / gPlayerCamMovement[playerid][steps];
  985.     gPlayerCamMovement[playerid][amount_y] = (dest_y - gPlayerCameraPos[playerid][coord_y]) / gPlayerCamMovement[playerid][steps];
  986.     gPlayerCamMovement[playerid][amount_z] = (dest_z - gPlayerCameraPos[playerid][coord_z]) / gPlayerCamMovement[playerid][steps];
  987.     gPlayerCamMovement[playerid][look_x] = lookat_x;
  988.     gPlayerCamMovement[playerid][look_y] = lookat_y;
  989.     gPlayerCamMovement[playerid][look_z] = lookat_z;
  990.  
  991.     gPlayerCamMovement[playerid][CameraMoveTimerID] = SetTimerEx("CameraMoveTimer", 50, 1, "i", playerid);
  992.     return 1;
  993. }
  994.  
  995. //-------------------------------------------------------------------
  996.  
  997. stock SetPlayerCameraPosEx(playerid, Float:cam_x, Float:cam_y, Float:cam_z, Float:lookat_x, Float:lookat_y, Float:lookat_z) {
  998.     SetPlayerCameraPos(playerid, cam_x, cam_y, cam_z);
  999.     SetPlayerCameraLookAt(playerid, lookat_x, lookat_y, lookat_z);
  1000.  
  1001.     gPlayerCameraPos[playerid][coord_x] = cam_x;
  1002.     gPlayerCameraPos[playerid][coord_y] = cam_y;
  1003.     gPlayerCameraPos[playerid][coord_z] = cam_z;
  1004.  
  1005.     return 1;
  1006. }
  1007. stock Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2) {
  1008.     return floatsqroot(floatpower(x1 - x2, 2) + floatpower(y1 - y2, 2) + floatpower(z1 - z2, 2));
  1009. }
  1010. public CameraMoveTimer(playerid) {
  1011.     if (gPlayerCamMovement[playerid][currentstep] <= gPlayerCamMovement[playerid][steps] - 1) {
  1012.         gPlayerCameraPos[playerid][coord_x] = gPlayerCameraPos[playerid][coord_x] + gPlayerCamMovement[playerid][amount_x];
  1013.         gPlayerCameraPos[playerid][coord_y] = gPlayerCameraPos[playerid][coord_y] + gPlayerCamMovement[playerid][amount_y];
  1014.         gPlayerCameraPos[playerid][coord_z] = gPlayerCameraPos[playerid][coord_z] + gPlayerCamMovement[playerid][amount_z];
  1015.  
  1016.         SetPlayerCameraPos(playerid, gPlayerCameraPos[playerid][coord_x], gPlayerCameraPos[playerid][coord_y], gPlayerCameraPos[playerid][coord_z]);
  1017.         SetPlayerCameraLookAt(playerid, gPlayerCamMovement[playerid][look_x], gPlayerCamMovement[playerid][look_y], gPlayerCamMovement[playerid][look_z]);
  1018.  
  1019.         gPlayerCamMovement[playerid][currentstep]++;
  1020.     } else {
  1021.         KillTimer(gPlayerCamMovement[playerid][CameraMoveTimerID]);
  1022.     }
  1023.  
  1024.     return 1;
  1025. }
  1026. stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  1027. {
  1028.     if(IsPlayerConnected(playerid))
  1029.     {
  1030.         new Float:posx, Float:posy, Float:posz,Float:oldposx, Float:oldposy, Float:oldposz,Float:tempposx, Float:tempposy, Float:tempposz,i=0;
  1031.         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  1032.         for(; i<MAX_PLAYERS; i++)
  1033.         {
  1034.             if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))) {
  1035.                 GetPlayerPos(i, posx, posy, posz);
  1036.                 tempposx = (oldposx -posx);
  1037.                 tempposy = (oldposy -posy);
  1038.                 tempposz = (oldposz -posz);
  1039.                 if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16))) {
  1040.                     SendClientMessage(i, col1, string);
  1041.                 }
  1042.                 else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8))) {
  1043.                     SendClientMessage(i, col2, string);
  1044.                 }
  1045.                 else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4))) {
  1046.                     SendClientMessage(i, col3, string);
  1047.                 }
  1048.                 else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2))) {
  1049.                     SendClientMessage(i, col4, string);
  1050.                 }
  1051.                 else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) {
  1052.                     SendClientMessage(i, col5, string);
  1053.                 }
  1054.             }
  1055.         }
  1056.     }
  1057.     return 1;
  1058. }
  1059. stock sscanf(string[], format[], {Float,_}:...)
  1060. {
  1061.     #if defined isnull
  1062.         if (isnull(string))
  1063.     #else
  1064.         if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  1065.     #endif
  1066.         {
  1067.             return format[0];
  1068.         }
  1069.     #pragma tabsize 4
  1070.     new
  1071.         formatPos = 0,
  1072.         stringPos = 0,
  1073.         paramPos = 2,
  1074.         paramCount = numargs(),
  1075.         delim = ' ';
  1076.     while (string[stringPos] && string[stringPos] <= ' ')
  1077.     {
  1078.         stringPos++;
  1079.     }
  1080.     while (paramPos < paramCount && string[stringPos])
  1081.     {
  1082.         switch (format[formatPos++])
  1083.         {
  1084.             case '\0':
  1085.             {
  1086.                 return 0;
  1087.             }
  1088.             case 'i', 'd':
  1089.             {
  1090.                 new
  1091.                     neg = 1,
  1092.                     num = 0,
  1093.                     ch = string[stringPos];
  1094.                 if (ch == '-')
  1095.                 {
  1096.                     neg = -1;
  1097.                     ch = string[++stringPos];
  1098.                 }
  1099.                 do
  1100.                 {
  1101.                     stringPos++;
  1102.                     if ('0' <= ch <= '9')
  1103.                     {
  1104.                         num = (num * 10) + (ch - '0');
  1105.                     }
  1106.                     else
  1107.                     {
  1108.                         return -1;
  1109.                     }
  1110.                 }
  1111.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  1112.                 setarg(paramPos, 0, num * neg);
  1113.             }
  1114.             case 'h', 'x':
  1115.             {
  1116.                 new
  1117.                     num = 0,
  1118.                     ch = string[stringPos];
  1119.                 do
  1120.                 {
  1121.                     stringPos++;
  1122.                     switch (ch)
  1123.                     {
  1124.                         case 'x', 'X':
  1125.                         {
  1126.                             num = 0;
  1127.                             continue;
  1128.                         }
  1129.                         case '0' .. '9':
  1130.                         {
  1131.                             num = (num << 4) | (ch - '0');
  1132.                         }
  1133.                         case 'a' .. 'f':
  1134.                         {
  1135.                             num = (num << 4) | (ch - ('a' - 10));
  1136.                         }
  1137.                         case 'A' .. 'F':
  1138.                         {
  1139.                             num = (num << 4) | (ch - ('A' - 10));
  1140.                         }
  1141.                         default:
  1142.                         {
  1143.                             return -1;
  1144.                         }
  1145.                     }
  1146.                 }
  1147.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  1148.                 setarg(paramPos, 0, num);
  1149.             }
  1150.             case 'c':
  1151.             {
  1152.                 setarg(paramPos, 0, string[stringPos++]);
  1153.             }
  1154.             case 'f':
  1155.             {
  1156.  
  1157.                 new changestr[16], changepos = 0, strpos = stringPos;
  1158.                 while(changepos < 16 && string[strpos] && string[strpos] != delim)
  1159.                 {
  1160.                     changestr[changepos++] = string[strpos++];
  1161.                     }
  1162.                 changestr[changepos] = '\0';
  1163.                 setarg(paramPos,0,_:floatstr(changestr));
  1164.             }
  1165.             case 'p':
  1166.             {
  1167.                 delim = format[formatPos++];
  1168.                 continue;
  1169.             }
  1170.             case '\'':
  1171.             {
  1172.                 new
  1173.                     end = formatPos - 1,
  1174.                     ch;
  1175.                 while ((ch = format[++end]) && ch != '\'') {}
  1176.                 if (!ch)
  1177.                 {
  1178.                     return -1;
  1179.                 }
  1180.                 format[end] = '\0';
  1181.                 if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  1182.                 {
  1183.                     if (format[end + 1])
  1184.                     {
  1185.                         return -1;
  1186.                     }
  1187.                     return 0;
  1188.                 }
  1189.                 format[end] = '\'';
  1190.                 stringPos = ch + (end - formatPos);
  1191.                 formatPos = end + 1;
  1192.             }
  1193.             case 'u':
  1194.             {
  1195.                 new
  1196.                     end = stringPos - 1,
  1197.                     id = 0,
  1198.                     bool:num = true,
  1199.                     ch;
  1200.                 while ((ch = string[++end]) && ch != delim)
  1201.                 {
  1202.                     if (num)
  1203.                     {
  1204.                         if ('0' <= ch <= '9')
  1205.                         {
  1206.                             id = (id * 10) + (ch - '0');
  1207.                         }
  1208.                         else
  1209.                         {
  1210.                             num = false;
  1211.                         }
  1212.                     }
  1213.                 }
  1214.                 if (num && IsPlayerConnected(id))
  1215.                 {
  1216.                     setarg(paramPos, 0, id);
  1217.                 }
  1218.                 else
  1219.                 {
  1220.                     #if !defined foreach
  1221.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1222.                         #define __SSCANF_FOREACH__
  1223.                     #endif
  1224.                     string[end] = '\0';
  1225.                     num = false;
  1226.                     new
  1227.                         name[MAX_PLAYER_NAME];
  1228.                     id = end - stringPos;
  1229.                     foreach (Player, playerid)
  1230.                     {
  1231.                         GetPlayerName(playerid, name, sizeof (name));
  1232.                         if (!strcmp(name, string[stringPos], true, id))
  1233.                         {
  1234.                             setarg(paramPos, 0, playerid);
  1235.                             num = true;
  1236.                             break;
  1237.                         }
  1238.                     }
  1239.                     if (!num)
  1240.                     {
  1241.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  1242.                     }
  1243.                     string[end] = ch;
  1244.                     #if defined __SSCANF_FOREACH__
  1245.                         #undef foreach
  1246.                         #undef __SSCANF_FOREACH__
  1247.                     #endif
  1248.                 }
  1249.                 stringPos = end;
  1250.             }
  1251.             case 's', 'z':
  1252.             {
  1253.                 new
  1254.                     i = 0,
  1255.                     ch;
  1256.                 if (format[formatPos])
  1257.                 {
  1258.                     while ((ch = string[stringPos++]) && ch != delim)
  1259.                     {
  1260.                         setarg(paramPos, i++, ch);
  1261.                     }
  1262.                     if (!i)
  1263.                     {
  1264.                         return -1;
  1265.                     }
  1266.                 }
  1267.                 else
  1268.                 {
  1269.                     while ((ch = string[stringPos++]))
  1270.                     {
  1271.                         setarg(paramPos, i++, ch);
  1272.                     }
  1273.                 }
  1274.                 stringPos--;
  1275.                 setarg(paramPos, i, '\0');
  1276.             }
  1277.             default:
  1278.             {
  1279.                 continue;
  1280.             }
  1281.         }
  1282.         while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  1283.         {
  1284.             stringPos++;
  1285.         }
  1286.         while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  1287.         {
  1288.             stringPos++;
  1289.         }
  1290.         paramPos++;
  1291.     }
  1292.     do
  1293.     {
  1294.         if ((delim = format[formatPos++]) > ' ')
  1295.         {
  1296.             if (delim == '\'')
  1297.             {
  1298.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  1299.             }
  1300.             else if (delim != 'z')
  1301.             {
  1302.                 return delim;
  1303.             }
  1304.         }
  1305.     }
  1306.     while (delim > ' ');
  1307.     return 0;
  1308. }
  1309. stock mysql_GetInt(Table[], Field[], Where[], Is[])
  1310. {
  1311.     new query[128];
  1312.     mysql_real_escape_string(Table, Table);
  1313.     mysql_real_escape_string(Field, Field);
  1314.     mysql_real_escape_string(Where, Where);
  1315.     mysql_real_escape_string(Is, Is);
  1316.     format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
  1317.     mysql_query(query);
  1318.     mysql_store_result();
  1319.     new sqlint = mysql_fetch_int();
  1320.     mysql_free_result();
  1321.     return sqlint;
  1322. }
Add Comment
Please, Sign In to add comment