Jump to content
  • 0
Sign in to follow this  
Gokhan

npc voteforpoints does not record points

Question

guys can anyone and help with this voteforpoints addon
https://github.com/sanasol/FluxCP_Addons-VoteForPoints
It worked fine but the npc does not record the points,

example: I voted for topragnarok there
inside the server it does not count the points is 0

 



prontera,150,150,4    script    VFP Manager    62,{
    function getPoints;

    set .@n$,             "[VFP Manager]";
    set .@settings,     1;        // 0 = item, 1 = shop
    set .@itemReward,     501;    // if settings is set to item
    set .@convertRate,     2;        // 2 Vote Points for 1 Red Potion
    set .vp,             getPoints(getcharid(3));
    
    switch (.@settings) {
        case 0:
            mes .@n$;
            mes "Would you like to convert your "+ .vp +" Vote Points?";
            mes "^ff0000The current convert rate is "+ .@convertRate +" Vote Points for 1 "+ getitemname(.@itemReward) +".";
            next;
            menu "Yes", L_Convert, "No", -;
            mes .@n$;
            mes "Bye, then.";
            break;
        case 1:
            mes .@n$;
            mes "You have ^ff0000"+ .vp +"^000000 Vote Points.";
            mes "Would you like to go shopping?";
            next;
            menu "Yes", -, "No", L_Goodbye;
            mes .@n$;
            mes "Have fun shopping!";
            callshop "votepoints_shop",1;
            npcshopattach "votepoints_shop";
            end;
    }
    
    L_Goodbye:
        mes .@n$;
        mes "Goodbye, then.";
        close;
    
    L_Convert:
        if (.vp < .@convertRate)
            goto L_VotePointsTooLow;
        mes .@n$;
        mes "How much Vote Points would you like to convert?";
        next;
        menu "All", L_ConvertAll, "Input Amount", L_ConvertAmount;
    
    L_ConvertAmount:
        input .@convert;
        
        if (.@convert > .vp)
            goto L_VotePointsTooLow;
        
        set .vp, ((.vp - .@convert) + (.@convert % .@convertRate));
        set .@convert, (.@convert / .@convertRate);
        getitem .@itemReward, .@convert;
        query_sql("UPDATE cp_createlog SET votepoints = "+ .vp +" WHERE account_id = "+ getcharid(3));
        
        mes .@n$;
        mes "You have received "+ .@convert +"x "+ getitemname(.@itemReward) +".";
        mes "Your current Vote Points is "+ .vp;
        close;
        
    L_ConvertAll:
        set .@convert, (.vp / .@convertRate);
        set .vp, (.vp % .@convertRate);
        getitem .@itemReward, .@convert;
        query_sql("UPDATE cp_createlog SET votepoints = "+ .vp +" WHERE account_id = "+ getcharid(3));
        
        mes .@n$;
        mes "You have received "+ .@convert +"x "+ getitemname(.@itemReward) +".";
        mes "Your current Vote Points is "+ .vp;
        close;
    
    L_VotePointsTooLow:
        mes .@n$;
        mes "Your Vote Points is too low. Come back when you have the minimum amount of Vote Points.";
        close;
    
    function getPoints {
        set .@account_id, getarg(0);
        
        set .@count, query_sql("SELECT votepoints FROM cp_createlog WHERE account_id = "+ .@account_id, .@votepoints);
        
        return .@count ? .@votepoints : 0;
    }
    
    OnBuyItem:
        set .@cost,0;
        for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1)
            for(set .@j,0; .@j<getarraysize(.itemShop); set .@j,.@j+2)
                if (@bought_nameid[.@i] == .itemShop[.@j]) {
                    set .@cost, .@cost+(.itemShop[.@j+1]*@bought_quantity[.@i]);
                    break;
                }
        mes .@n$;
        if (.@cost > .vp) mes "You don't have enough Vote Points.";
        else {
            for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) {
                getitem @bought_nameid[.@i], @bought_quantity[.@i];
                dispbottom "Purchased "+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+".";
            }
            set .vp, .vp - .@cost;
            query_sql("UPDATE cp_createlog SET votepoints = votepoints - "+ .@cost +" WHERE account_id = "+ getcharid(3));
            mes .@n$;
            mes "Deal completed.";
            mes "You now have ^ff0000"+ .vp +"^000000 Vote Points.";
            emotion e_cash;
        }
        set .@cost,0;
        deletearray @bought_nameid[0], getarraysize(@bought_nameid);
        deletearray @bought_quantity[0], getarraysize(@bought_quantity);
        close;
    
    OnInit:
        setarray .itemShop[0],    501,2,607,5; // <ITEM_ID>,<PRICE>,...
        
        npcshopdelitem "votepoints_shop",512;
        for(set .@i, 0; .@i < getarraysize(.itemShop); set .@i, .@i+2)
            npcshopadditem "votepoints_shop", .itemShop[.@i], .itemShop[.@i+1];
    end;
}

-    shop    votepoints_shop    -1,512:-1

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

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