Phantom Of Rogue-Gon Posted August 17, 2013 Posted August 17, 2013 hello guys can i request refine npc with this this 6238 id for entrance fee ticket example all equipment in alt Q are +7 safety except accessory , wings and lower and middle headgear Quote
Skorm Posted August 17, 2013 Posted August 17, 2013 · Hidden by Patskie, January 21, 2014 - No reason given Hidden by Patskie, January 21, 2014 - No reason given Edit--
Phantom Of Rogue-Gon Posted August 18, 2013 Author Posted August 18, 2013 master if i change the entrance fee for refine items entrance Free is Cashpoint 10000 delete from the normal player the Cashpoint 10000 and if the player not enough Cashpoint she/he cant ups the item Quote
Skorm Posted August 18, 2013 Posted August 18, 2013 prontera,184,177,5 script Refine Master 851,{ mes .npc$; mes "Hello there!"; mes "I can refine your items,"; mes "without fail if you have"; mes "the correct refinement deed,"; mes "and "+.price+" "+.cost$+"."; emotion e_no1,0; next; if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; } if(getd(.cost$)<.price) { mes .npc$; mes "You don't have enough "+.cost$+". You need "+(.price-getd(.cost$))+" more."; close; } mes .npc$; mes "Which equipment would you like to refine?"; next; while(set(.@a,.@a+1)<=.e_len) { if(getequipid(.@a)>-1) set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.@a))+"^000000]:"; else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:"; } select(.@menu$); set .@eq_loc, @menu; set .@eq_itm, getequipid(.@eq_loc); if(.@eq_itm<0) { mes .npc$; mes "Hmm, I don't think you have anything equipped there."; close; } if(!getequipisenableref(.@eq_loc)) { mes .npc$; mes "I'm sorry but it seem that item cannot be refined..."; close; } set .@menu$, ""; set .@a, -1; while(set(.@a,.@a+1)<getarraysize(.en_deed)) if(getiteminfo(.en_deed[.@a],2)>-1) if(set(.@c,countitem(.en_deed[.@a]))) { set .@menu$, .@menu$+getitemname(.en_deed[.@a])+" - x"+.@c+":"; set .@b,.@b+1; set .@item[.@b], .en_deed[.@a]; } if(.@menu$=="") { mes .npc$; mes "Hmm, you don't seem to have any refinement deeds(tickets)."; close; } mes .npc$; mes "Please, choose the ^314a34Weapon or Armor refine deed^000000 you want to use."; next; select(.@menu$); set .@itm, .@item[@menu]; set .@itm_n$, getitemname(.@itm); set .@a, 4; if(.@eq_loc!=4&&getiteminfo(getequipid(.@eq_loc),2)!=4) { if(compare(.@itm_n$,"Weapon")) { mes .npc$; mes "You may only use Weapon deeds on weapons.."; emotion e_ag,0; close; } } else { if(compare(.@itm_n$,"Armor")) { mes .npc$; mes "You may only use Armor deeds on armor equipment.."; emotion e_ag,0; close; } } set .@eqrf, getequiprefinerycnt(.@eq_loc); while(set(.@a,.@a+1)) if(compare(.@itm_n$,""+.@a)) break; if(.@a<=.@eqrf) { mes .npc$; mes "I'm sure you don't want to waste a"; mes "deed by refining that to a lesser"; mes "or equal value."; emotion e_swt,0; close; } mes .npc$; mes "Great."; mes "as you wish!"; mes "i have my own special way to"; mes "refine..."; sleep2 1000; misceffect 901; misceffect 101; mes "......Kaboom!"; next; delitem .@itm,1; setd(.cost$,getd(.cost$)-.price); set .@crd0, getequipcardid(.@eq_loc,0); set .@crd1, getequipcardid(.@eq_loc,1); set .@crd2, getequipcardid(.@eq_loc,2); set .@crd3, getequipcardid(.@eq_loc,3); delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd0, .@crd1, .@crd2, .@crd3; getitem2 .@eq_itm, 1, 1, .@a, 0, .@crd0, .@crd1, .@crd2, .@crd3; emotion e_no1,0; mes .npc$; mes "All done!"; equip .@eq_itm; close; //NPC Constants OnInit: //=-=-=-=-=-=-=Configuration=-=-=-=-=-=-= set .npc$ , "[^0000FFRefine Master^000000]"; // NPC Name set .cost$ , "#CASHPOINTS"; set .price , 10000; setarray .en_deed, 6228, 6229, 6230, 6231, 6232, 6233, 6234, 6235, 6238, 6239, 6456; // Range of IDs selected for enchanting. setarray .eqp$ , "Upper Headgear", "Armor", "Left Hand", "Right Hand", "Garment", "Shoes", "Accessory1", "Accessory2", "Mid Headgear", "Low Headgear"; set .e_len , getarraysize(.eqp$); //=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-= } Quote
Phantom Of Rogue-Gon Posted August 18, 2013 Author Posted August 18, 2013 prontera,184,177,5 script Refine Master 851,{ mes .npc$; mes "Hello there!"; mes "I can refine your items,"; mes "without fail if you have"; mes "the correct refinement deed,"; mes "and "+.price+" "+.cost$+"."; emotion e_no1,0; next; if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; } if(getd(.cost$)<.price) { mes .npc$; mes "You don't have enough "+.cost$+". You need "+(.price-getd(.cost$))+" more."; close; } mes .npc$; mes "Which equipment would you like to refine?"; next; while(set(.@a,.@a+1)<=.e_len) { if(getequipid(.@a)>-1) set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.@a))+"^000000]:"; else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:"; } select(.@menu$); set .@eq_loc, @menu; set .@eq_itm, getequipid(.@eq_loc); if(.@eq_itm<0) { mes .npc$; mes "Hmm, I don't think you have anything equipped there."; close; } if(!getequipisenableref(.@eq_loc)) { mes .npc$; mes "I'm sorry but it seem that item cannot be refined..."; close; } set .@menu$, ""; set .@a, -1; while(set(.@a,.@a+1)<getarraysize(.en_deed)) if(getiteminfo(.en_deed[.@a],2)>-1) if(set(.@c,countitem(.en_deed[.@a]))) { set .@menu$, .@menu$+getitemname(.en_deed[.@a])+" - x"+.@c+":"; set .@b,.@b+1; set .@item[.@b], .en_deed[.@a]; } if(.@menu$=="") { mes .npc$; mes "Hmm, you don't seem to have any refinement deeds(tickets)."; close; } mes .npc$; mes "Please, choose the ^314a34Weapon or Armor refine deed^000000 you want to use."; next; select(.@menu$); set .@itm, .@item[@menu]; set .@itm_n$, getitemname(.@itm); set .@a, 4; if(.@eq_loc!=4&&getiteminfo(getequipid(.@eq_loc),2)!=4) { if(compare(.@itm_n$,"Weapon")) { mes .npc$; mes "You may only use Weapon deeds on weapons.."; emotion e_ag,0; close; } } else { if(compare(.@itm_n$,"Armor")) { mes .npc$; mes "You may only use Armor deeds on armor equipment.."; emotion e_ag,0; close; } } set .@eqrf, getequiprefinerycnt(.@eq_loc); while(set(.@a,.@a+1)) if(compare(.@itm_n$,""+.@a)) break; if(.@a<=.@eqrf) { mes .npc$; mes "I'm sure you don't want to waste a"; mes "deed by refining that to a lesser"; mes "or equal value."; emotion e_swt,0; close; } mes .npc$; mes "Great."; mes "as you wish!"; mes "i have my own special way to"; mes "refine..."; sleep2 1000; misceffect 901; misceffect 101; mes "......Kaboom!"; next; delitem .@itm,1; setd(.cost$,getd(.cost$)-.price); set .@crd0, getequipcardid(.@eq_loc,0); set .@crd1, getequipcardid(.@eq_loc,1); set .@crd2, getequipcardid(.@eq_loc,2); set .@crd3, getequipcardid(.@eq_loc,3); delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd0, .@crd1, .@crd2, .@crd3; getitem2 .@eq_itm, 1, 1, .@a, 0, .@crd0, .@crd1, .@crd2, .@crd3; emotion e_no1,0; mes .npc$; mes "All done!"; equip .@eq_itm; close; //NPC Constants OnInit: //=-=-=-=-=-=-=Configuration=-=-=-=-=-=-= set .npc$ , "[^0000FFRefine Master^000000]"; // NPC Name set .cost$ , "#CASHPOINTS"; set .price , 10000; setarray .en_deed, 6228, 6229, 6230, 6231, 6232, 6233, 6234, 6235, 6238, 6239, 6456; // Range of IDs selected for enchanting. setarray .eqp$ , "Upper Headgear", "Armor", "Left Hand", "Right Hand", "Garment", "Shoes", "Accessory1", "Accessory2", "Mid Headgear", "Low Headgear"; set .e_len , getarraysize(.eqp$); //=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-= } i try this master can you change you +7 only master this imba Lets say i have this item 6230 then i want to ups any part of my equipment or shoes to +7 limit and max master this item for weapon only? 6230 Quote
iubantot Posted January 20, 2014 Posted January 20, 2014 sumthing wrong here the armor deed is for weapon and the weapon deed is for armor it should be vice versa Quote
AnnieRuru Posted January 20, 2014 Posted January 20, 2014 that's why I keep telling .... use CONSTANT .... 2 reasons for using constant ... 1. it makes the script has higher readability 2. if somehow the developer updates the script engine, it less likely that your script getting bugs due to revision update I change the no.4 into IT_WEAPON [paste=3bzgwiq4fpx3] Quote
Yoona Posted January 21, 2014 Posted January 21, 2014 that's why I keep telling .... use CONSTANT .... 2 reasons for using constant ... 1. it makes the script has higher readability 2. if somehow the developer updates the script engine, it less likely that your script getting bugs due to revision update I change the no.4 into IT_WEAPON [paste=3bzgwiq4fpx3] @Annie i've tested the script and this one pops out. [Debug]: Source (NPC): Refine Master at prontera (127,86) [Info]: Saved char 150009 - [ Admin ] Yoona shi ~ : inventory status. Quote
AnnieRuru Posted January 21, 2014 Posted January 21, 2014 how come I'm not getting any error ? I know you using rathena because that day my battleground script only compatible with rathena Quote
Skorm Posted January 21, 2014 Posted January 21, 2014 Honestly the scripted worked unmodified for me and others whom I shared it with. Annie, question... In my most recent version of this script I have.... if(.@menu$=="") You changed it to... if( !getstrlen(.@menu$) ) It just seems like that would be slower because it's 2 actions instead of one but really it accomplishes the same thing. Quote
AnnieRuru Posted January 21, 2014 Posted January 21, 2014 (edited) Honestly the scripted worked unmodified for me and others whom I shared it with.there is a very recent change about item type 4 & 5http://rathena.org/board/topic/90738-itemtype-update-read-this-very-important/ if your script has been using IT_WEAPON instead of 4, your script won't get broken because now IT_WEAPON is 5 Annie, question... In my most recent version of this script I have.... if(.@menu$=="") You changed it to... if( !getstrlen(.@menu$) ) It just seems like that would be slower because it's 2 actions instead of one but really it accomplishes the same thing.nope, there are certain things that you need to many people doesn't know about crappy rathena script enginehttp://rathena.org/board/topic/74164-h-please-edit-this/?p=155835 its true that I called up C_LNOT + BUILDIN_FUNC(getstrlen), 2 functions but its still way cleaner than C_EQ, because this command run through 3 functions 1. run through a while loop in char* parse_subexpr ... 2. then it check the left and right value is both string or not in char* parse_variable ... 3. then only use strcmp to compare both value in op_2str EDIT: prontera,158,184,5 script kjfhksdfjs 100,{ // set .@dummy$, ""; // variable is not set if ( !strcmp( .@dummy$ , "" ) ) dispbottom "correct"; else dispbottom "wrong"; end; }seems like working fine too O.o Edited January 21, 2014 by AnnieRuru Quote
Yoona Posted January 21, 2014 Posted January 21, 2014 Forgot to tell you that i change this one. setarray .en_deed, 6228, 6229, 6230, 6231, 6232, 6233, 6234, 6235, 6238, 6239, 6456; into this setarray .en_deed, 7227; Quote
Question
Phantom Of Rogue-Gon
hello guys
can i request
refine npc with this this 6238 id for entrance fee ticket
example all equipment in alt Q
are +7 safety except accessory , wings and lower and middle headgear
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.