Jb Roxas
-
Posts
95 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Jb Roxas
-
-
Thank you so much Riki, i will try it.
-
Thank you so much Riki, i will try it.
-
sir i said script that you can duplicate the npc
-
@rikimaru
how to duplicate the Dynamic Shop npc? is there any line that i need to change?
@loke ako mag sscript gusto mo? wahahaha
-
i requesting for dynamic shop, that has Preview Items, also shows the Requirements for the items that you want to buy and also dynamic shop that i can duplicate npc, thanks.
-
its a good script, can u edit that script? and change the Bid? like i will sell my Santa Poring Card i will Bid this items for 100pcs Credits, can u script that sir?
i dont want to use zeny for bid.
-
Can someone please edit this script of Euphy? because i want to duplicate this script not in one Category Script only,
when i try to put these 3 Npc all of the items will show in one Npc only, i want to devide them to.
Npc1 Headgear
Npc2 Midgear
Npc3 Wings
Thanks.
//===== eAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.3
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================
splendide,140,172,6 script Quest Shop 998,{
function Add; function Chk; function Slot; function A_An;
if(.Shops$ != "") set .@i,1;
else {
set .@menu$,"";
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
set .@menu$, .@menu$+.Shops$[.@i]+":";
set .@i, select(.@menu$); }
dispbottom "Select one item at a time.";
callshop "qshop"+.@i,1;
npcshopattach "qshop"+.@i;
end;
function Add {
for(set .@n,5; 1; set .@n,.@n+2)
if (!getarg(.@n,0)) break;
for(set .@i,2; .@i<.@n; set .@i,.@i+1)
set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);
npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
return; }
function Chk {
if (getarg(0)<getarg(1)) { set @qf,1; return "^FF0000"; }
else return "^00FF00"; }
function Slot {
set .@s$,getitemname(getarg(0));
switch(.ShowSlot){
case 1: if (!getitemslots(getarg(0))) return .@s$;
case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]";
default: return .@s$; } }
function A_An {
setarray .@A$[0],"a","e","i","o","u";
set .@B$, "_"+getarg(0);
for(set .@i,0; .@i<5; set .@i,.@i+1)
if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
return "a "+getarg(0); }
OnBuyItem:
set .@q[0],@bought_nameid;
copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));
if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; }
mes "[Quest Shop]";
mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";
mes "Requirements:";
if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";
if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";
if (@qf) { set @qf,0; close; }
next;
if (!checkweight(.@q[0],.@q[1])) {
mes "[Quest Shop]";
mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
close; }
set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11);
addtimer 1000, strnpcinfo(1)+"::OnExit";
while(1){
switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
case 1:
if (.@q[2]) set Zeny, Zeny-.@q[2];
if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
delitem .@q[.@i],.@q[.@i+1];
getitem .@q[0],.@q[1];
if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;
specialeffect2 699;
close;
case 2:
set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5);
if (@qe1&1) atcommand "@changelook 3 "+@qe2;
if (@qe1&256) atcommand "@changelook 1 "+@qe2;
if (@qe1&512) atcommand "@changelook 2 "+@qe2;
set @qe6,1;
break;
case 3:
close; } }
OnExit:
if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; }
for(set .@i,1; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0;
end;
OnInit:
// --------------------- Config ---------------------
// Custom points, if needed: "<variable>","<name to display>"
setarray .Points$[0],"#CASHPOINTS","Cash Points";
set .Announce,1; // Announce quest completion? (1: yes / 0: no)
set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
set .DisplayID,0; // Show item IDs? (1: yes / 0: no)
set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no)
// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};
// Duplicate dummy data for any additional shops (bottom of script).
// If no categories, use the second line instead (remove //).
setarray .Shops$[1],"Headgears";
// set .Shops$,"n/a";
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,
// <required item ID>,<required item amount>{,...});
// Shop number corresponds with order above (default is 1).
// Note: Do NOT use a reward item more than once!
Add(1,20053,1,0,0,969,1000,7729,50,7227,30,7293,10);
Add(1,20025,1,0,0,969,1000,7729,50,7227,30,7292,10);
Add(1,20042,1,0,0,969,1000,7729,50,7227,30,7297,10);
Add(1,20045,1,0,0,969,1000,7729,50,7227,30,7290,10);
Add(1,20043,1,0,0,969,1000,7729,50,7227,30,7295,10);
Add(1,20018,1,0,0,969,1000,7729,50,7227,30,7296,10);
Add(1,5682,1,0,0,969,1000,7729,50,7227,30,7235,10);
Add(1,20017,1,0,0,969,1000,7729,50,7227,30,7296,10);
Add(1,5374,1,0,0,969,1000,7729,50,7227,30,7293,10);
Add(1,5518,1,0,0,969,1000,7729,50,7227,30,7293,10);
// --------------------------------------------------
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
npcshopdelitem "qshop"+.@i,909;
end;
}
// -------- Dummy data (duplicate as needed) --------
- shop qshop1 -1,909:-1
- shop qshop2 -1,909:-1
- shop qshop3 -1,909:-1
//===== eAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.3
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================
splendide,140,175,6 script Quest Shop 998,{
function Add; function Chk; function Slot; function A_An;
if(.Shops$ != "") set .@i,1;
else {
set .@menu$,"";
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
set .@menu$, .@menu$+.Shops$[.@i]+":";
set .@i, select(.@menu$); }
dispbottom "Select one item at a time.";
callshop "qshop"+.@i,1;
npcshopattach "qshop"+.@i;
end;
function Add {
for(set .@n,5; 1; set .@n,.@n+2)
if (!getarg(.@n,0)) break;
for(set .@i,2; .@i<.@n; set .@i,.@i+1)
set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);
npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
return; }
function Chk {
if (getarg(0)<getarg(1)) { set @qf,1; return "^FF0000"; }
else return "^00FF00"; }
function Slot {
set .@s$,getitemname(getarg(0));
switch(.ShowSlot){
case 1: if (!getitemslots(getarg(0))) return .@s$;
case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]";
default: return .@s$; } }
function A_An {
setarray .@A$[0],"a","e","i","o","u";
set .@B$, "_"+getarg(0);
for(set .@i,0; .@i<5; set .@i,.@i+1)
if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
return "a "+getarg(0); }
OnBuyItem:
set .@q[0],@bought_nameid;
copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));
if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; }
mes "[Quest Shop]";
mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";
mes "Requirements:";
if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";
if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";
if (@qf) { set @qf,0; close; }
next;
if (!checkweight(.@q[0],.@q[1])) {
mes "[Quest Shop]";
mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
close; }
set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11);
addtimer 1000, strnpcinfo(1)+"::OnExit";
while(1){
switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
case 1:
if (.@q[2]) set Zeny, Zeny-.@q[2];
if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
delitem .@q[.@i],.@q[.@i+1];
getitem .@q[0],.@q[1];
if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;
specialeffect2 699;
close;
case 2:
set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5);
if (@qe1&1) atcommand "@changelook 3 "+@qe2;
if (@qe1&256) atcommand "@changelook 1 "+@qe2;
if (@qe1&512) atcommand "@changelook 2 "+@qe2;
set @qe6,1;
break;
case 3:
close; } }
OnExit:
if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; }
for(set .@i,1; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0;
end;
OnInit:
// --------------------- Config ---------------------
// Custom points, if needed: "<variable>","<name to display>"
setarray .Points$[0],"#CASHPOINTS","Cash Points";
set .Announce,1; // Announce quest completion? (1: yes / 0: no)
set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
set .DisplayID,0; // Show item IDs? (1: yes / 0: no)
set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no)
// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};
// Duplicate dummy data for any additional shops (bottom of script).
// If no categories, use the second line instead (remove //).
setarray .Shops$[1],"Midgears";
// set .Shops$,"n/a";
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,
// <required item ID>,<required item amount>{,...});
// Shop number corresponds with order above (default is 1).
// Note: Do NOT use a reward item more than once!
Add(1,20015,1,0,0,969,1000,7729,50,7227,30,7293,10);
Add(1,5592,1,0,0,969,1000,7729,50,7227,30,7296,10);
Add(1,5421,1,0,0,969,1000,7729,50,7227,30,7289,10);
Add(1,5135,1,0,0,969,1000,7729,50,7227,30,7035,10);
// --------------------------------------------------
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
npcshopdelitem "qshop"+.@i,909;
end;
}
// -------- Dummy data (duplicate as needed) --------
- shop qshop1 -1,909:-1
- shop qshop2 -1,909:-1
- shop qshop3 -1,909:-1
//===== eAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.3
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================
splendide,140,178,6 script Quest Shop 998,{
function Add; function Chk; function Slot; function A_An;
if(.Shops$ != "") set .@i,1;
else {
set .@menu$,"";
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
set .@menu$, .@menu$+.Shops$[.@i]+":";
set .@i, select(.@menu$); }
dispbottom "Select one item at a time.";
callshop "qshop"+.@i,1;
npcshopattach "qshop"+.@i;
end;
function Add {
for(set .@n,5; 1; set .@n,.@n+2)
if (!getarg(.@n,0)) break;
for(set .@i,2; .@i<.@n; set .@i,.@i+1)
set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);
npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
return; }
function Chk {
if (getarg(0)<getarg(1)) { set @qf,1; return "^FF0000"; }
else return "^00FF00"; }
function Slot {
set .@s$,getitemname(getarg(0));
switch(.ShowSlot){
case 1: if (!getitemslots(getarg(0))) return .@s$;
case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]";
default: return .@s$; } }
function A_An {
setarray .@A$[0],"a","e","i","o","u";
set .@B$, "_"+getarg(0);
for(set .@i,0; .@i<5; set .@i,.@i+1)
if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
return "a "+getarg(0); }
OnBuyItem:
set .@q[0],@bought_nameid;
copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));
if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; }
mes "[Quest Shop]";
mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";
mes "Requirements:";
if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";
if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";
if (@qf) { set @qf,0; close; }
next;
if (!checkweight(.@q[0],.@q[1])) {
mes "[Quest Shop]";
mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
close; }
set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11);
addtimer 1000, strnpcinfo(1)+"::OnExit";
while(1){
switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
case 1:
if (.@q[2]) set Zeny, Zeny-.@q[2];
if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
delitem .@q[.@i],.@q[.@i+1];
getitem .@q[0],.@q[1];
if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;
specialeffect2 699;
close;
case 2:
set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5);
if (@qe1&1) atcommand "@changelook 3 "+@qe2;
if (@qe1&256) atcommand "@changelook 1 "+@qe2;
if (@qe1&512) atcommand "@changelook 2 "+@qe2;
set @qe6,1;
break;
case 3:
close; } }
OnExit:
if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; }
for(set .@i,1; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0;
end;
OnInit:
// --------------------- Config ---------------------
// Custom points, if needed: "<variable>","<name to display>"
setarray .Points$[0],"#CASHPOINTS","Cash Points";
set .Announce,1; // Announce quest completion? (1: yes / 0: no)
set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
set .DisplayID,0; // Show item IDs? (1: yes / 0: no)
set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no)
// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};
// Duplicate dummy data for any additional shops (bottom of script).
// If no categories, use the second line instead (remove //).
setarray .Shops$[1],"Headgears";
// set .Shops$,"n/a";
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,
// <required item ID>,<required item amount>{,...});
// Shop number corresponds with order above (default is 1).
// Note: Do NOT use a reward item more than once!
Add(1,20011,1,0,0,969,1000,7729,50,7227,30,7293,10);
Add(1,20007,1,0,0,969,1000,7729,50,7227,30,7292,10);
Add(1,20006,1,0,0,969,1000,7729,50,7227,30,7297,10);
Add(1,20005,1,0,0,969,1000,7729,50,7227,30,7290,10);
Add(1,20037,1,0,0,969,1000,7729,50,7227,30,7295,10);
Add(1,20039,1,0,0,969,1000,7729,50,7227,30,7296,10);
Add(1,20032,1,0,0,969,10000,7729,50,7227,30,7295,10);
Add(1,20035,1,0,0,969,10000,7729,50,7227,30,7296,10);
// --------------------------------------------------
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
npcshopdelitem "qshop"+.@i,909;
end;
}
// -------- Dummy data (duplicate as needed) --------
- shop qshop1 -1,909:-1
- shop qshop2 -1,909:-1
- shop qshop3 -1,909:-1
-
@Euphy
yea im looking for duplicating the npc not by category in one npc only, can u script that request?
-
on renewal, the emperium is not holy?
what if i want to put it back to pre_renewal?
need help badly.
-
about Euphy's Quest Shop
i want to make 4 script of this what should i change on the script
?
Kindly Test This Sir.
//===== eAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.3
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================
ayothaya,159,161,5 script Quest Midgear 994,{
function Add; function Chk; function Slot; function A_An;
if(.Shops$ != "") set .@i,1;
else {
set .@menu$,"";
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
set .@menu$, .@menu$+.Shops$[.@i]+":";
set .@i, select(.@menu$); }
dispbottom "Select one item at a time.";
callshop "qshop"+.@i,1;
npcshopattach "qshop"+.@i;
end;
function Add {
for(set .@n,5; 1; set .@n,.@n+2)
if (!getarg(.@n,0)) break;
for(set .@i,2; .@i<.@n; set .@i,.@i+1)
set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);
npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
return; }
function Chk {
if (getarg(0)<getarg(1)) { set @qf,1; return "^FF0000"; }
else return "^00FF00"; }
function Slot {
set .@s$,getitemname(getarg(0));
switch(.ShowSlot){
case 1: if (!getitemslots(getarg(0))) return .@s$;
case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]";
default: return .@s$; } }
function A_An {
setarray .@A$[0],"a","e","i","o","u";
set .@B$, "_"+getarg(0);
for(set .@i,0; .@i<5; set .@i,.@i+1)
if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
return "a "+getarg(0); }
OnBuyItem:
set .@q[0],@bought_nameid;
copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));
if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; }
mes "[Quest Shop]";
mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";
mes "Requirements:";
if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";
if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";
if (@qf) { set @qf,0; close; }
next;
if (!checkweight(.@q[0],.@q[1])) {
mes "[Quest Shop]";
mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
close; }
set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11);
addtimer 1000, strnpcinfo(3)+"::OnExit";
while(1){
switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
case 1:
if (.@q[2]) set Zeny, Zeny-.@q[2];
if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
delitem .@q[.@i],.@q[.@i+1];
getitem .@q[0],.@q[1];
if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;
specialeffect2 699;
close;
case 2:
set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5);
if (@qe1&1) atcommand "@changelook 3 "+@qe2;
if (@qe1&256) atcommand "@changelook 1 "+@qe2;
if (@qe1&512) atcommand "@changelook 2 "+@qe2;
set @qe6,1;
break;
case 3:
close; } }
OnExit:
if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; }
for(set .@i,1; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0;
end;
OnInit:
// --------------------- Config ---------------------
// Custom points, if needed: "<variable>","<name to display>"
setarray .Points$[0],"#CASHPOINTS","Cash Points";
set .Announce,1; // Announce quest completion? (1: yes / 0: no)
set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
set .DisplayID,0; // Show item IDs? (1: yes / 0: no)
set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no)
// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};
// Duplicate dummy data for any additional shops (bottom of script).
// If no categories, use the second line instead (remove //).
setarray .Shops$[1],"Mid Gears";
// set .Shops$,"n/a";
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,
// <required item ID>,<required item amount>{,...});
// Shop number corresponds with order above (default is 1).
// Note: Do NOT use a reward item more than once!
Add(1,20015,1,0,0,969,1000,7729,50,7227,30,7297,10);
Add(1,5592,1,0,0,969,1000,7729,50,7227,30,7296,10);
Add(1,5421,1,0,0,969,1000,7729,50,7227,30,7289,10);
Add(1,5135,1,0,0,969,1000,7729,50,7227,30,7035,10);
// --------------------------------------------------
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
npcshopdelitem "qshop"+.@i,909;
end;
}
// -------- Dummy data (duplicate as needed) --------
- shop qshop2 -1,909:-1
//===== eAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.3
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================
ayothaya,159,156,5 script Quest Headgear 988,{
function Add; function Chk; function Slot; function A_An;
if(.Shops$ != "") set .@i,1;
else {
set .@menu$,"";
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
set .@menu$, .@menu$+.Shops$[.@i]+":";
set .@i, select(.@menu$); }
dispbottom "Select one item at a time.";
callshop "qshop"+.@i,1;
npcshopattach "qshop"+.@i;
end;
function Add {
for(set .@n,5; 1; set .@n,.@n+2)
if (!getarg(.@n,0)) break;
for(set .@i,2; .@i<.@n; set .@i,.@i+1)
set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);
npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
return; }
function Chk {
if (getarg(0)<getarg(1)) { set @qf,1; return "^FF0000"; }
else return "^00FF00"; }
function Slot {
set .@s$,getitemname(getarg(0));
switch(.ShowSlot){
case 1: if (!getitemslots(getarg(0))) return .@s$;
case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]";
default: return .@s$; } }
function A_An {
setarray .@A$[0],"a","e","i","o","u";
set .@B$, "_"+getarg(0);
for(set .@i,0; .@i<5; set .@i,.@i+1)
if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
return "a "+getarg(0); }
OnBuyItem:
set .@q[0],@bought_nameid;
copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));
if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; }
mes "[Quest Shop]";
mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";
mes "Requirements:";
if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";
if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";
if (@qf) { set @qf,0; close; }
next;
if (!checkweight(.@q[0],.@q[1])) {
mes "[Quest Shop]";
mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
close; }
set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11);
addtimer 1000, strnpcinfo(3)+"::OnExit";
while(1){
switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
case 1:
if (.@q[2]) set Zeny, Zeny-.@q[2];
if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
delitem .@q[.@i],.@q[.@i+1];
getitem .@q[0],.@q[1];
if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;
specialeffect2 699;
close;
case 2:
set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5);
if (@qe1&1) atcommand "@changelook 3 "+@qe2;
if (@qe1&256) atcommand "@changelook 1 "+@qe2;
if (@qe1&512) atcommand "@changelook 2 "+@qe2;
set @qe6,1;
break;
case 3:
close; } }
OnExit:
if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; }
for(set .@i,1; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0;
end;
OnInit:
// --------------------- Config ---------------------
// Custom points, if needed: "<variable>","<name to display>"
setarray .Points$[0],"#CASHPOINTS","Cash Points";
set .Announce,1; // Announce quest completion? (1: yes / 0: no)
set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
set .DisplayID,0; // Show item IDs? (1: yes / 0: no)
set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no)
// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};
// Duplicate dummy data for any additional shops (bottom of script).
// If no categories, use the second line instead (remove //).
setarray .Shops$[1],"Headgears";
// set .Shops$,"n/a";
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,
// <required item ID>,<required item amount>{,...});
// Shop number corresponds with order above (default is 1).
// Note: Do NOT use a reward item more than once!
Add(2,20053,1,0,0,969,1000,7729,50,7227,30,7293,10);
Add(2,20025,1,0,0,969,1000,7729,50,7227,30,7292,10);
Add(2,20042,1,0,0,969,1000,7729,50,7227,30,7297,10);
Add(2,20045,1,0,0,969,1000,7729,50,7227,30,7035,10);
Add(2,20043,1,0,0,969,1000,7729,50,7227,30,7295,10);
Add(2,20018,1,0,0,969,1000,7729,50,7227,30,7296,10);
Add(2,5682,1,0,0,969,1000,7729,50,7227,30,7035,10);
Add(2,20017,1,0,0,969,1000,7729,50,7227,30,7296,10);
Add(2,5374,1,0,0,969,1000,7729,50,7227,30,7293,10);
Add(2,5518,1,0,0,969,1000,7729,50,7227,30,7293,10);
// --------------------------------------------------
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
npcshopdelitem "qshop"+.@i,909;
end;
}
// -------- Dummy data (duplicate as needed) --------
- shop qshop2 -1,909:-1
//===== eAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.3
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================
ayothaya,159,166,5 script Quest Wings 992,{
function Add; function Chk; function Slot; function A_An;
if(.Shops$ != "") set .@i,1;
else {
set .@menu$,"";
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
set .@menu$, .@menu$+.Shops$[.@i]+":";
set .@i, select(.@menu$); }
dispbottom "Select one item at a time.";
callshop "qshop"+.@i,1;
npcshopattach "qshop"+.@i;
end;
function Add {
for(set .@n,5; 1; set .@n,.@n+2)
if (!getarg(.@n,0)) break;
for(set .@i,2; .@i<.@n; set .@i,.@i+1)
set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);
npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
return; }
function Chk {
if (getarg(0)<getarg(1)) { set @qf,1; return "^FF0000"; }
else return "^00FF00"; }
function Slot {
set .@s$,getitemname(getarg(0));
switch(.ShowSlot){
case 1: if (!getitemslots(getarg(0))) return .@s$;
case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]";
default: return .@s$; } }
function A_An {
setarray .@A$[0],"a","e","i","o","u";
set .@B$, "_"+getarg(0);
for(set .@i,0; .@i<5; set .@i,.@i+1)
if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
return "a "+getarg(0); }
OnBuyItem:
set .@q[0],@bought_nameid;
copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));
if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; }
mes "[Quest Shop]";
mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";
mes "Requirements:";
if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";
if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";
if (@qf) { set @qf,0; close; }
next;
if (!checkweight(.@q[0],.@q[1])) {
mes "[Quest Shop]";
mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
close; }
set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11);
addtimer 1000, strnpcinfo(3)+"::OnExit";
while(1){
switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
case 1:
if (.@q[2]) set Zeny, Zeny-.@q[2];
if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
delitem .@q[.@i],.@q[.@i+1];
getitem .@q[0],.@q[1];
if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;
specialeffect2 699;
close;
case 2:
set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5);
if (@qe1&1) atcommand "@changelook 3 "+@qe2;
if (@qe1&256) atcommand "@changelook 1 "+@qe2;
if (@qe1&512) atcommand "@changelook 2 "+@qe2;
set @qe6,1;
break;
case 3:
close; } }
OnExit:
if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; }
for(set .@i,1; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0;
end;
OnInit:
// --------------------- Config ---------------------
// Custom points, if needed: "<variable>","<name to display>"
setarray .Points$[0],"#CASHPOINTS","Cash Points";
set .Announce,1; // Announce quest completion? (1: yes / 0: no)
set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
set .DisplayID,0; // Show item IDs? (1: yes / 0: no)
set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no)
// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};
// Duplicate dummy data for any additional shops (bottom of script).
// If no categories, use the second line instead (remove //).
setarray .Shops$[1],"Wings";
// set .Shops$,"n/a";
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,
// <required item ID>,<required item amount>{,...});
// Shop number corresponds with order above (default is 1).
// Note: Do NOT use a reward item more than once!
Add(3,20011,1,0,0,969,1000,7729,50,7227,30,7293,10);
Add(3,20007,1,0,0,969,1000,7729,50,7227,30,7296,10);
Add(3,20006,1,0,0,969,1000,7729,50,7227,30,7290,10);
Add(3,20005,1,0,0,969,1000,7729,50,7227,30,7292,10);
Add(3,20037,1,0,0,969,100000);
Add(3,20039,1,0,0,969,100000);
// --------------------------------------------------
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
npcshopdelitem "qshop"+.@i,909;
end;
}
// -------- Dummy data (duplicate as needed) --------
- shop qshop3 -1,909:-1
//===== eAthena Script =======================================
//= Euphy's Quest Shop
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.3
//===== Description: =========================================
//= A dynamic quest shop based on Lunar's, with easier config.
//= Includes support for multiple shops & cashpoints.
//= Item Preview script by ToastOfDoom.
//============================================================
prontera,163,165,3 script Quest Shop 910,{
function Add; function Chk; function Slot; function A_An;
if(.Shops$ != "") set .@i,1;
else {
set .@menu$,"";
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
set .@menu$, .@menu$+.Shops$[.@i]+":";
set .@i, select(.@menu$); }
dispbottom "Select one item at a time.";
callshop "qshop"+.@i,1;
npcshopattach "qshop"+.@i;
end;
function Add {
for(set .@n,5; 1; set .@n,.@n+2)
if (!getarg(.@n,0)) break;
for(set .@i,2; .@i<.@n; set .@i,.@i+1)
set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);
npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
return; }
function Chk {
if (getarg(0)<getarg(1)) { set @qf,1; return "^FF0000"; }
else return "^00FF00"; }
function Slot {
set .@s$,getitemname(getarg(0));
switch(.ShowSlot){
case 1: if (!getitemslots(getarg(0))) return .@s$;
case 2: if (getiteminfo(getarg(0),11)>0) return .@s$+" ["+getitemslots(getarg(0))+"]";
default: return .@s$; } }
function A_An {
setarray .@A$[0],"a","e","i","o","u";
set .@B$, "_"+getarg(0);
for(set .@i,0; .@i<5; set .@i,.@i+1)
if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
return "a "+getarg(0); }
OnBuyItem:
set .@q[0],@bought_nameid;
copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));
if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; }
mes "[Quest Shop]";
mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";
mes "Requirements:";
if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";
if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";
if (@qf) { set @qf,0; close; }
next;
if (!checkweight(.@q[0],.@q[1])) {
mes "[Quest Shop]";
mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
close; }
set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11);
addtimer 1000, strnpcinfo(3)+"::OnExit";
while(1){
switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
case 1:
if (.@q[2]) set Zeny, Zeny-.@q[2];
if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];
if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)
delitem .@q[.@i],.@q[.@i+1];
getitem .@q[0],.@q[1];
if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;
specialeffect2 699;
close;
case 2:
set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5);
if (@qe1&1) atcommand "@changelook 3 "+@qe2;
if (@qe1&256) atcommand "@changelook 1 "+@qe2;
if (@qe1&512) atcommand "@changelook 2 "+@qe2;
set @qe6,1;
break;
case 3:
close; } }
OnExit:
if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; }
for(set .@i,1; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0;
end;
OnInit:
// --------------------- Config ---------------------
// Custom points, if needed: "<variable>","<name to display>"
setarray .Points$[0],"#CASHPOINTS","Cash Points";
set .Announce,1; // Announce quest completion? (1: yes / 0: no)
set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
set .DisplayID,0; // Show item IDs? (1: yes / 0: no)
set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no)
// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};
// Duplicate dummy data for any additional shops (bottom of script).
// If no categories, use the second line instead (remove //).
setarray .Shops$[1],"Items of the Weeks","Limited Until June 15 Only";
// set .Shops$,"n/a";
// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,
// <required item ID>,<required item amount>{,...});
// Shop number corresponds with order above (default is 1).
// Note: Do NOT use a reward item more than once!
Add(4,7547,1,0,0,20225,50,20219,500,20220,500,7088,10);
Add(4,7548,1,0,0,969,30000,7337,300,7227,500,7729,500,20224,50);
Add(5,607,1,0,0,969,100000);
// --------------------------------------------------
for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1)
npcshopdelitem "qshop"+.@i,909;
end;
}
// -------- Dummy data (duplicate as needed) --------
- shop qshop4 -1,909:-1
- shop qshop5 -1,909:-1
-
i want to run this fishing script every 2hours, and end after 30mins, then after the 30mins of fishing they will w8 2hours again.
prontera,113,155,0 script School of Fish 844,{ if (isequipped(2764)) && (isequipped(2775)){ specialeffect2 EF_BUBBLE; set .@fcast,15; if (isequipped(2550)) { //Fisher's_Muffler set .@fcast,.@fcast - 3; } if (isequipped(2443)) { //Fish_Shoes set .@fcast,.@fcast - 2; } progressbar "ffffff",.@fcast; if (rand(1,20) == 2) { getitem 5317,1; //Fisherman hat specialeffect EF_BUBBLE; mapannounce "prontera","" + strcharinfo(0) + " has caught a Fisherman Hat!!!",bc_map,"0xff77ff"; end; } set .@rhea_ran,rand(1,70); if (.@rhea_ran < 20) { getitem 607,3; //Ygg Berry } else if (.@rhea_ran == 20) { getitem 678,1; //Poison Bottle } else if (.@rhea_ran == 21) { getitem 7139,2; //Glistening Coat } else if (.@rhea_ran == 22) { getitem 673,1; //Bronze Coin } else if (.@rhea_ran == 23) { getitem 675,1; //Silver Coin } else if (.@rhea_ran == 24) { getitem 671,1; //Gold Coin } else if (.@rhea_ran == 25) { getitem 674,1; //Mithril Coin } else if (.@rhea_ran == 26) { getitem 12135,20; //Green Ale } else if (.@rhea_ran == 27) { getitem 7337,1; //Eye of hellion } else if (.@rhea_ran == 28) { getitem 7729,1; //Rok Star Badge } else if ((.@rhea_ran > 28) && (.@rhea_ran < 40)) { getitem 7227,1; //TCG } else { mes "Nothing was caught."; close; } if (rand(1,100) == 3) { getitem 20224,1; mapannounce "prontera","" + strcharinfo(0) + " has caught a Deviruchi Wing!!",bc_map,"0x00ffff"; } if (rand(1,200) == 3) { getitem 20251,1; mapannounce "prontera","" + strcharinfo(0) + " has caught an Afk Hat!!",bc_map,"0x00ffff"; } if (rand(1,300) == 3) { getitem 20225,1; mapannounce "prontera","" + strcharinfo(0) + " has caught an Drill Boots!!",bc_map,"0x44ff44"; } if (rand(1,400) == 3) { getitem 13414,1; mapannounce "prontera","" + strcharinfo(0) + " has caught an Elemental Sword!!",bc_map,"0x44ff44"; } end; } else { mes "Fish are swimming in the water."; close; } } // Duplicate prontera,112,154,5 duplicate(School of Fish) School of Fish#1 844 prontera,111,155,5 duplicate(School of Fish) School of Fish#2 844 prontera,112,157,5 duplicate(School of Fish) School of Fish#3 844
lol bump~
Bump~
-
im requesting for the script that broadcast the name of the player who breaks the emperium
during woe1
some of the script is working at woe2 only.
Bump~
-
The npc show, but when you are going to make the quest its not giving the reward
//===== rAthena Script ======================================= //= Valhallen items Quests NPC //===== By: ================================================== //= Avaji //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= All-in-one: Mjollnir,Sleipnir,Brisingammen,Gleipnir,Megingjard //===== Additional Comments: ================================= //= Custom quest, ingredients based on official RO FAQ //============================================================ prontera,140,168,5 script Elemental Armor's 421,{ mes "[Lenneth]"; mes "This is a quest for elemental armor's"; next; mes "[Lenneth]"; mes "What would you like?"; next; menu "Ultimate Oasis Armor",-,"Neutral Armor",L_QNA,"Wind Armor",L_QWA,"Fire Armor",L_QFA,"Water Armor",L_QWW,"Earth Armor",L_QEA,"Poison Armor",L_QPA,"Dark Armor",L_QDA; mes "[Lenneth]"; mes "Requirements"; mes "30000 ^3355FFGold^000000?"; mes "100 ^3355FFRok Star Badge^000000?"; mes "100 ^3355FFTCG^000000?"; mes "The 7 ^3355FFElemental Armor's^000000?"; next; mes "[Lenneth]"; mes "Do you desire ^3355FFOasis Armor^000000?"; next; menu "Yes",-,"No",L_OUT; if(countitem(969) < 30000 || countitem(7729) < 100 || countitem(7727) < 100 || countitem(15013) < 1 || countitem(2356) < 1 || countitem(15002) < 1 || countitem(2380) < 1 || countitem(15007) < 1 || countitem(2397) < 1 || countitem(15012) < 1) goto L_NOTENOUGH; delitem 969,30000; delitem 7729,100; delitem 7227,100; delitem 15013,1; delitem 2356,1; delitem 15002,1; delitem 2380,1; delitem 15007,1; delitem 2397,1; delitem 15012,1; getitem 15008,1; mes "[Lenneth]"; mes "Here is ^3355FFUltimate Oasis Armor^000000, may it serve you well."; close; L_QNA: mes "[Lenneth]"; mes "Requirements"; mes "2 ^3355FFOmen of Tempest^000000?"; mes "10000 ^3355FFGold^000000?"; mes "50 ^3355FFRok Star Badge^000000?"; mes "30 ^3355FFTCG^000000?"; mes "10 ^3355FFMuscovite^000000?"; next; mes "[Lenneth]"; mes "Do you desire ^3355FFNeutral Armor^000000?"; next; menu "Yes",-,"No",L_OUT; if(countitem(969) < 10000 || countitem(7729) < 50 || countitem(7727) < 30 || countitem(7292) < 10 || countitem(7089) < 2) goto L_NOTENOUGH; delitem 969,10000; delitem 7729,50; delitem 7227,30; delitem 7292,10; delitem 7089,2; getitem 15013,1; mes "[Lenneth]"; mes "Here is ^3355FFNeutral Armor^000000, may it serve you well."; close; L_QWA: mes "[Lenneth]"; mes "Requirements"; mes "2 ^3355FFEmblem of Sun God^000000?"; mes "10000 ^3355FFGold^000000?"; mes "50 ^3355FFRok Star Badge^000000?"; mes "30 ^3355FFTCG^000000?"; mes "10 ^3355FFBiotite^000000?"; next; mes "[Lenneth]"; mes "Do you desire ^3355FFWind Armor^000000?"; next; menu "Yes",-,"No",L_OUT; if(countitem(969) < 10000 || countitem(7729) < 50 || countitem(7727) < 30 || countitem(7297) < 10 || countitem(7086) < 2) goto L_NOTENOUGH; delitem 969,10000; delitem 7729,50; delitem 7227,30; delitem 7297,10; delitem 7086,2; getitem 2356,1; mes "[Lenneth]"; mes "Here is ^3355FFWind Armor^000000, may it serve you well."; close; L_QFA: mes "[Lenneth]"; mes "Requirements"; mes "2 ^3355FFSnow Crystal^000000?"; mes "10000 ^3355FFGold^000000?"; mes "50 ^3355FFRok Star Badge^000000?"; mes "30 ^3355FFTCG^000000?"; mes "10 ^3355FFPhlogopite^000000?"; next; mes "[Lenneth]"; mes "Do you desire ^3355FFFire Armor^000000?"; next; menu "Yes",-,"No",L_OUT; if(countitem(969) < 10000 || countitem(7729) < 50 || countitem(7727) < 30 || countitem(7290) < 10 || countitem(7088) < 2) goto L_NOTENOUGH; delitem 969,10000; delitem 7729,50; delitem 7227,30; delitem 7290,10; delitem 7088,2; getitem 15002,1; mes "[Lenneth]"; mes "Here is ^3355FFFire Armor^000000, may it serve you well."; close; L_QWW: mes "[Lenneth]"; mes "Requirements"; mes "2 ^3355FFRipple^000000?"; mes "10000 ^3355FFGold^000000?"; mes "50 ^3355FFRok Star Badge^000000?"; mes "30 ^3355FFTCG^000000?"; mes "10 ^3355FFCitrin^000000?"; next; mes "[Lenneth]"; mes "Do you desire ^3355FFWater Armor^000000?"; next; menu "Yes",-,"No",L_OUT; if(countitem(969) < 10000 || countitem(7729) < 50 || countitem(7727) < 30 || countitem(7295) < 10 || countitem(7090) < 2) goto L_NOTENOUGH; delitem 969,10000; delitem 7729,50; delitem 7227,30; delitem 7295,10; delitem 7090,2; getitem 2380,1; mes "[Lenneth]"; mes "Here is ^3355FFWater Armor^000000, may it serve you well."; close; L_QEA: mes "[Lenneth]"; mes "Requirements"; mes "2 ^3355FFBillow^000000?"; mes "10000 ^3355FFGold^000000?"; mes "50 ^3355FFRok Star Badge^000000?"; mes "30 ^3355FFTCG^000000?"; mes "10 ^3355FFPyroxene^000000?"; next; mes "[Lenneth]"; mes "Do you desire ^3355FFEarth Armor^000000?"; next; menu "Yes",-,"No",L_OUT; if(countitem(969) < 10000 || countitem(7729) < 50 || countitem(7727) < 30 || countitem(7296) < 10 || countitem(7091) < 10) goto L_NOTENOUGH; delitem 969,10000; delitem 7729,50; delitem 7227,30; delitem 7296,10; delitem 7091,2; getitem 15007,1; mes "[Lenneth]"; mes "Here is ^3355FFEarth Armor^000000, may it serve you well."; close; L_QPA: mes "[Lenneth]"; mes "Requirements"; mes "2 ^3355FFOmen of Tempest^000000?"; mes "10000 ^3355FFGold^000000?"; mes "50 ^3355FFRok Star Badge^000000?"; mes "30 ^3355FFTCG^000000?"; mes "10 ^3355FFMatchsticks^000000?"; next; mes "[Lenneth]"; mes "Do you desire ^3355FFPoison Armor^000000?"; next; menu "Yes",-,"No",L_OUT; if(countitem(969) < 10000 || countitem(7729) < 50 || countitem(7727) < 30 || countitem(7035) < 10 || countitem(7089) < 2) goto L_NOTENOUGH; delitem 969,10000; delitem 7729,50; delitem 7227,30; delitem 7035,10; delitem 7089,2; getitem 2397,1; mes "[Lenneth]"; mes "Here is ^3355FFPoison Armor^000000, may it serve you well."; close; L_QDA: mes "[Lenneth]"; mes "Requirements"; mes "2 ^3355FFSnow Crystal^000000?"; mes "10000 ^3355FFGold^000000?"; mes "50 ^3355FFRok Star Badge^000000?"; mes "30 ^3355FFTCG^000000?"; mes "10 ^3355FFPyroxene^000000?"; next; mes "[Lenneth]"; mes "Do you desire ^3355FFDark Armor^000000?"; next; menu "Yes",-,"No",L_OUT; if(countitem(969) < 10000 || countitem(7729) < 50 || countitem(7727) < 30 || countitem(7296) < 10 || countitem(7088) < 2) goto L_NOTENOUGH; delitem 969,10000; delitem 7729,50; delitem 7227,30; delitem 7088,2; getitem 15012,1; mes "[Lenneth]"; mes "Here is ^3355FFDark Armor^000000, may it serve you well."; close; L_NOTENOUGH: mes "[Lenneth]"; mes "You are lacking a few items, please return when you have them."; close; L_OUT: mes "[Lenneth]"; mes "Please return when you change your mind."; close; }
-
Requesting
1st NPC name Soul Linker
Soul Link the player
Requirements for soul link is 5m each Link
---
2nd NPC name All in one Buffer
100%Heal, buffs lvl 5 increase agi, lvl 5 Blessing, Soul Link.
Requirements for All in one Buffs is 10m 20m each.
That is Seperate Npc
Thanks guys.
-
my server got an Error when kill all MVP's except mini mobs.
-
can u tell me what line did u fix on my script?
-
The Golden Dokebie is not showing, i already restart the server.
prontera,139,173,5 script Gold Room Manager 965,{ mes "[ Gold Room Manager ]"; //mes "Hello, "; //mes "How may i serve for you ?"; mes "I can warp you to the gold room."; //mes "Would you like to go there try to get some gold ?"; //mes "You could be get rich if you lucky enough."; next; switch(select("Okay.:Not now.")) { Case 1: mes "[Gold Room Manager]"; //mes "So you have decide to go there."; //mes "A wise decision."; mes "You'll be there quickly. c;"; next; mes "[ Gold Room Manager ]"; mes "Enjoy."; close2; warp "ordeal_1-1",149,149; //OnInit: //waitingroom "Gold Room Warper",0; //end; Case 2: mes "[Gold Room Manager]"; //mes "Owh...."; //mes "Okay ;D"; //mes "It is all up to you."; mes "Come back to me if you've changed your mind."; close; } } //-------- Spawn Monster --------// ordeal_1-1,0,0,0,0 monster Golden Dokebi 1110,2000,0,0,0
-
looking for bounty hunter
if the player reach 10 kill streak
Note: the killing points will only add if they kill the player on guild_vs5 map <<--- that is my pvproom ^^
The npc will add their name to the list of wanted player
for example:
NPC WANTED LIST
1st. Emistry
if you kill emistry u will receive 10 TCG
2nd. Brian
if you kill Brian u will receive 7 TCG
3rd. Goddameit
if you kill Godammet u will receive 5 TCG
-
i already try no items, then i use champion Job,hitting the player with normal attack, its automatic bladestop on enemy and auto hiding, but the champion is not casting bladestop lol.
-
how to put new hairstyle on my server?
need some instruction guys ^^
Thanks.
-
there's a bug on Champion, when i try to attack the player it auto cast hiding and bladestop on them
-
the script is already at 50
but on item_db when i script the GTB to 50, it's still get dispell and coma
i want to make it
50% reduced magic and anti coma and anti dispel
-
i want to reduced the chance of coma on tarot skill of Clown Job
What should i open or edit?
Thanks..
bump
-
i want to change my GTB script
to:
if i put 50 on script
the effect will be reduced to magic by 50%
Anti Dispel and Anti Coma
Advanced Buffer
in Script Requests
Posted
Thanks Riki it works