AimLike

Login & Register System

Mar 18th, 2012
461
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.21 KB | None | 0 0
  1. // System von Barney' | AimLike'
  2. #include <a_samp>
  3. #include <Dini>
  4.  
  5. #define DIALOG_LOGIN    1
  6. #define DIALOG_REGISTER 2
  7.  
  8. #define COLOR_GREEN     0x33AA33AA
  9. #define COLOR_RED       0xAA3333AA
  10.  
  11. enum PlayerDA
  12. {
  13.     Level,
  14.     Admin
  15. }
  16. new Spieler[MAX_PLAYERS][PlayerDA];
  17.  
  18. main()
  19. {
  20.     print("\n----------------------------------");
  21.     print(" Login System");
  22.     print("----------------------------------\n");
  23. }
  24.  
  25. public OnGameModeInit()
  26. {
  27.     SetGameModeText("Login Script");
  28.     AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  29.     return 1;
  30. }
  31.  
  32. public OnGameModeExit()
  33. {
  34.     return 1;
  35. }
  36.  
  37. public OnPlayerRequestClass(playerid, classid)
  38. {
  39.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  40.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  41.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  42.     return 1;
  43. }
  44.  
  45. public OnPlayerConnect(playerid)
  46. {
  47.     new Playerdatei[128];
  48.     new name[MAX_PLAYER_NAME];
  49.     GetPlayerName(playerid,name,sizeof(name)); // Findet den Namen des Spielers heraus
  50.     format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name); // Gibt den Pfad zu den Accounts an.
  51.     if(dini_Exists(Playerdatei))
  52.     {
  53.         ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Bitte geben sie nun ihr Passwort ein","Login","Abbrechen");
  54.     }
  55.     else
  56.     {
  57.         ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registration","Bitte geben sie ihr gewünschtes Passwort ein","Registerieren","Abbrechen");
  58.     }
  59.     return 1;
  60. }
  61.  
  62. public OnPlayerDisconnect(playerid, reason)
  63. {
  64.     if(GetPVarInt(playerid,"Eingeloggt") == 1) // Fragt ab ob wir Eingeloggt sind.
  65.     {
  66.         SpielerSpeichern(playerid); // Speichert uns wenn wir Disconnecten - Funktionen erstellen wir jetzt!
  67.     }
  68.     return 1;
  69. }
  70.  
  71. public OnPlayerSpawn(playerid)
  72. {
  73.     return 1;
  74. }
  75.  
  76. public OnPlayerDeath(playerid, killerid, reason)
  77. {
  78.     return 1;
  79. }
  80.  
  81. public OnVehicleSpawn(vehicleid)
  82. {
  83.     return 1;
  84. }
  85.  
  86. public OnVehicleDeath(vehicleid, killerid)
  87. {
  88.     return 1;
  89. }
  90.  
  91. public OnPlayerText(playerid, text[])
  92. {
  93.     return 1;
  94. }
  95.  
  96. public OnPlayerCommandText(playerid, cmdtext[])
  97. {
  98.     if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  99.     {
  100.         // Do something here
  101.         return 1;
  102.     }
  103.     return 0;
  104. }
  105.  
  106. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  107. {
  108.     return 1;
  109. }
  110.  
  111. public OnPlayerExitVehicle(playerid, vehicleid)
  112. {
  113.     return 1;
  114. }
  115.  
  116. public OnPlayerStateChange(playerid, newstate, oldstate)
  117. {
  118.     return 1;
  119. }
  120.  
  121. public OnPlayerEnterCheckpoint(playerid)
  122. {
  123.     return 1;
  124. }
  125.  
  126. public OnPlayerLeaveCheckpoint(playerid)
  127. {
  128.     return 1;
  129. }
  130.  
  131. public OnPlayerEnterRaceCheckpoint(playerid)
  132. {
  133.     return 1;
  134. }
  135.  
  136. public OnPlayerLeaveRaceCheckpoint(playerid)
  137. {
  138.     return 1;
  139. }
  140.  
  141. public OnRconCommand(cmd[])
  142. {
  143.     return 1;
  144. }
  145.  
  146. public OnPlayerRequestSpawn(playerid)
  147. {
  148.     return 1;
  149. }
  150.  
  151. public OnObjectMoved(objectid)
  152. {
  153.     return 1;
  154. }
  155.  
  156. public OnPlayerObjectMoved(playerid, objectid)
  157. {
  158.     return 1;
  159. }
  160.  
  161. public OnPlayerPickUpPickup(playerid, pickupid)
  162. {
  163.     return 1;
  164. }
  165.  
  166. public OnVehicleMod(playerid, vehicleid, componentid)
  167. {
  168.     return 1;
  169. }
  170.  
  171. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  172. {
  173.     return 1;
  174. }
  175.  
  176. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  177. {
  178.     return 1;
  179. }
  180.  
  181. public OnPlayerSelectedMenuRow(playerid, row)
  182. {
  183.     return 1;
  184. }
  185.  
  186. public OnPlayerExitedMenu(playerid)
  187. {
  188.     return 1;
  189. }
  190.  
  191. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  192. {
  193.     return 1;
  194. }
  195.  
  196. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  197. {
  198.     return 1;
  199. }
  200.  
  201. public OnRconLoginAttempt(ip[], password[], success)
  202. {
  203.     return 1;
  204. }
  205.  
  206. public OnPlayerUpdate(playerid)
  207. {
  208.     return 1;
  209. }
  210.  
  211. public OnPlayerStreamIn(playerid, forplayerid)
  212. {
  213.     return 1;
  214. }
  215.  
  216. public OnPlayerStreamOut(playerid, forplayerid)
  217. {
  218.     return 1;
  219. }
  220.  
  221. public OnVehicleStreamIn(vehicleid, forplayerid)
  222. {
  223.     return 1;
  224. }
  225.  
  226. public OnVehicleStreamOut(vehicleid, forplayerid)
  227. {
  228.     return 1;
  229. }
  230.  
  231. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  232. {
  233.     if(dialogid == DIALOG_LOGIN) // DIALOG_LOGIN wird abgerufen.
  234.     {
  235.         if(response == 0) // Der Abbrech Button
  236.         {
  237.             SendClientMessage(playerid,COLOR_RED,"Du hast den Login Vorgang abgebrochen!");
  238.             Kick(playerid); // Kickt den Spieler
  239.             return 1;
  240.         }
  241.         if(response == 1) // Der Login Button
  242.         {
  243.             if(!strlen(inputtext))
  244.             {
  245.                 SendClientMessage(playerid,COLOR_GREEN,"Dein eingegebenes Passwort war nicht lang genug!");
  246.                 ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Ihr Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen");
  247.                 return 1;
  248.             }
  249.             else
  250.             {
  251.                 Login(playerid,inputtext); // Diese Funktion erstellen wir gleich
  252.                 return 1;
  253.             }
  254.         }
  255.     }
  256.     if(dialogid == DIALOG_REGISTER) // Ruft DIALOG_REGISTER auf
  257.     {
  258.         if(response == 0) // Der Abbrech Button
  259.         {
  260.             SendClientMessage(playerid,COLOR_RED,"Sie haben die Registrierung abgebrochen!");
  261.             Kick(playerid); // Kickt den Spieler
  262.             return 1;
  263.         }
  264.         if(response == 1) // Der Register Button
  265.         {
  266.             if(!strlen(inputtext))
  267.             {
  268.                 SendClientMessage(playerid,COLOR_GREEN,"Dein eingegebenes Passwort war nicht lang genug!");
  269.                 ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Registrierung auf DeinRL","Willkommen auf DeinRL City!\nBitte geben sie nun ihr gewünschtes Passwort ein","Register","Abbrechen");
  270.                 return 1;
  271.             }
  272.             else
  273.             {
  274.                 Register(playerid,inputtext); // Funktion wird gleich erstellt.
  275.                 return 1;
  276.             }
  277.         }
  278.     }
  279.     return 1;
  280. }
  281.  
  282. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  283. {
  284.     return 1;
  285. }
  286.  
  287. stock Register(playerid,key[])
  288. {
  289.     new Playerdatei[128];
  290.     new name[MAX_PLAYER_NAME];
  291.     GetPlayerName(playerid,name,sizeof(name));
  292.     format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
  293.     dini_Create(Playerdatei);
  294.     dini_Set(Playerdatei,"Passwort",key);
  295.     SetPlayerScore(playerid,0);
  296.     dini_IntSet(Playerdatei,"Admin",0);
  297.     SetPVarInt(playerid,"Eingeloggt",1);
  298.     return 1;
  299. }
  300.  
  301. stock Login(playerid,key[])
  302. {
  303.     new Playerdatei[128];
  304.     new name[MAX_PLAYER_NAME];
  305.     GetPlayerName(playerid,name,sizeof(name));
  306.     format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
  307.     if(!strcmp(key,dini_Get(Playerdatei,"Passwort"),false))
  308.     {
  309.         AccountLaden(playerid); // Machen wir gleich!
  310.     }
  311.     else
  312.     {
  313.         SendClientMessage(playerid,COLOR_GREEN,"Du hast ein falsches Passwort eingegeben!");
  314.         ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen");
  315.     }
  316.     return 1;
  317. }
  318.  
  319. stock AccountLaden(playerid)
  320. {
  321.     new Playerdatei[128];
  322.     new name[MAX_PLAYER_NAME];
  323.     GetPlayerName(playerid,name,sizeof(name));
  324.     format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
  325.     Spieler[playerid][Level] = dini_Int(Playerdatei,"Level");
  326.     Spieler[playerid][Admin] = dini_Int(Playerdatei,"Admin");
  327.     SetPVarInt(playerid,"Eingeloggt",1);
  328.     return 1;
  329. }
  330.  
  331. stock SpielerSpeichern(playerid)
  332. {
  333.     if(GetPVarInt(playerid,"Eingeloggt") == 1)
  334.     {
  335.         new Playerdatei[128];
  336.         new name[MAX_PLAYER_NAME];
  337.         GetPlayerName(playerid,name,sizeof(name));
  338.         format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
  339.         dini_IntSet(Playerdatei,"Level", Spieler[playerid][Level]);
  340.         dini_IntSet(Playerdatei, "Admin", Spieler[playerid][Admin]);
  341.     }
  342. }
Advertisement
Add Comment
Please, Sign In to add comment