// https://rathena.org/board/topic/109442-sql-to-npc-how/ /* ALTER TABLE `login` ADD `code` VARCHAR(50) NOT NULL DEFAULT ''; CREATE TABLE IF NOT EXISTS `e_code_list` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `code` VARCHAR(50) NOT NULL DEFAULT '', PRIMARY KEY (`id`), UNIQUE KEY `code` (`code`) ) ENGINE=MyISAM; */ - script sample -1,{ OnPCLoginEvent: .@aid = getcharid(3); query_sql( "SELECT `code` FROM `login` WHERE `account_id` = "+.@aid, .@code$ ); if ( .@code$ == "" ) { mes "Please enter your verification code."; input .@input_code$; query_sql( "SELECT `id` FROM `e_code_list` WHERE `code` = '"+escape_sql( .@input_code$ )+"' LIMIT 1",.@code_id ); if ( .@code_id ) { query_sql( "SELECT `account_id` FROM `login` WHERE `code` = '"+escape_sql( .@input_code$ )+"'", .@account_id ); if ( .@account_id ) { mes "Someone already used this code."; } else { query_sql( "UPDATE `login` SET `code` = '"+escape_sql( .@input_code$ )+"' WHERE `account_id` = "+.@aid, .@code$ ); mes "Verification completed."; close; } } else { mes "Invalid code."; } sleep2 5000; atcommand "@kick "+strcharinfo(0); } end; }