Jump to content

Kaleidoscope

Members
  • Posts

    58
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Kaleidoscope

  1. This map really brings an island to life! There is so much you can do with this map Im seriously loving your work! Would you consider taking commissions?
  2. Interesting Idea. Love the the thematics! Would use this as part of an elemental item quest for sure Great work and keep um coming!
  3. The indoor quality is amazing! Would love to see some more work in the future ?
  4. My current script for the SECOND NPC. I am already currently using this same script and it works. I have changed the original qshop > qshop10 and changed quest_shop > quest_shop10 as well as changed the dummy shop numbers to match. // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ trin_in,118,154,3 script Basic Quests 757,{ callfunc "qshop10"; } // Script Core //============================================================ - script quest_shop10 -1,{ function Add; function Chk; function Slot; 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],"Upper","Middle","Lower"; // ----------------------------------------------------------- // 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,60001,1,0,0,7063,300,954,300,969,25,983,1); Add(2,1310,1,0,0,1363,1,1364,1,984,500,4362,500,7315,250); Add(3,13417,1,0,0,1132,1,1175,1,7315,250,984,500,4358,500); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop10"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set @shop_index, select(.menu$); else if (.@size == 1) set @shop_index, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set @shop_index, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[@shop_index] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop10"+@shop_index,1; npcshopattach "qshop10"+@shop_index; 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_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@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 "[Basic Quest]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; disable_items; 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] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) 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 "[Basic Quest]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, 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]):callfunc("F_InsertArticle",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(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop10"+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 script qshop10 { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop10::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop11 -1,909:-1 - shop qshop12 -1,909:-1 - shop qshop13 -1,909:-1 - shop qshop14 -1,909:-1 - shop qshop15 -1,909:-1
  5. Still not working. I can make it this far: setarray .Shops$[1],"Upper","Middle","Lower"; once i select of those menus it just says pick one item at a time in the text box but with no menu pop up.
  6. Im trying to make duplicates of euphy's quest shop but im running into a slight problem: Its still loading the same items from the original NPC. Anyone know what i need to change to prevent it from calling the other shops variables?
  7. Hey everyone! Updating the topics for the week. Please be sure to check in tonight at 9:30PM EST!
  8. Next week we will plan for a longer session. This was on the fly and i was still semi-busy with work
  9. Thanks to you and @TheDerpySupport for stopping by! @Cyro was a little late per usual.... but i wont punish him this time
  10. Hey everyone! I've been in hibernation for a few months now but im ready to come out and play! My work and personal life needed some extra attention so i had to put my project on hold but I am ready to dive back into things full force and get this thing rolling. I am looking to see who would be interested in weekly brainstorming sessions to discuss various Ragnarok mechanic related gibbers. Some main topics im looking to cover in this weeks discussion are: ~Updated events // in depth dungeon planning ~Boss battling systems ~luk based formulas // using luck as an outcome for game play If anyone is interested in attending please feel free to join our Friday session tonight at 9:30PM EST. I have sent a few invites on discord out already but if you haven't received one you can just join with the link below! The Weekly Focus: https://discord.gg/TTkxpGq Ill be leading the discussion, Ill wait till about 9:45 for the ones who are usually late. ( You know who you are ) Cant wait to see you all there!
  11. This is awesome easy! Maybe ill use this for Ritual
  12. @Azura Skyy Thanks! I’ll be posting details somewhere in the next 24-48 hours :3
  13. Hiya Everyone! My names is Jamie~ Newbie Developer and Veteran RO player here. I have been browsing the site and in touch with quite a few of the key staff members here but i have yet to introduce myself! My adventure all started with the US release of IRO in 2003-2004. I remember leveling for months and getting together with friends to have "lan parties", we would all choose a different job class and set out on our adventures of "not knowing what the fuck we are doing". Do not you miss the days that we didn't have RMS guides and you still had that excitement from the adventurous discovery around rune midgard? Now look where we are! Making SRC mods, Client Diffs and writing our own code! Crazy to think about the evolution and the roots of where we started. If anyone would like to reminisce those times with me,do not be shy! Anyways, Im looking to branch out my contacts. ( Hopefully work with some of you all! ) I learn more and more everyday about the development side of RO and have an excellent understanding of what players want and how the community meta is currently evolving. Im exciting for the project that i am starting and i hope you all will enjoy the concept too! [I will post that in the projects sections so i can do my part and keep the forums clean ] Well anyway i'm done babbling, i'm super sleepy and need to catch some zZzZ! Love you all, Kaleidoscope <3
  14. Helloooooo Im looking for some skilled mappers who have some maps laying around that they might want to share or sell. Looking specifically for a small main town map. ( armory building / market area / main NPC area / potential to connect to outside field maps? )
  15. Thanks, Ill try this out shortly!
  16. Newbie developer here! ~ Interested in this same concept but needs an explination on how to do the math for the randitem value. How would you calculate 0.01%?
  17. Hey Euphy! I have a few questions about a free script you have listed. 1. Is the build manager compatible with Herc emulator? 2.Is it as simple to switch max level from 99 > 500? Must i mod something for that be allowed?
  18. Looking for a bot checker Npc that i can put on multiple maps. Maybe with an auto DC if 1min = 0 response to check?
  19. Disabling the use of feeling on certain maps. Eg: gold room. Also im trying to fing a way to disable the activation of the miracle on the same map. Essentially SG is Over powered because of the warmth skills and hatred, and im trying to find out: does the miracle activate even if the map is not set with feeling?
  20. Thanks! I answered my own question LOL newbie dev here
  21. How would i change hard cast rate for gunslinger skill tracking?
  22. how do i add HP for tao gunka card but specifically for ninja, GS, SN. Like: Max hp + 200% for ninja , GS , SN and 100% to all others?
  23. Trying to restrict all HP healing items on guild_vs2 map. How is this possible? Ex. Ygg berry / seed, box of panting, pots of anysort, cookies, cold meds, herbs, mastella, royal jelly, etc.
×
×
  • Create New...