Jump to content

Emistry

Forum Moderator
  • Posts

    10015
  • Joined

  • Days Won

    400

Community Answers

  1. Emistry's post in (Request)QuestNpc was marked as the answer   
    LunarCast Dynamic Shop
  2. Emistry's post in Reduce Item Refine level was marked as the answer   
    erm..if SQL Based...
    try run this Query...hope it work well for you~

    UPDATE `inventory` SET refine = 10 WHERE refine > 10;
  3. Emistry's post in [Request] Refiner with decide was marked as the answer   
    i guess..what you want...has already implant in Official RO long time ago....
    find this
    npc/merchant/refine.txt
    callfunc "refinemain","Fulerr",0;
    change to this
    callfunc "refinemain","Hollengrhen",1; callfunc "refinemain","Aragham",1; callfunc "refinemain","Antonio",1; callfunc "refinemain","Fredrik",1; callfunc "refinemain","Disturb",1; callfunc "refinemain","Manthasman Pruhag",1; callfunc "refinemain","Fulerr",1;
  4. Emistry's post in [Request] Zeny Room + ideas was marked as the answer   
    something like this ??

    prontera,155,181,5 script Sample 718,{ mes "Go to Zeny Room ?"; mes "Higher Level Gain more Zeny."; set @Room,select("Level 1:Level 2:Level 3:Level 4:Level 5"); warp .Map$[@Room],0,0; end; OnInit: // Set Map Name for each 5 Maps setarray .Map$[0],"guild_vs1","guild_vs2","guild_vs3","guild_vs4","guild_vs5"; // Monster ID for each 5 Maps setarray .MobID[0],1007,1008,1009,1010,1011; // Minimum Zeny to gain for each 5 Maps setarray .MinZeny[0],1000,2000,3000,4000,5000; // Maximum Zeny to gain for each 5 Maps setarray .MaxZeny[0],10000,20000,30000,40000,50000; for( set .@i,0; .@i < getarraysize( .Map$ ); set .@i,.@i + 1 ){ monster .Map$[.@i],0,0,"--ja--",.MobID[.@i],200,strnpcinfo(0)+"::OnMobKilled"; } end; OnMobKilled: set Zeny,Zeny + rand( .MinZeny,.MaxZeny ); monster .Map$[@Room],0,0,"--ja--",.MobID[@Room],1,strnpcinfo(0)+"::OnMobKilled"; }
  5. Emistry's post in need script +20 refiner using bradium/kalunium like official server was marked as the answer   
    Check jakeRed's post for -3 to refine level when refining fails:
    http://www.eathena.ws/board/index.php?s=&a...t&p=1263803
  6. Emistry's post in Coin Exchanger was marked as the answer   
    try this

    prontera,155,181,5 script Sample 718,{ setarray .CoinID, 677, 671, 675, 674; setarray .Zeny, 500000000, 100000000, 50000000, 1000000; while( 1 ){ mes "What service you want ?"; next; switch( select("Zeny to Coin:Coin to Zeny") ){ Case 1: mes "What Coin you want ?"; set .@CoinMenu$,""; for( set .@i,0; .@i < getarraysize( .CoinID ); set .@i,.@i + 1 ){ mes "^0000FF"+getitemname( .CoinID[.@i] )+" : ^FF0000"+.Zeny[.@i]+"^000000 Zeny"; set .@CoinMenu$,.@CoinMenu$ + getitemname( .CoinID[.@i] )+":"; } set .@Coin,select( .@CoinMenu$ ) - 1; next; mes "Selected : ^00FF00"+getitemname( .CoinID[.@Coin] )+"^000000"; if( Zeny < .Zeny[.@Coin] ){ mes "It seem like you didnt have Enough Zeny for this."; next; break; } mes "You can exchange to ^FF0000"+( Zeny / .Zeny[.@Coin] )+" ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000 ."; mes "How many ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000 do you want ?"; input @Amount,0,( Zeny / .Zeny[.@Coin] ); if( !@Amount ) close; mes "You gained "+@Amount+" ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000."; set Zeny,Zeny - ( @Amount * .Zeny[.@Coin] ); getitem .CoinID[.@Coin],@Amount; next; break; Case 2: mes "Which Coin ?"; set .@CoinMenu$,""; for( set .@i,0; .@i < getarraysize( .CoinID ); set .@i,.@i + 1 ){ mes "^0000FF"+getitemname( .CoinID[.@i] )+" : ^FF0000"+countitem( .CoinID[.@i] )+"^000000 Available"; set .@CoinMenu$,.@CoinMenu$ + getitemname( .CoinID[.@i] )+":"; } do{ set .@Coin,select( .@CoinMenu$ ) - 1; }while( !countitem( .CoinID[.@Coin] ) ); next; mes "Selected : ^00FF00"+getitemname( .CoinID[.@Coin] )+"^000000"; mes "You can exchange ^0000FF"+countitem( .CoinID[.@Coin] )+" "+getitemname( .CoinID[.@Coin] )+"^000000 to ^FF0000"+( countitem( .CoinID[.@Coin] ) * .Zeny[.@Coin] )+"^000000 Zeny."; mes "How many ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000 do you want to change into Zeny ?"; input @Amount,0,( ( 1000000000 - Zeny ) / .Zeny[.@Coin] ); if( !@Amount ) close; mes "You gained "+( @Amount * .Zeny[.@Coin] )+" Zeny."; delitem .CoinID[.@Coin],@Amount; set Zeny,Zeny + ( @Amount * .Zeny[.@Coin] ); next; break; } } }
  7. Emistry's post in [Request] Normal MvP Warper was marked as the answer   
    So, i guess this will be the final 1 right ?
    Script :
    prontera,155,181,5 script Sample 718,{ function MonsterList; mes "Heeyyyy....Little fella!"; mes "I'm the Prof.M aka the Warp Caster. My Services are totally free,uhm...At least for today."; mes "Uhm...I'm talking too much...Come...come...Pick and Warp."; next; switch( select( "^FF0000Last Warp^000000 [ "+( ( LastWarp$ )?LastWarp$:"No Map Selected" )+" ]","MVP Monster Lists","Mini Boss Monster Lists" )){ Case 1: mes "You will be warped back to ^FF0000"+LastWarp$+"^000000 ."; if( select("Yes:No") == 2 ) break; warp LastWarp$,0,0; end; Case 2: mes "^0000FFYou took over the MvP List from Prof. M and start choosing your desired option carefully...^000000"; next; switch( select( "Amon Ra", "Atroce", "Bacsojin", "Baphomet", "Dark Lord", "Detale", "Bio Lab MvP" )){ Case 1: MonsterList( 1,1511,1,"moc_pryd06" ); Case 2: MonsterList( 1,1785,5,"ra_fild02","ra_fild03","ra_fild04","ve_fild01","ve_fild02"); Case 3: MonsterList( 1,1630,1,"lou_dun03" ); Case 4: MonsterList( 1,1039,1,"prt_maze03" ); Case 5: MonsterList( 1,1272,1,"gl_chyard" ); Case 6: MonsterList( 1,1719,1,"abyss_03" ); Case 7: MonsterList( 6,1646,1647,1648,1649,1650,1651,1,"lhz_dun03" ); // Case 6: // Case 7: // etc...( Max 128 ) default: mes "Wrong Selection."; break; } Case 3: mes "^0000FFYou took over the Mini Boss List from Prof. M and start choosing your desired option carefully...^000000"; next; switch( select( "Angeling", "Arch Angeling", "Cat O Nine Tail", "Chimera", "Deviling" )){ Case 1: MonsterList( 1,1096,1,"pay_fild04" ); Case 2: MonsterList( 1,1388,1,"yuno_fild05" ); Case 3: MonsterList( 1,1307,1,"pay_dun04" ); Case 4: MonsterList( 1,1283,1,"gl_cas02" ); Case 5: MonsterList( 1,1582,1,"pay_fild04" ); // Case 6: // Case 7: // etc...( Max 128 ) default: mes "Wrong Selection."; break; } }[/size][/size] [size=7][size=4]function MonsterList { for( set .@i,1; .@i <= getarg(0); set .@i,.@i + 1 ) set .@MobMenu$,.@MobMenu$ + getmonsterinfo( getarg(.@i),0 ) +":"; set .@i,select( .@MobMenu$ );[/size][/size] [size=7][size=4]mes "^FF0000Name^000000 : "+getmonsterinfo( getarg(.@i),0 ); mes "^FF0000Level^000000 : "+getmonsterinfo( getarg(.@i),1 ); mes "^FF0000Max HP^000000 : "+getmonsterinfo( getarg(.@i),2 ); mes "^FF0000Base EXP^000000 : "+getmonsterinfo( getarg(.@i),3 ); mes "^FF0000Job EXP^000000 : "+getmonsterinfo( getarg(.@i),4 ); mes "^FF0000Size^000000 : "+.Size$[ getmonsterinfo( getarg(.@i),18 ) ]; mes "^FF0000Race^000000 : "+.Race$[ getmonsterinfo( getarg(.@i),19 ) ]; mes "^FF0000Element^000000 : "+.Element$[ getmonsterinfo( getarg(.@i),20 ) ];[/size][/size] [size=7][size=4]for( set .@i,( getarg(0) + 2 ); .@i < ( ( getarg(0) + 2 ) + getarg( getarg(0) + 1 ) ); set .@i,.@i + 1 ) set .@Map$,.@Map$ + getarg( .@i )+" [ "+getmapusers( getarg(.@i) )+" ]:"; next; set .@i,select( .@Map$ ); set LastWarp$,getarg( getarg(0) + 1 + .@i ); warp getarg( getarg(0) + 1 + .@i ),0,0; end; } OnInit: setarray .Size$[0],"Small","Medium","Large"; setarray .Race$[0],"Formless","Undead","Brute","Plant","Insect","Fish","Demon","Demi Human","Angel","Dragon"; setarray .Element$[0],"Neutral","Water","Earth","Fire","Wind","Poison","Holy","Dark","Spirit","Undead"; end; } Add Monsters ( Multi Monster & Multi Maps ):
    For Multi Maps i take the Atroce as Example .....

    Case 2: MonsterList( 1,1785,5,"ra_fild02","ra_fild03","ra_fild04","ve_fild01","ve_fild02");
    For Multi Monsters i take the Bio Lab MvP as Example .....

    Case 7: MonsterList( 6,1646,1647,1648,1649,1650,1651,1,"lhz_dun03" );
    Format for Setup :

    Case X: MonsterList( <MonsterNumber>,<MonsterList>,<MonsterList>.........,<MapNumber>,<MapName>,<MapName>....... );
  8. Emistry's post in Cluck ! was marked as the answer   
    try this method...
    Find this
    add this line below it.

    npcwalkto 142+rand(-10,10),229+rand(-10,10);
    the result should be walking around the area of 10x10
    with the Coordinate 142,229 as center.
  9. Emistry's post in [Resolved] How to Disable Warp Portal was marked as the answer   
    LOL....this is script part...not graphic..
    find the warp at here and disable it ( remove it )
    npc/warps/
  10. Emistry's post in Npc for newbie? (Freebies) was marked as the answer   
    prontera,155,181,5 script Sample 718,{ if( !#Freebies ){ set #Freebies,1; mes "Welcome...this is your gift..."; getitem 607,10; getitem 7539,10; }else{ mes "You have claim the Reward already."; } close; }
    if you want to make it Character Based..
    change All #Freebies into Freebies
    Edit the Price here

    getitem 607,10; getitem 7539,10;
  11. Emistry's post in [request] How to make a NPC party buffer? was marked as the answer   
    try this ~

    prontera,155,181,5 script Sample 718,{ if( !getcharid(1) ){ mes "You didnt have Party."; close; } 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]) && strcharinfo(3) == .@Location$ ){ message strcharinfo(0),"Your Party get buffs."; sc_start SC_BLESSING,300000,10; sc_start SC_INCREASEAGI,300000,10; sc_start SC_MAGNIFICAT,300000,5; sc_start SC_ANGELUS,300000,10; } } end; }
  12. Emistry's post in Npc donation was marked as the answer   
    if you want to learn scripting...
    Read these...
    Basic_Scripting
    Script_Command
    Scripting for Dummies
    If you are request for a script...( Since you are posting in Script Request Section )
    then you must explain / give details on what script you are going to request with
  13. Emistry's post in Requesting Special Job Changer was marked as the answer   
    Ouch ~ sry..there is a little typo at the SetArray there, and several bug >.<
    try this...

    prontera,155,181,5 script Sample 718,{ if( countitem( 7227 ) < 3 || JobLevel < 70 || BaseLevel < 99 ){ mes "You required 3 TCG Card , 99 Base Level and 70 JobLevel to Switch your Job Class."; }else{ setarray .JobLists[0],4008,4009,4010,4011,4012,4013,4015,4016,4017,4018,4019,( Sex )?"4020":"4021"; for( set .@i,0; .@i < getarraysize( .JobLists ); set .@i,.@i + 1 ){ set .@Menu$,.@Menu$ + (( Class != .JobLists[.@i] )?jobname( .JobLists[.@i] ):"")+":"; } set .@i,select( .@Menu$ ) - 1; jobchange .JobLists[.@i]; delitem 7227,3; resetskill; set JobLevel,70; set SkillPoint,130; mes "You have changed Job into "+jobname( Class ); } close; }
    if the Skill Points amount is incorrect..then modify here

    set SkillPoint,130; // Novice 10 + First Class 50 + Trans 70 = 130
  14. Emistry's post in Request - MVP npc and warper was marked as the answer   
    You may try these
    A Normal and Simple Warper Script :

    prontera,155,181,5 script Sample 718,{ switch( select( "Map 1", "Map 2", "Map 3", "Map 4", "Map 5" )){ Case 1: warp "pvp_n_1-2",0,0; end; Case 2: warp "pvp_n_2-2",0,0; end; Case 3: warp "pvp_n_3-2",0,0; end; Case 4: warp "pvp_n_4-2",0,0; end; Case 5: warp "pvp_n_5-2",0,0; end; } }
    and for the second script, if you are looking for direct warp inside the instance so that can "Start" instances quest directly..
    i dont think it will work ~ unless you have somekind of way to trigger it...
    However,if you are just looking for a script like above..you can just copy above script change the Destination Coordinate to warp into the entrances there
  15. Emistry's post in Refund Script was marked as the answer   
    are you looking for something work like this ??
    Player able to Exchange any 4 type of their Points into a Ticket which cost 100 Point Accordingly ???
    try this one :

    prontera,155,181,5 script Sample 718,{ function PointExchange; mes "Which Point you would like to use it to exchange into ticket ?"; next; switch( select( "Custom Point 1", "Custom Point 2", "Custom Point 3", "Custom Point 4" )){ Case 1: PointExchange( CustomPoint1,100,7539 ); Case 2: PointExchange( CustomPoint2,100,7539 ); Case 3: PointExchange( CustomPoint3,100,7539 ); Case 4: PointExchange( CustomPoint4,100,7539 ); default: break; } close; PointExchange: if( getarg(0) < getarg(1) ){ mes "Sorry you required "+getarg(1)+" Points to exchange into 1 "+getitemname(getarg(2))+" ."; }else{ mes "You have "+getarg(0)+" Points total now."; mes "Are you sure want to change "+getarg(1)+" Points to change into 1 "+getitemname(getarg(2))+" ?"; next; if ( select("NO:YES") == 1 ) close; set getarg(0), getarg(0) - getarg(1); mes "Gained 1 "+getitemname(getarg(2))+" by exchanged 100 Points of yours Points."; getitem getarg(2),1; } close; }
    Setting :
    PointExchange( <PointVariable> , <Cost> , <Item Gain> );
    Example : use any 100 Points of each type to exhange into 1 Poring Coin

    Case 1: PointExchange( CustomPoint1,100,7539 ); Case 2: PointExchange( CustomPoint2,100,7539 ); Case 3: PointExchange( CustomPoint3,100,7539 ); Case 4: PointExchange( CustomPoint4,100,7539 );
    Script are not tested yet ~
    if it doesnt work..please explain in detail..
  16. Emistry's post in [How to Activate Nightmode @ all town] was marked as the answer   
    try this....
    NPC Script :

    - script Sample -1,{ OnInit: OnPCLoginEvent: if( !isnight ) night; end; }

    beside.....if you are using those from above posts...
    you should include this also ~
    Server Setting :
    conf/battle/misc.conf

    // Choose if server begin with night (yes) or day (no) night_at_start: yes
  17. Emistry's post in [Request] Refiner with refining weapon only. was marked as the answer   
    For your Second Request...you can try make use of my Refine Ticket Script..
    Refine Ticket [ Version 3 ]
    Changelog :
    Scripts : View ♥ Download
    but in order to make it become a NPC ..just edit the header...
    change to

    prontera,155,181,5 script RefineNPC 718,{
    and since it has become a NPC now..it doesnt have the Item Checking yet..so you have to add this above the select Menu.

    if( !countitem( .TicketID ) ){ mes "You didnt have "+getitemname( .TicketID )+"."; close; }
    to enable the NPC pnly refine for Weapon
    change this
    into this

    set .Mode,4;
    Bitmask Mode :
×
×
  • Create New...