Jump to content
  • 0

help with voteforpoints script


Lord Ganja

Question


  • Group:  Members
  • Topic Count:  141
  • Topics Per Day:  0.03
  • Content Count:  444
  • Reputation:   22
  • Joined:  06/18/12
  • Last Seen:  

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
Link to comment
Share on other sites

2 answers to this question

Recommended Posts


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

change all

 Zeny

into your Vote Point Variable ....

#VotePoints

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  141
  • Topics Per Day:  0.03
  • Content Count:  444
  • Reputation:   22
  • Joined:  06/18/12
  • Last Seen:  

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.

Link to comment
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.   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.

×
×
  • Create New...