Advertisement
AimLike

Spawnchange System

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