Jump to content

Question

2 answers to this question

Recommended Posts

  • 0
Posted (edited)

global_reg_value is an old table that is not exists anymore

you will need to update/change your script or use an old rathena (2015 or less)

i would say put the script or the sql part here to see if me or someone else can fix it

Edited by sader1992
  • 0
Posted
1 hour ago, sader1992 said:

global_reg_value is an old table that is not exists anymore

you will need to update/change your script or use an old rathena (2015 or less)

i would say put the script or the sql part here to see if me or someone else can fix it

function	script	f_vend_house	{

        if($varglo & getarg(0)) goto L_Purchased;

        mes "[Vendeur de maison]";

        mes "Would you like to buy this house?";

        mes "It costs "+getarg(4)+" zeny.";

        next;

        

        if(select("Yes:No")-1) {

                mes "[Vendeur de maison]";

                mes "Maybe next time then... Good luck!";

                close;

        }

        

        if(zeny < getarg(4)) {

                mes "[Vendeur de maison]";

                mes "You don't have enough zeny!";

                close;

        }

        

        set Zeny,Zeny-getarg(4);

        set $varglo,$varglo | getarg(0);

        set varglo, varglo | getarg(0);

        mes "Please input your character name to seal the deal!";

        input(.@a$);

        announce strcharinfo(0)+" just bought "+getarg(5)+"!",8;

        donpcevent(getarg(7)+"::OnInit");

        close;

        

L_Purchased:

        if(varglo & getarg(0)) {

                mes "[Vendeur de maison]";

                mes "What would you like to do?";

                set .@menu$, "Warp:"+

                (getarg(6)&1?"^FF0000Deny":"^0000FFAllow")+"^000000 Public:"+

                (getarg(6)&2?"^FF0000Deny":"^0000FFAllow")+"^000000 Friends:"+

                (getarg(6)&4?"^FF0000Deny":"^0000FFAllow")+"^000000 Guild Members:"+

                (getarg(6)&8?"^FF0000Deny":"^0000FFAllow")+"^000000 Party Members:"+

                (getarg(6)<0?"^0000FFStop Selling":"^FF0000Sell")+"^000000:Abandon:End";

                next;

                switch(select(.@menu$)) {

                        case 1: break;

                        case 2: return 1;

                        case 3: return 2;

                        case 4: return 4;

                        case 5: return 8;

                        case 6: 

                                if(getarg(6)>=0) {

                                        mes "[Vendeur de maison]";

                                        mes "How much would you like to sell this mansion for?";

                                        next;

                                        input(.@a);

                                        mes "[Vendeur de maison]";

                                        mes "Are you sure you want to sell "+getarg(5)+" for "+.@a+" Zeny?";

                                        next;

                                        if(select("Yes:No")-1) {

                                                mes "[Vendeur de maison]";

                                                mes "Wow that was a close one!";

                                                next;

                                                goto "L_Purchased";

                                        }

                                        close2;

                                        set(@mode,.@a);

                                        return -1;

                                } else {

                                        mes "[Vendeur de maison]";

                                        mes "Do you really want to stop selling this address?";

                                        next;

                                        if(select("Yes:No")-1) {

                                                mes "[Vendeur de maison]";

                                                mes "Wow that was a close one!";

                                                next;

                                                goto "L_Purchased";

                                        }

                                        close2;

                                        set(@mode,-1);

                                        return 0;

                                }

                        case 7: 

                                mes "[Vendeur de maison]";

                                mes "Are you sure you want to abandon this house?";

                                mes "You forfeit any rights to this property and zeny.";

                                next;

                                if(select("Yes:No")-1) {

                                        mes "[Vendeur de maison]";

                                        mes "Wow that was a close one!";

                                        next;

                                        goto "L_Purchased";

                                }

                                set(@mode,.@a);

                                set varglo, varglo-getarg(0);

                                set $varglo, $varglo-getarg(0);

                                donpcevent(getarg(7)+"::OnInit");

                                mes "[Vendeur de maison]";

                                mes "House successfully abandoned!";

                                close2;

                                return -1;

                        case 8: close;

                }

        }

        if(getarg(6)<0) {

                mes "[Vendeur de maison]";

                mes "This area seems to be for sale by the owner for "+getarg(4)+"z";

                next;

                

                if(select("I'll take it!:No way...")-1) {

                        mes "[Vendeur de maison]";

                        mes "Maybe next time then... Good luck!";

                        close;

                }

                

                if(zeny < getarg(4)) {

                        mes "[Vendeur de maison]";

                        mes "You don't have enough zeny!";

                        close;

                }

                set .@a, query_sql(

                        "SELECT `char`.`account_id`, `global_reg_value`.`char_id` "+

                        "FROM `global_reg_value` "+

                        "INNER JOIN `char` "+

                        "ON `global_reg_value`.`char_id`=`char`.`char_id` "+

                        "WHERE "+getarg(0)+"&`global_reg_value`.`value`>0 AND `global_reg_value`.`str`='varglo'"

                        ,.@aid,.@cid

                );

                if(.@a) {

                        set Zeny,Zeny-getarg(4);

                        set varglo, varglo | getarg(0);

                        set(.@tmp_aid,getcharid(3));

                        if(isloggedin(.@aid,.@cid)) {

                                attachrid(.@aid);

                                set varglo, varglo-getarg(0);

                                set Zeny,Zeny+getarg(4);

                                dispbottom getarg(5)+" just sold for "+getarg(4)+"z!";

                        } else {

                                query_sql(

                                        "UPDATE `global_reg_value` "+

                                        "SET `value`=`value`-"+getarg(0)+" "+

                                        "WHERE `char_id`="+.@cid+";"

                                );

                                set(@recovery,.@aid);

                                set(@cash_bak,getarg(4));

                                doevent("cash_money::OnLogEvent");

                        }

                        attachrid(.@tmp_aid);

                        mes "[Vendeur de maison]";

                        mes getarg(5)+" purchased successfully!";

                        announce strcharinfo(0)+" just bought "+getarg(5)+"!",8;

                        close2;

                        set(@mode,-1);

                        return;

                }

        }

        

        set .@a, query_sql(

                "SELECT `char`.`account_id`, `global_reg_value`.`char_id`, `char`.`name`, `char`.`party_id` "+

                "FROM `global_reg_value` "+

                "INNER JOIN `char` "+

                "ON `global_reg_value`.`char_id`=`char`.`char_id` "+

                "WHERE "+getarg(0)+"&`global_reg_value`.`value`>0 AND `global_reg_value`.`str`='varglo'"

                ,.@aid,.@cid,.@name$,.@pid

        );

        

        

        set .@group,.@group|1;

        query_sql("SELECT `friend_id` FROM `friends` WHERE `char_id`="+.@cid+";",.@fid);

        for(set(.@y,0);.@y<getarraysize(.@fid);set(.@y,.@y+1)) {

                if(getcharid(0)==.@fid[.@y]) {

                        set .@group,.@group|2;

                }

        }

        

        if(getguildmaster(getcharid(2))==.@name$)

                set .@group,.@group|4;

                

        if(getcharid(1)==.@pid)

                set .@group,.@group|8;

        

        if(getarg(6) & .@group || varglo & getarg(0))

                warp getarg(1),getarg(2),getarg(3);

 

        mes "[Vendeur de maison]";

        mes "This house has already been purchased.";

        close;

}

 

