Jump to content
  • 0

help with voteforpoints script


Question

Posted (edited)

Can anyone help me with this script. I would like to have a dynamic vote for points shop, wherein players could preview the items before they purchase it. But what i want is, to change the ZENY into VoteForPoints points, wherein when players bought the items, the VoteForPoints points is the one who's going to be deducted instead of the zeny.

my only problem here is how do I change the ZENY into VoteForPoints.

I include in my post the dynamic shop npc script but i don't know how to modify it with voteforpoints.

For anyone who could help me, I would like to thank you in advance. :)

- shop v4p -1,501:50
spl_in01,304,60,5, script Vote for Points#1 468,{
set @i,0;
mes "[Vote for Points]";
mes "Which item do you wish to obtain?";
mes "Select only one.";
callshop "v4p",1;
npcshopattach "v4p";
end;
OnBuyItem:
if(.BuildQuest) {
 for(set .e,0; !compare(getarg(.e+1),"Zeny"); set .e,.e+2) {}
 npcshopadditem "v4p",getarg(.e+2),getarg(.e)*compare(getarg(.e+1),"SZeny");
 setarray .Shop[.i],getarg(.e+2);
 set .i,.i+1;
 goto Quest_Setup;
}
if(.Shop[@i]!=@bought_nameid) for(set @i,1; 1; set @i,@i+1) if(.Shop[@i]==@bought_nameid) { set .i,@i; callsub Quest_Setup; }
for(set @i,1; !@e; set @i,@i+1) if(.Shop[@i]==@bought_nameid) { set @e,1; set .i,@i; callsub Quest_Setup; }
mes "[Vote for Points]";
mes "I require the following:";
for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) mes "^FF0000" + ((countitem(getarg(@i))>=getarg(@i+1))? "^00FF00":"") + "" + getarg(@i+1) + " " + getitemname(getarg(@i)) + " [" + countitem(getarg(@i)) + "/" + getarg(@i+1) + "]";
if(getarg(@i)) mes "^FF0000" + ((Zeny>=getarg(@i))? "^00FF00":"") + "" + getarg(@i) + " Zeny";
mes "^000000In exchange, I will give you:^0000FF";
for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) mes getarg(@i+1) + " " + getitemname(getarg(@i));
switch(select("Exchange:" + (((((getiteminfo(@bought_nameid,5) & 1) || (getiteminfo(@bought_nameid,5) & 256) || (getiteminfo(@bought_nameid,5) & 512)) && @equip==0))? "Preview Item":"") + ":No thanks")) {
 case 1:
  for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) if(countitem(getarg(@i)) < getarg(@i+1)) {
next;
mes "You have " + countitem(getarg(@i)) + " " + getitemname(getarg(@i)) + ", while I require " + getarg(@i+1) + ".";
mes "Please obtain ^FF0000" + (getarg(@i+1)-countitem(getarg(@i))) + " more " + getitemname(getarg(@i)) + "^000000.";
close;
  }
  if(Zeny < getarg(@i)) {
next;
mes "You do not have enough Zeny.";
mes "Please obtain ^FF0000" + (getarg(@i)-Zeny) + " more Zeny^000000.";
close;
  }
  for(set @i,0; !compare(getarg(@i+1),"Zeny"); set @i,@i+2) delitem getarg(@i),getarg(@i+1);
  set Zeny,Zeny-getarg(@i);
  for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) getitem getarg(@i),getarg(@i+1);
  if (compare(getarg(@i,0),"announce")) announce strcharinfo(0) + " has just obtained " + getitemname(@bought_nameid) + "!",bc_all;
  close;
 case 2:
  set @bottomview, getlook(3);
  set @topview, getlook(4);
  set @midview, getlook(5);
  addtimer 1000, strnpcinfo(3)+"::On_Leave";
  set @equip,getiteminfo(@bought_nameid, 5);
  set @view, getiteminfo(@bought_nameid, 11);
  if(@equip != -1 && @view > 0) {
if(@equip & 1) atcommand "@changelook 3 " + @view;
if(@equip & 256) atcommand "@changelook 1 " + @view;
if(@equip & 512) atcommand "@changelook 2 " + @view;
  }
  next;
  goto OnBuyItem;
 case 3:
  close;
}
On_Leave:
atcommand "@changelook 1 " + @topview;
atcommand "@changelook 2 " + @midview;
atcommand "@changelook 3 " + @bottomview;
set @equip,0;
set @view,0;
set @topview,0;
set @midview,0;
set @bottomview,0;
end;
OnInit:
npcshopitem "v4p",0,0;
set .BuildQuest,1;
set .i,1;
Quest_Setup:
switch(.i) {
 default: set .BuildQuest,0; set .e,0; set .i,0; end;
case 1: callsub OnBuyItem,21149,500,500,"SZeny",2383,1;
}
}

Edited by Arcenciel
Code

2 answers to this question

Recommended Posts

Posted

Thanks Emistry.

btw, could you give me a full guide in setting up voteforpoints?

starting from where and how should I advertise my RO Server for voting. (e.g. registering my server into the Top 200 game sites)

until from the point where I should link it to the website.

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...