Issue information

Issue ID
#1045
Status
Fixed
Severity
Critical
Started
Hercules Elf Bot
Feb 24, 2008 17:19
Last Post
Hercules Elf Bot
Feb 24, 2008 17:19
Confirmation
N/A

Hercules Elf Bot - Feb 24, 2008 17:19

Originally posted by [b]Cyberdemon87[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=1045

i discovered there is a bug in the script of the kafra that buys back the now unused Kafra Passes

CODE
aldeba_in,84,166,4    script    Kafra Service#alde    117,{
    cutin "kafra_01",2;
    mes "[Kafra Pavianne]";
    mes "Welcome! I'm Pavianne,";
    mes "one of the senior Kafra Employees. The Kafra Corporation Service is always trying to satisfy 100 % of our customers' expectations.";
    next;
    mes "[Kafra Pavianne]";
    mes "Due to a change in customer support policy, we no longer accept Kafra Passes. However, we are offering refunds for our customers who still possess these passes.";
    next;
    if (select("Sell Kafra Pass:Alright, bye~") == 1) {
        if (countitem(1084) == 0) {
            mes "[Kafra Pavianne]";
            mes "I'm sorry,";
            mes "but you don't";
            mes "have any Kafra Passes.";
            close2;
            cutin "",255;
            end;
        }
        else {
            set .@kafrapassmoney,countitem(1084)*2000;
            mes "[Kafra Pavianne]";
            mes "Let's see...";
            if (countitem(1084) == 1) {
                mes "You have 1 Kafra Pass.";
                mes "You can sell that pass to us for 2000 zeny. Would you like to sell this Kafra Pass back to the Kafra Corporation?";
            }
            else {
                mes "You have "+ countitem(1084) +" Kafra Passes.";
                mes "If you want to sell them to us, you will receive "+ .@kafrapassmoney +" zeny. Would you like to sell these back to the Kafra Corporation?";
            }
            next;
            if (select("Yes:No") == 1) {
                if (countitem(1084) == 0) {
                    mes "[Kafra Pavianne]";
                    mes "I'm sorry, but you don't have any Kafra Passes.";
                    close2;
                    cutin "",255;
                    end;
                }
                delitem 1084,kafrapass; //Kapra's_Pass
                set Zeny,Zeny+.@kafrapassmoney;
                mes "[Kafra Pavianne]";
                mes "Thank you.";
            }
            close2;
            cutin "",255;
            end;
        }
    }
    mes "[Kafra Pavianne]";
    mes "Thank you,";
    mes "have a good day.";
    close2;
    cutin "",255;
    end;
}


She is supposed to give you 2k per pass and then delete the items, but if you look carefully:

CODE
delitem 1084,kafrapass; //Kapra's_Pass


the number of item to delete is (not?) stored in a variable (kafrapass) that is never used anywhere else in the script, so always equals 0...

and because of this, items are never deleted and you can talk to her again and again you always get money...

This post has been edited by Cyberdemon87: Feb 29 2008, 07:27 AM