-	script	cash_money	-1,{

OnLogEvent:

        set(.recovery[getarraysize(.recovery)],@recovery);

        set(.cash_bak[getarraysize(.cash_bak)],@cash_bak);

        set(@recovery,0);

        set(@cash_bak,0);

        end;

 

OnPCLoginEvent:

        sleep2 2000;

        while(.@i<getarraysize(.recovery)) {

                if(.recovery[.@i]==getcharid(3)) {

                        set(.@h,.@h+1);

                        set(.@t,.@t+.cash_bak[.@i]);

                        set Zeny,Zeny+.cash_bak[.@i];

                        deletearray .recovery[.@i],1;

                        deletearray .cash_bak[.@i],1;

                        set(.@i,.@i-1);

                }

                set .@i,.@i+1;

        }

        if(.@h)

                dispbottom "While you were gone you sold "+.@h+" house(s) and made "+.@t+" zeny!";

}

 

prontera,165,168,5	script	Door#1	76,{

        set(.@a,f_vend_house(.a,.warp$,.cords[0],.cords[1],.price,.name$,.status,strnpcinfo(0)));

        if(.status&.@a&&.status>0) set(.status,.status-.@a); 

        else if(.status>=0) set(.status,.status|.@a); 

        if( .@a==-1 ) { delwaitingroom; waitingroom "For Sale: "+@mode+"z",0; set .price, @mode; }

        if( @mode<0 ) { delwaitingroom; waitingroom .name$,0; set .status,.status*-1; }

        set(@mode,0);

        end;

        

OnInit:

        //-------Config--------

        set .price, 10000000;

        set .name$, "Jawaii Manor";

        set .warp$, "jawaii_in";

        setarray .cords, 115, 63;

        //----------------------

        

        for(set(.a,1);.a<atoi(strnpcinfo(2));set(.a,.a+.a));

        delwaitingroom;

        waitingroom ($varglo&.a?.name$:"For Sale: "+.price+"z"),0;

}

 

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.   Paste as plain text instead

  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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...