Guest User

Gutschein/Code System

a guest
Aug 31st, 2013
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.32 KB | None | 0 0
  1. ///////////////////////////////////////////////////////////////////////////
  2. ///////////////////////////////////////////////////////////////////////////
  3. ///////////////////////// Gutschein System by Toby ////////////////////////
  4. ///////////////////////////////////////////////////////////////////////////
  5. ///////////////////////////////////////////////////////////////////////////
  6.  
  7. #include <a_samp>
  8. #include <ocmd>
  9. #include <sscanf>
  10. #include <dini>
  11. #include <md5>
  12.  
  13. #define COLOR_GREY 0x787878FF
  14. #define COLOR_GREEN 0x00FF00FF
  15. #define COLOR_RED 0xFF0000FF
  16. #define GRUEN 0x00FF00FF
  17. #define ROT 0xFF0000FF
  18.  
  19. #define DIALOG_REGISTER 1
  20. #define DIALOG_LOGIN 2
  21. #define DIALOG_CODESHOP 3
  22.  
  23. #pragma tabsize 0
  24.  
  25. main()
  26. {
  27. print("\n----------------------------------");
  28. print(" Gutschein System von Toby");
  29. print("----------------------------------\n");
  30. }
  31.  
  32. public OnGameModeInit()
  33. {
  34. SetGameModeText("Gutschein System von Toby");
  35. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  36.  
  37. return 1;
  38. }
  39.  
  40. public OnGameModeExit()
  41. {
  42. return 1;
  43. }
  44.  
  45. public OnPlayerRequestClass(playerid, classid)
  46. {
  47. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  48. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  49. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  50. return 1;
  51. }
  52.  
  53. public OnPlayerConnect(playerid)
  54. {
  55. new Spielerdatei[128],string[128],string2[128];
  56. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
  57. if(dini_Exists(Spielerdatei))
  58. {
  59. format(string,sizeof(string),"{FFFFFF}Herzlich Willkommen zurück auf meinem Server {FFFA00}%s.\n{FFFFFF}Gib unten bitte dein Passwort ein!",SpielerName(playerid));
  60. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang",string,"Einloggen","Abbrechen");
  61. }
  62. else
  63. {
  64. format(string2,sizeof(string2),"{FFFFFF}Herzlich willkommen {FFFA00}%s.\n{FFFFFF}Da dies dein erster Besuch hier ist musst du dich erst registrieren.\nBitte gib unten dein gewünschtes Passwort ein!",SpielerName(playerid));
  65. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierungs Vorgang",string2,"Register","Abbrechen");
  66. }
  67. return 1;
  68. }
  69.  
  70. public OnPlayerDisconnect(playerid, reason)
  71. {
  72. SpielerSpeichern(playerid);
  73. return 1;
  74. }
  75.  
  76. public OnPlayerSpawn(playerid)
  77. {
  78. return 1;
  79. }
  80.  
  81. public OnPlayerDeath(playerid, killerid, reason)
  82. {
  83. return 1;
  84. }
  85.  
  86. public OnVehicleSpawn(vehicleid)
  87. {
  88. return 1;
  89. }
  90.  
  91. public OnVehicleDeath(vehicleid, killerid)
  92. {
  93. return 1;
  94. }
  95.  
  96. public OnPlayerText(playerid, text[])
  97. {
  98. return 1;
  99. }
  100.  
  101. public OnPlayerCommandText(playerid, cmdtext[])
  102. {
  103. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  104. {
  105. // Do something here
  106. return 1;
  107. }
  108. return 0;
  109. }
  110.  
  111. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  112. {
  113. return 1;
  114. }
  115.  
  116. public OnPlayerExitVehicle(playerid, vehicleid)
  117. {
  118. return 1;
  119. }
  120.  
  121. public OnPlayerStateChange(playerid, newstate, oldstate)
  122. {
  123. return 1;
  124. }
  125.  
  126. public OnPlayerEnterCheckpoint(playerid)
  127. {
  128. return 1;
  129. }
  130.  
  131. public OnPlayerLeaveCheckpoint(playerid)
  132. {
  133. return 1;
  134. }
  135.  
  136. public OnPlayerEnterRaceCheckpoint(playerid)
  137. {
  138. return 1;
  139. }
  140.  
  141. public OnPlayerLeaveRaceCheckpoint(playerid)
  142. {
  143. return 1;
  144. }
  145.  
  146. public OnRconCommand(cmd[])
  147. {
  148. return 1;
  149. }
  150.  
  151. public OnPlayerRequestSpawn(playerid)
  152. {
  153. return 1;
  154. }
  155.  
  156. public OnObjectMoved(objectid)
  157. {
  158. return 1;
  159. }
  160.  
  161. public OnPlayerObjectMoved(playerid, objectid)
  162. {
  163. return 1;
  164. }
  165.  
  166. public OnPlayerPickUpPickup(playerid, pickupid)
  167. {
  168. return 1;
  169. }
  170.  
  171. public OnVehicleMod(playerid, vehicleid, componentid)
  172. {
  173. return 1;
  174. }
  175.  
  176. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  177. {
  178. return 1;
  179. }
  180.  
  181. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  182. {
  183. return 1;
  184. }
  185.  
  186. public OnPlayerSelectedMenuRow(playerid, row)
  187. {
  188. return 1;
  189. }
  190.  
  191. public OnPlayerExitedMenu(playerid)
  192. {
  193. return 1;
  194. }
  195.  
  196. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  197. {
  198. return 1;
  199. }
  200.  
  201. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  202. {
  203. return 1;
  204. }
  205.  
  206. public OnRconLoginAttempt(ip[], password[], success)
  207. {
  208. return 1;
  209. }
  210.  
  211. public OnPlayerUpdate(playerid)
  212. {
  213. return 1;
  214. }
  215.  
  216. public OnPlayerStreamIn(playerid, forplayerid)
  217. {
  218. return 1;
  219. }
  220.  
  221. public OnPlayerStreamOut(playerid, forplayerid)
  222. {
  223. return 1;
  224. }
  225.  
  226. public OnVehicleStreamIn(vehicleid, forplayerid)
  227. {
  228. return 1;
  229. }
  230.  
  231. public OnVehicleStreamOut(vehicleid, forplayerid)
  232. {
  233. return 1;
  234. }
  235.  
  236. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  237. {
  238. if(dialogid==DIALOG_LOGIN)
  239. {
  240. if(response==0)
  241. {
  242. SendClientMessage(playerid,ROT,"Du hast den Login Vorgang abgebrochen und wirst deshalb vom Server gekickt!");
  243. Kick(playerid);
  244. return 1;
  245. }
  246. if(response==1)
  247. {
  248. if(!strlen(inputtext))
  249. {
  250. SendClientMessage(playerid,ROT,"Dein angegebenes Passwort war nicht lange genug!");
  251. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang","Dein Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen");
  252. return 1;
  253. }
  254. else
  255. {
  256. Login(playerid,MD5_Hash(inputtext));
  257. return 1;
  258. }
  259. }
  260. }
  261. if(dialogid==DIALOG_REGISTER)
  262. {
  263. if(response==0)
  264. {
  265. SendClientMessage(playerid,ROT,"Du hast den Registrierungs Vorgang abgebrochen und wirst deshalb vom Server gekickt!");
  266. Kick(playerid);
  267. return 1;
  268. }
  269. if(response==1)
  270. {
  271. if(!strlen(inputtext))
  272. {
  273. SendClientMessage(playerid,GRUEN,"Dein eingegebenes Passwort war nicht lang genug!");
  274. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Willkommen auf meinem Server\n bitte gib nun dein gewünschtes Passwort ein","Register","Abbrechen");
  275. return 1;
  276. }
  277. else
  278. {
  279. Register(playerid,MD5_Hash(inputtext));
  280. return 1;
  281. }
  282. }
  283. }
  284. if(dialogid==DIALOG_CODESHOP)
  285. {
  286. if(response==0)
  287. {
  288. SendClientMessage(playerid,ROT,"Du hast den Code Shop Verlassen!");
  289. return 1;
  290. }
  291. if(response==1)
  292. {
  293. GivePlayerMoney(playerid,50000);
  294. SetPVarInt(playerid,"Gutschein",0);
  295. return 1;
  296. }
  297. if(response==2)
  298. {
  299. SetPVarInt(playerid,"VIP",1);
  300. SendClientMessage(playerid,COLOR_GREY,"Du hast den V.I.P Rang Erhalten!");
  301. SetPVarInt(playerid,"Gutschein",0);
  302. return 1;
  303. }
  304. }
  305. return 1;
  306. }
  307.  
  308. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  309. {
  310. return 1;
  311. }
  312.  
  313. ocmd:givecode(playerid,params[])
  314. {
  315. if(IsPlayerAdmin(playerid))
  316. {
  317. new pID;
  318. if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /givecode [PlayerID]");
  319. {
  320. if(GetPVarInt(pID,"Gutschein")!=1)
  321. {
  322. new string[128];
  323. format(string,sizeof(string),"Admin %s hat dir einen Gutschein ausgestellt!",SpielerName(pID));
  324. SendClientMessage(pID,GRUEN,string);
  325. SetPVarInt(pID,"Gutschein",1);
  326. }
  327. else
  328. {
  329. SendClientMessage(playerid,COLOR_RED,"Der Spieler hat schon einen Gutschein!");
  330. return 1;
  331. }
  332. }
  333. }
  334. return 1;
  335. }
  336.  
  337. ocmd:deletecode(playerid,params[])
  338. {
  339. if(IsPlayerAdmin(playerid))
  340. {
  341. new pID;
  342. if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /deletecode [PlayerID]");
  343. {
  344. if(GetPVarInt(pID,"Gutschein")!=0)
  345. {
  346. new string[128];
  347. format(string,sizeof(string),"Admin %s hat deinen Gutschein Gelöscht!",SpielerName(playerid));
  348. SetPVarInt(pID,"Gutschein",0);
  349. SendClientMessage(pID,COLOR_GREEN,string);
  350. SendClientMessage(playerid,COLOR_GREEN,"Der Gutschein vom Ausgewählten Spieler wurde gelöscht!!");
  351. return 1;
  352. }
  353. else
  354. {
  355. SendClientMessage(playerid,COLOR_RED,"Der Spieler hat keinen Gutschein!");
  356. return 1;
  357. }
  358. }
  359. }
  360. return 1;
  361. }
  362.  
  363. ocmd:codeshop(playerid,params[])
  364. {
  365. {
  366. if(GetPVarInt(playerid,"Gutschein")!=0)
  367. {
  368. ShowPlayerDialog(playerid,DIALOG_CODESHOP,DIALOG_STYLE_LIST,"Gutschein Shop","50.000$\nV.I.P Rang","Auswählen","Abbrechen");
  369. }
  370. else
  371. {
  372. SendClientMessage(playerid,COLOR_RED,"Du hast keinen Gutschein!!");
  373. return 1;
  374. }
  375. }
  376. return 1;
  377. }
  378.  
  379. stock Register(playerid,key[])
  380. {
  381. new Spielerdatei[64];
  382. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
  383. dini_Create(Spielerdatei);
  384. dini_Set(Spielerdatei,"Passwort",key);
  385. SendClientMessage(playerid,GRUEN,"Dein Account wurde Erfolgreich in der Datenbank Registriert!");
  386. dini_IntSet(Spielerdatei,"Level",0);
  387. dini_IntSet(Spielerdatei,"Banned",0);
  388. dini_IntSet(Spielerdatei,"Adminlevel",0);
  389. dini_IntSet(Spielerdatei,"Fraktion",0);
  390. dini_IntSet(Spielerdatei,"Geld",0);
  391. dini_IntSet(Spielerdatei,"Gutschein",0);
  392. dini_IntSet(Spielerdatei,"VIP",0);
  393. SetPVarInt(playerid,"loggedin",1);
  394. return 1;
  395. }
  396.  
  397. stock Login(playerid,key[])
  398. {
  399. new Spielerdatei[128];
  400. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
  401. if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  402. {
  403. SpielerLaden(playerid);
  404. SendClientMessage(playerid,GRUEN,"Du hast dich erfolgreich eingeloggt.");
  405. }
  406. else
  407. {
  408. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login Vorgang","Das angegebene Passwort war leider falsch!\nBitte gib nun unten dein richtiges Passwort ein! ","LogIn", "Abbrechen");
  409. }
  410. return 1;
  411. }
  412.  
  413. stock SpielerLaden(playerid)
  414. {
  415. new Spielerdatei[128];
  416. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
  417. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  418. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  419. SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
  420. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  421. SetPVarInt(playerid,"Gutschein",dini_Int(Spielerdatei,"Gutschein"));
  422. SetPVarInt(playerid,"VIP",dini_Int(Spielerdatei,"VIP"));
  423. SetPVarInt(playerid,"loggedin",1);
  424. SetPVarInt(playerid,"Banned",dini_Int(Spielerdatei,"Banned"));
  425. if(GetPVarInt(playerid,"Banned")==1)
  426. {
  427. SendClientMessage(playerid,COLOR_RED,"Du kannst mit diesem Account nicht spielen, da du gebannt bist.\nBei Fragen oder Einwänden melde dich bei einem Admin");
  428. Kick(playerid);
  429. return 1;
  430. }
  431. return 1;
  432. }
  433.  
  434. stock SpielerSpeichern(playerid)
  435. {
  436. if(GetPVarInt(playerid,"loggedin")==1)
  437. {
  438. new Spielerdatei[128];
  439. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
  440. dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  441. dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  442. dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
  443. dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  444. dini_IntSet(Spielerdatei,"Banned",GetPVarInt(playerid,"Banned"));
  445. dini_IntSet(Spielerdatei,"Gutschein",GetPVarInt(playerid,"Gutschein"));
  446. dini_IntSet(Spielerdatei,"VIP",GetPVarInt(playerid,"VIP"));
  447. return 1;
  448. }
  449. return 1;
  450. }
  451.  
  452. stock SpielerName(playerid)
  453. {
  454. new GetName[MAX_PLAYER_NAME];
  455. GetPlayerName(playerid,GetName,sizeof(GetName));
  456. return GetName;
  457. }
Advertisement
Add Comment
Please, Sign In to add comment