Jump to content
  • 0

[Request] Normal MvP Warper


Question

Posted

Normal MvP Warper

Requesting MvP related script /ok

as the title goes, here is my short explainantion on the future npc behalf.

[MvP Info]

Menu - Last Warp ( suppose to detect the last warp before )

- MvP List ( pick an mvp list and warp to the mvp originated map spawn, exp: Fallen Bishop Hibram(abbey02) randomly warped )

- Mini Boss List ( same as mvp list, but for mini boses )

When selected on specific mvp ( next ) it will show the MvP information, exp :

Name : Amon Ra

Level : 88

MaxHP : blablabla

blablabla : blablabla

and so on

with the menu below

(moc_pryd06 [0] <-- player counts on the map )

click OK then it warps you to the boss lair randomly :D

i have playing in some server with the same features , if the helping hands want some picture, i will take some screen shots from in game :)

p/s: if the requested npc exist on any other boards, kindly stick me a link :D

19 answers to this question

Recommended Posts

Posted

I would do this, but for sure, the spawn is going to interfere with the regular spawn and cause 2 to spawn if it were at the right timing, else it would make the gab between killing it closer for 1 time ._. And for mini-bosses, there are several maps in which mini bosses spawn. Ex. Angeling~

Posted (edited)

thanks for replying ,

@Alvins182

im sorry, that was not the one im looking for, but anyway thanks for your time :D

@iFoxkun

well, actually its not spawning any mobs :D , as it will just warping player to the mvp/miniboss natural habitats ~

and yes, also for mini-bosses, just list down the map that included on the miniboss natural habitat, like Angeling , then the player can pick which one is thier lucky map to farm the "naturally" spawned MvP/Mini-bosses.

@Emistry

kinda like Tombstone, but the npc will just warp to the normal habitats of the mvp/mini-boses, or may i show you related picture of the existing npc that i have use on other server :)

Edited by LordOfHeRO
Posted (edited)

thanks for replying ,

@iFoxkun

well, actually its not spawning any mobs , as it will just warping player to the mvp/miniboss natural habitats ~

and yes, also for mini-bosses, just list down the map that included on the miniboss natural habitat, like Angeling , then the player can pick which one is thier lucky map to farm the "naturally" spawned MvP/Mini-bosses.

Ohh~ I thought you meant to respawn the MVP/Mini Boss. Well, wouldn't you be able to use the "Warper" instead of this NPC?

Edited by iFoxkun
Posted

Ohh~ I thought you meant to respawn the MVP/Mini Boss. Well, wouldn't you be able to use the "Warper" instead of this NPC?

yeap, as in term "use" the "Warper" , i would just come with this idea , but in more balance + fasten variety of playing type. I would thinking about that also.

combining the "Warper" that have "last warp" + "numbers of playing on the map" on the main fact that the "Warper" is only warping on the Certain picked MvP/Mini-Boses only :D

Posted

here you go....

the rest of the Monster add at your own...

