Advertisement
Guest User

Untitled

a guest
May 4th, 2019
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.64 KB | None | 0 0
  1. /*
  2. @ ZG Register & Login System (Basic)
  3. @ Author: Deksa/Xalazy/Lynzi/Joey/Martinez (xP)
  4. @ Credits: Y_Less, Samp forums and others..
  5. @ Language: Serbian
  6. */
  7. //#########//
  8. #include "a_samp"
  9. #include "YSI\y_INI"
  10. //#########//
  11. SendClientMessageEx(id, color, const fmt[], va_args<>)
  12. {
  13. new str[128];
  14. va_format(str, sizeof str, fmt, va_start<3>);
  15. return SendClientMessage(id, color, str);
  16. }
  17. #define ZGAMING "{0099CC}"
  18. #define martinez_message(%0,%1) SendClientMessageEx(%0, -1, "{FFFFFF}"%1)
  19. #define PATH "/players/%s.ini"
  20. enum {
  21. dialog_REGISTER,
  22. dialog_EMAIL,
  23. dialog_GODINE,
  24. dialog_DRZAVA,
  25. dialog_SPOL,
  26. dialog_SKIN,
  27. dialog_LOGIN
  28. }
  29. enum PLAYER_ENUM {
  30. xPassword[50],
  31. xEmail[50],
  32. xDrzava,
  33. xGodine,
  34. xSpol,
  35. xSkin
  36. }
  37. static PI[ MAX_PLAYERS ][ PLAYER_ENUM ];
  38.  
  39. forward UcitajKorisnika( playerid, name[ ], value[ ] );
  40. public UcitajKorisnika( playerid, name[ ], value[ ] ) {
  41. INI_String( "Lozinka", PI[ playerid ][ xPassword ], 50 );
  42. INI_String( "Email", PI[ playerid ][ xEmail ], 50 );
  43. INI_Int( "Drzava", PI[ playerid ][ xDrzava ] );
  44. INI_Int( "Godine", PI[ playerid ][ xGodine ] );
  45. INI_Int( "Spol", PI[ playerid ][ xSpol ] );
  46. INI_Int( "Skin", PI[ playerid ][ xSkin ] );
  47. return true;
  48. }
  49.  
  50. stock SacuvajKorisnika( playerid ) {
  51. new INI:File = INI_Open( UserPath( playerid ));
  52. INI_SetTag( File, "data" );
  53. INI_WriteString( File, "Lozinka", PI[ playerid ][ xPassword ] );
  54. INI_WriteString( File, "Email", PI[ playerid ][ xEmail ] );
  55. INI_WriteInt( File, "Drzava", PI[ playerid ][ xDrzava ] );
  56. INI_WriteInt( File, "Godine", PI[ playerid ][ xGodine ] );
  57. INI_WriteInt( File, "Spol", PI[ playerid ][ xSpol ] );
  58. INI_WriteInt( File, "Skin", PI[ playerid ][ xSkin ] );
  59. INI_Close( File );
  60. return true;
  61. }
  62.  
  63. stock UserPath( playerid ) {
  64. new string[80];
  65. format(string,sizeof(string),PATH,GetName( playerid ));
  66. return string;
  67. }
  68.  
  69. static stock GetName( playerid ) {
  70. new name[ MAX_PLAYER_NAME ];
  71. GetPlayerName( playerid, name, sizeof( name ));
  72. return name;
  73. }
  74. //#########//
  75. main ( ) {
  76. for( new i = 0; i < 20; i++ ) print( " " );
  77. print( "@ZG - Mod ucitan" );
  78. print( "@ZG - Author: Martinez" );
  79. }
  80. public OnGameModeInit() {
  81. SetGameModeText( "@ZG - Basic" );
  82. return true;
  83. }
  84. //#########//
  85. public OnPlayerConnect( playerid ) {
  86. for( new i = 0; i < 20; i++ ) SendClientMessage( playerid, -1, " " );
  87. if( fexist( UserPath( playerid ))) {
  88. ShowPlayerDialog( playerid, dialog_LOGIN, DIALOG_STYLE_PASSWORD,
  89. ""ZGAMING"ZYME GAMING - {FFFFFF}PRIJAVA",
  90. "\n"ZGAMING"- {FFFFFF}U prazno polje ispod unesite vasu lozinku.",
  91. "Potvrdi", "Quit" );
  92. } else {
  93. ShowPlayerDialog( playerid, dialog_REGISTER, DIALOG_STYLE_PASSWORD,
  94. ""ZGAMING"ZYME GAMING - {FFFFFF}REGISTRACIJA",
  95. "\n"ZGAMING"- {FFFFFF}U prazno polje ispod unesite vasu zeljenu lozinku.",
  96. "Potvrdi", "Quit" );
  97. }
  98. return true;
  99. }
  100. public OnPlayerDisconnect(playerid, reason) {
  101. SacuvajKorisnika( playerid );
  102. }
  103. //#########//
  104. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  105. if( dialogid == dialog_LOGIN ) {
  106. if( !response ) return Kick( playerid );
  107. if( !strcmp( inputtext, PI[ playerid ][ xPassword ], false ) && !isnull( inputtext ) ) {
  108. INI_ParseFile( UserPath( playerid ), "UcitajKorisnika", .bExtra = true, .extra = playerid );
  109. SetSpawnInfo(playerid, 0, PI[ playerid ][ xSkin ], 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0 );
  110. SpawnPlayer(playerid);
  111. SetPlayerSkin( playerid, PI[ playerid ][ xSkin ] );
  112. martinez_message( playerid, ""ZGAMING"ZG: {FFFFFF}%s, uspesno ste se ulogovali, vas ID: ["ZGAMING"%d{FFFFFF}]", GetName( playerid ), playerid );
  113. } else {
  114. ShowPlayerDialog( playerid, dialog_LOGIN, DIALOG_STYLE_PASSWORD,
  115. ""ZGAMING"ZYME GAMING - {FFFFFF}PRIJAVA",
  116. "\n"ZGAMING"- {FFFFFF}U prazno polje ispod unesite vasu lozinku.",
  117. "Potvrdi", "Quit" );
  118. GameTextForPlayer( playerid, "~r~POGRESNA LOZINKA !", 3000, 3 );
  119. }
  120. }
  121. if( dialogid == dialog_REGISTER ) {
  122. if( !response ) return Kick( playerid );
  123. if( strval( inputtext ) < 0 || strval( inputtext ) > 8 ) return GameTextForPlayer( playerid, "~w~MINIMALNO 1, MAXIMALNO 8 ZNAKOVA !", 3000, 3 );
  124. /*new INI:File = INI_Open(UserPath( playerid));
  125. INI_SetTag(File,"data");
  126. INI_WriteInt(File,"Lozinka",udb_hash(inputtext));
  127. INI_Close(File);*/
  128. strmid( PI[ playerid ][ xPassword ], inputtext, 0, strlen( inputtext ), 50);
  129. ShowPlayerDialog( playerid, dialog_DRZAVA, DIALOG_STYLE_LIST,
  130. ""ZGAMING"ZYME GAMING - {FFFFFF}DRZAVA",
  131. "Srbija\nBosna\nCrna Gora\nHrvatska", "Potvrdi", "Izlaz" );
  132. }
  133. if( dialogid == dialog_DRZAVA ) {
  134. if( !response ) return Kick( playerid );
  135. switch( listitem ) {
  136. case 0: {
  137. PI[ playerid ][ xDrzava ] = 1, martinez_message( playerid, ""ZGAMING"ZG: {FFFFFF}Vi ste iz Srbije." );
  138. ShowPlayerDialog( playerid, dialog_EMAIL, DIALOG_STYLE_INPUT,
  139. ""ZGAMING"ZYME GAMING - {FFFFFF}E-MAIL",
  140. ""ZGAMING"- {FFFFFF}Unesite u prazno polje vasu e-mail adresu.", "Potvrdi", "Izlaz" );
  141. }
  142. case 1: {
  143. PI[ playerid ][ xDrzava ] = 2, martinez_message( playerid, ""ZGAMING"ZG: {FFFFFF}Vi ste iz Bosne." );
  144. ShowPlayerDialog( playerid, dialog_EMAIL, DIALOG_STYLE_INPUT,
  145. ""ZGAMING"ZYME GAMING - {FFFFFF}E-MAIL",
  146. ""ZGAMING"- {FFFFFF}Unesite u prazno polje vasu e-mail adresu.", "Potvrdi", "Izlaz" );
  147. }
  148. case 2: {
  149. PI[ playerid ][ xDrzava ] = 3, martinez_message( playerid, ""ZGAMING"ZG: {FFFFFF}Vi ste iz Crne Gore." );
  150. ShowPlayerDialog( playerid, dialog_EMAIL, DIALOG_STYLE_INPUT,
  151. ""ZGAMING"ZYME GAMING - {FFFFFF}E-MAIL",
  152. ""ZGAMING"- {FFFFFF}Unesite u prazno polje vasu e-mail adresu.", "Potvrdi", "Izlaz" );
  153. }
  154. case 3: {
  155. PI[ playerid ][ xDrzava ] = 4, martinez_message( playerid, ""ZGAMING"ZG: {FFFFFF}Vi ste iz Hrvatske." );
  156. ShowPlayerDialog( playerid, dialog_EMAIL, DIALOG_STYLE_INPUT,
  157. ""ZGAMING"ZYME GAMING - {FFFFFF}E-MAIL",
  158. ""ZGAMING"- {FFFFFF}Unesite u prazno polje vasu e-mail adresu.", "Potvrdi", "Izlaz" );
  159. }
  160. }
  161. }
  162. if( dialogid == dialog_EMAIL ) {
  163. if( !response ) return Kick( playerid );
  164. new emailp = strfind(inputtext, "@", true);
  165. if(strfind(inputtext,"%",true) != -1) return 0;
  166. if(emailp == -1) {
  167. GameTextForPlayer( playerid, "~r~E-MAIL NIJE VALIDAN !", 3000, 3 );
  168. ShowPlayerDialog( playerid, dialog_EMAIL, DIALOG_STYLE_INPUT,
  169. ""ZGAMING"ZYME GAMING - {FFFFFF}E-MAIL",
  170. ""ZGAMING"- {FFFFFF}Unesite u prazno polje vasu e-mail adresu.", "Potvrdi", "Izlaz" );
  171. }
  172. else {
  173. martinez_message( playerid, ""ZGAMING"ZG: {FFFFFF}Vasa e-mail adresa je "ZGAMING"%s",inputtext);
  174. new INI:File = INI_Open( UserPath( playerid ));
  175. INI_SetTag(File,"data");
  176. INI_WriteString(File, "Email", inputtext);
  177. PI[ playerid ][ xEmail ] = strval( inputtext );
  178. INI_Close(File);
  179. ShowPlayerDialog( playerid, dialog_GODINE, DIALOG_STYLE_INPUT,
  180. ""ZGAMING"ZYME GAMING - {FFFFFF}GODINE",
  181. ""ZGAMING"- {FFFFFF}U prazno polje unesite vas broj godina !",
  182. "Potvrdi", "Izlaz" );
  183. }
  184. }
  185. if( dialogid == dialog_GODINE ) {
  186. if( !response ) return Kick( playerid );
  187. PI[ playerid ][ xGodine ] = strval( inputtext );
  188. martinez_message( playerid, ""ZGAMING"%s, {FFFFFF}vi imate %d godina.", GetName( playerid ), inputtext );
  189. ShowPlayerDialog( playerid, dialog_SPOL, DIALOG_STYLE_MSGBOX,
  190. ""ZGAMING"ZYME GAMING - {FFFFFF}SPOL",
  191. ""ZGAMING"- {FFFFFF}Odaberite kog ste spola.", "Musko", "Zensko" );
  192. }
  193. if( dialogid == dialog_SPOL ) {
  194. if( !response ) {
  195. martinez_message( playerid, ""ZGAMING"ZG: {FFFFFF}Vi ste zenskog spola." );
  196. PI[ playerid ][ xSpol ] = 2;
  197. ShowPlayerDialog( playerid, dialog_SKIN, DIALOG_STYLE_LIST,
  198. ""ZGAMING"ZYME GAMING - {FFFFFF}SKIN",
  199. "Turistkinja (wtf)\nCrnkinja\nGradjanka\nObicna devojka", "Potvrdi", "Izlaz" );
  200. }
  201. martinez_message( playerid, ""ZGAMING"ZG: {FFFFFF}Vi ste muskog spola." );
  202. PI[ playerid ][ xSpol ] = 1;
  203. if( PI[ playerid ][ xSpol ] == 1 ) {
  204. ShowPlayerDialog( playerid, dialog_SKIN, DIALOG_STYLE_LIST,
  205. ""ZGAMING"ZYME GAMING - {FFFFFF}SKIN",
  206. "Turist\nCrnac\nGradjanin\nBelac sa kapuljacom", "Potvrdi", "Izlaz" );
  207. }
  208. if( PI[ playerid ][ xSpol ] == 2 ) {
  209. ShowPlayerDialog( playerid, dialog_SKIN, DIALOG_STYLE_LIST,
  210. ""ZGAMING"ZYME GAMING - {FFFFFF}SKIN",
  211. "Turistkinja (wtf)\nCrnkinja\nGradjanka\nObicna devojka", "Potvrdi", "Izlaz" );
  212. }
  213. }
  214. if( dialogid == dialog_SKIN ) {
  215. if( !response ) return Kick( playerid );
  216. switch( listitem ) {
  217. case 0: {
  218. if( PI[ playerid ][ xSpol ] == 1 ) {
  219. martinez_message( playerid, "Odabrali ste skin: Turista" );
  220. PI[ playerid ][ xSkin ] = 26;
  221. SetTimerEx( "KrajRegistracije", 500, false, "d", playerid );
  222. }
  223. if( PI[ playerid ][ xSpol ] == 2 ) {
  224. martinez_message( playerid, "Odabrali ste skin: Turistkinja" );
  225. PI[ playerid ][ xSkin ] = 141;
  226. SetTimerEx( "KrajRegistracije", 500, false, "d", playerid );
  227. }
  228. }
  229. case 1: {
  230. if( PI[ playerid ][ xSpol ] == 1 ) {
  231. martinez_message( playerid, "Odabrali ste skin: Crnac" );
  232. PI[ playerid ][ xSkin ] = 19;
  233. SetTimerEx( "KrajRegistracije", 500, false, "d", playerid );
  234. }
  235. if( PI[ playerid ][ xSpol ] == 2 ) {
  236. martinez_message( playerid, "Odabrali ste skin: Crnkinja" );
  237. PI[ playerid ][ xSkin ] = 139;
  238. SetTimerEx( "KrajRegistracije", 500, false, "d", playerid );
  239. }
  240. }
  241. case 2: {
  242. if( PI[ playerid ][ xSpol ] == 1 ) {
  243. martinez_message( playerid, "Odabrali ste skin: Gradjanin" );
  244. PI[ playerid ][ xSkin ] = 59;
  245. SetTimerEx( "KrajRegistracije", 500, false, "d", playerid );
  246. }
  247. if( PI[ playerid ][ xSpol ] == 2 ) {
  248. martinez_message( playerid, "Odabrali ste skin: Gradjanka" );
  249. PI[ playerid ][ xSkin ] = 76;
  250. SetTimerEx( "KrajRegistracije", 500, false, "d", playerid );
  251. }
  252. }
  253. case 3: {
  254. if( PI[ playerid ][ xSpol ] == 1 ) {
  255. martinez_message( playerid, "Odabrali ste skin: Belac sa kapuljacom" );
  256. PI[ playerid ][ xSkin ] = 29;
  257. SetTimerEx( "KrajRegistracije", 500, false, "d", playerid );
  258. }
  259. if( PI[ playerid ][ xSpol ] == 2 ) {
  260. martinez_message( playerid, "Odabrali ste skin: Obicna devojka" );
  261. PI[ playerid ][ xSkin ] = 12;
  262. SetTimerEx( "KrajRegistracije", 500, false, "d", playerid );
  263. }
  264. }
  265. }
  266. }
  267. return true;
  268. }
  269. //#########//
  270. forward KrajRegistracije( playerid );
  271. public KrajRegistracije( playerid ) {
  272. for( new i = 0; i < 20; i++ ) SendClientMessage( playerid, -1, " " );
  273. SetSpawnInfo(playerid, 0, PI[ playerid ][ xSkin ], 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0 );
  274. SpawnPlayer(playerid);
  275. martinez_message( playerid, ""ZGAMING"ZG: {FFFFFF}%s, uspesno ste se registrovali, vas ID: ["ZGAMING"%d{FFFFFF}]", GetName( playerid ), playerid );
  276. return true;
  277. }
  278. //#########//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement