Jump to content
Euphy

✰ Euphy's Scripts ✰

Recommended Posts

@Sharpienero:

Wow. I finally figured out what caused that error, and all it involved was changing the label name. ._.

With that said, I've released Euphy's Quest Shop v1.4a, which is more-or-less final since I've got all bugs fixed at long last. The other notable change is that the menu proceeds no matter if you've met quest requirements or not, allowing for better item previewing.

TO EVERYONE:

If you're using my WOE controller, is the maximum of 32 sessions enough? I just realized I could use another bit integer to increase the limit to 42, but it would be at the cost of an extra loop. If anybody actually needs this, tell me and I'll script it later.

Custom quest - tested and works wonderfully!

WoE Controller - 32 is enough!

Link to comment
Share on other sites

i want to ask what is the problem in my WoE Controller

because

i set it

Session("Friday",20,21,9)

this means Friday 9:00pm to 10:00pm

but why the my woe

start

8:00pm to 9:00pm

Link to comment
Share on other sites

sit about this script of yours.. when it comes to making shop 9 and up.. im having doubled item. i checked the script but no doubled items. here is my SS: post-4153-0-90820700-1340917055_thumb.jpg

Custom Currency Multi-Shop

setarray .Shop9[0],6124,5,7776,1,7621,1,12214,1,12622,10;

Don't use @loadnpc. You have to use @reloadscript.

Link to comment
Share on other sites

sit about this script of yours.. when it comes to making shop 9 and up.. im having doubled item. i checked the script but no doubled items. here is my SS: post-4153-0-90820700-1340917055_thumb.jpg

Custom Currency Multi-Shop

setarray .Shop9[0],6124,5,7776,1,7621,1,12214,1,12622,10;

Don't use @loadnpc. You have to use @reloadscript.

i did not use loadnpc on the script

Link to comment
Share on other sites

Can't let your woe controller work :( can't change the schedule even I have input Session("Monday",21,22,5);

Link to comment
Share on other sites

@emong:

You have to @reloadscript every time you make a change, and make sure this line is as-is:

set [email protected],0;

If it's set to 1, your changes will not be saved (I included this so that your server wouldn't need to go through all the loops/checks if your WOE times are unchanging).


WOE Controller updated to v1.2! This lets you set and remove times in-game, so you will want to update to this. c:

Link to comment
Share on other sites

@luphy

im sory if i got same problem with any member and you already fixed.

this my problem about your QuestShop

my Code

//===== rAthena Script =======================================

//= Euphy's Quest Shop

//===== By: ==================================================

//= Euphy

//===== Current Version: =====================================

//= 1.4a

//===== Compatible With: =====================================

//= rAthena SVN r15340+

//===== Description: =========================================

//= A dynamic quest shop based on Lunar's, with easier config.

//= Includes support for multiple shops & cashpoints.

//= Item Preview script by ToastOfDoom.

//============================================================

prontera,164,203,6 script Quest Shop 998,{

function Add; function Chk; function Slot; function A_An;

if(.Shops$ != "") set [email protected],1;

else {

set [email protected]$,"";

for(set [email protected],1; [email protected]<=getarraysize(.Shops$); set [email protected],[email protected]+1)

set [email protected]$, [email protected]$+.Shops$[[email protected]]+":";

set [email protected], select([email protected]$); }

dispbottom "Select one item at a time.";

callshop "qshop"[email protected],1;

npcshopattach "qshop"[email protected];

end;

function Add {

if (getitemname(getarg(1))=="null") {

debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; }

for(set [email protected],5; [email protected]<127; set [email protected],[email protected]+2) {

if (!getarg([email protected],0)) break;

if (getitemname(getarg([email protected]))=="null") {

debugmes "Quest requirement #"+getarg([email protected])+" invalid (skipped)."; return; } }

for(set [email protected],2; [email protected]<[email protected]; set [email protected],[email protected]+1)

set getd(".q_"+getarg(1)+"["+([email protected])+"]"), getarg([email protected]);

npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);

return; }

function Chk {

if (getarg(0)<getarg(1)) { set @qe0,1; return "^FF0000"; }

else return "^00FF00"; }

function Slot {

set [email protected]$,getitemname(getarg(0));

switch(.ShowSlot){

case 1: if (!getitemslots(getarg(0))) return [email protected]$;

case 2: if (getiteminfo(getarg(0),11)>0) return [email protected]$+" ["+getitemslots(getarg(0))+"]";

default: return [email protected]$; } }

function A_An {

setarray [email protected]$[0],"a","e","i","o","u";

set [email protected]$, "_"+getarg(0);

for(set [email protected],0; [email protected]<5; set [email protected],[email protected]+1)

if (compare([email protected]$,"_"[email protected]$[[email protected]])) return "an "+getarg(0);

return "a "+getarg(0); }

OnBuyItem:

set [email protected][0],@bought_nameid;

copyarray [email protected][1],getd(".q_"[email protected]_nameid+"[0]"),getarraysize(getd(".q_"[email protected]_nameid+"[0]"));

if ([email protected][1]) { message strcharinfo(0),"An error has occurred."; end; }

mes "[Quest Shop]";

mes "Reward: ^0055FF"+(([email protected][1]>1)[email protected][1]+"x ":"")+Slot([email protected][0])+"^000000";

mes "Requirements:";

if ([email protected][2]) mes " > "+Chk(Zeny,[email protected][2])[email protected][2]+" Zeny^000000";

if ([email protected][3]) mes " > "+Chk(getd(.Points$[0]),[email protected][3])[email protected][3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"[email protected][3]+")^000000";

if ([email protected][4]) for(set [email protected],4; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+2)

mes " > "+Chk(countitem([email protected][[email protected]]),[email protected][[email protected]+1])+((.DisplayID)?"{"[email protected][[email protected]]+"} ":"")+Slot([email protected][[email protected]])+" ("+countitem([email protected][[email protected]])+"/"[email protected][[email protected]+1]+")^000000";

next;

set @qe1, getiteminfo([email protected][0],5); set @qe2, getiteminfo([email protected][0],11);

addtimer 1000, strnpcinfo(1)+"::OnEnd";

while(1){

switch(select(" ~ Purchase ^0055FF"+getitemname([email protected][0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2>0 && [email protected])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {

case 1:

if (@qe0) {

mes "[Quest Shop]";

mes "You're missing one or more quest requirements.";

close; }

if (!checkweight([email protected][0],[email protected][1])) {

mes "[Quest Shop]";

mes "^FF0000You need "+((([email protected][1]*getiteminfo([email protected][0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";

close; }

if ([email protected][2]) set Zeny, [email protected][2];

if ([email protected][3]) setd .Points$[0], getd(.Points$[0])[email protected][3];

if ([email protected][4]) for(set [email protected],4; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+2)

delitem [email protected][[email protected]],[email protected][[email protected]+1];

getitem [email protected][0],[email protected][1];

if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname([email protected][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 "[email protected];

if (@qe1&256) atcommand "@changelook 1 "[email protected];

if (@qe1&512) atcommand "@changelook 2 "[email protected];

set @qe6,1;

break;

case 3:

close; } }

OnEnd:

if (@qe6) { atcommand "@changelook 3 "[email protected]; atcommand "@changelook 1 "[email protected]; atcommand "@changelook 2 "[email protected]; }

for(set [email protected],0; [email protected]<7; set [email protected],[email protected]+1) setd "@qe"[email protected],0;

end;

OnInit:

freeloop(1);

// --------------------- 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","Weapons","Other";

// 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,30009,1,0,0,30001,50,0,0,0,0,0,0,0,0);

Add(1,30010,1,0,0,30001,50,0,0,0,0,0,0,0,0);

Add(1,30011,1,0,0,30001,50,0,0,0,0,0,0,0,0);

Add(1,30012,1,0,0,30001,50,0,0,0,0,0,0,0,0);

Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10);

Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10);

Add(3,531,1,3,0,512,1,713,1);

Add(3,532,1,3,0,513,1,713,1);

Add(3,533,1,3,0,514,1,713,1);

Add(3,534,1,3,0,515,1,713,1);

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

freeloop(0);

for(set [email protected],1; [email protected]<=getarraysize(.Shops$); set [email protected],[email protected]+1)

npcshopdelitem "qshop"[email protected],909;

end;

}

// -------- Dummy data (duplicate as needed) --------

- shop qshop1 -1,909:-1

- shop qshop2 -1,909:-1

- shop qshop3 -1,909:-1

and this my SS server error.

33a41np.jpg

Edited by Yugosh
Link to comment
Share on other sites

@Yugosh: You need to use rAthena for "freeloop" to work. You can delete the lines "freeloop(1)" and "freeloop(0)" if you want - it only adds support for large shops (causing the mapserver to detect an infinity loop), which "sleep" commands would also be a viable workaround for.

  • Upvote 1
Link to comment
Share on other sites

@Yugosh: You need to use rAthena for "freeloop" to work. You can delete the lines "freeloop(1)" and "freeloop(0)" if you want - it only adds support for large shops (causing the mapserver to detect an infinity loop), which "sleep" commands would also be a viable workaround for.

so how to setup category in your script???

anw Thanks your script

Edited by Yugosh
Link to comment
Share on other sites

Uh... you set up categories where I indicated it. Examples are already in the script.


Build Manager updated to v1.8! This is really only a size reduction, but it makes build-swapping less resource-intensive, too (not that it really was to begin with... but whatever~).

I've added a "latest updates" section in the first post to make spotting updates easier.


WOE Controller updated to v1.3! This update marks the complete removal of script-side session creation (the original function!) in favor of the much more user-friendly in-game interface I wrote earlier. To make up for it, I added nice effects. XD (other small changes were made as well)

Link to comment
Share on other sites

@GM Incarnation: Same error as the person above you. As stated in the script header, you need to be using rAthena r15340+ for the "freeloop" command. To fix it, just delete "freeloop" both times it occurs. As for the duplicates, you have other shops named "qshop1", etc., for whatever reason...

Link to comment
Share on other sites

Sir u mean remove this line

OnInit:

freeloop(1);

and

freeloop(0);

but when i remove it ok and the jelopy also sell in the shop pls advise

Here the error

wuiy3usr2l.jpg

Edited by GM Incarnation
Link to comment
Share on other sites

You have a bug in your WoE Controller even the old version if i add up to 17 sessions (i will be adding a total of 32 sessions) and above then viewing WoE schedule wont show next or close button anymore so resuliting in stuck up mode and i must end task my RO so i can move again or use @refresh, @go, @warp commands

Edited by xx_paul_2013_xx
Link to comment
Share on other sites

@xx_paul_2013_xx: Thanks for reporting that. Infinity loops will be the death of me... ._. Anyway, easy fix, done in v1.3a and v1.2a as well.

Link to comment
Share on other sites

i hope Euphy you make

a automated event for 7 vs 7 PVP and Guild vs Guilld

NO DONATION ITEM, NO BOSS CARD NO MINI BOSS

  • Upvote 1
Link to comment
Share on other sites

< Euphy's Quest Shop >

Can you please add a feature that can view weapons and shield

Link to comment
Share on other sites

@zmref: I don't think there's a script command for that.

@7v7: It's a bit too specific for me to want to make... I'm currently writing something else though that you might like, but it's giving me sorta a hard time so wait a bit longer. :3

Link to comment
Share on other sites

Euphy can i make a reuqest?please include the Novice Castle WoE for our latest woe_controller.

and also please include the Real-time updated time display of how much longer till WoE starts/end. thanks

woeinfo_00.png

Edited by Brynner
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
Reply to this topic...

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

Important Information

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