prontera,155,181,5 script Sample 718,{
function MonsterList;

mes "How can i serve you ?";
next;
switch( select( ( LastWarp$ == "" )?"":"^FF0000Last Warp^000000","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 "Which Monster you want to find ?";
next;
switch( select( "Amon Ra",
 "Bacsojin",
 "Baphomet",
 "Dark Lord",
 "Detale" )){
 Case 1: MonsterList( "moc_pryd06",1511 );
 Case 2: MonsterList( "lou_dun03",1630 );
 Case 3: MonsterList( "prt_maze03",1039 );
 Case 4: MonsterList( "gl_chyard",1272 );
 Case 5: MonsterList( "abyss_03",1719 );
 // Case 6:
 // Case 7:
 // etc...( Max 128 )
 default:
  mes "Wrong Selection.";
  break;
 }
Case 3:
mes "Which Monster you want to find ?";
next;
switch( select( "Angeling",
 "Arch Angeling",
 "Cat O Nine Tail",
 "Chimera",
 "Deviling" )){
 Case 1: MonsterList( "pay_fild04",1096 );
 Case 2: MonsterList( "yuno_fild05",1388 );
 Case 3: MonsterList( "pay_dun04",1307 );
 Case 4: MonsterList( "gl_cas02",1283 );
 Case 5: MonsterList( "pay_fild04",1582 );
 // Case 6:
 // Case 7:
 // etc...( Max 128 )
 default:
  mes "Wrong Selection.";
  break;
 }
}
function MonsterList {
mes "^FF0000Map Name^000000 : "+getarg(0);
mes "^FF0000Users in Map^000000 : "+getmapusers( getarg(0) );
mes "========================";
mes "^0000FFMonster Info^000000 :";
mes "^FF0000Name^000000 : "+getmonsterinfo( getarg(1),0 );
mes "^FF0000Level^000000 : "+getmonsterinfo( getarg(1),1 );
mes "^FF0000Max HP^000000 : "+getmonsterinfo( getarg(1),2 );
mes "^FF0000Base EXP^000000 : "+getmonsterinfo( getarg(1),3 );
mes "^FF0000Job EXP^000000 : "+getmonsterinfo( getarg(1),4 );
next;
if( select("Warp There:Cancel") == 2 ) close;
 set LastWarp$,getarg(0);
 warp getarg(0),0,0;
end;
}
}

How to Add :

Add in the Name in the Selection Menu then add the Case...

Format :

Case X: MonsterList( "mapname", monsterID );

Posted

try this

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( ( LastWarp$ == "" )?"":"^FF0000Last Warp^000000","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",
 "Bacsojin",
 "Baphomet",
 "Dark Lord",
 "Detale" )){
 Case 1: MonsterList( "moc_pryd06",1511 );
 Case 2: MonsterList( "lou_dun03",1630 );
 Case 3: MonsterList( "prt_maze03",1039 );
 Case 4: MonsterList( "gl_chyard",1272 );
 Case 5: MonsterList( "abyss_03",1719 );
 // 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( "pay_fild04",1096 );
 Case 2: MonsterList( "yuno_fild05",1388 );
 Case 3: MonsterList( "pay_dun04",1307 );
 Case 4: MonsterList( "gl_cas02",1283 );
 Case 5: MonsterList( "pay_fild04",1582 );
 // Case 6:
 // Case 7:
 // etc...( Max 128 )
 default:
  mes "Wrong Selection.";
  break;
 }
}
function MonsterList {
mes "^FF0000Name^000000 : "+getmonsterinfo( getarg(1),0 );
mes "^FF0000Level^000000 : "+getmonsterinfo( getarg(1),1 );
mes "^FF0000Max HP^000000 : "+getmonsterinfo( getarg(1),2 );
mes "^FF0000Base EXP^000000 : "+getmonsterinfo( getarg(1),3 );
mes "^FF0000Job EXP^000000 : "+getmonsterinfo( getarg(1),4 );
next;
if( select("Warp to "+getarg(0)+" [ "+getmapusers( getarg(0) )+" ] :Cancel") == 2 ) close;
 set LastWarp$,getarg(0);
 warp getarg(0),0,0;
end;
}
}

Posted (edited)

hey ! thanks alot Emistry ! , it's really a mimic from the npc :P , ill post up some update after finishing it later :D

sorry for double posting, as im keeping track on this topic :D

Edited by LordOfHeRO
Posted (edited)

how to get +getmonsterinfo for size and race for the mob, or there is a table to explain the usage of +getmonsterinfo :D and how to add at the last warp there is ( last warp map name ) in there :D or if there is no last warp there will be just ( No Map Selected ) :P

and also, since one of the Mvp/Miniboses have thier natural habitats in several places, example, Atroce who has 5 places, how do i insert all the map name in the MonsterList( "", ) /?

Edited by LordOfHeRO
Posted

Alright...sorry to keep you waiting :D

i just finished my school assignment...which keep me damn busy with it for the past few days..xD

