Advertisement
Guest User

Verbessert

a guest
Aug 25th, 2012
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.25 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <ocmd>
  4. #include <sscanf2>
  5.  
  6. enum Info {
  7. sex, // 0 = Männlich, 1 = Weiblich.
  8. age, // Das Alter
  9. logged // Ob der Spieler eingeloggt ist.
  10. };
  11.  
  12.  
  13. //Farben
  14. #define COLOR_RED 0xFF0000FF
  15. #define COLOR_YELLOW 0xFFFF00FF
  16. #define COLOR_BLUE 0x0000FFFF
  17. #define COLOR_GREEN 0x00FF00FF
  18. #define COLOR_LILA 0xFF00FFFF
  19. #define COLOR_ORANGE 0xFFB400FF
  20. new pInfo[MAX_PLAYERS][Info];
  21. #pragma tabsize 0
  22.  
  23. #define DIALOG_REGISTER1 0
  24. #define DIALOG_REGISTER2 1
  25. #define DIALOG_REGISTER3 2
  26. #define DIALOG_REGISTER4 3
  27. #define DIALOG_LOGIN1 4
  28. #define DIALOG_NOPW1 5
  29. #define DIALOG_NOPW2 6
  30. #define DIALOG_WRONGPW 7
  31. #define DIALOG_LOGIN 8
  32.  
  33.  
  34. main()
  35. {
  36. print("---------------------------------");
  37. print("GNL-Selfmade v1.0");
  38. print("---------------------------------");
  39. }
  40.  
  41.  
  42.  
  43. public OnGameModeInit()
  44. {
  45. return 1;
  46. }
  47.  
  48. public OnGameModeExit()
  49. {
  50. return 1;
  51. }
  52.  
  53. public OnPlayerRequestClass(playerid, classid)
  54. {
  55. return 1;
  56. }
  57.  
  58. public OnPlayerConnect(playerid)
  59. {
  60. new pname[MAX_PLAYER_NAME], path[200];
  61. GetPlayerName(playerid, pname, sizeof(pname));
  62. format(path, sizeof(path), "/spieler/%s.ini", pname);
  63.  
  64. if(!dini_Exists(path))
  65. {
  66. // Wenn der Spieler nicht registriert ist:
  67. ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr gewünschtes Passwort ein:", "OK", "Abbrechen");
  68. }
  69. else
  70. {
  71. // Wenn der Spieler registriert ist:
  72. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen");
  73. }
  74. return 1;
  75. }
  76.  
  77. public OnPlayerDisconnect(playerid, reason)
  78. {
  79. new pname[MAX_PLAYER_NAME], path[200];
  80. GetPlayerName(playerid, pname, sizeof(pname));
  81. format(path, sizeof(path), "/spieler/%s.ini", pname);
  82.  
  83. dini_IntSet(path, "sex", pInfo[playerid][sex]);
  84. dini_IntSet(path, "age", pInfo[playerid][age]);
  85.  
  86. pInfo[playerid][logged] = 0;
  87. return 1;
  88. }
  89.  
  90. public OnPlayerSpawn(playerid)
  91. {
  92. SetPlayerPos(playerid,1214.5663,-904.7918,48.0557);
  93. SetPlayerFacingAngle(playerid,187.3617);
  94. return 1;
  95. }
  96.  
  97. public OnPlayerDeath(playerid, killerid, reason)
  98. {
  99. SendClientMessage(playerid,COLOR_RED,"Du bist gestorben");
  100. SendClientMessage(playerid,COLOR_RED,"Nun spawnst du wieder am BSN");
  101. return 1;
  102. }
  103.  
  104. public OnVehicleSpawn(vehicleid)
  105. {
  106. return 1;
  107. }
  108.  
  109. public OnVehicleDeath(vehicleid, killerid)
  110. {
  111. return 1;
  112. }
  113.  
  114. public OnPlayerText(playerid, text[])
  115. {
  116. return 1;
  117. }
  118.  
  119. public OnPlayerCommandText(playerid, cmdtext[])
  120. {
  121. if (strcmp("/help", cmdtext, true, 10) ==0)
  122. {
  123. SendClientMessage(playerid,COLOR_GREEN,"Befehle:");
  124. SendClientMessage(playerid,COLOR_GREEN,"/regeln,/serverinfo,Wadmins,/news");
  125. SendClientMessage(playerid,COLOR_BLUE,"Port Befehle:");
  126. SendClientMessage(playerid,COLOR_GREEN,"/gotols,/gotoammu,/gotogs,/gotobsn");
  127. SendClientMessage(playerid,COLOR_GREEN,"Weitere Befehle folgen noch");
  128. return 1;
  129. }
  130.  
  131. if (strcmp("/gotols", cmdtext, true, 10) ==0)
  132. {
  133. SetPlayerPos(playerid,1540.9467,-1675.0538,13.5516);
  134. SendClientMessage(playerid,COLOR_LILA,"Du hast dich nach LS geportet");
  135. return 1;
  136. }
  137.  
  138. if (strcmp("/gotogs", cmdtext, true, 10) ==0)
  139. {
  140. SetPlayerPos(playerid,2486.2859,-1665.8632,13.3438);
  141. SendClientMessage(playerid,COLOR_LILA,"Du hast dich zur Grove-Street geportet");
  142. return 1;
  143. }
  144.  
  145. if (strcmp("/gotoammu", cmdtext, true, 10) ==0)
  146. {
  147. SetPlayerPos(playerid,1365.0448,-1277.5452,13.5469);
  148. SendClientMessage(playerid,COLOR_LILA,"Du hast dich zum Ammunation geportet");
  149. return 1;
  150. }
  151.  
  152. if (strcmp("/q", cmdtext, true, 10) ==0)
  153. {
  154. SendClientMessage(playerid,COLOR_LILA,"Du hast den Server verlassen");
  155. Kick(playerid);
  156. return 1;
  157. }
  158.  
  159. if (strcmp("/admins", cmdtext,true, 10) ==0)
  160. {
  161. SendClientMessage(playerid,COLOR_BLUE,"BHF ist der einzige Admin auf diesem Server");
  162. return 1;
  163. }
  164.  
  165. if (strcmp("/gotobsn", cmdtext,true, 10) ==0)
  166. {
  167. SetPlayerPos(playerid,1214.5663,-904.7918,48.0557);
  168. SendClientMessage(playerid,COLOR_LILA,"Du hast dich zum BSN geportet");
  169. return 1;
  170. }
  171.  
  172. if(strcmp("/regeln", cmdtext,true, 10) ==0)
  173. {
  174. SendClientMessage(playerid,COLOR_BLUE,"Auf diesem Server sind alle Mods erlaubt");
  175. SendClientMessage(playerid,COLOR_BLUE,"Cheats/Hacks sind erlaubt");
  176. SendClientMessage(playerid,COLOR_BLUE,"Das einziege was verboten ist, ist ein Fly-Hack/Mod");
  177. SendClientMessage(playerid,COLOR_BLUE,"Fuer mehr Infos besuch unser Forum");
  178. SendClientMessage(playerid,COLOR_BLUE,"Forum: mapping-samp.forumprofi.de");
  179. return 1;
  180. }
  181.  
  182. if(strcmp("/serverinfo", cmdtext,true, 10) ==0)
  183. {
  184. SendClientMessage(playerid,COLOR_GREEN,"Das GNL-Team sucht immernoch einen Scripter");
  185. SendClientMessage(playerid,COLOR_GREEN,"Dazu suchen wir auch Mietglieder fuer unser Mapping-Team");
  186. SendClientMessage(playerid,COLOR_GREEN,"Alle Infos sind im Forum zu sehen");
  187. SendClientMessage(playerid,COLOR_GREEN,"FORUM: www.samp-mapping.forumprofide");
  188. return 1;
  189. }
  190.  
  191. if(strcmp("/news", cmdtext,true, 10) ==0)
  192. {
  193. SendClientMessage(playerid,COLOR_BLUE,"Alle News stehen im Forum, www.samp-mapping.forumprofi.de");
  194. return 1;
  195. }
  196.  
  197. return 0;
  198. }
  199.  
  200. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  201. {
  202. return 1;
  203. }
  204.  
  205. public OnPlayerExitVehicle(playerid, vehicleid)
  206. {
  207. return 1;
  208. }
  209.  
  210. public OnPlayerStateChange(playerid, newstate, oldstate)
  211. {
  212. return 1;
  213. }
  214.  
  215. public OnPlayerEnterCheckpoint(playerid)
  216. {
  217. return 1;
  218. }
  219.  
  220. public OnPlayerLeaveCheckpoint(playerid)
  221. {
  222. return 1;
  223. }
  224.  
  225. public OnPlayerEnterRaceCheckpoint(playerid)
  226. {
  227. return 1;
  228. }
  229.  
  230. public OnPlayerLeaveRaceCheckpoint(playerid)
  231. {
  232. return 1;
  233. }
  234.  
  235. public OnRconCommand(cmd[])
  236. {
  237. return 1;
  238. }
  239.  
  240. public OnPlayerRequestSpawn(playerid)
  241. {
  242. return 1;
  243. }
  244.  
  245. public OnObjectMoved(objectid)
  246. {
  247. return 1;
  248. }
  249.  
  250. public OnPlayerObjectMoved(playerid, objectid)
  251. {
  252. return 1;
  253. }
  254.  
  255. public OnPlayerPickUpPickup(playerid, pickupid)
  256. {
  257. return 1;
  258. }
  259.  
  260. public OnVehicleMod(playerid, vehicleid, componentid)
  261. {
  262. return 1;
  263. }
  264.  
  265. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  266. {
  267. return 1;
  268. }
  269.  
  270. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  271. {
  272. return 1;
  273. }
  274.  
  275. public OnPlayerSelectedMenuRow(playerid, row)
  276. {
  277. return 1;
  278. }
  279.  
  280. public OnPlayerExitedMenu(playerid)
  281. {
  282. return 1;
  283. }
  284.  
  285. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  286. {
  287. return 1;
  288. }
  289.  
  290. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  291. {
  292. return 1;
  293. }
  294.  
  295. public OnRconLoginAttempt(ip[], password[], success)
  296. {
  297. return 1;
  298. }
  299.  
  300. public OnPlayerUpdate(playerid)
  301. {
  302. return 1;
  303. }
  304.  
  305. public OnPlayerStreamIn(playerid, forplayerid)
  306. {
  307. return 1;
  308. }
  309.  
  310. public OnPlayerStreamOut(playerid, forplayerid)
  311. {
  312. return 1;
  313. }
  314.  
  315. public OnVehicleStreamIn(vehicleid, forplayerid)
  316. {
  317. return 1;
  318. }
  319.  
  320. public OnVehicleStreamOut(vehicleid, forplayerid)
  321. {
  322. return 1;
  323. }
  324.  
  325. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  326. {
  327. new pname[MAX_PLAYER_NAME], path[200];
  328. GetPlayerName(playerid, pname, sizeof(pname));
  329. format(path, sizeof(path), "/spieler/%s.ini", pname);
  330.  
  331. switch(dialogid)
  332. {
  333. case DIALOG_REGISTER1:
  334. {
  335. if(!response)
  336. {
  337. Kick(playerid);
  338. }
  339. else
  340. {
  341. new pwlength = strlen(inputtext);
  342. if(pwlength > 0)
  343. {
  344. dini_Create(path); // Erstellt die .ini Datei
  345. dini_Set(path, "password", inputtext); // Schreibt das eingegebene Passwort in die .ini
  346. ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "Wähle dein Geschlecht", "Männlich\r\nWeiblich", "OK", "Abbrechen");
  347. }
  348. else
  349. {
  350. ShowPlayerDialog(playerid, DIALOG_NOPW1, DIALOG_STYLE_MSGBOX, "Registrierung", "Sie müssen ein Passwort angeben!", "OK", "Abbrechen");
  351. }
  352. }
  353. }
  354. case DIALOG_REGISTER2:
  355. {
  356. if(!response)
  357. {
  358. dini_Remove(path); // .ini löschen, da der User die registrierung abgebrochen hat.
  359. Kick(playerid);
  360. }
  361. else
  362. {
  363. dini_IntSet(path, "sex", listitem); // Schreibt entweder 0 oder 1 in die .ini (0 = Männlich, 1 = Weiblich)
  364. ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr Alter an: (z.B. 22):", "OK", "Abbrechen");
  365. }
  366. }
  367. case DIALOG_REGISTER3:
  368. {
  369. if(!response)
  370. {
  371. dini_Remove(path); // .ini löschen, da der User die registrierung abgebrochen hat.
  372. Kick(playerid);
  373. }
  374. else
  375. {
  376. dini_Set(path, "age", inputtext);
  377. ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, "Registrierung", "Ihre Registrierung ist nun abgeschlossen!", "OK", "OK");
  378. }
  379. }
  380. case DIALOG_REGISTER4:
  381. {
  382. pInfo[playerid][sex] = dini_Int(path, "sex");
  383. pInfo[playerid][age] = dini_Int(path, "age");
  384. pInfo[playerid][logged] = 1;
  385. }
  386. case DIALOG_LOGIN1:
  387. {
  388. if(!response)
  389. {
  390. Kick(playerid);
  391. }
  392. else
  393. {
  394. new pwlength = strlen(inputtext);
  395. if(pwlength > 0)
  396. {
  397. new pw[200];
  398. format(pw, sizeof(pw), "%s", dini_Get(path, "password"));
  399. if(strcmp(inputtext, pw) == 0) // Wenn das Passwort stimmt
  400. {
  401. pInfo[playerid][sex] = dini_Int(path, "sex");
  402. pInfo[playerid][age] = dini_Int(path, "age");
  403. pInfo[playerid][logged] = 1;
  404. }
  405. else
  406. {
  407. ShowPlayerDialog(playerid, DIALOG_WRONGPW, DIALOG_STYLE_MSGBOX, "Login", "Sie haben ein inkorrektes Passwort angegen!", "OK", "Abbrechen");
  408. }
  409. }
  410. else
  411. {
  412. ShowPlayerDialog(playerid, DIALOG_NOPW2, DIALOG_STYLE_MSGBOX, "Login", "Sie müssen ein Passwort angeben!", "OK", "Abbrechen");
  413. }
  414. }
  415. }
  416. case DIALOG_NOPW1: // Sollte das Passwort bei der Registrierung "Leer" sein:
  417. {
  418. if(!response)
  419. {
  420. Kick(playerid);
  421. }
  422. else
  423. {
  424. ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Registrierung", "Geben Sie hier Ihr gewünschtes Passwort ein:", "OK", "Abbrechen");
  425. }
  426. }
  427. case DIALOG_NOPW2: // Sollte das Passwort beim Login "Leer" sein:
  428. {
  429. if(!response)
  430. {
  431. Kick(playerid);
  432. }
  433. else
  434. {
  435. ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen");
  436. }
  437. }
  438. case DIALOG_WRONGPW:
  439. {
  440. if(!response)
  441. {
  442. Kick(playerid);
  443. }
  444. else
  445. {
  446. ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Geben Sie hier Ihr Passwort ein:", "OK", "Abbrechen");
  447. }
  448. }
  449. }
  450. return 1;
  451. }
  452.  
  453. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  454. {
  455. return 1;
  456. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement