Jump to content

Hadeszeus

Members
  • Content Count

    651
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Hadeszeus

  1. Sorry for confusion.. Yes what I really want to do is to reduce the price of all items in item_db without modifying the file. Item listed on npc or shops are not affected since modifying the shop files is easy. The goal is to easily control your future game economy. Without editting each line in itemdb.
  2. Can someone confirm if this is doable?
  3. Is there a simple script that reduced all the price of the items by group or by type? Like what @autoloottype list: Healing, usable, etc, weapon, armor, card, petegg, petarmor, ammo. For example: (Price applied on each item regardless the rarity or level of the item.) Healing: 1z EACH Usable: 1z EACH Etc: 5z EACH Armor: 10z EACH Weapon: 20 EACH Is this even possible?
  4. Can I request an NPC for newbie? It's like a tour to certain coordinates of the map. Example: Menu Selection of NPCs in TOWN. When SELECT it will mark down the coordinates on the MINI MAP. Or another option Move or Teleport. Can you give me sample?
  5. I want to use All In One NPC but only the Refiner part. But im having a problem on the safe limit of that script, even after changing @Safe from 4 to 8 item still break at 5 to 8. Can you help me figure it out? I want the Enriched Refiner and the percentage features.
  6. Sir Question. Is it possible to retain the item if used? As far as i know it should be skill not usable item.. I'm curious... http://richkidherbert.blogspot.com/2010/10/merchants-open-buying-store-skill.html
  7. Anybody know how adjust safe limit on refining? Currrently its set to 4. How to change to 8? I change the 1st @Safe 4 to 8 still item breaks at +5 Equip_Menu(1); setarray .@Materials[0],985,1010,1011,984,984; setarray .@Safe[0],4,7,6,5,4; I know this line is resposible for the success rate and it's random. if (getequippercentrefinery(@i) <= rand(100)) { mes getequipname(@i)+" downgraded while refining."; downrefitem @i; close; How to change to safe upgrade up to +8
  8. BTW, this refiner is coming from All-in-One-NPC of Euphy.
  9. Mine still the same the prompt can still be close on first load. Im giving up maybe ill use the default behavior. Thanks for this bro!
  10. Making it required still not working. See attached file thanks! Edited Code: - script thirds -1,{ /*----------------------------------------------------- Function: colour() ------------------------------------------------------- Description: Colours the defined string. ------------------------------------------------------- Usage: colour("<colour hex>", "<string>"); -----------------------------------------------------*/ function colour { return "^"+ getarg(0) + getarg(1) +"^000000"; } /*----------------------------------------------------- Configuration -----------------------------------------------------*/ OnInit: .trans = 1; // Transcend? 0 = no, 1 = yes (default: 1) // Job names setarray .job_name$[0], "Rune Knight", "Warlock", "Arch Bishop", "Ranger", "Mechanic", "Guillotine Cross", "Royal Guard", "Sorcerer", "Sura", "Minstrel/Wanderer", "Genetic", "Shadow Chaser"; // Job IDs setarray .job_id[0], Job_Rune_Knight, Job_Warlock, Job_Arch_Bishop, Job_Ranger, Job_Mechanic, Job_Guillotine_Cross, Job_Royal_Guard, Job_Sorcerer, Job_Sura, Job_Minstrel, Job_Genetic, Job_Shadow_Chaser; // Job IDs (Trans) setarray .job_id_t[0], Job_Rune_Knight_T, Job_Warlock_T, Job_Arch_Bishop_T, Job_Ranger_T, Job_Mechanic_T, Job_Guillotine_Cross_T, Job_Royal_Guard_T, Job_Sorcerer_T, Job_Sura_T, Job_Minstrel_T, Job_Genetic_T, Job_Shadow_Chaser_T; end; /*----------------------------------------------------- Script -----------------------------------------------------*/ OnPCLoginEvent: if(auto_third) { end; } do { mes "[Welcome to HelloRO "+ strcharinfo(0) +"]"; prompt implode(.job_name$, ":"), -; .@index = @menu - 1; switch(select("Confirm - ["+ colour("008800", .job_name$[.@index]) +"]:Change selection:"+ colour("FF0000", "End session"))) { case 1: jobchange (.trans ? .job_id_t[.@index] : .job_id[.@index]); /*----------------------------------------------------- Job Change Settings -----------------------------------------------------*/ BaseLevel = 150; // Max base level JobLevel = 70; // Max job level skill NV_BASIC, 9, 0; // Level 9 Basic Skill SkillPoint = 187; // 49 First, 69 Trans, 69 Third /*---------------------------------------------------*/ if (.trans) { StatusPoint += 100; } auto_third = 1; close; case 2: @menu = 255; break; case 3: close; }} while (@menu == 255); }
  11. Yes I'm editing it for an hour or two changing first 4 to 8 only change the limit number of safe refine on menu option. But doesn't solved the problem. Maybe the problem is on this line mes .n$; set .@j, getarg(0); while(.@j) { delitem getarg(1),1; set Zeny, Zeny-getarg(2); if (getarg(4,0)) { if (getequippercentrefinery(@i) <= rand(100) && getequippercentrefinery(@i) <= rand(100)) { mes getequipname(@i)+" broke while refining."; failedrefitem @i; close; } } else { if (getequippercentrefinery(@i) <= rand(100)) { mes getequipname(@i)+" broke while refining."; failedrefitem @i; close; } } successrefitem @i; set .@j, .@j-1; } mes "All done!";
  12. Sorry I can't figure it out. I need to increase the SAFE limit from 4 to +8. function Refine_Item; if (.EnrichedRefine) { mes .n$; mes "There are 2 types of Refiner"; mes "^ff0000Normal Refiner^000000 can upgrade your items in normal rate."; mes "While ^ff0000Enriched Refiner^000000 double the chance each upgrade."; next; mes "Select an option now."; next; if (select(" ~ Normal Refiner: ~ Enriched Refiner") == 2) { mes .n$; mes "What do you want to refine?"; next; Equip_Menu(1); setarray .@Materials[0],7619,7620,7620,7620,7620; setarray .@Safe[0],4,7,6,5,4; set .@WLv, getequipweaponlv(@i); mes .n$; mes "Item: +"+getequiprefinerycnt(@i)+" "+getequipname(@i); next; if(select(" ~ Refine item (2 * ^0055FF"+getequippercentrefinery(@i)+"^000000% success): ~ ^777777Cancel^000000") == 2) close; Refine_Item(1, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv], 1); close; } } mes .n$; mes "What do you want to refine?"; next; Equip_Menu(1); setarray .@Materials[0],985,1010,1011,984,984; setarray .@Safe[0],4,7,6,5,4; set .@WLv, getequipweaponlv(@i); set .@SafeCount, .@Safe[.@WLv]-getequiprefinerycnt(@i); mes .n$; mes "Item: +"+getequiprefinerycnt(@i)+" "+getequipname(@i); next; switch(select(" ~ Refine once (^0055FF"+getequippercentrefinery(@i)+"^000000% success): ~ Refine multiple times (up to "+(10-getequiprefinerycnt(@i))+"): ~ Refine to safe limit ("+((.@SafeCount>0)?.@SafeCount+" refines":"^777777disabled^000000")+"): ~ ^777777Cancel^000000")) { case 1: Refine_Item(1, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]); close; case 2: input .@Refines; if (.@Refines+getequiprefinerycnt(@i) > 10 || .@Refines < 1) { mes .n$; mes "Invalid number ("+.@Refines+")."; } else Refine_Item(.@Refines, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]); close; case 3: if (.@SafeCount < 1) { mes .n$; mes "The item has already reached the safe limit."; } else Refine_Item(.@SafeCount, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]); close; case 4: close; } function Equip_Menu { setarray .@pos$[1],"Upper Headgear","Armor","Left hand","Right hand","Garment","Footgear","Left Accessory","Right Accessory","Mid Headgear","Lower Headgear"; set .@menu$,""; for (set .@i,1; .@i <= 10; set .@i,.@i+1) { if (getequipisequiped(.@i)) set .@menu$, .@menu$+.@pos$[.@i]+" [^0055FF"+getequipname(.@i)+"^000000]"; set .@menu$, .@menu$+":"; } set @i, select(.@menu$); if (!getequipisequiped(@i)) { mes .n$; mes "Nothing is equipped there!"; close; } if (getarg(0)) { if (!getequipisenableref(@i)) { mes .n$; mes getequipname(@i)+" cannot be refined."; close; } if (getequiprefinerycnt(@i) >= 10 ) { mes .n$; mes "+"+getequiprefinerycnt(@i)+" "+getequipname(@i)+" cannot be refined any further."; mes "Talk to my daughter Brenda she can refine items higher than +10."; close; } } return; } function Refine_Item { mes .n$; set .@price, getarg(0)*getarg(2); mes "I'll need "+getarg(0)+"x "+getitemname(getarg(1))+" and "+Cm(.@price)+" Zeny."; if (countitem(getarg(1)) < getarg(0) || Zeny < .@price) { mes "Come back when you have the required materials."; close; } if (getequiprefinerycnt(@i)+getarg(0) > getarg(3)) mes "The item will be refined above the safe limit. It may break."; next; if(select(" ~ ^0055FFContinue^000000: ~ ^777777Cancel^000000") == 2) close; mes .n$; set .@j, getarg(0); while(.@j) { delitem getarg(1),1; set Zeny, Zeny-getarg(2); if (getarg(4,0)) { if (getequippercentrefinery(@i) <= rand(100) && getequippercentrefinery(@i) <= rand(100)) { mes getequipname(@i)+" broke while refining."; failedrefitem @i; close; } } else { if (getequippercentrefinery(@i) <= rand(100)) { mes getequipname(@i)+" broke while refining."; failedrefitem @i; close; } } successrefitem @i; set .@j, .@j-1; } mes "All done!"; close; }
  13. I don't know why I'm getting this error. Please help. error script:conv_str: cannot convert to string, defaulting to ""
  14. Perfect! Your so good and kind. Thanks a million!
  15. Why would it be? OnPCLoadMapEvent doesn't run until the player is already on the map. Your example would leave the player on the map itself after simply prompting them that they needed to have something to be there; then with that close, they'd walk happily off, confused as to why they were even told such a thing. Mhalicot's approach was on the right track, but I believe the topic starter would something more seamless. Here's my method: prontera,150,150,0 script testwarp WARPNPC,1,1,{ /*----------------------------------------------------- Configuration -----------------------------------------------------*/ OnInit: .item_id = Jellopy; .item_amount = 1; .warp_map$ = "prontera"; .warp_x = 155; .warp_y = 179; end; /*----------------------------------------------------- Script -----------------------------------------------------*/ OnTouch: if (countitem(.item_id) < .item_amount) { message strcharinfo(0), "You need "+ .item_amount +" "+ getitemname(.item_id) +" to access this warp."; } else { delitem .item_id, .item_amount; warp .warp_map$, .warp_x, .warp_y; } end;} +1 to this. Thank you it's working. BTW How to check/add more item in .item_id for example atleast 3 or more items.. I tried adding comma but it's not working.
  16. Thanks everyone for your reply and effort. I'm excited to test it later.. Thanks again!
  17. Solved. Dapat walang Number sa Package Name mo or Aegis Name para gumana
  18. I was able to solved the problem by removing numbers in <Container_Item_Name>: in item_package.conf
  19. Sige po subukan ko ulit.. ganyan na ganyan talga yung ginawa ko eh! pero ayaw lng lumabas nung item.. Nacoconsume lang yung BOX. Sir, salamat ha!
  20. Aw! I need something similar to this Patskie can I request this script? http://herc.ws/board/topic/4156-can-i-request-this-awesome-script-i-hope-its-easy/
  21. if the player step down on warps.. the warp checks the item if the user has required item he will enter the warp automatically else message "You need this item to enter on this map"..
×
×
  • Create New...

Important Information

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