Jump to content
  • 0
Sign in to follow this  
mhiel012

Help Donation codes!!!

Question

 

// ===== Donation Npc 1.0 ===================== //
// ===== Credits : Jhosef and trOn ============ //
// ===== Change Logs ========================== //
// ============================================ //
 
 
 
// ==== NPC Location ========================== // 
prontera,146,172,5    script    TopUp    807,{
 
// === Configuration ========================== //
    set .gms_level, 99;
    set .code_length,10; // Length for the Donation Code
    set .code_length2,3; // Length for the Validation Code
    set .donate_item, 7179; // Donation Item
    set .@itemORcash, 0; // 0 for Item or 1 for Cash Point
    set .@npc_name$, "TopUp";
    setarray .coupon_code$[0],"A","B","C","D","E","F","G","H","I","J","K","L",
                              "M","N","O","P","Q","R","S","T","U","V","W","X",
                              "Y","Z","0","1","2","3","4","5","6","7","8","9";
                            
    setarray .validation_code$[0],"A","B","C","D","E","F","G","H","I","J","K","L",
                              "M","N","O","P","Q","R","S","T","U","V","W","X",
                              "Y","Z","0","1","2","3","4","5","6","7","8","9";
 
                            
// ==== NPC Talk ============================== //
    if( getgmlevel() >= .gms_level) goto AdminPanel;
    if( getgmlevel() < .gms_level) goto PlayerPanel;
    
// ==== Don't Edit This ======================= //
    set .@stats$,"0";
// ==== Admin Panel =========================== //
    AdminPanel:
    
    mes .@npc_name$;
    mes "Welcome " + strcharinfo(0) + ".";
    next;
    switch(select("Add Redeem Code:Player View:Exit"))
        {
            case 1:
                for(set @i, 0; @i < .code_length; set @i, @i+1)
                {
                    set @random_char, rand(0,(getarraysize(.coupon_code$)-1));
                    set @new_donation$, @new_donation$ + .coupon_code$[@random_char];
                }
                
                for(set @i, 0; @i< .code_length2; set @i, @i+1)
                {
                    set @random_char, rand(0,(getarraysize(.validation_code$)-1));
                    set @new_validation$, @new_validation$ + .validation_code$[@random_char];
                }
                mes .@npc_name$;
                mes "Enter Item Amount:";
                input @donate_amount;
                next;
                mes .@npc_name$;
                mes "Coupon added.";
                
                query_sql "INSERT INTO `donate` (`code`, `item_amount`,`validation_code`,`status`) VALUES ('"+@new_donation$+"', "+@donate_amount+", '"+@new_validation$+"' , '"+.@stats$+"')";
                set @new_donation$, "";
                set @new_validation$, "";
                next;        
                mes "This is the list of code logs";
                query_sql "SELECT `code` , `item_amount` , `validation_code` , `status` FROM `donate` ORDER BY `code` DESC", .@codelist$, .@status$, .@validation$;
                if(.@codelist)
                {
                    mes .@npcname$;
                    mes "There are no entrys in the Code List.";
                    close;
                
                else 
                {
                    next;
                    mes .@npcname$;
                    mes "The list will spawn at your main chat box.";
                    dispbottom "Codelist | Amount | Validation";
                    for(set @ei,0; @ei < getarraysize(.@codelist$); set @ei,@ei + 1) 
                    {
                        dispbottom ""+.@codelist$[@ei]+" | "+.@status$[@ei]+" | "+.@validation$[@ei]+" "; 
                    }                    
                }
                next;
                close;
                
            case 2:
                goto PlayerPanel;
            case 3:
                mes .@npc_name$;
                mes "Have a nice day.";
                close;
        }
    
 
// ==== Player Panel ========================== //
PlayerPanel:
 
    mes .@npc_name$;
    mes "Welcome to the Redeeming System. How can I help you?";
    next;
    switch(Select("View My Redeem Code:Enter My Redeem Code:Exit"))
    {
        case 1:
            mes .@npc_name$;
            mes "Please enter your Validation Code:";
            input @my_code$;
            next;
            query_sql "SELECT `validation_code` FROM `donate` WHERE `validation_code` = '"+@my_code$+"'", @available_code$;
            next;
            
                if(@my_code$ == @available_code$)
                {
                    query_sql "SELECT `code` FROM `donate` WHERE `validation_code` = '"+@my_code$+"'", @available_code2$;
                    mes .@npc_name$;
                    mes "Your Redeem Code is : [^FF7700"  + @available_code2$+ "^000000].";
                    close2;
                    end;
                }
                else
                {
                mes .@npc_name$;
                mes "Your Validation Code is Invalid.";
                close;
                }
            
        case 2:
            mes .@npc_name$;
            mes "Please enter your Redeem Code:";
            input @donate_code$;
            next;
            query_sql "SELECT `code` FROM `donate` WHERE `code` = '"+@donate_code$+"'", @donation_code$;
            query_sql "SELECT `status` FROM `donate` WHERE `code` = '"+@donate_code$+"'", @donate_status;
            if(strtoupper(@donate_code$)==@donation_code$ && @donate_status == 0)
            {
                if( .itemORcash == 0)
                {
                    query_sql "SELECT `item_amount` FROM `donate` WHERE `code` = '"+@donate_code$+"'", @Donation_Code$;
                    mes .@npc_name$;
                    mes "You get ^0000FF" + getitemname(.donate_item) + " - " + @Donation_Code$ + " ea.^000000";
                    query_sql "UPDATE `donate` SET `status`=1 WHERE `code`='"+@donate_code$+"'";
                    emotion e_thx;
                    close2;
                    //query_sql "DELETE FROM `donate` WHERE `code`='"+@donate_code$+"'";
                    getitem .donate_item,@Donation_Code$;
                    end;
                }
                else
                {
                    query_sql "SELECT `item_amount` FROM `donate` WHERE `code` = '"+@donate_code$+"'", @Donation_Code$;
                    mes .@npc_name$;
                    mes "You get ^0000FF" + @Donation_Code$ + " Cash Point.^000000";
                    query_sql "UPDATE `donate` SET `status`=1 WHERE `code`='"+@donate_code$+"'";
                    emotion e_thx;
                    close2;
                    //query_sql "DELETE FROM `donate` WHERE `code`='"+@donate_code$+"'";
                    set #CASHPOINTS, @Donation_Code$;
                    end;
                
                }
            }
            else
            {
                mes .@npc_name$;
                mes "This Redeem Code doesn't exist.";
                close;
            }
            
        case 3:
            mes .@npc_name$;
            mes "Have a nice day.";
            close;
    }
 
// ============================================ //
 
OnInit:
    query_sql "CREATE TABLE IF NOT EXISTS `donate` (`code` TINYTEXT NOT NULL, `item_amount` INT NOT NULL, `validation_code` TEXT NOT NULL, `status` TEXT NOT NULL, INDEX `code` (`code`(32)) ) ENGINE=MyISAM";
    query_sql "CREATE TABLE IF NOT EXISTS `donation` (`name` TEXT NOT NULL, `code` TEXT NOT NULL, `item_amount` INT NOT NULL, `validation_code` TEXT NOT NULL, INDEX `code` (`code`(32)) ) ENGINE=MyISAM";
 
}

help i find this on rathena... need same this npc but for herc. thx

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

try this one

// ===== Donation Npc 1.0 ===================== //
// ===== Credits : Jhosef and trOn ============ //
// ===== Change Logs ========================== //
// ============================================ //
 
// ==== NPC Location ========================== // 
prontera,146,172,5	script	TopUp	1_M_SIGNMCNT,{
 
// === Configuration ========================== //
    set .gms_level, 99;
    set .code_length,10; // Length for the Donation Code
    set .code_length2,3; // Length for the Validation Code
    set .donate_item, 7179; // Donation Item
    set .@itemORcash, 0; // 0 for Item or 1 for Cash Point
    set .@npc_name$, "TopUp";
    setarray .coupon_code$[0],"A","B","C","D","E","F","G","H","I","J","K","L",
                              "M","N","O","P","Q","R","S","T","U","V","W","X",
                              "Y","Z","0","1","2","3","4","5","6","7","8","9";
                            
    setarray .validation_code$[0],"A","B","C","D","E","F","G","H","I","J","K","L",
                              "M","N","O","P","Q","R","S","T","U","V","W","X",
                              "Y","Z","0","1","2","3","4","5","6","7","8","9";
 
                            
// ==== NPC Talk ============================== //
    if(getgmlevel() >= .gms_level) goto AdminPanel;
    if(getgmlevel() < .gms_level) goto PlayerPanel;
    
// ==== Don't Edit This ======================= //
    set .@stats$,"0";
// ==== Admin Panel =========================== //
    AdminPanel:
    
    mes .@npc_name$;
    mes "Welcome " + strcharinfo(0) + ".";
    next;
    switch(select("Add Redeem Code:Player View:Exit")){
        case 1:
            for(set @i, 0; @i < .code_length; set @i, @i+1){
                set @random_char, rand(0,(getarraysize(.coupon_code$)-1));
                set @new_donation$, @new_donation$ + .coupon_code$[@random_char];
            }
            
            for(set @i, 0; @i< .code_length2; set @i, @i+1){
                set @random_char, rand(0,(getarraysize(.validation_code$)-1));
                set @new_validation$, @new_validation$ + .validation_code$[@random_char];
            }
            mes .@npc_name$;
            mes "Enter Item Amount:";
            input @donate_amount;
            next;
            mes .@npc_name$;
            mes "Coupon added.";
            
            query_sql "INSERT INTO `donate` (`code`, `item_amount`,`validation_code`,`status`) VALUES ('"+@new_donation$+"', "+@donate_amount+", '"+@new_validation$+"' , '"+.@stats$+"')";
            set @new_donation$, "";
            set @new_validation$, "";
            next;        
            mes "This is the list of code logs";
            query_sql "SELECT `code` , `item_amount` , `validation_code` , `status` FROM `donate` ORDER BY `code` DESC", .@codelist$, .@status$, .@validation$;
            if(.@codelist){
                mes .@npcname$;
                mes "There are no entrys in the Code List.";
                close;
            } else {
                next;
                mes .@npcname$;
                mes "The list will spawn at your main chat box.";
                dispbottom "Codelist | Amount | Validation";
                for(set @ei,0; @ei < getarraysize(.@codelist$); set @ei,@ei + 1){
                    dispbottom ""+.@codelist$[@ei]+" | "+.@status$[@ei]+" | "+.@validation$[@ei]+" "; 
                }                    
            }
            next;
            close;
            
        case 2:
            goto PlayerPanel;
        case 3:
            mes .@npc_name$;
            mes "Have a nice day.";
            close;
    }
    
 
// ==== Player Panel ========================== //
PlayerPanel:
 
    mes .@npc_name$;
    mes "Welcome to the Redeeming System. How can I help you?";
    next;
    switch(select("View My Redeem Code:Enter My Redeem Code:Exit"))
    {
        case 1:
            mes .@npc_name$;
            mes "Please enter your Validation Code:";
            input @my_code$;
            next;
            query_sql "SELECT `validation_code` FROM `donate` WHERE `validation_code` = '"+@my_code$+"'", @available_code$;
            next;
            
                if(@my_code$ == @available_code$){
                    query_sql "SELECT `code` FROM `donate` WHERE `validation_code` = '"+@my_code$+"'", @available_code2$;
                    mes .@npc_name$;
                    mes "Your Redeem Code is : [^FF7700"  + @available_code2$+ "^000000].";
                    close2;
                    end;
                } else {
                mes .@npc_name$;
                mes "Your Validation Code is Invalid.";
                close;
                }
            
        case 2:
            mes .@npc_name$;
            mes "Please enter your Redeem Code:";
            input @donate_code$;
            next;
            query_sql "SELECT `code` FROM `donate` WHERE `code` = '"+@donate_code$+"'", @donation_code$;
            query_sql "SELECT `status` FROM `donate` WHERE `code` = '"+@donate_code$+"'", @donate_status;
            if(strtoupper(@donate_code$) == @donation_code$ && @donate_status == 0){
                if(.itemORcash == 0){
                    query_sql "SELECT `item_amount` FROM `donate` WHERE `code` = '"+@donate_code$+"'", @donation_code$;
                    mes .@npc_name$;
                    mes "You get ^0000FF" + getitemname(.donate_item) + " - " + @donation_code$ + " ea.^000000";
                    query_sql "UPDATE `donate` SET `status`=1 WHERE `code`='"+@donate_code$+"'";
                    emotion e_thx;
                    close2;
                    //query_sql "DELETE FROM `donate` WHERE `code`='"+@donate_code$+"'";
                    getitem .donate_item,@donation_code$;
                    end;
                } else {
                    query_sql "SELECT `item_amount` FROM `donate` WHERE `code` = '"+@donate_code$+"'", @donation_code$;
                    mes .@npc_name$;
                    mes "You get ^0000FF" + @donation_code$ + " Cash Point.^000000";
                    query_sql "UPDATE `donate` SET `status`=1 WHERE `code`='"+@donate_code$+"'";
                    emotion e_thx;
                    close2;
                    //query_sql "DELETE FROM `donate` WHERE `code`='"+@donate_code$+"'";
                    set #CASHPOINTS, @donation_code$;
                    end;
                
                }
            } else {
                mes .@npc_name$;
                mes "This Redeem Code doesn't exist.";
                close;
            }
            
        case 3:
            mes .@npc_name$;
            mes "Have a nice day.";
            close;
    }
 
// ============================================ //
 
OnInit:
    query_sql "CREATE TABLE IF NOT EXISTS `donate` (`code` TINYTEXT NOT NULL, `item_amount` INT NOT NULL, `validation_code` TEXT NOT NULL, `status` TEXT NOT NULL, INDEX `code` (`code`(32)) ) ENGINE=MyISAM";
    query_sql "CREATE TABLE IF NOT EXISTS `donation` (`name` TEXT NOT NULL, `code` TEXT NOT NULL, `item_amount` INT NOT NULL, `validation_code` TEXT NOT NULL, INDEX `code` (`code`(32)) ) ENGINE=MyISAM";
 
}

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.