Advertisement
Lars_Knaup

Pawn Script Problem

Jun 28th, 2011
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.93 KB | None | 0 0
  1. // Gamemode v0.1
  2. // by LK
  3.  
  4. #include <a_samp>
  5. #include <dini>
  6. #include <Dudb>
  7.  
  8. enum info
  9. {
  10. passwort[128], // Passwort
  11. skin, // Skin
  12. };
  13.  
  14. new pInfo[MAX_PLAYERS] [info];
  15.  
  16. new bool:loggedin[MAX_PLAYERS];
  17.  
  18.  
  19. main()
  20. {
  21. print("\n----------------------------------");
  22. print("Gamemode by LK");
  23. print("----------------------------------\n");
  24. }
  25.  
  26. stock strget(strx[], pos, search = ' ') {
  27. new arg, ret[128], idxx;
  28. for (new i = 0; i < strlen(strx); i++) {
  29. if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
  30. arg++;
  31. if (arg == pos + 1){
  32. ret[i-idxx] = EOS;
  33. return ret;
  34. } else if (arg == pos)
  35. idxx= i+1;
  36. }
  37. else if (arg == pos)
  38. ret[i - idxx] = strx[i];
  39. }
  40. return ret;
  41. }
  42.  
  43. public OnGameModeInit()
  44. {
  45. SetGameModeText("Fun Script");
  46. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  47. return 1;
  48. }
  49.  
  50. public OnGameModeExit()
  51. {
  52. return 1;
  53. }
  54.  
  55. public OnPlayerRequestClass(playerid, classid)
  56. {
  57. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  58. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  59. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  60. return 1;
  61. }
  62.  
  63. public OnPlayerConnect(playerid)
  64. {
  65. new name[128], save[128]; // Namen und Save Variable
  66. GetPlayerName(playerid, name, sizeof(name)); // Name des Spieler bekommen
  67. format(save, sizeof(save), "/player/%s.ini", name); // Dateinamen bekommen
  68. if (dini_Exists(save))
  69. {
  70. SendClientMessage(playerid, 0x33CCFFAA, "Benutze /login [passwort], um dich einzuloggen");
  71. GivePlayerMoney(playerid, dini_Int(save, "money")); // Spieler das gespeicherte Geld geben
  72. SetPlayerSkin(playerid, dini_Int(save, "skin")); // Spieler das gespeicherte Skin geben
  73. }
  74. else
  75. {
  76. if (!dini_Exists(save))
  77. {
  78. SendClientMessage(playerid, 0x33CCFFA, "Benutze /register [passwort], um dich zu registrieren");
  79. }
  80. }
  81. return 1;
  82. }
  83.  
  84. public OnPlayerDisconnect(playerid, reason)
  85. {
  86. new name[128], save[128]; // Namen und Save Variable
  87. GetPlayerName(playerid, name, sizeof(name)); // Name des Spieler bekommen
  88. format(save, sizeof(save), "/player/%s.ini", name); // Dateinamen bekommen
  89. if (dini_Exists(save))
  90. {
  91. dini_IntSet(save, "money", GetPlayerMoney(playerid)); // speichert aktuelles Geld
  92. dini_IntSet(save, "skin", GetPlayerSkin(playerid)); // speichert aktuellen Skin
  93. }
  94. return 1;
  95. }
  96.  
  97. public OnPlayerSpawn(playerid)
  98. {
  99. new name[128], save[128];
  100. GetPlayerName(playerid, name, sizeof(name));
  101. format(save, sizeof(save), "/player/%s.ini", name);
  102. if (loggedin[playerid] == false)
  103. {
  104. SendClientMessage(playerid, 0xAA3333AA, "Du musst dich einloggen, bevor du spawnst!");
  105. Kick(playerid);
  106. }
  107. SetPlayerSkin(playerid, dini_Int(save, "skin")); // gespeicherten Skin geben
  108. return 1;
  109. }
  110.  
  111. public OnPlayerDeath(playerid, killerid, reason)
  112. {
  113. return 1;
  114. }
  115.  
  116. public OnVehicleSpawn(vehicleid)
  117. {
  118. return 1;
  119. }
  120.  
  121. public OnVehicleDeath(vehicleid, killerid)
  122. {
  123. return 1;
  124. }
  125.  
  126. public OnPlayerText(playerid, text[])
  127. {
  128. return 1;
  129. }
  130.  
  131. public OnPlayerCommandText(playerid, cmdtext[])
  132. {
  133. new player[MAX_PLAYER_NAME];
  134.  
  135. // /register [password]
  136. if(strcmp(strget(cmdtext, 0), "/register", true) == 0)
  137. {
  138. new save[40]; // neuen String "save" erstellen
  139. GetPlayerName(playerid, player, sizeof(player));
  140. format(save, sizeof(save), "/player/%s.ini", player); // Speicherort
  141. if (!dini_Exists(save))
  142. {
  143. dini_Create(save); // ini Datei erzeugen
  144. dini_IntSet(save, "password", udb_hash(strget(cmdtext, 1))); // PW in ini verschlüsselt speichern
  145. SendClientMessage(playerid, 0x33AA33AA, "***Account wurde erstellt***");
  146. SendClientMessage(playerid, 0x33AA33AA, "***Du kannst dich nun mit /login (password) anmelden***");
  147. }
  148. else
  149. {
  150. if (dini_Exists(save))
  151. {
  152. SendClientMessage(playerid, 0xAA3333AA, "Der Account ist bereits registriert");
  153. }
  154. }
  155.  
  156. if(strcmp(strget(cmdtext,0), "/login", true) == 0)
  157. {
  158. new save[40], s2[256]; //gleiche wie oben
  159. GetPlayerName(playerid,player,sizeof(player));
  160. format(save,sizeof(save),"player/%s.ini",player);
  161. if(dini_Exists(save)) // wenn Datei existiert
  162. {
  163. s2=dini_Get(save,"passwort"); // lade das Passwort
  164. if(strval(s2)==udb_hash(strget(cmdtext,1))) // wenn die Eingabe nach /login mit dem Passwort von der registration übereinstimmt
  165. {
  166. loggedin[playerid] = true; //sage dem Server, dass der Spieler eingeloggt ist.
  167. SendClientMessage(playerid, 0x33CCFFAA, "***Du hast dich erfolgreich eingeloggt***");
  168. SpawnPlayer(playerid);
  169. }
  170. else // wenn das passwort nicht stimmt
  171. {
  172. SendClientMessage(playerid, 0xAA3333AA, "Passwort Falsch!");
  173. }
  174. }
  175. return 1;
  176. }
  177.  
  178. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  179. {
  180. return 1;
  181. }
  182.  
  183. public OnPlayerExitVehicle(playerid, vehicleid)
  184. {
  185. return 1;
  186. }
  187.  
  188. public OnPlayerStateChange(playerid, newstate, oldstate)
  189. {
  190. return 1;
  191. }
  192.  
  193. public OnPlayerEnterCheckpoint(playerid)
  194. {
  195. return 1;
  196. }
  197.  
  198. public OnPlayerLeaveCheckpoint(playerid)
  199. {
  200. return 1;
  201. }
  202.  
  203. public OnPlayerEnterRaceCheckpoint(playerid)
  204. {
  205. return 1;
  206. }
  207.  
  208. public OnPlayerLeaveRaceCheckpoint(playerid)
  209. {
  210. return 1;
  211. }
  212.  
  213. public OnRconCommand(cmd[])
  214. {
  215. return 1;
  216. }
  217.  
  218. public OnPlayerRequestSpawn(playerid)
  219. {
  220. return 1;
  221. }
  222.  
  223. public OnObjectMoved(objectid)
  224. {
  225. return 1;
  226. }
  227.  
  228. public OnPlayerObjectMoved(playerid, objectid)
  229. {
  230. return 1;
  231. }
  232.  
  233. public OnPlayerPickUpPickup(playerid, pickupid)
  234. {
  235. return 1;
  236. }
  237.  
  238. public OnVehicleMod(playerid, vehicleid, componentid)
  239. {
  240. return 1;
  241. }
  242.  
  243. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  244. {
  245. return 1;
  246. }
  247.  
  248. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  249. {
  250. return 1;
  251. }
  252.  
  253. public OnPlayerSelectedMenuRow(playerid, row)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnPlayerExitedMenu(playerid)
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  264. {
  265. return 1;
  266. }
  267.  
  268. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  269. {
  270. return 1;
  271. }
  272.  
  273. public OnRconLoginAttempt(ip[], password[], success)
  274. {
  275. return 1;
  276. }
  277.  
  278. public OnPlayerUpdate(playerid)
  279. {
  280. return 1;
  281. }
  282.  
  283. public OnPlayerStreamIn(playerid, forplayerid)
  284. {
  285. return 1;
  286. }
  287.  
  288. public OnPlayerStreamOut(playerid, forplayerid)
  289. {
  290. return 1;
  291. }
  292.  
  293. public OnVehicleStreamIn(vehicleid, forplayerid)
  294. {
  295. return 1;
  296. }
  297.  
  298. public OnVehicleStreamOut(vehicleid, forplayerid)
  299. {
  300. return 1;
  301. }
  302.  
  303. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  304. {
  305. return 1;
  306. }
  307.  
  308. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  309. {
  310. return 1;
  311. }
  312.  
  313. stock strget(strx[], pos, search = ' ') {
  314. new arg, ret[128], idxx;
  315. for (new i = 0; i < strlen(strx); i++) {
  316. if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
  317. arg++;
  318. if (arg == pos + 1){
  319. ret[i-idxx] = EOS;
  320. return ret;
  321. } else if (arg == pos)
  322. idxx= i+1;
  323. }
  324. else if (arg == pos)
  325. ret[i - idxx] = strx[i];
  326. }
  327. return ret;
  328. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement