Jump to content

Dogpatch

Members
  • Content Count

    78
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Dogpatch

  1. yeah. this script i want is like koe. but im having difficulties on editing it lol. i hope i can finish it today. Can you post your script? It's easier to edit than writing from scratch.
  2. Just use this. It's easier to config. //===== Hercules Script ======================================//= Euphy's Quest Shop//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.6a//===== Description: =========================================//= A dynamic quest shop based on Lunar's, with easier config.//= Includes support for multiple shops & cashpoints.//= Item Preview script by ToastOfDoom.//===== Additional Comments: =================================//= 1.0 Initial script.//= 1.2 Added category support.//= 1.3 More options and fixes.//= 1.4 Added debug settings.//= 1.5 Replaced categories with shop IDs.//= 1.6 Added support for purchasing stackables.//= 1.6a Added support for previewing costumes and robes.//============================================================// Shop NPCs -- supplying no argument displays entire menu.// callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};//============================================================prontera,164,203,6 script Quest Shop#1 4_M_MOCASS2,{ callfunc "qshop"; }// Script Core//============================================================- script quest_shop -1,{function Add; function Chk; function Slot; function A_An;OnInit: freeloop(1);// -----------------------------------------------------------// Basic shop settings.// ----------------------------------------------------------- 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 .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time.// -----------------------------------------------------------// Points variable -- optional quest requirement.// setarray .Points$[0],"<variable name>","<display name>";// ----------------------------------------------------------- setarray .Points$[0],"#CASHPOINTS","Cash Points";// -----------------------------------------------------------// Shop IDs -- to add shops, copy dummy data at bottom of file.// setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...};// ----------------------------------------------------------- setarray .Shops$[1],"Headgears","Weapons","Other";// -----------------------------------------------------------// Quest items -- do NOT use a reward item more than once!// Add(<shop ID>,<reward ID>,<reward amount>,// <Zeny cost>,<point cost>,// <required item ID>,<required item amount>{,...});// ----------------------------------------------------------- Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200); 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); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end;OnMenu: set .@size, getarraysize(@i); if (!.@size) set .@i, select(.menu$); else if (.@size == 1) set .@i, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set .@i, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[.@i] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+.@i,1; npcshopattach "qshop"+.@i; end;OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) Zeny -= (.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0; specialeffect2 EF_FLOWERLEAF; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } }OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end;function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return;}function Chk { if (getarg(0) < getarg(1)) { set @qe[0],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),2) == 4 || getiteminfo(getarg(0),2) == 5) 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);}}function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end;}// Dummy shop data -- copy as needed.//============================================================- shop qshop1 -1,909:-1- shop qshop2 -1,909:-1- shop qshop3 -1,909:-1- shop qshop4 -1,909:-1- shop qshop5 -1,909:-1 Add(<shop ID>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>, <required item ID>,<required item amount>{,...}); To be more specific Add (<shop ID>,13416,1,0,0,7211,50,7451,30,1020,300,7915,10);
  3. Turn off your AV before download. It's virus free. I use it all the time.
  4. I understand the 1st part but I don't quite get the 2nd part. Or if I do understand it correctly, I don't think there's a way to floor an item longer than the duration in the conf files.
  5. Try this. prontera,150,150,5 script Stylist 878,{set .@n$,"[Stylist]";query_sql("SELECT `char_id`,`name`,`hair`,`hair_color`,`clothes_color` FROM `char` WHERE `char_id` = '"+getcharid(0)+"'",@charid$,@name$,@hair$,@haircolor$,@clothcolor$);mes .@n$;mes "You are currently wearing:";mes "Cloth Color: "+@clothcolor$+"";mes "Hair Color: "+@haircolor$+"";mes "Hair Style: "+@hair$+"";next;mes .@n$;mes "What would you like to change?";next;switch(select("Clothes Color:Hair Color:Hair Style:Saved Dyes:Randomize")) { case 1: clothcolor: mes .@n$; mes "Choose a style to begin from between 0 to 699."; input (.@clothcolor); switch(select("Next:Previous:I Like it!:[Save Clothes]")) { case 1: // will show the next clothcolor case 2: // will show the previous clothcolor case 3: next; mes .@n$; mes "Perfect ! I am glad you found a style that fits you!"; close; case 4: switch(select("Set 1:Set 2:Set3")) { case 1: // will save the clothcolor that you want to this set mes .@n$; mes "Your style has been saved."; goto clothcolor; case 2: // will save the clothcolor that you want to this set mes .@n$; mes "Your style has been saved."; goto clothcolor; case 3: // will save the clothcolor that you want to this set mes .@n$; mes "Your style has been saved."; goto clothcolor; } } case 2: haircolor: mes .@n$; mes "Choose a style to begin from between 0 to 126."; input (.@haircolor); switch(select("Next:Previous:I Like it!:[Save Clothes]")) { case 1: // will show the next hair color case 2: // will show the previous hair color case 3: next; mes .@n$; mes "Perfect ! I am glad you found a style that fits you!"; close; case 4: switch(select("Set 1:Set 2:Set3")) { case 1: // will save the haircolor that you want to this set mes .@n$; mes "Your style has been saved."; goto haircolor; case 2: // will save the haircolor that you want to this set mes .@n$; mes "Your style has been saved."; goto haircolor; case 3: // will save the haircolor that you want to this set mes .@n$; mes "Your style has been saved."; goto haircolor; } } case 3: mes .@n$; mes "Choose a style to begin from between 0 to 27."; input (.@hairstyle); switch(select("Next:Previous:I Like it!")) { case 1: // will show the next hairstyle case 2: // will show the previous hairstyle case 3: next; mes .@n$; mes "Perfect ! I am glad you found a style that fits you!"; close; } case 4: mes .@n$; mes "Here are the color sets you saved:"; mes "Which one do you want to wear ?"; mes "Slot 1 : <clothcolor>,<haircolor>"; mes "Slot 2 : <clothcolor>,<haircolor>"; mes "Slot 3 : <clothcolor>,<haircolor>"; next; switch(select("Set 1:Set2:Set3")) { case 1: // it will automatically wear the cloth color and hair color that you have saved before in this set. mes .@n$; mes "Here is the set you like! See you later."; close; case 2: // it will automatically wear the cloth color and hair color that you have saved before in this set. mes .@n$; mes "Here is the set you like! See you later."; close; case 3: // it will automatically wear the cloth color and hair color that you have saved before in this set. mes .@n$; mes "Here is the set you like! See you later."; close; } case 5: mes .@n$; mes "What would you like to change?"; next; switch(select("Next:I Like It!")) { case 1: // it will going to give you a random cloth color, hair color and hair style. case 2: next; mes .@n$; mes "Perfect ! I am glad you found a style that fits you!"; close; } }}
  6. 1000 = 1% 10000 = 0.01%? or 0.10%? If that's the case then the ratio doesn't make sense. Try messing with it. Try 10, 100, 1000, 10000, 10000 and so on and see the difference. Sometimes, you have a better chance fixing things by experimenting.
  7. I can help out, but probably only with Translation and maybe some script conversions. I may not be as good a scripter as you are but help is still help
  8. I can name over 20 active servers that use nulled IPB. For free ones, SMF is the best I've used. For Paid ones, vBulletin and IPB. IPB is easy to customize and has a lot of hooks. vBulletin is pretty much "change the theme" and you're good to go. All depends on what you prefer.
  9. Please avoid bumping topics within a 24 hour period. As to your request, more details would be more helpful. More details help us actually understand what you want to achieve. *side note* Can a mod please move this to the proper section. I don't see this being accomplished as a script.
  10. Your Link Eror Need reali Link No Eror and need more Pack Item Wings and Head Register so it doesn't error.
  11. Search button with "MVP Ladder" came with this. http://herc.ws/board/topic/4552-mvp-ladder-script-enhancement/
  12. Emistry's Multi Currency Shop in rAthena works fine with my servers. That's what I use for my VoteShop. Just set the currency to the variable you want and you're good to go.
  13. Like mentioned above check ALL custom scripts. Since you say no warnings come up when compiling, then most likely it's a custom script or a glitch. I would also like to add. @mail or the mail system in general actually does have an exploit. I've disabled it on all my servers.
  14. Ahh! Glad you got it solved!
  15. Ermm, which part are you having trouble with? Maybe I can help.
  16. I will have to check it, and this script really needs some optimization. Which will fix some job checking issue. Okay thank you in advance I had the same problem so I improvised. A little work but since I already made it, you can just copy paste it. Replace .job_rebirth = EAJL_2; With .job_rebirth = 4060 | 4008 | 4061 | 4010 | 4063 | 4009 | 4062 | 4012 | 4064 | 4011 | 4065 | 4013 | 4073 | 4015 | 4074 | 4017 | 4077 | 4016 | 4075 | 4020 | 4076 | 4021 | 4078 | 4019 | 4079 | 4018 | 23 | 4030 | 4031 | 4032 | 4033 | 4034 | 4035 | 4037 | 4038 | 4039 | 4040 | 4041 | 4042 | 4043 | Job_Gunslinger | Job_Soul_Linker | Job_Star_Gladiator | Job_Ninja | Job_Taekwon; Then find setarray .add_jobs[0] And replace with setarray .add_jobs[0], 4060, 4008, 4061, 4010, 4063, 4009, 4062, 4012, 4064, 4011, 4065, 4013, 4073, 4015, 4074, 4017, 4077, 4016, 4075, 4020, 4076, 4021, 4078, 4019, 4079, 4018, 23, 4030, 4031, 4032, 4033, 4034, 4035, 4037, 4038, 4039, 4040, 4041, 4042, 4043, Job_Gunslinger, Job_Soul_Linker, Job_Star_Gladiator, Job_Ninja, Job_Taekwon; Only 3rd jobs and Baby 3rd Jobs are missing there. Hope that helps. You can just remove or add the JobID as needed.
  17. @@Aeromesi Yeah I have a backup of most of the files I've edited. And yeah, I have a extensive edited source files =P Oh well, gotta learn from mistakes I guess and move on. Nothing can really be done now other than fixing it manually. Thanks for all who replied.
  18. Well I know it just replaced the edited files. I guess the "git pull" should not be encouraged anymore if this is what happens when you use it. Other than that, any other solutions to fix this? All the files pretty much got messed up. About the HP/SP, Makes sense but that just completely f***** up servers that have a max level over 150. Is there a way to get the prior Herc files that didn't mess up anything?
  19. So I'll put this in General as like the title says, git pull messed up almost everything on my server. - Reduction (race,elemental,size) doesn't work -again - HP Pool got reduced to 1/3 of the original HP (before git pull HP of Baby Sin 98000, after update 32000) - Almost ALL the src/common files have "<<<<<<<HEAD" and ">>>>>>> 5d83253484c92116580fd400eb77b8fe65f1b1f3" embedded somewhere in the codes - Same with scripts have "<<<<<<<<HEAD" and ">>>>>>> 5d83253484c92116580fd400eb77b8fe65f1b1f3" all over the scripts. Both custom and official ones from the SVN - After git pull, I can't even upload files to my own host? O_O Permission Denied? As a root user? LOL! So I need to delete the file on the trunk and replace it manually? I've updated through git pull before (total of 4 times all in all) but this is the first time this has happened. Now I got a bunch of pissed off players on the server who will most likely leave very very soon. What happened? It wasn't like this before.
  20. Right curly? In the scripts_custom.conf? If you mean the actual scripts inside the folder, the other scripts are 100% working. I also don't see why a script above it would affect the following script if they are separate files. Or do you know something I don't about that?
  21. @@zackdreaver Yup right after I updated. *off topic* Seems like Herc don't like me.
  22. Updated to latest revision today and I'm still having the same problem. Even with Asprika. It's not reducing any elements.
  23. Yeah even if I load a new super basic script, it doesn't show up in game as well even with the "Script Loaded" message via @loadnpc As for your new line comment *facepalms* You lost me LOL Can you elaborate more on that. Sorry, I can't quite understand it.
  24. Sorry, I forgot to add that to the prior post. Yes I tried without BOM too. And it's not just with this script. Any new script I add doesn't show. The scripts only work if I embed them with scripts that are already loaded. If they are loaded separately on their own path and script. They don't show.
×
×
  • Create New...

Important Information

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