So, now i have modified the scripts....

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" )){
Case 1: MonsterList( 1511,1,"moc_pryd06" );
Case 2: MonsterList( 1785,5,"ra_fild02","ra_fild03","ra_fild04","ve_fild01","ve_fild02");
Case 3: MonsterList( 1630,1,"lou_dun03" );
Case 4: MonsterList( 1039,1,"prt_maze03" );
Case 5: MonsterList( 1272,1,"gl_chyard" );
Case 6: MonsterList( 1719,1,"abyss_03" );
// 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( 1096,1,"pay_fild04" );
Case 2: MonsterList( 1388,1,"yuno_fild05" );
Case 3: MonsterList( 1307,1,"pay_dun04" );
Case 4: MonsterList( 1283,1,"gl_cas02" );
Case 5: MonsterList( 1582,1,"pay_fild04" );
// Case 6:
// Case 7:
// etc...( Max 128 )
default:
 mes "Wrong Selection.";
 break;
}
}

function MonsterList {
mes "^FF0000Name^000000 : "+getmonsterinfo( getarg(0),0 );
mes "^FF0000Level^000000 : "+getmonsterinfo( getarg(0),1 );
mes "^FF0000Max HP^000000 : "+getmonsterinfo( getarg(0),2 );
mes "^FF0000Base EXP^000000 : "+getmonsterinfo( getarg(0),3 );
mes "^FF0000Job EXP^000000 : "+getmonsterinfo( getarg(0),4 );
mes "^FF0000Size^000000 : "+.Size$[ getmonsterinfo( getarg(0),18 ) ];
mes "^FF0000Race^000000 : "+.Race$[ getmonsterinfo( getarg(0),19 ) ];
mes "^FF0000Element^000000 : "+.Element$[ getmonsterinfo( getarg(0),20 ) ];
for( set .@i,1; .@i <= getarg(1); set .@i,.@i + 1 )
 set .@Map$,.@Map$ + getarg( .@i+1 )+" [ "+getmapusers( getarg(.@i+1) )+" ]:";
next;
set .@i,select( .@Map$ )+1;
 set LastWarp$,getarg(.@i);
 warp getarg(.@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 Maps )

Case X: MonsterList( <Mob ID>,<How Many Maps>,<MapName>,<MapName>.....);

For Example :

i take the Atroce as Example .....

Case 2: MonsterList( 1785,5,"ra_fild02","ra_fild03","ra_fild04","ve_fild01","ve_fild02");

1785 = Monster ID

5 = Appear in 5 Maps.

the rest..is Map Name

i guess...you can barely understand how to setup this right ?

Posted

okay that is the utmost complete mimic proses i ever seen + i have edited the script structure a bit so it will be on my liking, as for the multiple dungeons per boss is working 100% :D

but for now, for example, Bio Lab Bosses have 1 map but multiple Boses, as i want to insert in the :

Case 6: MonsterList( the_boses_list,1,"lhz_dun03" ); //Bio Lab Boss

do we need to add some strings before i can do it like :

Case 6: MonsterList( 1646,1647,1648,1649,1650,1651,1,"lhz_dun03" ); //Bio Lab Boss

as for the blue 1 > it's for telling there was 1 map only

OR

Case 6: MonsterList( 6,1646,1647,1648,1649,1650,1651,1,"lhz_dun03" ); //Bio Lab Boss

as for the red 6 > it's for telling there was 1 map only

is it possible like that ? . as i will be printed out information of multiple boses on the +getmonsterinfo , so , will the array take it ? . im almost zero on eathena script language but damn i got ideas ~ :D

Posted

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>....... );

Posted (edited)

im seeing [/size] codes for forum usage in the codes haha :D

so in this changes , are u just adding the first number only in the

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

or you have to add some other codes somewhere else ?

nevermind, already figure it out on the codes what to add :D really a BIG Thanks for you, as for the releasing the scripts , whose on the favor here for releasing /? :P

since i just reconstruc the codes to my liking, also on my side, i already filled all the MvP / MiniBoses included ( + the quest generated MvP )

Edited by LordOfHeRO

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...