Jump to content

crystalro

Members
  • Posts

    42
  • Joined

  • Last visited

Everything posted by crystalro

  1. I wonder why i put correct item code but it appear jellpoly?????? That weird is once i remove item 30187 then no jellpoly anymore...... but once i added 30187 it will got jellpoly, but when i @item 30187 it's no problem Please help... thank you
  2. Hello, Can anyone help me to make a script, for example a guildname is Emperor and who joined this guild Emperor's member all can get Assumption, Blessing and Agility...... not inside guild can't get buff...Thank you
  3. @Helly OMG !!!!!!!!!! Works like a charm................. Actually what's mean about the 63?
  4. Please help me this script , I wonder why other server works and load on my server become other thing....this script refiner is refine 1by1 style.... But i wear full eq ady.... It only appear Shoes , Upper and Garment.. Here this picture and script // function script ValueConvert { // set .@num, atoi(""+getarg(0)); // if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0); // set .@l, getstrlen(""+.@num); // for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) { // set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$; // if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$; // } // return .@num$; // } quiz_02,334,78,5 script Refiner 63,{ for( set .@i,1; .@i <= 6; set .@i,.@i + 1 ) if( getequipisequiped( .@i ) ){ if( getequipisenableref( .@i ) && getequiprefinerycnt( .@i ) <= .max_refine ){ set .@eq_count,.@eq_count + 1; set .@menu$,.@menu$ + " +"+getequiprefinerycnt( .@i )+" "+getequipname( .@i ) +":"; }else{ set .@menu$,.@menu$ +":"; } }else{ set .@menu$,.@menu$ +":"; } if( !.@eq_count ){ mes "You dont have any equipment available for refine."; close; } set .@equipment,select( .@menu$ ); set .@temp_equip,getequipid( .@equipment ); do{ if( getequipid( .@equipment ) != .@temp_equip ){ mes "Dont change to other equipments."; close; } set .@eq_level,getequipweaponlv( .@equipment ); if( .@eq_level == 1 ) set .@free_refine,7; else if( .@eq_level == 2 ) set .@free_refine,6; else if( .@eq_level == 3 ) set .@free_refine,5; else set .@free_refine,4; set .@refine_count,getequiprefinerycnt( .@equipment ); if( .zeny_cost ){ mes "Every Refine : ^0055FF"+callfunc( "ValueConvert",.zeny_cost )+" Zeny^000000"; mes "De-refine : ^FF0000Free^000000"; mes " "; mes "If current refine below +^FF0000"+.@free_refine+" : ^FF0000Free^000000"; next; } set .@refine,select(( .@refine_count >= .max_refine )?"":"Refine to ^0055FF+"+( .@refine_count + 1 )+" "+getequipname( .@equipment )+"^000000", ( .@refine_count < 1 )?"":"De-refine -1" ); // temporary disabled de-refine if( Zeny < .zeny_cost && .@refine == 1 ){ message strcharinfo(0),"Dont have enough zeny."; break; } if( .@refine_count < 1 && .@refine == 2 ){ mes "You cant de-refine this anymore."; break; }else if( .@refine_count >= .max_refine && .@refine == 1 ){ mes "You cant refine this anymore."; }else{ if( .@refine == 1 && .@refine_count >= .@free_refine ) set Zeny,Zeny - .zeny_cost; switch( .@refine ){ Case 1: successrefitem .@equipment; break; Case 2: downrefitem .@equipment; break; default: break; } } if( getequiprefinerycnt( .@equipment ) >= .max_refine ){ mes "Max Refine Reach..."; break; } }while( 1 ); close; OnInit: OnWhisperGlobal: set .zeny_cost,0; set .max_refine,10; waitingroom " Refiner",0; end; } @Azura Skyy Not works Not alike the one i'm looking.....
  5. @SoninBlenemBro can you guide me? I don't understand.
  6. Hi, Anyone can share me a refiner +10 script? or help me to script? I need a refiner for FREE OF CHARGES, multiple refine 1 by 1, do not refine accessory and MID & LOWER....... Auto read & follow itemdb which can refine which cannot refine... and 2nd option together with this NPC Can multiple derefine 1 by 1 Thank you!
  7. Hello, I'm using 2015 client but i wonder why once i Secured my GRF and upload it.. it's can't read? For example i secured my Login_background.grf and it's become BLACK i secured my custom items all become black please help
  8. @Tokei Still can't equip Even the hex has calculated
  9. @gugusjungs Errrrrrr... You solved me that all in one npc.... Putty appear
  10. @gugusjungs Please help me this script too bro. Thank you! I wonder why other server works and load on my server become other thing.... this script refiner is refine 1by1 style.... But i wear full eq ady.... It only appear Shoes , Upper and Garment.. Disabled accessory & mid low // function script ValueConvert { // set .@num, atoi(""+getarg(0)); // if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0); // set .@l, getstrlen(""+.@num); // for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) { // set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$; // if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$; // } // return .@num$; // } quiz_02,334,78,5 script Refiner 63,{ for( set .@i,1; .@i <= 6; set .@i,.@i + 1 ) if( getequipisequiped( .@i ) ){ if( getequipisenableref( .@i ) && getequiprefinerycnt( .@i ) <= .max_refine ){ set .@eq_count,.@eq_count + 1; set .@menu$,.@menu$ + " +"+getequiprefinerycnt( .@i )+" "+getequipname( .@i ) +":"; }else{ set .@menu$,.@menu$ +":"; } }else{ set .@menu$,.@menu$ +":"; } if( !.@eq_count ){ mes "You dont have any equipment available for refine."; close; } set .@equipment,select( .@menu$ ); set .@temp_equip,getequipid( .@equipment ); do{ if( getequipid( .@equipment ) != .@temp_equip ){ mes "Dont change to other equipments."; close; } set .@eq_level,getequipweaponlv( .@equipment ); if( .@eq_level == 1 ) set .@free_refine,7; else if( .@eq_level == 2 ) set .@free_refine,6; else if( .@eq_level == 3 ) set .@free_refine,5; else set .@free_refine,4; set .@refine_count,getequiprefinerycnt( .@equipment ); if( .zeny_cost ){ mes "Every Refine : ^0055FF"+callfunc( "ValueConvert",.zeny_cost )+" Zeny^000000"; mes "De-refine : ^FF0000Free^000000"; mes " "; mes "If current refine below +^FF0000"+.@free_refine+" : ^FF0000Free^000000"; next; } set .@refine,select(( .@refine_count >= .max_refine )?"":"Refine to ^0055FF+"+( .@refine_count + 1 )+" "+getequipname( .@equipment )+"^000000", ( .@refine_count < 1 )?"":"De-refine -1" ); // temporary disabled de-refine if( Zeny < .zeny_cost && .@refine == 1 ){ message strcharinfo(0),"Dont have enough zeny."; break; } if( .@refine_count < 1 && .@refine == 2 ){ mes "You cant de-refine this anymore."; break; }else if( .@refine_count >= .max_refine && .@refine == 1 ){ mes "You cant refine this anymore."; }else{ if( .@refine == 1 && .@refine_count >= .@free_refine ) set Zeny,Zeny - .zeny_cost; switch( .@refine ){ Case 1: successrefitem .@equipment; break; Case 2: downrefitem .@equipment; break; default: break; } } if( getequiprefinerycnt( .@equipment ) >= .max_refine ){ mes "Max Refine Reach..."; break; } }while( 1 ); close; OnInit: OnWhisperGlobal: set .zeny_cost,0; set .max_refine,10; waitingroom " Refiner",0; end; }
  11. @gugusjungs Thanks so muchhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh!!!!!!!!!!!!!!
  12. @srhmike Or bro can you share me your script? Thanks !!!
  13. @srhmike It's ori script from Euphy...... And you look at the picture, There's wrong parts to remove card.... Upper Headgear part is the Diablo RING... This script no problem at my friend server... But when i load this script to my server i happened these issues. His client 2010, Mine 2015 client ........ Can you help me check?
  14. //===== eAthena Script ======================================= //= All-in-One NPC //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.3 //===== Description: ========================================= //= A compilation of commonly-used NPC scripts. //== Includes job changer, stylist, refiner, card remover, //== coin exchanger, rentals, resetter, platinum skills, //== sex changer, identifier, healer, buffer, and repairman. //============================================================ prontera,164,174,4 script ALL IN ONE 531,{ function Get_Platinum; function Equip_Menu; if (getarraysize(.OnClick)) { if (.OnClick[0]) { specialeffect2 313; percentheal 100,100; } if (.OnClick[1]) { specialeffect2 42; sc_start SC_BLESSING,600000,10; specialeffect2 37; sc_start SC_INCREASEAGI,600000,10; } if (.OnClick[2] && getbrokenid(1)) { specialeffect2 101; atcommand "@repairall"; } } set .@menu$,""; for (set .@i,0; .@i < getarraysize(.MainMenu$); set .@i,.@i+1) { if (.MenuOption & pow(2,.@i)) set .@menu$, .@menu$+" ~ "+.MainMenu$[.@i]; set .@menu$, .@menu$+":"; } switch(select(.@menu$)) { case 1: function Job_Menu; function A_An; if (checkfalcon() || checkcart() || checkriding()) { message strcharinfo(0),"Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+" before proceeding."; close; } if (.SkillPointCheck && SkillPoint) { message strcharinfo(0),"Please use all your skill points before proceeding."; close; } if (Class > 6 && Class < 22) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel; message strcharinfo(0),"You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to rebirth."; close; } message strcharinfo(0),"Change into a High Novice?"; if(select(" ~ ^0055FFRebirth^000000: ~ ^777777Cancel^000000")==2) close; jobchange 4001; resetlvl(1); specialeffect2 432; close; } set .@eac, eaclass(); set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2); if (.@eac&EAJL_2) if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) { message strcharinfo(0),"No more jobs are available."; close; } if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { if( Class == 0 && JobLevel < .JobReq[0] ) Job_Menu(1,4023); else if (JobLevel < .JobReq[0]) message strcharinfo(0),"A job level of "+.JobReq[0]+" is required to change into the 1st Class."; else switch(Class) { case 0: Job_Menu(11,1,2,3,4,5,6,23,4046,24,25,4023); case 4001: Job_Menu(6,4002,4003,4004,4005,4006,4007); case 4023: Job_Menu(7,4024,4025,4026,4027,4028,4029,4045); default: message strcharinfo(0),"An error has occurred."; break; } close; } if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) { message strcharinfo(0),"No more jobs are available."; close; } if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1]) { message strcharinfo(0),"A job level of "+.JobReq[1]+" is required to change into the 2nd Class."; close; } Job_Menu(2,.@j1,.@j2); end; function Job_Menu { set .@menu$,""; for(set .@i,1; .@i<=getarg(0); set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; while(1) { set .@i, getarg(select(.@menu$),0); if (!.@i) close; if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) { message strcharinfo(0),"A base level of "+.SNovice+" is required to turn into a Super "+((.@i==23)?"Novice":"Baby")+"."; } else if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777Go back^000000")==1) { message strcharinfo(0),"Became "+A_An(jobname(.@i))+"!"; jobchange .@i; specialeffect2 338; if (.Platinum) Get_Platinum; close; } } end; } function Get_Platinum { skill 142,1,0; switch(BaseClass) { case 0: if (Class !=23) skill 143,1,0; break; case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break; case 2: skill 157,1,0; break; case 3: skill 147,1,0; skill 148,1,0; break; case 4: skill 156,1,0; break; case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break; case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break; default: break; } switch(roclass(eaclass()&EAJ_UPPERMASK)) { case 7: skill 1001,1,0; break; case 8: skill 1014,1,0; break; case 9: skill 1006,1,0; break; case 10: skill 1012,1,0; skill 1013,1,0; break; case 11: skill 1009,1,0; break; case 12: skill 1003,1,0; skill 1004,1,0; break; case 14: skill 1002,1,0; break; case 15: skill 1015,1,0; skill 1016,1,0; break; case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break; case 17: skill 1005,1,0; break; case 18: skill 238,1,0; break; case 19: skill 1010,1,0; break; case 20: skill 1011,1,0; break; default: break; } return; } 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); } case 2: setarray .@Look[1],7,1,6; set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color"); set .@Revert, getlook(.@Look[.@s]); set .@Style,1; while(1) { setlook .@Look[.@s], .@Style; message strcharinfo(0),"This is style #"+.@Style+"."; set .@menu$, " ~ Next (^0055FF"+((.@Style!=.Styles[.@s])?.@Style+1:1)+"^000000): ~ Previous (^0055FF"+((.@Style!=1)?.@Style-1:.Styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)"; switch(select(.@menu$)) { case 1: set .@Style, ((.@Style!=.Styles[.@s])?.@Style+1:1); break; case 2: set .@Style, ((.@Style!=1)?.@Style-1:.Styles[.@s]); break; case 3: message strcharinfo(0),"Choose a style between 1 - "+.Styles[.@s]+"."; input .@Style,0,.Styles[.@s]; if (!.@Style) set .@Style, rand(1,.Styles[.@s]); break; case 4: set .@Style, .@Revert; setlook .@Look[.@s], .@Revert; break; } } end; case 3: function Refine_Item; if (.EnrichedRefine) if (select(" ~ Normal Refiner: ~ Enriched Refiner")==2) { Equip_Menu(1); setarray .@Materials[0],7619,7620,7620,7620,7620; setarray .@Safe[0],4,7,6,5,4; set .@WLv, getequipweaponlv(@i); message strcharinfo(0),"Item: +"+getequiprefinerycnt(@i)+" "+getequipname(@i); 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; } 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); message strcharinfo(0),"Item: +"+getequiprefinerycnt(@i)+" "+getequipname(@i); 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) message strcharinfo(0),"Invalid number ("+.@Refines+")."; else Refine_Item(.@Refines, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]); close; case 3: if (.@SafeCount < 1) message strcharinfo(0),"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)) { message strcharinfo(0),"Nothing is equipped there!"; close; } if (getarg(0)) { if (!getequipisenableref(@i)) { message strcharinfo(0),getequipname(@i)+" cannot be refined."; close; } if (getequiprefinerycnt(@i) >= 10 ) { message strcharinfo(0),"+"+getequiprefinerycnt(@i)+" "+getequipname(@i)+" cannot be refined any further."; close; } } return; } function Refine_Item { message strcharinfo(0),"I'll need "+getarg(0)+"x "+getitemname(getarg(1))+" and "+getarg(0)*getarg(2)+" Zeny."; if (countitem(getarg(1)) < getarg(0) || Zeny < getarg(0)*getarg(2)) { sleep2 500; message strcharinfo(0),"Come back when you have the required materials."; close; } if (getequiprefinerycnt(@i)+getarg(0) > getarg(3)) { sleep2 500; message strcharinfo(0),"The item will be refined above the safe limit. It may break."; } sleep2 500; if(select(" ~ ^0055FFContinue^000000: ~ ^777777Cancel^000000")==2) close; 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)) { message strcharinfo(0),getequipname(@i)+" broke while refining."; failedrefitem @i; close; } } else { if (getequippercentrefinery(@i) <= rand(100)) { message strcharinfo(0),getequipname(@i)+" broke while refining."; failedrefitem @i; close; } } successrefitem @i; set .@j, .@j-1; } message strcharinfo(0),"All done!"; close; } case 4: if (.Prices[0]) message strcharinfo(0),"It costs "+.Prices[0]+" Zeny to remove cards."; Equip_Menu(0); if (Zeny < .Prices[0]) { message strcharinfo(0),"You don't have enough Zeny."; close; } set .@j,getequipcardcnt(@i); if (!.@j) { message strcharinfo(0),"There are no cards compounded to "+getequipname(@i)+"."; close; } if (!checkweight(4001,(.@j+1))) { message strcharinfo(0),"You're carrying too many items!"; close; } message strcharinfo(0),"Item: "+getequipname(@i); if (select(" ~ Remove "+.@j+" card(s): ~ ^777777Cancel^000000")==2) close; set Zeny, Zeny-.Prices[0]; successremovecards @i; message strcharinfo(0),"Cards successfully removed!"; close; case 5: message strcharinfo(0),"Coins are worth "+.Coin[1]+" Zeny each."; switch(select(" ~ Zeny to coins: ~ Coins to Zeny: ~ Close")) { case 1: message strcharinfo(0),"How many coins do you want?"; input .@coins,0,(1000000000/.Coin[1]); if (.@coins*.Coin[1] > Zeny) { message strcharinfo(0),"You don't have enough Zeny."; close; } if (!checkweight(.Coin[0],.@coins)) { message strcharinfo(0),"You don't have enough inventory space."; close; } set Zeny, Zeny-(.Coin[1]*.@coins); getitem .Coin[0], .@coins; message strcharinfo(0),"Purchased "+.@coins+" coins."; close; case 2: message strcharinfo(0),"How many coins do you want to trade in?"; input .@coins,0,(1000000000/.Coin[1]); if (countitem(.Coin[0]) < .@coins) { message strcharinfo(0),"You don't have that many coins!"; close; } if ((Zeny+(.Coin[1]*.@coins)) > 1000000000) { message strcharinfo(0),"You have too much Zeny!"; close; } delitem .Coin[0], .@coins; set Zeny, Zeny+(.Coin[1]*.@coins); message strcharinfo(0),"Exchanged "+.@coins+" coins."; close; case 3: close; } case 6: if (.Prices[2]) message strcharinfo(0),"It costs "+.Prices[2]+" Zeny to rent."; set .@i, select(" ~ Cart: ~ Falcon: ~ Peco"); if (Zeny < .Prices[2]) { message strcharinfo(0),"You don't have enough Zeny."; close; } if (.@i==1 && !checkcart() && getskilllv(39)) setcart; else if (.@i==2 && !checkfalcon() && getskilllv(127)) setfalcon; else if (.@i==3 && !checkriding() && getskilllv(63)) setriding; else { message strcharinfo(0),"You do not meet skill the requirements to rent."; close; } set Zeny, Zeny-.Prices[2]; close; case 7: if (.Prices[1]) message strcharinfo(0),"It costs "+.Prices[1]+" Zeny to reset stats or skills."; set .@i, select(" ~ Stat reset: ~ Skill reset: ~ Cancel"); if (.@i==3) close; if (Zeny < .Prices[1]) { message strcharinfo(0),"You don't have enough Zeny."; close; } set Zeny, Zeny-.Prices[1]; if (.@i==1) ResetStatus; else ResetSkill; message strcharinfo(0),((.@i==1)?"Stats":"Skills")+" reset!"; close; case 8: Get_Platinum; specialeffect2 441; message strcharinfo(0),"Platinum skills received!"; close; case 9: set .@Var$, ".SexChange"+((Sex)?"F":"M"); if (getarraysize(getd(.@Var$))) { message strcharinfo(0),"To turn into a "+((Sex)?"female":"male")+" you need the following items:"; sleep2 1000; for(set .@i,0; .@i<getarraysize(getd(.@Var$)); set .@i,.@i+2) { message strcharinfo(0),getd(.@Var$+"["+(.@i+1)+"]")+"x "+getitemname(getd(.@Var$+"["+.@i+"]")); if (countitem(getd(.@Var$+"["+.@i+"]")) < getd(.@Var$+"["+(.@i+1)+"]")) set .@nreq,1; sleep2 500; } if (.@nreq) close; } if(select(" ~ Change into a "+((Sex)?"female":"male")+": ~ Cancel")==2) close; if (getarraysize(getd(.@Var$))) for(set .@i,0; .@i<getarraysize(getd(.@Var$)); set .@i,.@i+2) delitem getd(.@Var$+"["+.@i+"]"), getd(.@Var$+"["+(.@i+1)+"]"); changesex; end; case 10: setarray .@Total[0],0,0; getinventorylist; for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1) { if (@inventorylist_identify[.@i]) continue; if (Zeny < .Prices[3]) { dispbottom "It costs "+.Prices[3]+" to identify an item."; break; } set Zeny, Zeny-.Prices[3]; delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0; getitem @inventorylist_id[.@i],1; setarray .@Total[0], .@Total[0]+1, .@Total[1]+.Prices[3]; } if (!.@Total[0]) { message strcharinfo(0),"No items identified."; close; } specialeffect2 154; message strcharinfo(0),"Identified "+.@Total[0]+" items"+((.@Total[1])?" for "+.@Total[1]+" Zeny":"")+"."; close; } OnInit: waitingroom "All in 1 NPC",0; // --------------------- Config --------------------- setarray .MainMenu$[0], // Set menu options! "Change Jobs", // [1] "Stylist", // [2] "Refiner", // [4] "Remove Cards", // [8] "Exchange Coins", // [16] "Rentals", // [32] "Reset Stats/Skills", // [64] "Platinum Skills", // [128] "Change Sex", // [256] "Identify All"; // [512] set .MenuOption,1|8|32|64|128|512; setarray .OnClick[0],0; // When clicked: heal [0], buff [1], repair [2] (1: yes / 0: no) setarray .Styles[1],553,37,250; // Maximum dye, hair style, and hair color setarray .Coin[0],674,100000000; // Coin item ID, coin price setarray .Prices[0],50000,10000,0,100; // Zeny to remove cards [0], reset [1], rent [2], identify [3] setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class set .SNovice,45; // Minimum base level to turn into Super Novice set .SkillPointCheck,0; // Force player to use up all skill points? (1: yes / 0: no) set .Platinum,1; // Get platinum skills automatically? (1: yes / 0: no) set .EnrichedRefine,1; // Allow enriched refiner option? (1: yes / 0: no) setarray .RP[0],2000,50,200,5000,20000; // Zeny for armor, lv1, lv2, lv3, lv4 refines setarray .SexChangeF[0],7539,100; // Items to turn into Female (ID,Count) setarray .SexChangeM[0],7539,100; // Items to turn into Male (ID,Count) // -------------------------------------------------- end; }
  15. Hello, I want to add Costume Garment, I already edited, spriterobeid & spriterobename in luafiles, I also edited in iteminfo.lub because i'm using 2015 client. But i wonder why i wear my costume items in garment it's not appear, even i had fill correct the view ID same with spriterobeid and the ClassNum in iteminfo. Or i left robe folder? Where to i get the korea words with robe folder
  16. As i know here the list can create own job plus what plus But, Anyone can you help me? I tried to plus but still not works I want Taekwon (2^21): 0x00200000 Soul Linker (2^23): 0x00800000 Gunslinger (2^24): 0x01000000 Ninja (2^25): 0x02000000 I plus together the answer is 0x03800000....... But still not works I wonder why..... (S.) Novice (2^00): 0x00000001 Swordman (2^01): 0x00000002 Mage (2^02): 0x00000004 Archer (2^03): 0x00000008 Acolyte (2^04): 0x00000010 Merchant (2^05): 0x00000020 Thief (2^06): 0x00000040 Knight (2^07): 0x00000080 Priest (2^08): 0x00000100 Wizard (2^09): 0x00000200 Blacksmith (2^10): 0x00000400 Hunter (2^11): 0x00000800 Assassin (2^12): 0x00001000 Unused (2^13): 0x00002000 Crusader (2^14): 0x00004000 Monk (2^15): 0x00008000 Sage (2^16): 0x00010000 Rogue (2^17): 0x00020000 Alchemist (2^18): 0x00040000 Bard/Dancer (2^19): 0x00080000 Unused (2^20): 0x00100000 Taekwon (2^21): 0x00200000 StarGladiator (2^22): 0x00400000 Soul Linker (2^23): 0x00800000 Gunslinger (2^24): 0x01000000 Ninja (2^25): 0x02000000 Gangsi (2^26): 0x04000000 Death Knight (2^27): 0x08000000 Dark Collector (2^28): 0x10000000 Kagerou/Oboro (2^29): 0x20000000 Rebellion (2^30): 0x40000000 Some other commonly used values: All Classes : 0xFFFFFFFF Every Job Except Novice : 0xFFFFFFFE
  17. Anyone can help me? except 7606 and 7420 reward fixed, i want add on Random item, but i don't know should how to add? getitem callfunc( "F_Rand", ??? i want add itemcode is 30700,30701,30702,30703,30704,30705,30706,30707,30708,30709,30710,30711,30712,30713 Thanks........ guild_vs5,50,50,5 script Stage Game 614,{ // Monster ID / Amount Initiating ( Check db/Mob_db.txt || db/Mob_db2.txt ) setarray .Stage[0], 1315,40, // Stage 1 + Amount 1830,30, // Stage 2 + Amount 1831,35, // Stage 3 + Amount 1710,30, // Stage 4 + Amount 1711,30, // etc...... 1833,30, // 1832,1; // Final Stage ( Max. ~64 Rounds ) // Reward ID / Amount Initiating ( Check db/Item_db.txt || db/Item_db2.txt ) setarray .Reward[0], 7606,100, // Reward 1 + Amount 7420,500; // Last Reward 1 ( Max. ~64 Items ) // MapFlags Initiating ( Check db/Cont.txt ) setarray .MapFlags[0],0,1,2,3,4,5,11,13,14,15,22,29,30,31,32,33,34,35,38,41,43,44,47,49; for( set .@mf,0; .@mf < getarraysize( .MapFlags ); set .@mf,.@mf + 1 ) { setmapflag strcharinfo(3),.MapFlags[.@mf]; } if( mobcount( strcharinfo(3),"all" ) > 0 || .Level > 0) { dispbottom "Just Kill All the Monster to Win the Game..."; end; } set .Level,0; announce "[Level "+( (.Level/2)+1 )+"] : [ "+.Stage[.Level+1]+" x "+getmonsterinfo( .Stage[.Level],0)+" ]",bc_all,0x37FDFC; monster strcharinfo(3),0,0,"[Slave] "+getmonsterinfo( .Stage[.Level],0)+"",.Stage[.Level],.Stage[.Level+1],strnpcinfo(0)+"::OnMobKill"; delwaitingroom; waitingroom "Left ["+mobcount( strcharinfo(3),strnpcinfo(0)+"::OnMobKill" )+"] Monster",0; end; OnMobKill: delwaitingroom; if( mobcount( strcharinfo(3),strnpcinfo(0)+"::OnMobKill" ) == 0 && .Level < ( getarraysize( .Stage ) - 5 ) ) { set .Level,.Level + 2; waitingroom "["+((( getarraysize( .Stage )/2 ) - .Level/2) - 1)+"] Rounds to Go.",0; for( set .@t,5; .@t > 0; set .@t,.@t - 1 ) { announce "[Level "+( (.Level/2)+1 )+"] in "+.@t+" Seconds",bc_map,0x4EEE94,0,35; sleep2 1000; } announce "[Level "+( (.Level/2)+1 )+"] : [ "+.Stage[.Level+1]+" x "+getmonsterinfo( .Stage[.Level],0)+" ]",bc_all,0x37FDFC; monster strcharinfo(3),0,0,"[Slave] "+getmonsterinfo( .Stage[.Level],0)+"",.Stage[.Level],.Stage[.Level+1],strnpcinfo(0)+"::OnMobKill"; } if( mobcount( strcharinfo(3),strnpcinfo(0)+"::OnMobKill" ) == 0 && .Level >= ( getarraysize( .Stage ) - 5 ) ) { set .Level,.Level + 2; announce "BOSS Stage",bc_map,0xFF0000,0,90; specialeffect 563; sleep2 2000; for( set .@t,5; .@t > 0; set .@t,.@t - 1 ) { specialeffect 563; announce "BOSS STAGE in "+.@t+" Seconds",bc_map,0xFF0000,0,60; sleep2 1000; } announce "[Level "+( (.Level/2)+1 )+"] : [ "+.Stage[.Level+1]+" x "+getmonsterinfo( .Stage[.Level],0)+" ]",bc_all,0x37FDFC; monster strcharinfo(3),0,0,"[BOSS] "+getmonsterinfo( .Stage[.Level],0)+"",.Stage[.Level],.Stage[.Level+1],strnpcinfo(0)+"::OnBossKill"; } delwaitingroom; waitingroom "Left ["+mobcount( strcharinfo(3),strnpcinfo(0)+"::On"+( ( .Level-2 ) > ( getarraysize( .Stage ) - 5 ) ? "BossKill":"MobKill") )+"] Monster",0; end; OnBossKill: delwaitingroom; if( mobcount( strcharinfo(3),strnpcinfo(0)+"::OnBossKill" ) > 0 ) { waitingroom "Left ["+mobcount( strcharinfo(3),strnpcinfo(0)+"::OnBossKill")+"] Monster",0; end; }else{ delwaitingroom; waitingroom "REWARD TIME",0; specialeffect 709; announce "Congratulation to Team [ "+getpartyname( getcharid(1) )+" ] who had just finished the Stage Game. ",0; getpartymember getcharid(1),1; getpartymember getcharid(1),2; set .@Location$,strcharinfo(3); for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) { if ( isloggedin($@partymemberaid[.@i]) ) { attachrid $@partymemberaid[.@i]; if( strcharinfo(3) == .@Location$ ) { unittalk getcharid(3),"Yeehaaa !! We Beat ALL the Monster !!!"; unitemote getcharid(3),e_heh; specialeffect2 709; for( set .@a,0; .@a < getarraysize( .Reward ); set .@a,.@a + 2 ) getitem .Reward[.@a],.Reward[.@a+1], $@partymemberaid[.@i]; dispbottom "Gained those items as Reward for Finishing Stage Game"; } } } sleep2 5000; mapwarp strcharinfo(3),"prontera",155,180; set .Level,0; delwaitingroom; } OnInit: waitingroom "Click Me",0; end; } prontera,162,161,4 script Stage Game#Register 615,{ if (agitcheck()){ mes @header$; mes "War of Emperium is ongoing!"; close;} while(1){ mes "Hello, i am ^FF0000Stage Game Manager^000000. How can i help you ?"; mes "Hello, ^FF0000do not AFK in map.or u will be kicked^000000."; mes "^0000FFRegistration Status^000000 : "+( getmapusers(.Map$) > 0 ?"^FF0000OFF":"^00FF00ON")+"^000000"; mes "(^FF0000Only Leader can Register^000000)"; mes ""; mes "It is In ^FF0000BETA Test^000000."; next; switch(select("^00FF00Stage Game Information^000000", ( getmapusers(.Map$) > 0 || getcharid(0) != getpartyleader( getcharid(1),2 ) )?"":"^0000FFRegister for Stage Game^000000", ( getmapusers(.Map$) < 1 || getgmlevel() < 60 )?"":"^FF0000Reset Stage Game^000000")) { Case 1: mes "^FF0000Stage Game^000000 is a small game that have alot of monster to be kill from round to round."; mes "With every increase or round you manage to reach, the monster could be stronger than before."; next; mes "You could win up some ^0000FFUnique^000000 prize upon you finished the whole ^FF0000Stage Game^000000"; next; mes "In order to ^0000FFRegister^000000 for ^FF0000Stage Game^000000, all your party member must meet the ^0000FFRequirements^000000"; next; mes "[ ^00FF00Requirements^000000 ]"; mes "^0000FFBase Level^000000 : "+.Level+" Level"; mes "^0000FFZeny^000000 : "+.Zeny+" Zeny "; mes "^0000FFParty Members^000000 : "+.PartyMember+" Members"; mes "(^FF0000Level / Zeny only Applied on Leader ^000000 )"; next; break; Case 2: // if( getgmlevel() < 80 ){ // mes "Stage Game is under Debugging Development. Simple Game but Hard "; // close; // } getpartymember getcharid(1),1; getpartymember getcharid(1),2; set @Count,0; for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ){ if ( isloggedin($@partymemberaid[.@i]) ){ set @Count,@Count+1; } } if( @Count < .PartyMember || BaseLevel < .Level || Zeny < .Zeny ){ mes "[ ^00FF00Requirements^000000 ]"; mes "^0000FFBase Level^000000 : "+.Level+" Level"; mes "^0000FFZeny^000000 : "+.Zeny+" Zeny "; mes "^0000FFParty Members^000000 : "+.PartyMember+" Members"; mes "(^FF0000Level / Zeny only Applied on Leader ^000000 )"; close; }else{ set Zeny, Zeny - .Zeny; mes "Your party will now be warped into the Destination to start the Game."; dispbottom "Click on the NPC inside to start the game."; delwaitingroom "Stage Game"; close2; announce "Team [ "+getpartyname( getcharid(1) )+"] has joined STAGE GAME.",0; warpparty .Map$,0,0,getcharid(1); killmonster .Map$,"All"; set getvariableofnpc(.Level,"Stage Game"),0; end; } Case 3: mes "The Game has been Reset."; killmonster .Map$,"All"; mapwarp .Map$,"prontera",155,180; announce "A GM has RESET the Stage Game, Sorry for the Incovenience.",0; set getvariableofnpc(.Level,"Stage Game"),0; delwaitingroom "Stage Game"; next; break; } } close; OnInit: waitingroom "Stage Game",0; OnWhisperGlobal: set .Level,1; set .Zeny,0; set .PartyMember,1; set .Map$,"guild_vs5"; while(sleep2(1000)) { delwaitingroom; waitingroom ( getmapusers(.Map$) > 0 ? " NOT":" " )+" Available",0; } end; } //Script by: BrianL - script IdleKick -1,{ OnPCLoginEvent: set .interval, 1; // How often to check? (seconds) set .max_idle, 180; // Idle time before kicking? (seconds) getmapxy( @map$, @x, @y, 0 ); addtimer .interval *1000, strnpcinfo(3)+"::OnCheck"; end; OnCheck: getmapxy( .@map$, .@x, .@y, 0 ); if( .@map$ == "guild_vs5" ) { if (.@map$==@map$ && .@x==@x && .@y==@y) { // same map,x,y (idle) set @idle_seconds, @idle_seconds + .interval; } else { // they moved, so reset idle timer set @idle_seconds, 0; } set @map$,.@map$; set @x,.@x; set @y,.@y; if (@idle_seconds >= .max_idle) { dispbottom "Idle characters are not allowed in Stage Game. Warping to save point..."; warp "SavePoint",0,0; // warp out // atcommand "@kick "+strcharinfo(0); // or kick } } addtimer .interval *1000, strnpcinfo(3)+"::OnCheck"; end; }
  18. Thanks........ By the way i just want to confirm not works once reached limit above 100+? @Stolao
  19. @Stolao Kindly inform and confirm to me again later, I'm using a NPC that players random get item.... So you gave the shortcut code like ? just use rand(29997,30297) ? no need fill itemcode 1by1? ermmmmm rand(29997,30297)? can give me a fully script ? i don't understand this function, Thanks
  20. Hi guys, About this getitem callfunc( "F_Rand" ) random to get items... I has put itemcode above over 100+ should it take effect above 100? Or only between 100.... Because when i try on NPC Sell there's only available for 100 reached.... And this is a script about random get... Please help me, Because there's no appear any errors at putty what limit reached... Thanks, I want to confirm.... getitem callfunc( "F_Rand", 29997,29998,29999,30000,30001,30002,30003,30004,30005,30006,30007,30008,30009,30010,30011,30012,30013,30014,30015,30016,30017,30018,30019,30020,30021,30022,30023,30024,30025,30026,30027,30028,30029,30030,30031,30032,30033,30034,30035,30036,30037,30038,30039,30040,30041,30042,30043,30044,30045,30046,30047,30048,30049,30050,30051,30052,30053,30054,30055,30056,30057,30058,30059,30060,30061,30062,30063,30064,30065,30066,30067,30068,30069,30070,30071,30072,30073,30074,30075,30076,30077,30078,30079,30080,30081,30082,30083,30084,30085,30086,30087,30088,30089,30090,30091,30092,30093,30094,30095,30096,30097,30098,30099,30100,30101,30102,30103,30104,30105,30106,30107,30108,30109,30110,30111,30112,30113,30114,30115,30116,30117,30118,30119,30120,30121,30122,30123,30124,30125,30126,30127,30128,30129,30130,30131,30132,30133,30134,30135,30136,30137,30138,30139,30140,30141,30142,30143,30144,30145,30146,30147,30148,30149,30150,30151,30152,30153,30154,30155,30156,30157,30158,30159,30160,30161,30162,30163,30164,30165,30166,30167,30168,30169,30170,30171,30172,30173,30174,30175,30176,30177,30178,30179,30180,30181,30182,30183,30184,30185,30186,30187,30188,30189,30190,30191,30192,30193,30194,30195,30196,30197,30198,30199,30200,30201,30202,30203,30204,30205,30206,30207,30208,30209,30210,30211,30212,30213,30214,30215,30216,30217,30218,30219,30220,30221,30222,30223,30224,30225,30226,30227,30228,30229,30230,30231,30232,30233,30234,30235,30237,30238,30239,30240,30241,30242,30243,30244,30245,30246,30247,30248,30249,30250,30251,30252,30253,30254,30255,30256,30257,30258,30259,30260,30261,30262,30263,30264,30265,30266,30267,30268,30269,30270,30271,30272,30273,30274,30275,30276,30277,30278,30279,30280,30281,30282,30283,30284,30285,30286,30287,30288,30289,30290,30291,30292,30293,30294,30295,30296,30297 ), 1;
  21. @srhmike No missing sir, I check back all .bmp inside my collection or item folder.... Even from the pic i look at my collection / item folder still got.... But i wonder why in server there' no image shown
×
×
  • Create New...