Guest User

Personal system mit alter

a guest
Nov 1st, 2014
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.05 KB | None | 0 0
  1. #define DIALOG_STADTHALLE 32
  2. #define DIALOG_ALTER 33
  3. #define DIALOG_GEBURTSDATUM 34
  4.  
  5.  
  6. enum playerInfo{
  7. eingeloggt,
  8. level,
  9. db_id,
  10. alevel,
  11. slevel,
  12. Skin,
  13. fraktion,
  14. rang,
  15. leader,
  16. coleader,
  17. spawnchange,
  18. tutpart,
  19. regstep,
  20. geschlecht,
  21. adminduty,
  22. tv,
  23. pantrag,
  24. perso,
  25. pGeburtstag[11],
  26. palter
  27. }
  28.  
  29. new sInfo[MAX_PLAYERS][playerInfo];
  30.  
  31. forward Persoantrag(playerid);
  32.  
  33.  
  34. ocmd:stadthalle(playerid)
  35. {
  36. if(IsPlayerInRangeOfPoint(playerid,10,362.1489,173.7344,1008.3828))
  37. {
  38. ShowPlayerDialog(playerid,DIALOG_STADTHALLE,DIALOG_STYLE_LIST,"Stadthalle","Personalausweis Beantrage\nPersonalausweis Abholen\nPKW Führerschein","Wählen","Abbruch");
  39. }
  40. else
  41. {
  42. SendClientMessage(playerid,ROT,"Du bist nicht In der Stadthalle");
  43. }
  44. return 1;
  45. }
  46.  
  47. if(dialogid==DIALOG_STADTHALLE)
  48. {
  49. if(response==0)
  50. {
  51. return 1;
  52. }
  53. if(listitem==0)
  54. {
  55. ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"Alter angabe","Bitte Trage hier dein Alter ein","Besätigen","Abbruch");
  56. return 1;
  57. }
  58. if(listitem==1)
  59. {
  60. if(sInfo[playerid][pantrag] == 1)
  61. {
  62. SendClientMessage(playerid,ROT,"Du hast dein Personalausweis bekommen");
  63. sInfo[playerid][perso] = 1;
  64. savePlayer(playerid);
  65. printf("%s hat sein ausweis Abgeholt!)",getPlayerName(playerid));
  66. }
  67. else
  68. {
  69. SendClientMessage(playerid,ROT,"Du musst Zuerst ein Ausweis in der Stadthalle beantragen");
  70. return 1;
  71. }
  72. return 1;
  73. }
  74. if(listitem==2)
  75. {
  76. SendClientMessage(playerid,GELB,"PKW Führerschein");
  77. return 1;
  78. }
  79. return 1;
  80. }
  81.  
  82. if(dialogid==DIALOG_ALTER)
  83. {
  84. if(response==0)
  85. {
  86. return 1;
  87. }
  88. else
  89. {
  90. ShowPlayerDialog(playerid,DIALOG_REGISTER2,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
  91. }
  92. }
  93.  
  94. if(dialogid==DIALOG_GEBURTSDATUM)
  95. {
  96. new second = gettime();
  97. new tag,monat,jahr,stunde,minute;
  98. getdate(tag,monat,jahr);
  99. gettime(stunde,minute,second);
  100. new DateInfo[3][20],string[200];
  101. split(inputtext,DateInfo,'.');
  102. if(response == 0) return 1;
  103. else
  104. {
  105. if(strlen(inputtext) > 10)
  106. {
  107. ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
  108. return 1;
  109. }
  110. new tmp[16];
  111. format(tmp, sizeof(tmp), "%02d.%02d.%d", strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]));
  112. printf("IsValidDate(''%s'') -> %d", tmp, IsValidDate(tmp));
  113. if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
  114. {
  115. ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
  116. return 1;
  117. }
  118. new check = jahr - strval(DateInfo[2]);
  119. if(strval(DateInfo[1]) > monat)
  120. {
  121. check -= 1;
  122. }
  123. else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
  124. {
  125. check -= 1;
  126. }
  127. if(check < 14 || check > 50)
  128. {
  129. ShowPlayerDialog(playerid,DIALOG_GEBURTSDATUM,DIALOG_STYLE_INPUT,"Geburtsdatum"" Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
  130. return 1;
  131. }
  132. sInfo[playerid][palter] = check;
  133. format(sInfo[playerid][pGeburtstag],11,inputtext);
  134. format(string,sizeof(string),"Ok du bist also %i Jahre alt.",sInfo[playerid][palter]);
  135. SendClientMessage(playerid,GELB,"Du hast dein Personalausweis Erfolgreich beantragt!");
  136. SendClientMessage(playerid,GELB,"Du kannst ihn in 5 Minuten abholen!");
  137. SetTimerEx("Persoantrag",5000,false,"i",playerid);
  138. printf("%s hat sein ausweis Beantragt!)",getPlayerName(playerid));
  139. return 1;
  140. }
  141. }
  142. return 1;
  143. }
  144.  
  145. stock IsValidDate(datestring[])
  146. {
  147. static months[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, year, month, day;
  148. if (strlen(datestring) != 10) return 0;
  149. if (datestring[2] != '/' || datestring[5] != '/') return false;
  150.  
  151. if (datestring[6] < '1' || datestring[6] > '9') // you may change 9 to e.g 2 for allow only 1900-2999
  152. {
  153. return false;
  154. }
  155.  
  156. if (datestring[7] < '0' || datestring[7] > '9') return false;
  157. if (datestring[8] < '0' || datestring[8] > '9') return false;
  158. if (datestring[9] < '0' || datestring[9] > '9') return false;
  159. year = strval(datestring[6]);
  160. if (year % 4 == 0)
  161. {
  162. if (year % 100 == 0)
  163. {
  164. if (year % 400 == 0)
  165. {
  166. months[1] = 29;
  167. }
  168. }
  169. else months[1] = 29;
  170. }
  171.  
  172. if (datestring[3] == '0') // second (month)
  173. {
  174. if (datestring[4] < '1' || datestring[4] > '9') return false;
  175. month = datestring[4] - 48;
  176. }
  177. else if (datestring[3] == '1')
  178. {
  179. if (datestring[4] < '0' || datestring[4] > '2') return false;
  180. month = 10 + ( datestring[4] - 48 );
  181. }
  182. else return false;
  183.  
  184. if (datestring[0] == '0') // first (day)
  185. {
  186. if (datestring[1] < '1' || datestring[1] > '9') return false;
  187. day = datestring[1] - 48;
  188. }
  189. else if (datestring[0] == '1' || datestring[0] == '2' || datestring[0] == '3')
  190. {
  191. if (datestring[1] < '0' || datestring[1] > '9') return false;
  192. day = ( (datestring[0] - 48) * 10 ) + (datestring[1] - 48);
  193. }
  194. else return false;
  195.  
  196. if (months[(month - 1)] < day) return false;
  197. return true;
  198. }
  199.  
  200. stock AgeOfPlayer(playerid)
  201. {
  202. new DateInfo[3][20], jahr, monat, tag;
  203. split(Spieler[playerid][pGeburtstag],DateInfo,'.');
  204. getdate(jahr,monat,tag);
  205. new check = jahr - strval(DateInfo[2]);
  206. if(strval(DateInfo[1]) > monat)
  207. {
  208. check -= 1;
  209. }
  210. else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
  211. {
  212. check -= 1;
  213. }
  214. return check;
  215. }
  216.  
  217. public Persoantrag(playerid)
  218. {
  219. sInfo[playerid][pantrag] = 1;
  220. }
Advertisement
Add Comment
Please, Sign In to add comment