Advertisement
Emistry

[RO] Verification Code - Authorize Account Login

Feb 18th, 2017
472
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. // https://rathena.org/board/topic/109442-sql-to-npc-how/
  2.  
  3. /*
  4.  
  5. ALTER TABLE `login` ADD `code` VARCHAR(50) NOT NULL DEFAULT '';
  6.  
  7. CREATE TABLE IF NOT EXISTS `e_code_list` (
  8. `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  9. `code` VARCHAR(50) NOT NULL DEFAULT '',
  10. PRIMARY KEY (`id`),
  11. UNIQUE KEY `code` (`code`)
  12. ) ENGINE=MyISAM;
  13.  
  14. */
  15.  
  16.  
  17. - script sample -1,{
  18.  
  19. OnPCLoginEvent:
  20. .@aid = getcharid(3);
  21. query_sql( "SELECT `code` FROM `login` WHERE `account_id` = "+.@aid, .@code$ );
  22. if ( .@code$ == "" ) {
  23. mes "Please enter your verification code.";
  24. input .@input_code$;
  25. query_sql( "SELECT `id` FROM `e_code_list` WHERE `code` = '"+escape_sql( .@input_code$ )+"' LIMIT 1",.@code_id );
  26. if ( .@code_id ) {
  27. query_sql( "SELECT `account_id` FROM `login` WHERE `code` = '"+escape_sql( .@input_code$ )+"'", .@account_id );
  28. if ( .@account_id ) {
  29. mes "Someone already used this code.";
  30. }
  31. else {
  32. query_sql( "UPDATE `login` SET `code` = '"+escape_sql( .@input_code$ )+"' WHERE `account_id` = "+.@aid, .@code$ );
  33. mes "Verification completed.";
  34. close;
  35. }
  36. }
  37. else {
  38. mes "Invalid code.";
  39. }
  40. sleep2 5000;
  41. atcommand "@kick "+strcharinfo(0);
  42. }
  43. end;
  44.  
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement