change your whole OnClaim part into this
OnClaim:
mes "^FF0000 Enter your promotional code.";
input .@pc$;
close2;
if( query_sql("SELECT nameid,amount FROM `reward_codes` WHERE `code`='"+escape_sql(.@pc$)+"'",.@item,.@amt) == 0 ){
dispbottom "Invalid promotional code.";
}
else if( query_logsql("SELECT code,account_id FROM `rewardlogs` WHERE `code`='"+escape_sql(.@pc$)+"' AND `account_id`='"+getcharid(3)+"'",.@code$,.@aid ) ){
dispbottom "You already claimed this promotional code.";
}
else if( query_logsql("SELECT code,allow_multiple FROM `reward_codes` WHERE `code`='"+escape_sql(.@pc$)+"' AND `allow_multiple`='1'",.@code$,.@multi ) ){
getitem .@item,.@amt;
dispbottom "Promotional code successfully redeemed.";
query_sql ("SELECT COUNT(code) FROM `reward_codes` WHERE `code`='"+escape_sql(.@pc$)+"'", .@pcode_exists);
if(.@pcode_exists){
query_sql ("DELETE FROM `reward_codes` WHERE `code`='"+escape_sql(.@pc$)+"'");
}
else{
dispbottom "Promotional code not found.";
}
end;
}
else if( query_logsql("SELECT code,allow_multiple FROM `reward_codes` WHERE `code`='"+escape_sql(.@pc$)+"' AND `allow_multiple`='0'",.@code$,.@multi ) ){
getitem .@item,.@amt; dispbottom "Promotional code successfully redeemed.";
query_logsql("INSERT INTO `rewardlogs` (code,redeem_time,account_id) VALUES ('"+.@pc$+"',NOW(),"+getcharid(3)+")");
}
dispbottom "Rugby is not for everyone!";
end;