Advertisement
Guest User

Mein Script

a guest
Jun 3rd, 2013
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 26.90 KB | None | 0 0
  1. #include <a_samp>
  2. #include <Dini>
  3. #include <a_vehicles>
  4.  
  5. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  6.  
  7. #define RED 0xFF0900FF
  8. #define GREEN 0x5FFF00FF
  9. #define BLUE 0x009BFFFF
  10. #define YELLOW 0xFFE600FF
  11. #define BLACK 0x000000FF
  12. #define WHITE 0xFFFFFFFF
  13. #define GRAY 0x3C3C3CFF
  14.  
  15. #define BSN 1
  16. #define REGISTER 2
  17. #define LOGIN 3
  18. #define Stream 4
  19.  
  20. #define VERLUST 20000
  21. #define BENZINPREIS 5
  22.  
  23. forward BenzinVerlust();
  24. forward Auftanken(playerid);
  25.  
  26. new Tank[MAX_VEHICLES], bool:TanktGerade[MAX_VEHICLES]=false, tanktimer[MAX_PLAYERS];
  27. new engine,lights,alarm,doors,bonnet,boot,objective;
  28. new bool:Motor[MAX_VEHICLES]=false;
  29.  
  30. new Text:Textdraw0;
  31. new Text:Anzeige[MAX_PLAYERS];
  32.  
  33. forward tot(playerid);
  34. forward onSecond();
  35.  
  36. enum AccountDaten
  37. {
  38.     Adminlevel,
  39.     Level,
  40.     Geld,
  41.     Fraktion,
  42.     Team,
  43.     Skin,
  44.     bool:Krankenhaus,
  45. };
  46.  
  47. new sAccount[MAX_PLAYERS][AccountDaten];
  48.        
  49. //Pickup Variables
  50. new BSNIN;
  51. new BSNOUT;
  52.  
  53. main()
  54. {
  55.     print("//---Made in San Andreas---//");
  56. }
  57.  
  58. public OnGameModeInit()
  59. {
  60.     SetTimer("BenzinVerlust", VERLUST, true);
  61.     for (new i=0; i< MAX_VEHICLES; i++)
  62.     {
  63.         GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
  64.         SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  65.         Motor[i] = false;
  66.         Tank[i] = 100;
  67.     }
  68.  
  69.     ManualVehicleEngineAndLights();
  70.  
  71.     for (new i=0; i< MAX_VEHICLES; i++)
  72.     {
  73.         GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
  74.         SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  75.         Motor[i] = false;
  76.     }
  77.  
  78.     UsePlayerPedAnims();
  79.     DisableInteriorEnterExits();
  80.     SetGameModeText("German SM Reallife");
  81.     SendRconCommand("mapname WUBWUB");
  82.    
  83.     //Pickups
  84.     BSNIN = CreatePickup(1318,2,1199.2727,-918.1411,43.1231,-1);
  85.     BSNOUT = CreatePickup(1318,2,362.8786,-75.1714,1001.5078,-1);
  86.    
  87.     //3DLablz
  88.     Create3DTextLabel("/eat \n zum essen !",0xFF0900FF,375.5747,-68.3550,1001.5078+0.5,3.0,0);
  89.    
  90.     //Uhr
  91.     Textdraw0 = TextDrawCreate(547.000000,24.000000,"XX:XX:XX");
  92.     TextDrawAlignment(Textdraw0,0);
  93.     TextDrawBackgroundColor(Textdraw0,0x000000FF);
  94.     TextDrawFont(Textdraw0,3);
  95.     TextDrawLetterSize(Textdraw0,0.499999,1.900000);
  96.     TextDrawColor(Textdraw0,0xFFFFFFFF);
  97.     TextDrawSetOutline(Textdraw0,2);
  98.     TextDrawSetProportional(Textdraw0,1);
  99.     new minute,sec,hour;
  100.     gettime(hour,minute,sec);
  101.     new clockstr[15];
  102.     if(minute<10)format(clockstr,sizeof clockstr,"%d:0%d:%d",hour,minute,sec);
  103.     else format(clockstr,sizeof clockstr,"%d:%d:%d",hour,minute,sec);
  104.     TextDrawSetString(Textdraw0,clockstr);
  105.     TextDrawShowForAll(Textdraw0);
  106.     SetWorldTime(hour);
  107.     SetTimer("onSecond",500,1);
  108.     return 1;
  109. }
  110.  
  111. public onSecond()
  112. {
  113.     new hour,minute,sec;
  114.     gettime(hour,minute,sec);
  115.     new clockstr[15];
  116.     if(minute<10)format(clockstr,sizeof clockstr,"%d:0%d:%d",hour,minute,sec);
  117.     else format(clockstr,sizeof clockstr,"%d:%d:%d",hour,minute,sec);
  118.     TextDrawSetString(Textdraw0,clockstr);
  119.     TextDrawShowForAll(Textdraw0);
  120.     SetWorldTime(hour);
  121.     return 1;
  122. }
  123.  
  124. public OnGameModeExit()
  125. {
  126.     for(new i = 0; i < MAX_PLAYERS; i++)
  127.     {
  128.         if(IsPlayerConnected(i))
  129.         {
  130.             sSpeichern(i);
  131.         }
  132.     }
  133.     return 1;
  134. }
  135.  
  136. public OnPlayerRequestClass(playerid, classid)
  137. {
  138.     TogglePlayerSpectating(playerid,true);
  139.     new Account[64], Sname[MAX_PLAYER_NAME];
  140.     new skinid;
  141.     GetPlayerName(playerid,Sname,sizeof(Sname));
  142.     format(Account,sizeof(Account),"/Accounts/%s.txt",Sname);
  143.     skinid = dini_Int(Account,"Skin");
  144.     SetPlayerSkin(playerid,skinid);
  145.     SendClientMessage(playerid, YELLOW, "Willkommen auf Blackrain Reallife !");    new name[MAX_PLAYER_NAME], string[39 + MAX_PLAYER_NAME];
  146.     GetPlayerName(playerid, name, sizeof(name));
  147.     format(string, sizeof(string), "%s hat den Server betreten.", name);
  148.     SendClientMessageToAll(BLUE, string);
  149.  
  150.     Anzeige[playerid] = TextDrawCreate(630.0,410.0," ");
  151.     TextDrawSetOutline(Anzeige[playerid], 1);
  152.     TextDrawAlignment(Anzeige[playerid], 3);
  153.     TextDrawSetShadow(Anzeige[playerid], 0);
  154.     TextDrawShowForPlayer(playerid,Anzeige[playerid]);
  155.  
  156.     if(dini_Exists(Account))
  157.     {
  158.         SendClientMessage(playerid,YELLOW,"Dein Account wurde gefunden! Bitte logge dich ein !");
  159.         ShowPlayerDialog(playerid,3,DIALOG_STYLE_INPUT,"Login","Tippe dein Passwort ein !","Login","Abbrechen");
  160.     }
  161.  
  162.     else
  163.     {
  164.         SendClientMessage(playerid,YELLOW,"Dein Account wurde nicht gefunden ! Bitte registrier dich !");
  165.         ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrieren","Tippe dein gewünschtes Passwort ein !","Registrieren","Abbrechen");
  166.     }
  167.  
  168. }
  169.  
  170. public OnPlayerConnect(playerid)
  171. {
  172.     return 1;
  173. }
  174.  
  175. public OnPlayerDisconnect(playerid, reason)
  176. {
  177.     new name[MAX_PLAYER_NAME], string[39 + MAX_PLAYER_NAME];
  178.     GetPlayerName(playerid, name, sizeof(name));
  179.     format(string, sizeof(string), "%s hat den Server verlassen.", name);
  180.     SendClientMessageToAll(BLUE, string);
  181.     sSpeichern(playerid);
  182.     return 1;
  183. }
  184.  
  185. public OnPlayerSpawn(playerid)
  186. {
  187.     TextDrawShowForPlayer(playerid,Textdraw0);
  188.     if(sAccount[playerid][Krankenhaus])
  189.     {
  190.         TogglePlayerControllable(playerid,0);
  191.         SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);
  192.         SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);
  193.         SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);
  194.         SendClientMessage(playerid,RED,"Du bist im Krankenhaus weil du Gestorben bist. Warte bitte 15 Sekunden.*");
  195.         SetTimerEx("tot",15000,0,"i",playerid);
  196.         ResetPlayerWeapons(playerid);
  197.         GivePlayerMoney(playerid,-250);
  198.         SendClientMessage(playerid,RED,"Dir wurden währen deines aufenthalts im Krankenhaus deine Waffen entzogen und dir wurde eine Rechnung in höhe von 250$ gestellt !");
  199.     }
  200.     return 1;
  201. }
  202.  
  203. public OnPlayerDeath(playerid, killerid, reason)
  204. {
  205.     sAccount[playerid][Krankenhaus]=true;
  206.     return 1;
  207. }
  208.  
  209. public tot(playerid)
  210. {
  211.     sAccount[playerid][Krankenhaus] = false;
  212.     SetCameraBehindPlayer(playerid);
  213.     TogglePlayerControllable(playerid,1);
  214.     SetPlayerPos(playerid,1174.4086,-1323.6681,14.7891);
  215.     SetPlayerFacingAngle(playerid,267.7317);
  216.     SetPlayerHealth(playerid,100);
  217. }
  218.  
  219. public OnVehicleSpawn(vehicleid)
  220. {
  221.     GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  222.     SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  223.     Motor[vehicleid] = false;
  224.     return 1;
  225. }
  226.  
  227. public OnVehicleDeath(vehicleid, killerid)
  228. {
  229.     return 1;
  230. }
  231.  
  232. public OnPlayerText(playerid, text[])
  233. {
  234.     return 1;
  235. }
  236.  
  237. public OnPlayerCommandText(playerid, cmdtext[])
  238. {
  239.     dcmd(heal,4, cmdtext);
  240.     dcmd(kick,4, cmdtext);
  241.    
  242.     if (strcmp("/heal", cmdtext, true, 10) == 0)
  243.     {
  244.         if(IsPlayerAdmin(playerid))
  245.         {
  246.             SetPlayerHealth(playerid,100.0);
  247.             SendClientMessage(playerid,GREEN,"Du wurdest geheilt !");
  248.         }
  249.        
  250.         else
  251.         {
  252.             SendClientMessage(playerid,RED,"Du bist kein Admin !");
  253.         }
  254.         return 1;
  255.     }
  256.  
  257.     if (strcmp("/NRG", cmdtext, true, 10) == 0)
  258.     {
  259.         AddStaticVehicleEx(522,1114.3274,-1489.7009,22.7690,270.5815,-1,-1,15000);
  260.         SendClientMessage(playerid, BLUE,"Du hast einen NRG gespawnt !");
  261.         return 1;
  262.     }
  263.    
  264.     if (strcmp("/stream", cmdtext, true, 10) == 0)
  265.     {
  266.         ShowPlayerDialog(playerid,4,DIALOG_STYLE_LIST,"Radio-Streamliste","Techno4EverFM\nYouFM\nDubstepFM\nTechnobaseFM\nNJoy\n1Live\nHardbaseFM\nI Love Radio\nI Love 2 Dance\nI Love Mashup","Anhören","Abbrechen");
  267.         return 1;
  268.     }
  269.    
  270.     if (strcmp("/stopstream", cmdtext, true, 10) == 0)
  271.     {
  272.         StopAudioStreamForPlayer(playerid);
  273.         SendClientMessage(playerid, BLUE,"Der Stream wurde gestoppt !");
  274.         return 1;
  275.     }
  276.    
  277.     if (strcmp("/spawn", cmdtext, true, 10) == 0)
  278.     {
  279.         SetPlayerPos(playerid,1166.1945,-1489.6504,22.7553);
  280.         SetPlayerFacingAngle(playerid,90.0996);
  281.         SendClientMessage(playerid, BLUE,"Willkommen beim Spawn !");
  282.         return 1;
  283.     }
  284.    
  285.     if (strcmp("/eat", cmdtext, true, 10) == 0)
  286.     {
  287.         if(IsPlayerInRangeOfPoint(playerid,3.0,375.5747,-68.3550,1001.5078))
  288.         {
  289.             SetPlayerHealth(playerid,100.0);
  290.             SendClientMessage(playerid,GREEN,"Du hast beim BSN gegessen !");
  291.             GivePlayerMoney(playerid,-5);
  292.         }
  293.        
  294.         else
  295.         {
  296.             SendClientMessage(playerid,RED,"Du bist nicht im BSN !");
  297.         }
  298.        
  299.     }
  300.        
  301.     if(strcmp(cmdtext, "/afk", true) == 0)
  302.     {
  303.         new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
  304.         format(str, 256, "*%s ist afk!", pname, cmdtext[4]);
  305.         SendClientMessage(playerid, BLUE,  "Um dich Zurück zumelden, tippe /back");
  306.         SendClientMessageToAll(BLUE, str);
  307.         TogglePlayerControllable(playerid, 0);
  308.         return 1;
  309.     }
  310.        
  311.     if(strcmp(cmdtext, "/back", true) == 0)
  312.     {
  313.         new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
  314.         format(str, 256, "*%s ist von afk zurueck!", pname, cmdtext[4]);
  315.         SendClientMessageToAll(BLUE, str);
  316.         GameTextForPlayer(playerid,"~w~willkommen zurueck ! :)!",2500,3);
  317.         TogglePlayerControllable(playerid, 1);
  318.         return 1;
  319.     }
  320.    
  321.     if(strcmp(cmdtext, "/e", true) == 0)
  322.     {
  323.         if(GetPlayerVehicleSeat(playerid) == 0)
  324.         {
  325.             new car = GetPlayerVehicleID(playerid);
  326.             if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510)
  327.             {
  328.                 SendClientMessage(playerid,RED, "Du sitzt auf einem Fahrrad. Das hat keinen Motor!");
  329.             }
  330.  
  331.             else if (Tank[car] < 1)
  332.             {
  333.                 SendClientMessage(playerid,RED, "Der Tank ist leer. Du musst erst /tanken.");
  334.             }
  335.  
  336.             else if (Motor[car] == false )
  337.             {
  338.                 GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  339.                 SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  340.                 SendClientMessage(playerid, BLUE,"Der Motor wurde eingeschaltet...");
  341.                 Motor[car] = true;
  342.                 GameTextForPlayer(playerid,"~w~Motor ~g~an",500,1);
  343.             }
  344.  
  345.             else
  346.             {
  347.                 GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  348.                 SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  349.                 SendClientMessage(playerid, BLUE,"Der Motor wurde ausgeschaltet...");
  350.                 Motor[car] = false;
  351.                 GameTextForPlayer(playerid,"~w~Motor ~r~aus",500,1);
  352.             }
  353.         }
  354.         return 1;
  355.     }
  356.    
  357.     if(strcmp(cmdtext, "/tanken", true) == 0)
  358.     {
  359.         if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
  360.         new car = GetPlayerVehicleID(playerid);
  361.         if (TanktGerade[car]) return SendClientMessage(playerid,RED,"Du tankst schon!");
  362.         else if (Motor[car] == true) return SendClientMessage(playerid,RED,"Du musst vor dem Tanken den Motor ausschalten.");
  363.         new ZuTanken = 100-Tank[car];
  364.         new preis = ZuTanken * BENZINPREIS;
  365.         if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,RED,"Du hast nicht genug Geld!");
  366.         GivePlayerMoney(playerid, -preis);
  367.         SendClientMessage(playerid,RED, "Tanken wird gestartet.");
  368.         SetCameraBehindPlayer(playerid);
  369.         TogglePlayerControllable(playerid,0);
  370.         TanktGerade[car] = true;
  371.         tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
  372.         return 1;
  373.     }
  374.    
  375.     return SendClientMessage(playerid,WHITE,"Den Command gibt es noch nicht ! Bitte wende dich an RAiNBoMb !");
  376. }
  377. //DCMD CMDS
  378. dcmd_heal(playerid,params[])
  379. {
  380.     new id;
  381.     if(strlen(params))
  382.     {
  383.         id = strval(params);
  384.         if(IsPlayerConnected(id))
  385.         {
  386.             SetPlayerHealth(id,100.0);
  387.             SendClientMessage(id,GREEN,"Du wurdest geheilt !");
  388.             SendClientMessage(playerid,GREEN,"Du hast den Spieler geheilt !");
  389.         }
  390.         else
  391.         {
  392.             SendClientMessage(playerid,RED,"Der Spieler ist nicht Online !");
  393.         }
  394.     }
  395.     return 1;
  396. }
  397.  
  398. dcmd_kick(playerid,params[])
  399. {
  400.     if(IsPlayerAdmin(playerid))
  401.     {
  402.         new sGrund[128],pID;
  403.      
  404.         if(sscanf(params, "uz",pID,sGrund))
  405.         {
  406.             return SendClientMessage(playerid,RED,"Befehl: /kick [playerid] ([grund],optional)");
  407.         }
  408.         if(!IsPlayerConnected(pID))
  409.         {
  410.             return SendClientMessage(playerid,RED,"Der Spieler ist nicht Online !");
  411.         }
  412.         if(pID == playerid)
  413.         {
  414.             SendClientMessage(playerid,RED,"Du kannst dich nicht selber kicken !");
  415.         }
  416.         new ThePlayer[MAX_PLAYER_NAME],string[128];
  417.         GetPlayerName(pID,ThePlayer,sizeof(ThePlayer));
  418.         format(string,sizeof(string),"%s (ID %d) wurde vom Server gekickt,Grund: %s",ThePlayer,pID,sGrund[0] ? sGrund : "<Kein Grund>");
  419.         SendClientMessageToAll(YELLOW,string);
  420.         Kick(pID);
  421.         return 1;
  422.     }
  423.     else
  424.     {
  425.         SendClientMessage(playerid,RED,"Du bist kein Admin !");
  426.         return 1;
  427.     }
  428. }
  429.  
  430. public BenzinVerlust()
  431. {
  432.     for(new i=0; i<MAX_VEHICLES; i++)
  433.     {
  434.         if (Motor[i] == true)
  435.         {
  436.             Tank[i] = Tank[i]-1;
  437.             if (Tank[i]<1)
  438.             {
  439.                 Tank[i] = 0;
  440.                 GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
  441.                 SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
  442.                 Motor[i] = false;
  443.             }
  444.         }
  445.     }
  446.     return 1;
  447. }
  448.  
  449. public Auftanken(playerid)
  450. {
  451.     new car = GetPlayerVehicleID(playerid);
  452.     Tank[car] = Tank[car] +1;
  453.     if(Tank[car] >= 100)
  454.     {
  455.         TanktGerade[car] = false;
  456.         Tank[car] = 100;
  457.         SendClientMessage(playerid, GREEN, "Dein Fahrzeug wurde vollgetankt.");
  458.         TogglePlayerControllable(playerid,1);
  459.         KillTimer(tanktimer[playerid]);
  460.     }
  461.     return 1;
  462. }
  463.  
  464. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  465. {
  466.     if(GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 510)
  467.     {
  468.         GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  469.         SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
  470.     }
  471.     return 1;
  472. }
  473.  
  474. public OnPlayerExitVehicle(playerid, vehicleid)
  475. {
  476.     return 1;
  477. }
  478.  
  479. public OnPlayerStateChange(playerid, newstate, oldstate)
  480. {
  481.     return 1;
  482. }
  483.  
  484. public OnPlayerEnterCheckpoint(playerid)
  485. {
  486.     return 1;
  487. }
  488.  
  489. public OnPlayerLeaveCheckpoint(playerid)
  490. {
  491.     return 1;
  492. }
  493.  
  494. public OnPlayerEnterRaceCheckpoint(playerid)
  495. {
  496.     return 1;
  497. }
  498.  
  499. public OnPlayerLeaveRaceCheckpoint(playerid)
  500. {
  501.     return 1;
  502. }
  503.  
  504. public OnRconCommand(cmd[])
  505. {
  506.     return 1;
  507. }
  508.  
  509. public OnPlayerRequestSpawn(playerid)
  510. {
  511.     return 1;
  512. }
  513.  
  514. public OnObjectMoved(objectid)
  515. {
  516.     return 1;
  517. }
  518.  
  519. public OnPlayerObjectMoved(playerid, objectid)
  520. {
  521.     return 1;
  522. }
  523.  
  524. public OnPlayerPickUpPickup(playerid, pickupid)
  525. {
  526.     if(pickupid == BSNIN)
  527.     {
  528.         SetPlayerPos(playerid,364.4817,-73.6945,1001.5078);
  529.         SetPlayerFacingAngle(playerid,292.2015);
  530.         SetPlayerInterior(playerid,10);
  531.     }
  532.     if(pickupid == BSNOUT)
  533.     {
  534.         SetPlayerPos(playerid,1199.1300,-920.5710,43.0292);
  535.         SetPlayerFacingAngle(playerid,180.0000);
  536.         SetPlayerInterior(playerid,0);
  537.     }
  538.     return 1;
  539. }
  540.  
  541. public OnVehicleMod(playerid, vehicleid, componentid)
  542. {
  543.     return 1;
  544. }
  545.  
  546. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  547. {
  548.     return 1;
  549. }
  550.  
  551. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  552. {
  553.     return 1;
  554. }
  555.  
  556. public OnPlayerSelectedMenuRow(playerid, row)
  557. {
  558.     return 1;
  559. }
  560.  
  561. public OnPlayerExitedMenu(playerid)
  562. {
  563.     return 1;
  564. }
  565.  
  566. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  567. {
  568.     return 1;
  569. }
  570.  
  571. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  572. {
  573.     return 1;
  574. }
  575.  
  576. public OnRconLoginAttempt(ip[], password[], success)
  577. {
  578.     return 1;
  579. }
  580.  
  581. public OnPlayerUpdate(playerid)
  582. {
  583.     if(GetPlayerVehicleSeat(playerid) == 0)
  584.     {
  585.         new vehicleid;
  586.         vehicleid = GetPlayerVehicleID(playerid);
  587.         if(GetVehicleModel(vehicleid) != 509 && GetVehicleModel(vehicleid) != 481 && GetVehicleModel(vehicleid) != 510)
  588.         {
  589.             new string[125];
  590.             if(Tank[vehicleid] < 10) format(string,sizeof string,"~w~Tank: ~r~%i",Tank[vehicleid]);
  591.             else if(Tank[vehicleid] < 30) format(string,sizeof string,"~w~Tank: ~y~%i",Tank[vehicleid]);
  592.             else if(Tank[vehicleid] <= 100) format(string,sizeof string,"~w~Tank: ~g~%i",Tank[vehicleid]);
  593.             TextDrawSetString(Anzeige[playerid],string);
  594.         }
  595.     }
  596.    
  597.     else
  598.     {
  599.         TextDrawSetString(Anzeige[playerid], " ");
  600.     }
  601.    
  602.     return 1;
  603. }
  604.  
  605. public OnPlayerStreamIn(playerid, forplayerid)
  606. {
  607.     return 1;
  608. }
  609.  
  610. public OnPlayerStreamOut(playerid, forplayerid)
  611. {
  612.     return 1;
  613. }
  614.  
  615. public OnVehicleStreamIn(vehicleid, forplayerid)
  616. {
  617.     return 1;
  618. }
  619.  
  620. public OnVehicleStreamOut(vehicleid, forplayerid)
  621. {
  622.     return 1;
  623. }
  624.  
  625. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  626. {
  627.     //Stream
  628.     if(dialogid == 4)
  629.     {
  630.         if(response == 0)
  631.         {
  632.             SendClientMessage(playerid,RED,"Du hast Abgebrochen !");
  633.             return 1;
  634.         }
  635.        
  636.         if(response == 1)
  637.         {
  638.             if(listitem == 0)
  639.             {
  640.                 PlayAudioStreamForPlayer(playerid, "http://tunein.t4e.dj/main.pls");
  641.                 SendClientMessage(playerid,BLUE,"Du hörst nun Techno4EverFM !");
  642.             }
  643.            
  644.             if(listitem == 1)
  645.             {
  646.                 PlayAudioStreamForPlayer(playerid, "http://metafiles.gl-systemhaus.de/hr/youfm_2.m3u");
  647.                 SendClientMessage(playerid,BLUE,"Du hörst nun YouFM !");
  648.             }
  649.  
  650.             if(listitem == 2)
  651.             {
  652.                 PlayAudioStreamForPlayer(playerid, "http://www.dubstep.fm/listen.pls");
  653.                 SendClientMessage(playerid,BLUE,"Du hörst nun DubstepFM !");
  654.             }
  655.  
  656.             if(listitem == 3)
  657.             {
  658.                 PlayAudioStreamForPlayer(playerid, "http://listen.technobase.fm/dsl.pls");
  659.                 SendClientMessage(playerid,BLUE,"Du hörst nun TechnobaseFM !");
  660.             }
  661.  
  662.             if(listitem == 4)
  663.             {
  664.                 PlayAudioStreamForPlayer(playerid, "http://www.ndr.de/resources/metadaten/audio/m3u/n-joy.m3u");
  665.                 SendClientMessage(playerid,BLUE,"Du hörst nun NJoy !");
  666.             }
  667.  
  668.             if(listitem == 5)
  669.             {
  670.                 PlayAudioStreamForPlayer(playerid, "http://www.wdr.de/wdrlive/media/einslive.m3u");
  671.                 SendClientMessage(playerid,BLUE,"Du hörst nun 1Live !");
  672.             }
  673.  
  674.             if(listitem == 6)
  675.             {
  676.                 PlayAudioStreamForPlayer(playerid, "http://listen.housetime.fm/dsl.pls");
  677.                 SendClientMessage(playerid,BLUE,"Du hörst nun HardbaseFM !");
  678.             }
  679.  
  680.             if(listitem == 7)
  681.             {
  682.                 PlayAudioStreamForPlayer(playerid, "http://www.iloveradio.de//listen.m3u");
  683.                 SendClientMessage(playerid,BLUE,"Du hörst nun I Love Radio !");
  684.             }
  685.  
  686.             if(listitem == 8)
  687.             {
  688.                 PlayAudioStreamForPlayer(playerid, "http://87.230.53.70/iloveradio2.mp3");
  689.                 SendClientMessage(playerid,BLUE,"Du hörst nun I Love 2 Dance !");
  690.             }
  691.  
  692.             if(listitem == 9)
  693.             {
  694.                 PlayAudioStreamForPlayer(playerid, "http://80.237.158.62/iloveradio5.mp3");
  695.                 SendClientMessage(playerid,BLUE,"Du hörst nun I Love Mashup !");
  696.             }
  697.  
  698.             return 1;
  699.         }
  700.     }
  701.    
  702.     //Login
  703.     if(dialogid == 3)
  704.     {
  705.         if(response == 0)
  706.         {
  707.             SendClientMessage(playerid,RED,"Du hast Abgebrochen !");
  708.             Kick(playerid);
  709.             return 1;
  710.         }
  711.        
  712.         if(response == 1)
  713.         {
  714.             Login(playerid,inputtext);
  715.             return 1;
  716.         }
  717.     }
  718.    
  719.     //Register
  720.     if(dialogid == 2)
  721.     {
  722.         if(response == 0)
  723.         {
  724.             SendClientMessage(playerid,RED,"Du hast Abgebrochen !");
  725.             Kick(playerid);
  726.             return 1;
  727.         }
  728.        
  729.         if(response == 1)
  730.         {
  731.             if(!strlen(inputtext))
  732.             {
  733.                 SendClientMessage(playerid,RED,"Bitte tippe ein Passwort ein !");
  734.                 ShowPlayerDialog(playerid, 2,DIALOG_STYLE_INPUT,"Registrieren","Tippe dein gewünschtes Passwort ein !","Registrieren","Abbrechen");
  735.                 return 1;
  736.             }
  737.             Register(playerid,inputtext);
  738.             return 1;
  739.            
  740.         }
  741.     }
  742.     return 1;
  743. }
  744.  
  745. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  746. {
  747.     return 1;
  748. }
  749.  
  750. //SSCANF
  751. stock sscanf(string[], format[], {Float,_}:...)
  752. {
  753.     #if defined isnull
  754.         if (isnull(string))
  755.     #else
  756.         if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  757.     #endif
  758.         {
  759.             return format[0];
  760.         }
  761.     #pragma tabsize 4
  762.     new
  763.         formatPos = 0,
  764.         stringPos = 0,
  765.         paramPos = 2,
  766.         paramCount = numargs(),
  767.         delim = ' ';
  768.     while (string[stringPos] && string[stringPos] <= ' ')
  769.     {
  770.         stringPos++;
  771.     }
  772.     while (paramPos < paramCount && string[stringPos])
  773.     {
  774.         switch (format[formatPos++])
  775.         {
  776.             case '\0':
  777.             {
  778.                 return 0;
  779.             }
  780.             case 'i', 'd':
  781.             {
  782.                 new
  783.                     neg = 1,
  784.                     num = 0,
  785.                     ch = string[stringPos];
  786.                 if (ch == '-')
  787.                 {
  788.                     neg = -1;
  789.                     ch = string[++stringPos];
  790.                 }
  791.                 do
  792.                 {
  793.                     stringPos++;
  794.                     if ('0' <= ch <= '9')
  795.                     {
  796.                         num = (num * 10) + (ch - '0');
  797.                     }
  798.                     else
  799.                     {
  800.                         return -1;
  801.                     }
  802.                 }
  803.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  804.                 setarg(paramPos, 0, num * neg);
  805.             }
  806.             case 'h', 'x':
  807.             {
  808.                 new
  809.                     num = 0,
  810.                     ch = string[stringPos];
  811.                 do
  812.                 {
  813.                     stringPos++;
  814.                     switch (ch)
  815.                     {
  816.                         case 'x', 'X':
  817.                         {
  818.                             num = 0;
  819.                             continue;
  820.                         }
  821.                         case '0' .. '9':
  822.                         {
  823.                             num = (num << 4) | (ch - '0');
  824.                         }
  825.                         case 'a' .. 'f':
  826.                         {
  827.                             num = (num << 4) | (ch - ('a' - 10));
  828.                         }
  829.                         case 'A' .. 'F':
  830.                         {
  831.                             num = (num << 4) | (ch - ('A' - 10));
  832.                         }
  833.                         default:
  834.                         {
  835.                             return -1;
  836.                         }
  837.                     }
  838.                 }
  839.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  840.                 setarg(paramPos, 0, num);
  841.             }
  842.             case 'c':
  843.             {
  844.                 setarg(paramPos, 0, string[stringPos++]);
  845.             }
  846.             case 'f':
  847.             {
  848.  
  849.                 new changestr[16], changepos = 0, strpos = stringPos;
  850.                 while(changepos < 16 && string[strpos] && string[strpos] != delim)
  851.                 {
  852.                     changestr[changepos++] = string[strpos++];
  853.                     }
  854.                 changestr[changepos] = '\0';
  855.                 setarg(paramPos,0,_:floatstr(changestr));
  856.             }
  857.             case 'p':
  858.             {
  859.                 delim = format[formatPos++];
  860.                 continue;
  861.             }
  862.             case '\'':
  863.             {
  864.                 new
  865.                     end = formatPos - 1,
  866.                     ch;
  867.                 while ((ch = format[++end]) && ch != '\'') {}
  868.                 if (!ch)
  869.                 {
  870.                     return -1;
  871.                 }
  872.                 format[end] = '\0';
  873.                 if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  874.                 {
  875.                     if (format[end + 1])
  876.                     {
  877.                         return -1;
  878.                     }
  879.                     return 0;
  880.                 }
  881.                 format[end] = '\'';
  882.                 stringPos = ch + (end - formatPos);
  883.                 formatPos = end + 1;
  884.             }
  885.             case 'u':
  886.             {
  887.                 new
  888.                     end = stringPos - 1,
  889.                     id = 0,
  890.                     bool:num = true,
  891.                     ch;
  892.                 while ((ch = string[++end]) && ch != delim)
  893.                 {
  894.                     if (num)
  895.                     {
  896.                         if ('0' <= ch <= '9')
  897.                         {
  898.                             id = (id * 10) + (ch - '0');
  899.                         }
  900.                         else
  901.                         {
  902.                             num = false;
  903.                         }
  904.                     }
  905.                 }
  906.                 if (num && IsPlayerConnected(id))
  907.                 {
  908.                     setarg(paramPos, 0, id);
  909.                 }
  910.                 else
  911.                 {
  912.                     #if !defined foreach
  913.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  914.                         #define __SSCANF_FOREACH__
  915.                     #endif
  916.                     string[end] = '\0';
  917.                     num = false;
  918.                     new
  919.                         name[MAX_PLAYER_NAME];
  920.                     id = end - stringPos;
  921.                     foreach (Player, playerid)
  922.                     {
  923.                         GetPlayerName(playerid, name, sizeof (name));
  924.                         if (!strcmp(name, string[stringPos], true, id))
  925.                         {
  926.                             setarg(paramPos, 0, playerid);
  927.                             num = true;
  928.                             break;
  929.                         }
  930.                     }
  931.                     if (!num)
  932.                     {
  933.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  934.                     }
  935.                     string[end] = ch;
  936.                     #if defined __SSCANF_FOREACH__
  937.                         #undef foreach
  938.                         #undef __SSCANF_FOREACH__
  939.                     #endif
  940.                 }
  941.                 stringPos = end;
  942.             }
  943.             case 's', 'z':
  944.             {
  945.                 new
  946.                     i = 0,
  947.                     ch;
  948.                 if (format[formatPos])
  949.                 {
  950.                     while ((ch = string[stringPos++]) && ch != delim)
  951.                     {
  952.                         setarg(paramPos, i++, ch);
  953.                     }
  954.                     if (!i)
  955.                     {
  956.                         return -1;
  957.                     }
  958.                 }
  959.                 else
  960.                 {
  961.                     while ((ch = string[stringPos++]))
  962.                     {
  963.                         setarg(paramPos, i++, ch);
  964.                     }
  965.                 }
  966.                 stringPos--;
  967.                 setarg(paramPos, i, '\0');
  968.             }
  969.             default:
  970.             {
  971.                 continue;
  972.             }
  973.         }
  974.         while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  975.         {
  976.             stringPos++;
  977.         }
  978.         while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  979.         {
  980.             stringPos++;
  981.         }
  982.         paramPos++;
  983.     }
  984.     do
  985.     {
  986.         if ((delim = format[formatPos++]) > ' ')
  987.         {
  988.             if (delim == '\'')
  989.             {
  990.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  991.             }
  992.             else if (delim != 'z')
  993.             {
  994.                 return delim;
  995.             }
  996.         }
  997.     }
  998.     while (delim > ' ');
  999.     return 0;
  1000. }
  1001.  
  1002. //Stocks
  1003.  
  1004. stock Register(playerid,key[])
  1005. {
  1006.     new Account[64];
  1007.     new Sname[MAX_PLAYER_NAME];
  1008.     new skinid;
  1009.     GetPlayerName(playerid,Sname,sizeof(Sname));
  1010.     format(Account,sizeof(Account),"/Accounts/%s.txt",Sname);
  1011.     dini_Create(Account);
  1012.     dini_Set(Account,"Passwort",key);
  1013.     dini_IntSet(Account,"Adminlevel",0);
  1014.     dini_IntSet(Account,"Level",2);
  1015.     dini_IntSet(Account,"Geld",20000);
  1016.     dini_IntSet(Account,"Fraktion",0);
  1017.     dini_IntSet(Account,"Team",0);
  1018.    
  1019.     skinid = dini_Int(Account,"Skin");
  1020.     SetSpawnInfo(playerid,0,skinid,1168.5798,-1489.5323,22.7569,89.9216,0,0,0,0,0,0);
  1021.     SpawnPlayer(playerid);
  1022.    
  1023.     SendClientMessage(playerid,GREEN,"Du hast dich Registriert !");
  1024.     SendClientMessage(playerid,WHITE,"Als Bonus bekommst du Level 2 + 20k !");
  1025.     sReset(playerid);
  1026.     return 1;
  1027. }
  1028.  
  1029. stock Login(playerid,key[])
  1030. {
  1031.     new Account[64];
  1032.     new Sname[MAX_PLAYER_NAME];
  1033.     GetPlayerName(playerid,Sname,sizeof(Sname));
  1034.     format(Account,sizeof(Account),"/Accounts/%s.txt",Sname);
  1035.     if(!strcmp(key,dini_Get(Account,"Passwort"),true))
  1036.     {
  1037.         new skinid;
  1038.         skinid = dini_Int(Account,"Skin");
  1039.         SendClientMessage(playerid,GREEN,"Du wurdest eingeloggt !");
  1040.         sLaden(playerid);
  1041.         SetSpawnInfo(playerid,0,skinid,1168.5798,-1489.5323,22.7569,89.9216,0,0,0,0,0,0);
  1042.         SpawnPlayer(playerid);
  1043.     }
  1044.    
  1045.     else
  1046.     {
  1047.         SendClientMessage(playerid,RED,"Falsches Passwort !");
  1048.         Kick(playerid);
  1049.     }
  1050.    
  1051.     return 1;
  1052. }
  1053.  
  1054. stock sSpeichern(playerid)
  1055. {
  1056.     new Account[64];
  1057.     new Sname[MAX_PLAYER_NAME];
  1058.     GetPlayerName(playerid,Sname,sizeof(Sname));
  1059.     format(Account,sizeof(Account),"/Accounts/%s.txt",Sname);
  1060.    
  1061.     if(dini_Exists(Account))
  1062.     {
  1063.         dini_IntSet(Account,"Geld", GetPlayerMoney(playerid));
  1064.         dini_IntSet(Account,"Adminlevel",sAccount[playerid][Adminlevel]);
  1065.         dini_IntSet(Account,"Level",GetPlayerScore(playerid));
  1066.         dini_IntSet(Account,"Fraktion",sAccount[playerid][Fraktion]);
  1067.         dini_IntSet(Account,"Team",sAccount[playerid][Team]);
  1068.         dini_IntSet(Account,"Skin",GetPlayerSkin(playerid));
  1069.     }
  1070.    
  1071.     return 1;
  1072. }
  1073.  
  1074. stock sLaden(playerid)
  1075. {
  1076.     new Account[64];
  1077.     new Sname[MAX_PLAYER_NAME];
  1078.     GetPlayerName(playerid,Sname,sizeof(Sname));
  1079.     format(Account,sizeof(Account),"/Accounts/%s.txt",Sname);
  1080.  
  1081.     if(dini_Exists(Account))
  1082.     {
  1083.         GivePlayerMoney(playerid, dini_Int(Account,"Geld"));
  1084.         SetPlayerScore(playerid,dini_Int(Account,"Level"));
  1085.         sAccount[playerid][Adminlevel] = dini_Int(Account,"Adminlevel");
  1086.         sAccount[playerid][Fraktion] = dini_Int(Account,"Fraktion");
  1087.         sAccount[playerid][Team] = dini_Int(Account,"Team");
  1088.         SetPlayerSkin(playerid, dini_Int(Account,"Skin"));
  1089.     }
  1090.    
  1091.     return 1;
  1092. }
  1093.  
  1094. stock sReset(playerid)
  1095. {
  1096.     sAccount[playerid][Adminlevel] = 0;
  1097.     sAccount[playerid][Level] = 2;
  1098.     sAccount[playerid][Geld] = 20000;
  1099.     sAccount[playerid][Fraktion] = 0;
  1100.     sAccount[playerid][Team] = 0;
  1101.     sAccount[playerid][Skin] = 230;
  1102.  
  1103.     return 1;
  1104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement