Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 13.41 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3.  
  4. #define BLAU 0x0087FFFF
  5.  
  6. #define DIALOG_TUTORIAL 1
  7. #define DIALOG_REGISTER 2
  8. #define DIALOG_LOGIN 3
  9.  
  10.  
  11. new bsnenter;
  12. new bsnexit;
  13. new PDTimer[MAX_PLAYERS];
  14. forward PayDay(playerid);
  15.  
  16.  
  17. main()
  18. {
  19.     print("\n----------------------------------");
  20.     print("TutorialServer");
  21.     print("----------------------------------\n");
  22. }
  23.  
  24.  
  25. public OnGameModeInit()
  26. {
  27.     UsePlayerPedAnims();
  28.     bsnexit=CreatePickup(1559,1,362.8524,-75.1179,1001.5078);
  29.     bsnenter=CreatePickup(1559,1,1199.2235,-918.1543,43.1233);
  30.  
  31.     Create3DTextLabel("BSN\n Eingang",BLAU,1199.2235,-918.1543,43.1233,10,0);
  32.  
  33.     DisableInteriorEnterExits();
  34.     SetGameModeText("TutorialMode");
  35.     AddPlayerClass(0,2047.4270,1336.5569,10.6719,188.9284,0,0,0,0,0,0); // position;
  36.     AddPlayerClass(1,2047.4270,1336.5569,10.6719,188.9284,25,200,0,0,0,0); // position
  37.  
  38.     SetVehicleNumberPlate(CreateVehicle(401,1227.1797,-914.0590,42.6812,99.6721,126,126,1),"Auto 1");
  39.     AddStaticVehicle(409,1226.2432,-905.7473,42.6997,10.2423,151,151); // auto2
  40.     return 1;
  41. }
  42.  
  43. public OnGameModeExit()
  44. {
  45.     return 1;
  46. }
  47.  
  48. public OnPlayerRequestClass(playerid, classid)
  49. {
  50.     SetPlayerPos(playerid,2047.4270,1336.5569,10.6719);
  51.     SetPlayerFacingAngle(playerid,188.9284);
  52.     SetPlayerCameraPos(playerid,2047.6205,1333.3314,10.6719);
  53.     SetPlayerCameraLookAt(playerid,2047.4270,1336.5569,10.6719);
  54.  
  55.     return 1;
  56. }
  57.  
  58. public OnPlayerConnect(playerid)
  59. {
  60.     PDTimer[playerid] = SetTimerEx("PayDay", 60000, 1, "i", playerid);
  61.         new Spielerdatei[64];
  62.     new name[MAX_PLAYER_NAME];
  63.     GetPlayerName(playerid,name,sizeof(name));
  64.     format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  65.     if(dini_Exists(Spielerdatei))
  66.     {
  67.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  68.     }
  69.     else
  70.     {
  71.         ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  72.     }
  73.     return 1;
  74. }
  75.  
  76. public OnPlayerDisconnect(playerid, reason)
  77. {
  78.     if(GetPVarInt(playerid,"loggedin")==1)
  79.     {
  80.         SpielerSpeichern(playerid);
  81.     }
  82.     return 1;
  83. }
  84.  
  85. public OnPlayerSpawn(playerid)
  86. {
  87.     return 1;
  88. }
  89.  
  90. public OnPlayerDeath(playerid, killerid, reason)
  91. {
  92.     return 1;
  93. }
  94.  
  95. public OnVehicleSpawn(vehicleid)
  96. {
  97.     return 1;
  98. }
  99.  
  100. public OnVehicleDeath(vehicleid, killerid)
  101. {
  102.     return 1;
  103. }
  104.  
  105. public OnPlayerText(playerid, text[])
  106. {
  107.     return 1;
  108. }
  109.  
  110. public OnPlayerCommandText(playerid, cmdtext[])
  111. {
  112.     if(strcmp(cmdtext,"/bsn",true)==0)
  113.     {
  114.         if(isPlayerAnAdmin(playerid,3))
  115.         {
  116.             ShowPlayerDialog(playerid,DIALOG_TUTORIAL,DIALOG_STYLE_MSGBOX,"BSN","Möchten sie wirklich zum BSN?","JA","NEIN");
  117.         return 1;
  118.         }
  119.         SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  120.         return 1;
  121.     }
  122.     if(strcmp(cmdtext,"/kill",true)==0)
  123.     {
  124.         SetPlayerHealth(playerid,0);
  125.         return 1;
  126.     }
  127.     if(strcmp("/buylevel", cmdtext, true) == 0)
  128.     {
  129.      if(GetPVarInt(playerid,"Respektpunkte") >= GetPVarInt(playerid, "Respekt"))
  130.      {
  131.         if(GetPlayerMoney(playerid) >= GetPVarInt(playerid, "LevelMoney"))
  132.         {
  133.             SetPlayerScore(playerid, GetPlayerScore(playerid)+1);
  134.             SetPVarInt(playerid, "Respekt", GetPVarInt(playerid, "Respekt")+4);
  135.             SetPVarInt(playerid, "Respektpunkte", 0);
  136.             GivePlayerMoney(playerid, -GetPVarInt(playerid, "LevelMoney"));
  137.             SetPVarInt(playerid, "LevelMoney", GetPVarInt(playerid, "LevelMoney")+7992);
  138.             SendClientMessage(playerid, BLAU, "*Du hast dir ein Levelup gekauft!");
  139.             return 1;
  140.          }
  141.          else
  142.          {
  143.             SendClientMessage(playerid, BLAU,"* Du hast nicht genügen Geld bei dir!");
  144.             return 1;
  145.          }
  146.      }
  147.      else
  148.      {
  149.         SendClientMessage(playerid, BLAU, "* Du hast noch zuwenig Respektpunkte!");
  150.         return 1;
  151.      }
  152.     }
  153.     if(strcmp("/time", cmdtext, true) == 0)
  154.     {
  155.         new string[128];
  156.         format(string, sizeof(string), "Zeit seit Payday: %d  Spielzeit insgesamt:%d ", GetPVarInt(playerid,"ZeitSeitPD"), GetPVarInt(playerid,"Spielzeit"));
  157.         SendClientMessage(playerid, 0xFFFFFFAA,string);
  158.         return 1;
  159.     }
  160.     if(strcmp("/Respektpunkte", cmdtext, true) == 0)
  161.     {
  162.         new string[216];
  163.         format(string, sizeof(string), "Respektpunkte: [%d/%d] | Levelup: [$%d]", GetPVarInt(playerid, "Respektpunkte"), GetPVarInt(playerid, "Respekt"), GetPVarInt(playerid, "LevelMoney"));
  164.         SendClientMessage(playerid,BLAU, string);
  165.         return 1;
  166.     }
  167.     if(strcmp(cmdtext,"/restart",true)==0)
  168.     {
  169.         if(isPlayerAnAdmin(playerid,5))
  170.         {
  171.             SendRconCommand("gmx");
  172.             return 1;
  173.         }
  174.         SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  175.         return 1;
  176.     }
  177.     if(strcmp(cmdtext,"/stats",true)==0)
  178.     {
  179.         new string[128];
  180.             new fraktname[64];
  181.             switch(GetPVarInt(playerid,"Fraktion"))
  182.             {
  183.                 case 0:{fraktname="Keine";}
  184.                     case 1:{fraktname="Fraktname 1";}
  185.                     case 2:{fraktname="Fraktname 2";}
  186.                     case 3:{fraktname="Fraktname 3";}
  187.             }
  188.             //1 reihe
  189.             format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname);
  190.             SendClientMessage(playerid,BLAU,string);
  191.             //2 reihe
  192.             return 1;
  193.     }
  194.     if(strcmp(cmdtext,"/nschild",true)==0)
  195.     {
  196.             if(IsPlayerInAnyVehicle(playerid))
  197.             {
  198.                 new vehicleid;
  199.                 vehicleid=GetPlayerVehicleID(playerid);
  200.                 SetVehicleNumberPlate(vehicleid,"Test");
  201.                 SetVehicleToRespawn(vehicleid);
  202.             PutPlayerInVehicle(playerid,vehicleid,0);
  203.         }
  204.             return 1;
  205.     }
  206.     return 0;
  207. }
  208.  
  209. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  210. {
  211.     return 1;
  212. }
  213.  
  214. public OnPlayerExitVehicle(playerid, vehicleid)
  215. {
  216.     return 1;
  217. }
  218.  
  219. public OnPlayerStateChange(playerid, newstate, oldstate)
  220. {
  221.     return 1;
  222. }
  223.  
  224. public OnPlayerEnterCheckpoint(playerid)
  225. {
  226.     return 1;
  227. }
  228.  
  229. public OnPlayerLeaveCheckpoint(playerid)
  230. {
  231.     return 1;
  232. }
  233.  
  234. public OnPlayerEnterRaceCheckpoint(playerid)
  235. {
  236.     return 1;
  237. }
  238.  
  239. public OnPlayerLeaveRaceCheckpoint(playerid)
  240. {
  241.     return 1;
  242. }
  243.  
  244. public OnRconCommand(cmd[])
  245. {
  246.     return 1;
  247. }
  248.  
  249. public OnPlayerRequestSpawn(playerid)
  250. {
  251.     return 1;
  252. }
  253.  
  254. public OnObjectMoved(objectid)
  255. {
  256.     return 1;
  257. }
  258.  
  259. public OnPlayerObjectMoved(playerid, objectid)
  260. {
  261.     return 1;
  262. }
  263.  
  264. public OnPlayerPickUpPickup(playerid, pickupid)
  265. {
  266.     if(pickupid==bsnenter)
  267.     {
  268.         SetPlayerPos(playerid,375.962463,-65.816848,1001.507812);
  269.         SetPlayerInterior(playerid,10);
  270.         GameTextForPlayer(playerid,"~w~Du ~r~hast ~b~den ~n~~g~BSN betreten.",3000,3);
  271.     }
  272.     if(pickupid==bsnexit)
  273.     {
  274.         SetPlayerPos(playerid,1199.4618,-920.8215,43.1059);
  275.         SetPlayerFacingAngle(playerid,185.7090);
  276.         SetCameraBehindPlayer(playerid);
  277.         SetPlayerInterior(playerid,0);
  278.     }
  279.     return 1;
  280. }
  281.  
  282. public OnVehicleMod(playerid, vehicleid, componentid)
  283. {
  284.     return 1;
  285. }
  286.  
  287. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  288. {
  289.     return 1;
  290. }
  291.  
  292. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  293. {
  294.     return 1;
  295. }
  296.  
  297. public OnPlayerSelectedMenuRow(playerid, row)
  298. {
  299.     return 1;
  300. }
  301.  
  302. public OnPlayerExitedMenu(playerid)
  303. {
  304.     return 1;
  305. }
  306.  
  307. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  308. {
  309.     return 1;
  310. }
  311.  
  312. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  313. {
  314.     return 1;
  315. }
  316.  
  317. public OnRconLoginAttempt(ip[], password[], success)
  318. {
  319.     return 1;
  320. }
  321.  
  322. public OnPlayerUpdate(playerid)
  323. {
  324.     return 1;
  325. }
  326.  
  327. public OnPlayerStreamIn(playerid, forplayerid)
  328. {
  329.     return 1;
  330. }
  331.  
  332. public OnPlayerStreamOut(playerid, forplayerid)
  333. {
  334.     return 1;
  335. }
  336.  
  337. public OnVehicleStreamIn(vehicleid, forplayerid)
  338. {
  339.     return 1;
  340. }
  341.  
  342. public OnVehicleStreamOut(vehicleid, forplayerid)
  343. {
  344.     return 1;
  345. }
  346.  
  347. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  348. {
  349.     if(dialogid==DIALOG_LOGIN)
  350.     {
  351.         if(response==0)
  352.         {
  353.             SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  354.             Kick(playerid);
  355.             return 1;
  356.         }
  357.         if(response==1)
  358.         {
  359.             if(!strlen(inputtext))
  360.             {
  361.                     SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  362.                     ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  363.                     return 1;
  364.             }
  365.             else
  366.             {
  367.                 Login(playerid,inputtext);
  368.                 return 1;
  369.             }
  370.         }
  371.     }
  372.     if(dialogid==DIALOG_REGISTER)
  373.     {
  374.         if(response==0)
  375.         {
  376.             SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  377.             Kick(playerid);
  378.             return 1;
  379.         }
  380.         if(response==1)
  381.         {
  382.             if(!strlen(inputtext))
  383.             {
  384.                 SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  385.                 ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  386.                 return 1;
  387.             }
  388.             else
  389.             {
  390.                 Register(playerid,inputtext);
  391.                 return 1;
  392.             }
  393.         }
  394.     }
  395.     if(dialogid==DIALOG_TUTORIAL)
  396.     {
  397.         if(response==1)
  398.         {
  399.                 SetPlayerPos(playerid,1227.1797,-914.0590,42.6812);
  400.                 SendClientMessage(playerid,0xFFFF00FF,"Du wurdest Teleportiert");
  401.         }
  402.         if(response==0)
  403.         {
  404.                 SendClientMessage(playerid,BLAU,"Ok dann halt nicht...");
  405.         }
  406.     }
  407.     return 1;
  408. }
  409.  
  410. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  411. {
  412.     return 1;
  413. }
  414.  
  415. stock SpielerName(playerid)
  416. {
  417.     new name[MAX_PLAYER_NAME];
  418.     GetPlayerName(playerid,name,sizeof(name));
  419.     return name;
  420. }
  421.  
  422. stock Register(playerid,key[])
  423. {
  424.     new Spielerdatei[64];
  425.     new name[MAX_PLAYER_NAME];
  426.     GetPlayerName(playerid,name,sizeof(name));
  427.     format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  428.     dini_Create(Spielerdatei);
  429.     dini_Set(Spielerdatei,"Passwort",key);
  430.     SendClientMessage(playerid,BLAU,"Erfolgreich registriert.");
  431.     GivePlayerMoney(playerid,50000);
  432.     SetPlayerScore(playerid,0);
  433.     SetPVarInt(playerid, "ZeitSeitPD", dini_Int(Spielerdatei, "ZeitSeitPD"));
  434.     SetPVarInt(playerid, "Respektpunkte", dini_Int(Spielerdatei, "Respektpunkte"));
  435.     SetPVarInt(playerid, "Respekt", dini_Int(Spielerdatei, "Respekt"));
  436.     SetPVarInt(playerid, "LevelMoney", dini_Int(Spielerdatei, "LevelMoney"));
  437.     dini_IntSet(Spielerdatei, "ZeitSeitPD", 0);
  438.     dini_IntSet(Spielerdatei, "Respektpunkte", 0);
  439.     dini_IntSet(Spielerdatei, "Respekt", 8);
  440.     dini_IntSet(Spielerdatei, "LevelMoney", 7992);
  441.     SetPVarInt(playerid,"loggedin",1);
  442.     return 1;
  443. }
  444.  
  445. stock Login(playerid,key[])
  446. {
  447.         new Spielerdatei[64];
  448.     new name[MAX_PLAYER_NAME];
  449.     GetPlayerName(playerid,name,sizeof(name));
  450.     format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  451.     if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  452.     {
  453.         LoadAccount(playerid);
  454.         SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
  455.         return 1;
  456.     }
  457.     else
  458.     {
  459.         SendClientMessage(playerid,BLAU,"Falsches Passwort.");
  460.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  461.         return 1;
  462.     }
  463. }
  464.  
  465. stock LoadAccount(playerid)
  466. {
  467.         new Spielerdatei[64];
  468.     new name[MAX_PLAYER_NAME];
  469.     GetPlayerName(playerid,name,sizeof(name));
  470.     format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  471.     SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  472.     GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  473.     SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  474.     SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
  475.     SetPVarInt(playerid, "ZeitSeitPD", dini_Int(Spielerdatei, "ZeitSeitPD"));
  476.     SetPVarInt(playerid, "Respektpunkte", dini_Int(Spielerdatei, "Respektpunkte"));
  477.     SetPVarInt(playerid, "Respekt", dini_Int(Spielerdatei, "Respekt"));
  478.     SetPVarInt(playerid, "LevelMoney", dini_Int(Spielerdatei, "LevelMoney"));
  479.     //SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
  480.     //SpielerInfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
  481.     return 1;
  482. }
  483.  
  484. stock SpielerSpeichern(playerid)
  485. {
  486.         if(GetPVarInt(playerid,"loggedin")==1)
  487.     {
  488.         new Spielerdatei[64];
  489.         new name[MAX_PLAYER_NAME];
  490.         GetPlayerName(playerid,name,sizeof(name));
  491.         format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  492.         dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  493.         dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  494.         dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  495.         dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
  496.         dini_IntSet(Spielerdatei, "ZeitSeitPD", GetPVarInt(playerid,"ZeitSeitPD"));
  497.             dini_IntSet(Spielerdatei, "Respektpunkte", GetPVarInt(playerid,"Respektpunkte"));
  498.             dini_IntSet(Spielerdatei, "Respekt", GetPVarInt(playerid,"Respekt"));
  499.             dini_IntSet(Spielerdatei, "LevelMoney", GetPVarInt(playerid,"LevelMoney"));
  500.         }
  501.     return 1;
  502. }
  503.  
  504. stock isPlayerAnAdmin(playerid,rang)
  505. {
  506.     if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  507.     return 0;
  508. }
  509.  
  510. public PayDay(playerid)
  511. {
  512.     if(GetPVarInt(playerid, "ZeitSeitPD") == 60)
  513.     {
  514.         SetPVarInt(playerid, "ZeitSeitPD", 1);
  515.         SendClientMessage(playerid, BLAU, "Du hast 60 minuten gespielt und hast nun einen Pay Day bekommen!");
  516.         SetPVarInt(playerid, "Respektpunkte", GetPVarInt(playerid, "Respektpunkte")+1);
  517.     return 1;
  518.     }
  519.     else
  520.     {
  521.         SetPVarInt(playerid, "ZeitSeitPD", GetPVarInt(playerid, "ZeitSeitPD")+1);
  522.     return 1;
  523.     }
  524. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement