Lista de NPCs.
Soul Linker NPC
Un Npc que nos permitirá poder obtener link(skill de soul linker) según el job por un costo(opcional).
Sólo agregar la ubicación y el ID del npc.
- script Soul Linker -1,{
waitingroom "Linker",0; //Cartel con mensaje
set .@name$,"^0000FF[ Soul Linker NPC ]^000000"; //Nombre del npc
set .@tiempo, 300000; //Tiempo de la skill
set @costo,1000000; //Costo por uso de npc
mes .@name$;
mes "Hola "+strcharinfo(0)+".";
mes "¿Quieres recibir Link?";
mes "Tendrá un costo de: "+@costo+"zeny.";
next;
switch(select("Sí,dame link:Después")) {
case 1:
if(Zeny < @costo) goto l_nozeny;
set Zeny,Zeny - @costo;
switch ( basejob ) {
case Job_Alchemist: set .@jobspirit, 445; break;
case Job_Monk: set .@jobspirit, 447; break;
case Job_Star_Gladiator: set .@jobspirit, 448; break;
case Job_Sage: set .@jobspirit, 449; break;
case Job_Crusader: set .@jobspirit, 450; break;
case Job_SuperNovice: set .@jobspirit, 451; break;
case Job_Knight: set .@jobspirit, 452; break;
case Job_Wizard: set .@jobspirit, 453; break;
case Job_Priest: set .@jobspirit, 454; break;
case Job_Bard: case Job_Dancer: set .@jobspirit, 455; break;
case Job_Rogue: set .@jobspirit, 456; break;
case Job_Assassin: set .@jobspirit, 457; break;
case Job_Blacksmith: set .@jobspirit, 458; break;
case Job_Hunter: set .@jobspirit, 460; break;
case Job_Soul_Linker: set .@jobspirit, 461; break;
default:
if ( upper == 1 && baselevel < 70 )
set .@jobspirit, 494;
}
if ( .@jobspirit ) {
sc_start4 sc_spirit, .@tiempo, 5, .@jobspirit,0,0;
skilleffect .@spirit, 5;
}
case 2:
mes .@name$;
mes "Bien ¡Nos vemos!";
close;
}
l_nozeny:
mes .@name$;
mes "Necesitas: "+@costo+"z.";
mes "Para poder usar mis servicios.";
close;
}
NPC Broadcast
NPC sencillo que nos permite envíar mensajes al servidor de tres tipos 'compra,vende y busca'.
prontera,145,169,4 script Broadcast 790,{
waitingroom "Broadcast",0;
set .@name$, "^c50000[Broadcast]^000000";
set $costo,300000;//Costo del mensaje
mes .@name$;
mes "Hola "+strcharinfo(0)+" soy el broadcaster un servicio especial para envíar mensajes a todo el servidor.";
next;
mes .@name$;
mes "Dime ¿qué puedo hacer por ti?.";
next;
switch(select("Información:Normas:Enviar Mensaje:Nada")){
case 1:
mes .@name$;
mes "Yo podré envíar un mensaje a todo el servidor por un pequeño costo, podrás hacer mensajes especifícos.";
next;
mes .@name$;
mes "Aquí las características: ";
next;
mes "^c50000[CARACTERÍSTICAS]^000000";
mes "1. Podrás envíar mensajes de:";
mes "Compra.";
mes "Búsqueda.";
mes "Venta";
next;
mes "^c50000[CARACTERÍSTICAS]^000000";
mes "2. Tendrá un costo de:";
mes "300,000z";
next;
mes "^c50000[CARACTERÍSTICAS]^000000";
mes "3. Personalización:";
mes "Tendrás la opción de envíar tu mensaje en distintos colores.";
close;
break;
case 2:
mes .@name$;
mes "Como bien sabes tendrás que cumplir una serie de reglas al publicar tu mensaje.";
next;
mes "^c50000[NORMAS]^000000";
mes "1. No podrás usar el Broadcast para peleas.";
mes "2. No deberás usar lenguaje ostil u ofensivo.";
mes "3. El spam será sancionado in game.";
mes "5. El broadcast deberá ser usado sólo para el fin mencionado.";
next;
mes .@name$;
mes "Las reglas pueden ser modificadas sin previo aviso.";
mes "Cualquier anomalía reportarla con el staff.";
close;
break;
case 3:
if(zeny< $costo)goto error;
switch(select("Compra:Búsqueda:Venta:Nada")){
case 1:
mes .@name$;
mes "Ingresa el mensaje de compra:";
input .@compra$;
next;
mes .@name$;
mes "Selecciona el color:";
switch(select("Amarillo:Azul")){
case 1:
announce strcharinfo(0)+" [Compra]: "+.@compra$,bc_yellow|bc_all;
set zeny,zeny- $costo;
close;
break;
case 2:
announce strcharinfo(0)+" [Compra]: "+.@compra$,bc_blue|bc_all;
set zeny,zeny- $costo;
close;
break;
}
case 2:
mes .@name$;
mes "Ingrese el mensaje de Búsqueda:";
input .@buscar$;
next;
mes .@name$;
mes "Selecciona el color";
switch(select("Amarillo:Azul")){
case 1:
announce strcharinfo(0)+" [Busca]: "+.@buscar$,bc_yellow|bc_all;
set zeny,zeny- $costo;
close;
break;
case 2:
announce strcharinfo(0)+" [Busca]: "+.@buscar$,bc_blue|bc_all;
set zeny,zeny- $costo;
close;
break;
}
case 3:
mes .@name$;
mes "Ingresa el mensaje de venta:";
input .@venta$;
next;
mes .@name$;
mes "Selecciona el color:";
switch(select("Amarillo:Azul")){
case 1:
announce strcharinfo(0)+" [Compra]: "+.@venta$,bc_yellow|bc_all;
set zeny,zeny- $costo;
close;
break;
case 2:
announce strcharinfo(0)+" [Compra]: "+.@venta$,bc_blue|bc_all;
set zeny,zeny- $costo;
close;
break;
}
}
case 4:
mes .@name$;
mes "¡Hasta pronto!.";
close;
}
error:
mes .@name$;
mes "Lo siento vuelve cuando tengas "+$costo+"z";
close;
end;
}
Warper
Es una versión adaptada de la warper, con algunas herramientas extra que podrían ayudar a eliminar algún otro npc extra.
- script Warper Entended -1,{
function Go; function Disp; function Pick; function Restrict;
//Variables
set .nombre$, "^00CCFF[Warper Extended]^000000";
//Comienzo
mes .nombre$;
mes "Hola! ^0000FF"+strcharinfo(0)+"^000000";
mes "Puedo Llevarte a Cuidades, Dungeons, el último mapa visitado además puedes escribir el mapa a donde quieras ir, también guardo posición y abro tu Storage.";
next;
mes .nombre$;
mes "¿Que deseas hacer?";
next;
// --------------------------------------------------
// Main Menu:
// --------------------------------------------------
menu "^008000-[Ultimo Warp]^000000[ "+lastwarp$+" ]",-,
"^3366FF-[Cuidades]^000000",Towns,"^008080-[Dungeons]^000000",Dungeons,"-[^c50000Fields^000000]",Fields,"^800000-[Abrir Storage]^000000",Storage,"^333399-[Guardar Posicion]^000000",Guardar,"^FF0000-[Salir]^000000",Salir,"^c90000>Warp directo^000000",Mapdes;
if (lastwarp$ == "")
message strcharinfo(0),"Aún no visitas un mapa.";
else
warp lastwarp$,lastwarpx,lastwarpy;
end;
function Go {
warp getarg(0),getarg(1,0),getarg(2,0);
getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
end;
}
function Disp {
if (getargcount() < 3)
set @menu$, getarg(0);
else {
set @menu$,"";
for(set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1)
set @menu$, @menu$+getarg(0)+" "+.@i+":";
}
return;
}
function Pick {
set .@warp_block,@warp_block;
set @warp_block,0;
if (getarg(0) == "") {
set .@select, select(@menu$);
set .@i, .@select;
set .@map$, getarg(.@i);
} else {
set .@select, select(@menu$);
set .@i, .@select-getarg(1,0);
set .@map$, getarg(0)+((.@i<10)?"0":"")+.@i;
}
if (.@warp_block & (1<<.@select)) {
message strcharinfo(0),"El mapa no está activo en: "+((checkre(0))?"":"Pre-")+"Renewal.";
end;
}
warp .@map$,@c[.@i*2],@c[.@i*2+1];
getmapxy(lastwarp$,lastwarpx,lastwarpy,0);
deletearray @c[0],getarraysize(@c);
end;
}
function Restrict {
if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) {
if (getarg(1,0)) {
set @warp_block,0;
for(set .@i,1; .@i<getargcount(); set .@i,.@i+1)
set @warp_block, @warp_block | (1<<getarg(.@i));
} else {
message strcharinfo(0),"El mapa no está activo en: "+((checkre(0))?"":"Pre-")+"Renewal.";
end;
}
}
return;
}
// --------------------------------------------------
Towns:
// --------------------------------------------------
menu "Prontera",T1, "Alberta",T2, "Aldebaran",T3, "Amatsu",T4, "Ayothaya",T5,
"Brasilis",T6, "Comodo",T7, "Dewata",T8, "Eclage",T9, "Einbech",T10,
"Einbroch",T11, "El Dicastes",T12, "Geffen",T13, "Gonryun",T14, "Hugel",T15,
"Izlude",T16, "Jawaii",T17, "Lighthalzen",T18, "Louyang",T19, "Lutie",T20,
"Malangdo",T21, "Malaya",T22, "Manuk",T23, "Midgarts Expedition Camp",T24,
"Mora",T25, "Morroc",T26, "Moscovia",T27, "Nameless Island",T28,
"Niflheim",T29, "Payon",T30, "Rachel",T31, "Splendide",T32, "Thor Camp",T33,
"Umbala",T34, "Veins",T35, "Yuno",T36;
T1: Go("prontera",155,183);
T2: Go("alberta",28,234);
T3: Go("aldebaran",140,131);
T4: Go("amatsu",198,84);
T5: Go("ayothaya",208,166);
T6: Go("brasilis",196,217);
T7: Go("comodo",209,143);
T8: Restrict("RE");
Go("dewata",200,180);
T9: Restrict("RE");
Go("ecl_in01",48,53);
T10: Go("einbech",63,35);
T11: Go("einbroch",64,200);
T12: Restrict("RE");
Go("dicastes01",198,187);
T13: Go("geffen",119,59);
T14: Go("gonryun",160,120);
T15: Go("hugel",96,145);
T16: Go("izlude",128,(checkre(3)?146:114));
T17: Go("jawaii",251,132);
T18: Go("lighthalzen",158,92);
T19: Go("louyang",217,100);
T20: Go("xmas",147,134);
T21: Restrict("RE");
Go("malangdo",140,114);
T22: Restrict("RE");
Go("malaya",231,200);
T23: Go("manuk",282,138);
T24: Go("mid_camp",210,288);
T25: Restrict("RE");
Go("mora",55,146);
T26: Go("morocc",156,93);
T27: Go("moscovia",223,184);
T28: Go("nameless_n",256,215);
T29: Go("niflheim",202,174);
T30: Go("payon",179,100);
T31: Go("rachel",130,110);
T32: Go("splendide",201,147);
T33: Go("thor_camp",246,68);
T34: Go("umbala",97,153);
T35: Go("veins",216,123);
T36: Go("yuno",157,51);
// --------------------------------------------------
Fields:
// --------------------------------------------------
menu "Amatsu Fields",F1, "Ayothaya Fields",F2, "Bifrost Fields", F3,
"Brasilis Fields",F4, "Comodo Fields",F5, "Dewata Fields",F6,
"Eclage Fields",F7, "Einbroch Fields",F8, "El Dicastes Fields",F9,
"Geffen Fields",F10, "Gonryun Fields",F11, "Hugel Fields",F12,
"Lighthalzen Fields",F13, "Louyang Field",F14, "Lutie Field",F15,
"Malaya Fields",F16, "Manuk Fields",F17, "Mjolnir Fields",F18,
"Moscovia Fields",F19, "Niflheim Fields",F20, "Payon Forests",F21,
"Prontera Fields",F22, "Rachel Fields",F23, "Sograt Deserts",F24,
"Splendide Fields",F25, "Umbala Fields",F26, "Veins Fields",F27,
"Yuno Fields",F28;
F1: setarray @c[2],190,197;
Disp("Amatsu Field",1,1); Pick("ama_fild");
F2: setarray @c[2],173,134,212,150;
Disp("Ayothaya Field",1,2); Pick("ayo_fild");
F3: Restrict("RE");
setarray @c[2],193,220,220,187;
Disp("Bifrost Field",1,2); Pick("bif_fild");
F4: setarray @c[2],74,32;
Disp("Brasilis Field",1,1); Pick("bra_fild");
F5: Restrict("Pre-RE",5);
setarray @c[2],180,178,231,160,191,172,228,194,224,203,190,223,234,177,194,175,172,172;
Disp("Comodo Field",1,9); Pick("cmd_fild");
F6: setarray @c[2],371,212;
Disp("Dewata Field",1,1); Pick("dew_fild");
F7: Restrict("RE");
setarray @c[2],97,314;
Disp("Eclage Field",1,1); Pick("ecl_fild");
F8: Restrict("Pre-RE",2,10);
setarray @c[2],142,225,182,141,187,228,185,173,216,173,195,148,272,220,173,214,207,174,196,200;
Disp("Einbroch Field",1,10); Pick("ein_fild");
F9: Restrict("RE");
setarray @c[2],143,132,143,217;
Disp("El Dicastes Field",1,2); Pick("dic_fild");
F10: Restrict("Pre-RE",13,15);
setarray @c[0],46,199,213,204,195,212,257,192,188,171,166,263,248,158,195,191,186,183,221,117,178,218,136,328,240,181,235,235,211,185;
Disp("Geffen Field",0,14); Pick("gef_fild",1);
F11: setarray @c[2],220,227;
Disp("Gonryun Field",1,1); Pick("gon_fild");
F12: Restrict("Pre-RE",3,7);
setarray @c[2],268,101,222,193,232,185,252,189,196,106,216,220,227,197;
Disp("Hugel Field",1,7); Pick("hu_fild");
F13: setarray @c[2],240,179,185,235,240,226;
Disp("Lighthalzen Field",1,3); Pick("lhz_fild");
F14: setarray @c[2],229,187;
Disp("Louyang Field",1,1); Pick("lou_fild");
F15: setarray @c[2],115,145;
Disp("Lutie Field",1,1); Pick("xmas_fild");
F16: Restrict("RE");
setarray @c[2],40,272,207,180;
Disp("Malaya Field",1,2); Pick("ma_fild");
F17: setarray @c[2],35,236,35,262,84,365;
Disp("Manuk Field",1,3); Pick("man_fild");
F18: setarray @c[2],204,120,175,193,208,213,179,180,181,240,195,270,235,202,188,215,205,144,245,223,180,206,196,208;
Disp("Mjolnir Field",1,12); Pick("mjolnir_");
F19: setarray @c[2],82,104,131,147;
Disp("Moscovia Field",1,2); Pick("mosk_fild");
F20: setarray @c[2],215,229,167,234;
Disp("Niflheim Field",1,2); Pick("nif_fild");
F21: Restrict("Pre-RE",5,11);
setarray @c[2],158,206,151,219,205,148,186,247,134,204,193,235,200,177,137,189,201,224,160,205,194,150;
Disp("Payon Forest",1,11); Pick("pay_fild");
F22: setarray @c[0],208,227,190,206,240,206,190,143,307,252,239,213,185,188,193,194,187,218,210,183,195,149,198,164;
Disp("Prontera Field",0,11); Pick("prt_fild",1);
F23: Restrict("Pre-RE",2,7,9,10,11,13);
setarray @c[2],192,162,235,166,202,206,202,208,225,202,202,214,263,196,217,201,87,121,277,181,221,185,175,200,174,197;
Disp("Rachel Field",1,13); Pick("ra_fild");
F24: setarray @c[2],219,205,177,206,194,182,224,170,198,216,156,187,185,263,206,228,208,238,209,223,85,97,207,202,31,195,38,195;
Disp("Sograt Desert 1:Sograt Desert 2:Sograt Desert 3:Sograt Desert 7:Sograt Desert 11:Sograt Desert 12:Sograt Desert 13:Sograt Desert 16:Sograt Desert 17:Sograt Desert 18:Sograt Desert 19:Sograt Desert 20:Sograt Desert 21:Sograt Desert 22");
Pick("","moc_fild01","moc_fild02","moc_fild03","moc_fild07","moc_fild11","moc_fild12","moc_fild13","moc_fild16","moc_fild17","moc_fild18","moc_fild19","moc_fild20","moc_fild21","moc_fild22");
F25: setarray @c[2],175,186,236,184,188,204;
Disp("Splendide Field",1,3); Pick("spl_fild");
F26: setarray @c[2],217,206,223,221,237,215,202,197;
Disp("Umbala Field",1,4); Pick("um_fild");
F27: Restrict("Pre-RE",5);
setarray @c[2],186,175,196,370,222,45,51,250,202,324,150,223,149,307;
Disp("Veins Field",1,7); Pick("ve_fild");
F28: Restrict("Pre-RE",5,10);
setarray @c[2],189,224,192,207,221,157,226,199,223,177,187,232,231,174,196,203,183,214,200,124,195,226,210,304;
Disp("Yuno Field",1,12); Pick("yuno_fild");
// --------------------------------------------------
Dungeons:
// --------------------------------------------------
menu "Abyss Lakes",D1, "Amatsu Dungeon",D2, "Anthell",D3,
"Ayothaya Dungeon",D4, "Beach Dungeon",D5, "Bifrost Tower",D41,
"Bio Labs",D6, "Brasilis Dungeon",D7, "Byalan Dungeon",D8, "Clock Tower",D9,
"Coal Mines",D10, "Culvert",D11, "Cursed Abbey",D12, "Dewata Dungeon",D13,
"Einbroch Dungeon",D14, "Gefenia",D15, "Geffen Dungeon",D16,
"Glast Heim",D17, "Gonryun Dungeon",D18, "Hidden Dungeon",D19,
"Ice Dungeon",D20, "Juperos",D21, "Kiel Dungeon",D22, "Louyang Dungeon",D23,
"Magma Dungeon",D24, "Malangdo Dungeon",D25, "Moscovia Dungeon",D26,
"Nidhogg's Dungeon",D27, "Odin Temple",D28, "Orc Dungeon",D29,
"Payon Dungeon",D30, "Pyramids",D31, "Rachel Sanctuary",D32,
"Scaraba Hole",D33, "Sphinx",D34, "Sunken Ship",D35, "Thanatos Tower",D36,
"Thor Volcano",D37, "Toy Factory",D38, "Turtle Dungeon",D39, "Umbala Dungeon",D40;
D1: setarray @c[2],261,272,275,270,116,27;
Disp("Abyss Lakes",1,3); Pick("abyss_");
D2: setarray @c[2],228,11,34,41,119,14;
Disp("Amatsu Dungeon",1,3); Pick("ama_dun");
D3: setarray @c[2],35,262,168,170;
Disp("Anthell",1,2); Pick("anthell");
D4: setarray @c[2],275,19,24,26;
Disp("Ancient Shrine Maze:Inside Ancient Shrine"); Pick("ayo_dun");
D5: setarray @c[2],266,67,255,244,23,260;
Disp("Beach Dungeon",1,3); Pick("","beach_dun","beach_dun2","beach_dun3");
D6: Restrict("RE",4);
setarray @c[2],150,288,150,18,140,134,244,52;
Disp("Bio Lab",1,4); Pick("lhz_dun");
D7: setarray @c[2],87,47,262,262;
Disp("Brasilis Dungeon",1,2); Pick("bra_dun");
D8: Restrict("RE",6);
setarray @c[0],168,168,253,252,236,204,32,63,26,27,141,187;
Disp("Byalan Dungeon",1,6); Pick("iz_dun",1);
D9: setarray @c[2],199,159,148,283,65,147,56,155,297,25,127,169,277,178,268,74;
Disp("Clock Tower 1:Clock Tower 2:Clock Tower 3:Clock Tower 4:Basement 1:Basement 2:Basement 3:Basement 4");
Pick("","c_tower1","c_tower2","c_tower3","c_tower4","alde_dun01","alde_dun02","alde_dun03","alde_dun04");
D10: setarray @c[2],52,17,381,343,302,262;
Disp("Coal Mines",1,3); Pick("mjo_dun");
D11: setarray @c[2],131,247,19,19,180,169,100,92;
Disp("Culvert",1,4); Pick("","prt_sewb1","prt_sewb2","prt_sewb3","prt_sewb4");
D12: setarray @c[2],51,14,150,11,120,10;
Disp("Cursed Abbey",1,3); Pick("abbey");
D13: Restrict("RE");
setarray @c[2],285,160,299,29;
Disp("Dewata Dungeon",1,2); Pick("dew_dun");
D14: setarray @c[2],22,14,292,290;
Disp("Einbroch Dungeon",1,2); Pick("ein_dun");
D15: setarray @c[2],40,103,203,34,266,168,130,272;
Disp("Gefenia",1,4); Pick("gefenia",0);
D16: setarray @c[0],104,99,115,236,106,132,203,200;
Disp("Geffen Dungeon",1,4); Pick("gef_dun",1);
D17: setarray @c[2],370,304,199,29,104,25,150,15,157,287,147,15,258,255,108,291,171,283,68,277,156,7,12,7,133,271,224,274,14,70,150,14;
Disp("Entrance:Castle 1:Castle 2:Chivalry 1:Chivalry 2:Churchyard:Culvert 1:Culvert 2:Culvert 3:Culvert 4:St. Abbey:Staircase Dungeon:Underground Cave 1:Underground Cave 2:Underground Prison 1:Underground Prison 2");
Pick("","glast_01","gl_cas01","gl_cas02","gl_knt01","gl_knt02","gl_chyard","gl_sew01","gl_sew02","gl_sew03","gl_sew04","gl_church","gl_step","gl_dun01","gl_dun02","gl_prison","gl_prison1");
D18: setarray @c[2],153,53,28,113,68,16;
Disp("Gonryun Dungeon",1,3); Pick("gon_dun");
D19: setarray @c[2],176,7,93,20,23,8;
Disp("Hidden Dungeon",1,3); Pick("prt_maze");
D20: setarray @c[2],157,14,151,155,149,22,33,158;
Disp("Ice Dungeon",1,4); Pick("ice_dun");
D21: setarray @c[2],140,51,53,247,37,63,150,285;
Disp("Entrance:Juperos 1:Juperos 2:Core");
Pick("","jupe_cave","juperos_01","juperos_02","jupe_core");
D22: setarray @c[2],28,226,41,198;
Disp("Kiel Dungeon",1,2); Pick("kh_dun");
D23: setarray @c[2],218,196,282,20,165,38;
Disp("The Royal Tomb:Inside the Royal Tomb:Suei Long Gon"); Pick("lou_dun");
D24: setarray @c[2],126,68,47,30;
Disp("Magma Dungeon",1,2); Pick("mag_dun");
D25: Restrict("RE");
setarray @c[2],33,230;
Disp("Malangdo Dungeon",1,1); Pick("mal_dun");
D26: setarray @c[2],189,48,165,30,32,135;
Disp("Moscovia Dungeon",1,3); Pick("mosk_dun");
D27: setarray @c[2],61,239,60,271;
Disp("Nidhogg's Dungeon",1,2); Pick("nyd_dun");
D28: setarray @c[2],298,167,224,149,266,280;
Disp("Odin Temple",1,3); Pick("odin_tem");
D29: setarray @c[2],32,170,21,185;
Disp("Orc Dungeon",1,2); Pick("orcsdun");
D30: setarray @c[0],21,183,19,33,19,63,155,159,201,204;
Disp("Payon Dungeon",1,5); Pick("pay_dun",1);
D31: Restrict("RE",7,8);
setarray @c[2],192,9,10,192,100,92,181,11,94,96,192,8,94,96,192,8;
Disp("Pyramids 1:Pyramids 2:Pyramids 3:Pyramids 4:Basement 1:Basement 2:Basement 1 - Nightmare Mode:Basement 2 - Nightmare Mode");
Pick("","moc_pryd01","moc_pryd02","moc_pryd03","moc_pryd04","moc_pryd05","moc_pryd06","moc_prydn1","moc_prydn2");
D32: setarray @c[2],140,11,32,21,4,149,204,218,150,9;
Disp("Rachel Sanctuary",1,5); Pick("ra_san");
D33: Restrict("RE");
setarray @c[2],364,44,101,141;
Disp("Scaraba Hole",1,2); Pick("dic_dun");
D34: setarray @c[2],288,9,149,81,210,54,10,222,100,99;
Disp("Sphinx",1,5); Pick("","in_sphinx1","in_sphinx2","in_sphinx3","in_sphinx4","in_sphinx5");
D35: setarray @c[2],69,24,102,27;
Disp("Sunken Ship",1,2); Pick("treasure");
D36: setarray @c[2],150,39,150,136,220,158,59,143,62,11,89,221,35,166,93,148,29,107,159,138,19,20,130,52;
Disp("Thanatos Tower",1,12); Pick("tha_t");
D37: setarray @c[2],21,228,75,205,34,272;
Disp("Thor Volcano",1,3); Pick("thor_v");
D38: setarray @c[2],205,15,129,133;
Disp("Toy Factory",1,2); Pick("xmas_dun");
D39: setarray @c[2],154,49,148,261,132,189,100,192;
Disp("Entrance:Turtle Dungeon 1:Turtle Dungeon 2:Turtle Dungeon 3"); Pick("tur_dun");
D40: Restrict("Pre-RE",1,2);
setarray @c[2],42,31,48,30,204,78;
Disp("Carpenter's Shop in the Tree:Passage to a Foreign World:Hvergermil's Fountain");
Pick("","um_dun01","um_dun02","yggdrasil01");
D41: Restrict("RE");
setarray @c[2],57,13,64,88,45,14,26,23;
Disp("Bifrost Tower",1,4); Pick("ecl_tdun");
// --------------------------------------------------
Castles:
// --------------------------------------------------
menu "Aldebaran Castles",C1, "Geffen Castles",C2, "Payon Castles",C3,
"Prontera Castles",C4, "Arunafeltz Castles",C5, "Schwaltzvalt Castles",C6;
C1: setarray @c[2],48,83,95,249,142,85,239,242,264,90;
Disp("Neuschwanstein:Hohenschwangau:Nuenberg:Wuerzburg:Rothenburg");
Pick("","alde_gld","alde_gld","alde_gld","alde_gld","alde_gld");
C2: setarray @c[2],214,75,308,240,143,240,193,278,305,87;
Disp("Repherion:Eeyolbriggar:Yesnelph:Bergel:Mersetzdeitz");
Pick("","gef_fild13","gef_fild13","gef_fild13","gef_fild13","gef_fild13");
C3: setarray @c[2],121,233,295,116,317,293,140,160,204,266;
Disp("Bright Arbor:Scarlet Palace:Holy Shadow:Sacred Altar:Bamboo Grove Hill");
Pick("","pay_gld","pay_gld","pay_gld","pay_gld","pay_gld");
C4: setarray @c[2],134,65,240,128,153,137,111,240,208,240;
Disp("Kriemhild:Swanhild:Fadhgridh:Skoegul:Gondul");
Pick("","prt_gld","prt_gld","prt_gld","prt_gld","prt_gld");
C5: setarray @c[2],158,272,83,47,68,155,299,345,292,107;
Disp("Mardol:Cyr:Horn:Gefn:Banadis");
Pick("","aru_gld","aru_gld","aru_gld","aru_gld","aru_gld");
C6: setarray @c[2],293,100,288,252,97,196,137,90,71,315;
Disp("Himinn:Andlangr:Viblainn:Hljod:Skidbladnir");
Pick("","sch_gld","sch_gld","sch_gld","sch_gld","sch_gld");
// --------------------------------------------------
Guild_Dungeons:
// --------------------------------------------------
menu "Baldur",G1, "Luina",G2, "Valkyrie",G3, "Britoniah",G4,
"Arunafeltz",G5, "Schwaltzvalt",G6;
G1: Restrict("RE",2,3);
setarray @c[2],119,93,119,93,120,130;
Disp("Baldur F1:Baldur F2:Hall of Abyss");
Pick("","gld_dun01","gld_dun01_2","gld2_pay");
G2: Restrict("RE",2,3);
setarray @c[2],39,161,39,161,147,155;
Disp("Luina F1:Luina F2:Hall of Abyss");
Pick("","gld_dun02","gld_dun02_2","gld2_ald");
G3: Restrict("RE",2,3);
setarray @c[2],50,44,50,44,140,132;
Disp("Valkyrie F1:Valkyrie F2:Hall of Abyss");
Pick("","gld_dun03","gld_dun03_2","gld2_prt");
G4: Restrict("RE",2,3);
setarray @c[2],116,45,116,45,152,118;
Disp("Britoniah F1:Britoniah F2:Hall of Abyss");
Pick("","gld_dun04","gld_dun04_2","gld2_gef");
G5: Go("arug_dun01",199,195);
G6: Go("schg_dun01",200,124);
// --------------------------------------------------
Instances:
// --------------------------------------------------
menu "Bakonawa Lake",I1, "Bangungot Hospital 2F",I2, "Buwaya Cave",I3,
"Endless Tower",I4, "Hazy Forest",I5, "Malangdo Culvert",I6, "Nidhoggur's Nest",I7,
"Octopus Cave",I8, "Old Glast Heim",I9, "Orc's Memory",I10, "Sealed Shrine",I11;
I1: Restrict("RE");
Go("ma_scene01",172,175);
I2: Restrict("RE");
Go("ma_dun01",151,8);
I3: Restrict("RE");
Go("ma_fild02",316,317);
I4: Go("e_tower",72,112);
I5: Restrict("RE");
Go("bif_fild01",161,334);
I6: Restrict("RE");
Go("mal_in01",164,21);
I7: Go("nyd_dun02",95,193);
I8: Restrict("RE");
Go("mal_dun01",152,230);
I9: Restrict("RE");
Go("glast_01",204,268);
I10: Go("gef_fild10",240,198);
I11: Go("monk_test",306,143);
// --------------------------------------------------
Special:
// --------------------------------------------------
menu "Auction Hall",S1, "Battlegrounds",S2, "Casino",S3, "Eden Group Headquarters",S4,
"Gonryun Arena",S5, "Izlude Arena",S6, "Monster Race Arena",S7, "Turbo Track",S8;
S1: Go("auction_01",22,68);
S2: Go("bat_room",154,150);
S3: Go("cmd_in02",179,129);
S4: Restrict("RE");
Go("moc_para01",31,14);
S5: Go("gon_test",48,10);
S6: Go("arena_room",100,88);
S7: Go("p_track01",62,41);
S8: Go("turbo_room",99,114);
//==================================================================
Mapdes:
//==================================================================
mes .nombre$;
mes "Escribe el mapa al que quieres ir solo debes poner por ejemplo:";
mes "prt_fild08";
next;
input .@map$;
atcommand "@warp "+.@map$+"";
close;
//===========================================================================
Guardar:
//===========================================================================
getmapxy(.@m$,.@x,.@y,0);
save .@m$,.@x,.@y;
specialeffect2 18;
mes .nombre$;
mes "Muy Bien has guardado tu punto de inicio.";
close;
//=============================================================================
Storage:
//==============================================================================
mes .nombre$;
mes "Tu storage a sido abierto";
openstorage;
close;
//=================================================================================
Salir:
//==============================================================================
mes .nombre$;
mes "Vuelve cuando desees.";
close;
}
// --------------------------------------------------
// Duplicados ciudades pre-renewall
// --------------------------------------------------
alberta,28,240,4 duplicate(Warper Entended) Warper Entended#alb 720
aldebaran,145,118,4 duplicate(Warper Entended) Warper Entended#alde 720
amatsu,203,87,4 duplicate(Warper Entended) Warper#ama 720
ayothaya,209,169,6 duplicate(Warper Entended) Warper Entended#ayo 720
comodo,194,158,4 duplicate(Warper Entended) Warper Entended#com 720
einbech,59,38,6 duplicate(Warper Entended) Warper Entended#einbe 720
einbroch,69,202,4 duplicate(Warper Entended) Warper Entended#einbr 720
gef_fild10,71,339,4 duplicate(Warpe Entendedr) Warper Entended#orc 720
geffen,124,72,4 duplicate(Warper Entended) Warper Entended#gef 720
glast_01,372,308,4 duplicate(Warper Entended) Warper Entended#glh 720
gonryun,162,122,4 duplicate(Warper Entended) Warper Entended#gon 720
hugel,101,151,4 duplicate(Warper Entended) Warper Entended#hug 720
izlude,134,150,4 duplicate(Warper Entended) Warper Entended#izl 720 //Pre-RE: (132,120)
jawaii,253,138,4 duplicate(Warper Entended) Warper Entended#jaw 720
lighthalzen,162,102,4 duplicate(Warper Entended) Warper Entended#lhz 720
louyang,208,103,6 duplicate(Warper Entended) Warper Entended#lou 720
manuk,274,146,6 duplicate(Warper Entended) Warper Entended#man 720
mid_camp,216,288,4 duplicate(Warper Entended) Warper Entended#mid 720
moc_ruins,64,164,4 duplicate(Warper Entended) Warper Entended#moc 720
morocc,159,97,4 duplicate(Warper Entended) Warper Entended#mor 720
moscovia,229,191,4 duplicate(Warper Entended) Warper Entended#mos 720
niflheim,205,179,4 duplicate(Warper Entended) Warper Entended#nif 720
pay_arche,42,134,4 duplicate(Warper Entended) Warper Entended#arc 720
payon,182,108,4 duplicate(Warper Entended) Warper Entended#pay 720
prontera,154,184,4 duplicate(Warper Entended) Warper Entended#prt 720
prt_fild05,279,223,6 duplicate(Warper Entended) Warper Entended#cul 720
rachel,135,116,4 duplicate(Warper Entended) Warper Entended#rac 720
splendide,205,153,4 duplicate(Warper Entended) Warper Entended#spl 720
umbala,85,155,3 duplicate(Warper Entended) Warper Entended#umb 720
veins,214,123,4 duplicate(Warper Entended) Warper Entended#ve 720
xmas,150,136,6 duplicate(Warper Entended) Warper Entended#xmas 720
yuno,162,47,4 duplicate(Warper Entended) Warper Entended#yuno 720
// --------------------------------------------------
// Ciudades Renewall
// --------------------------------------------------
brasilis,201,222,4 duplicate(Warper Entended) Warper Entended#bra 720
dewata,204,186,6 duplicate(Warper Entended) Warper Entended#dew 720
dicastes01,194,194,6 duplicate(Warper Entended) Warper Entended#dic 720
ecl_in01,51,60,4 duplicate(Warper Entended) Warper Entended#ecl 720
malangdo,134,117,6 duplicate(Warper Entended) Warper Entended#mal 720
malaya,231,204,4 duplicate(Warper Entended) Warper Entended#ma 720
mora,57,152,4 duplicate(Warper Entended) Warper Entended#mora 720
Identificador
NPC que permite identificar todos los items que tengas en el inventario.
- script Identificador -1,{
set @costo, 40;//Costo por cada item
set @name$, "[^c50000Identificador^000000]";// Nombre del NPC
mes @name$;
mes "Hola "strcharinfo(0)+" soy el identificador de items, yo puedo ayudarte a identificar todos los items que traigas en en inventario.";
next;
mes @name$;
mes "¿Necesitas de mis servicios?";
next;
mes @name$;
mes "Se le olvidó mencionar, mis servicios tendrán un costo de: "+@costo+"zeny por cada item.";
next;
menu "Claro, adelante",-,"No por el momento.",L_NO;
getinventorylist;
set @identify, 0;
for(set @i, 0; @i < @inventorylist_count; set @i, @i + 1) {
if (@inventorylist_identify[@i] == 0) set @identify, @identify + 1;
}
if (@identify == 0) {
mes @name$;
mes "Qué lástima, no tienes items que pueda identificar.";
close;
}
if (@identify < 2) {
set @total,@identify;
mes @name$;
mes "Sólo tienes 1 item sin identificar en tu inventario.";
mes "Lo identificare por: "+@price+" Zeny.";
} else {
mes @npcname$;
set @total,@identify * @price;
mes "¡Vaya! tienes ^c50000"+@identify+"^000000 items sin identificar en el inventario.";
mes "Todo te costará: ^c50000"+@total+"^000000 Zeny.";
}
next;
mes @name$;
mes "¡Oh se me olvidaba!.";
mes @name$;
mes "Si tienes alguna ^00AA00Magnifier^000000 por cada item yo podría no cobrarte.";
mes @name$;
mes "Entonces ¿empiezo?";
next;
menu "¡Si!",-,"Creo que después",L_NO;
if(Zeny < @total) {
mes @name$;
mes "Lo siento pero no tienes suficiente zeny para poder usar mis servicios.";
close;
}
getinventorylist;
set @identified, 0;
for(set @i, 0; @i < @inventorylist_count; set @i, @i + 1) {
if (@inventorylist_identify[@i] == 0) {
if (countitem(611) > 0) {
delitem 611,1;
} else {
set Zeny, Zeny - @price;
}
delitem2 @inventorylist_id[@i],1,0,0,0,0,0,0,0;
getitem @inventorylist_id[@i],1;
set @identified, @identified + 1;
}
}
mes @name$;
mes "¡Listo terminé!.";
next;
mes @name$;
mes "Han sido un total de: ^c50000"+@identified+"^000000 items.";
mes "¡Nos vemos pronto!";
close;
L_NO:
mes @name$;
mes "Ok, recuerda que podrás regresar cuando quieras.";
close;
}
Pack por guild
Una versión sencilla, para hacer la entrega de pack para miembros de guild.
- script Guild Pack -1,{
if(getgmlevel()==50){
goto menugm;}
else{
if($tot == 0){
goto nopack;}
else{
if(#gp==1){
mes "^c50000[Guild Pack]^000000";
mes "Lo siento, ya recibiste Pack";
close;
}
set .@name$, "^c50000[Guild Pack]^000000";
set .@server$,"^FF0000Alepcis RO^000000";
mes .@name$;
mes "Hola sean todos los de tu guild bienvenidos a "+.@server$+".";
mes "Yo le daré algunos items para que puedan iniciar tu batalla.";
next;
mes .@name$;
mes "Sólo tendrás que elegir unas cosas antes de poder dar tus items:";
next;
mes .@name$;
mes "Armor: ";
next;
switch(select("Odin Blessing:Silk Robe")){
case 1:
mes .@name$;
mes "¿Estás de acuerdo?.";
next;
switch(select("Si:No")){
case 1:
set .@armor,2353;
break;
case 2:
close2;
break;
}
//NOTA:Se puede modificar el item a su gusto.
break;
case 2:
mes .@name$;
mes "¿Estás de acuerdo?.";
next;
switch(select("Si:No")){
case 1:
set .@armor,2322;
break;
case 2:
close2;
break;
}
//NOTA:Se puede modificar el item a su gusto.
break;
}
mes .@name$;
mes "Escudo: ";
next;
switch(select("Valkyrja's Shield:Orleans Server")){
case 1:
mes .@name$;
mes "¿Estás de acuerdo?.";
next;
switch(select("Si:No")){
case 1:
set .@escudo,2115;
break;
case 2:
close2;
break;
}
//NOTA:Se puede modificar el item a su gusto.
break;
case 2:
mes .@name$;
mes "¿Estás de acuerdo?.";
next;
switch(select("Si:No")){
case 1:
set .@escudo,2123;
break;
case 2:
close2;
break;
}
//NOTA:Se puede modificar el item a su gusto.
break;
}//Switch escudos
mes .@name$;
mes "Aquí tienes";
next;
getitem2 .@armor,1,10,6,0,0,0,0,0;//Te dará armor identificada y refinada +6
getitem2 .@escudo,1,10,6,0,0,0,0,0;//Te dará escudo itendificado y refinado a +6
set zeny,zeny + 2000000;//Te dará 2m de zeny
getimte 2554,1; //un ejemplo para agregar Proxy
set #gp,#gp+1;//Variable para la cuenta, así evitar obtener nuevamente el pack
announce "El usuario: "+strcharinfo(0)+" ha reclamado su Pack Guild",bc_all,"0xFFFFF";//Mensaje para todo el servidor
mes .@name$;
mes "Te esperamos en batalla.";
next;
set $tot,$tot -1;//Total de packs, -1 por cada pack reclamado
atcommand "@localbroadcast Quedan "+$tot+" packs disponibles";//Mensaje en el mapa que se encuentré el npc.
close;
}
}
menugm:
switch(select("Poner packs:Quitar los packs")){
case 1:
mes .@name$;
mes "Selecciona cuántos paquetes pondrás disponibles: ";
next;
input $tot;
mes .@name$;
mes "Activaste: "+$tot+" pack(s)";
break;
case 2:
mes .@name$;
mes "Resetear los packs: ";
switch(select("Si:No")){
case 1:
set $tot,0;
mes .@name$;
mes "Listo";
close;
break;
case 2:
close;
break;
}
}
end;
nopack:
mes .@name$;
mes "No hay packs disponibles.";
close;
end;
}//script
NPC paquetes de bienvenida.
NPC que permite la entrega de packs de bienvenida a todos los usuarios nuevos en el servidor. Es configurable en el juego sól por GM nivel 99(admin).
No tiene restricciones, por eso sólo tiene permisos para el o los admins.
prontera,241,204,2 script Transfer 858,{
//gender
if(sex)
set .@g$,"o";
else
set .@g$,"a";
//NPC information
set .@server$, ^FF0000AlepcisRO^000000;
set .@name$, "^c50000[Transfer Agent]^000000";
if(getgmlevel()>= 99) goto GM;
waitingroom "¡Pack de bienvenida!",0;
if(#packx==1)goto listo;
mes .@name$;
mes "Bienvendi".@g$" a "+.@server$+".";
next;
mes .@name$;
mes "¿Dime qué quieres hacer?";
next;
switch(select("Información:Obtener Pack")){
case 1:
mes .@name$;
mes "Podrás obtener un pack de de bienvenida.";
mes "Si tienes más dudas podrás consultar con un GM.";
close;
break;
case 2:
mes .@name$;
mes "Tendrás tu pack.";
next;
getitem $cabeza,1;
getitem $ojos,1;
getitem $boca,1;
getitem $armadura,1;
getitem $arma,1;
getitem $botas,1;
getitem $escudo,1;
getitem $capa,1;
getitem $accesorioa,1;
getitem $accesoriob,1;
announce "El usuario "+strcharinfo(0)+" ha reclamado un Pack de Bienvenida.",bc_yellow|bc_all;
mes .@name$;
mes "¡Aquí tienes!";
set #packx,1;
close;
break;
}
GM:
mes .@name$;
mes "Bienvenid"+.@g$+" "+strcharinfo(0)+".";
next;
mes .@name$;
mes "Dime, ¿qué quieres hacer?";
next;
switch(select("Modificar el pack:Resetear Pack:Pack Activo:Nada")){
case 1:
switch(select("Cabeza:Ojos:Boca:Armadura:Arma:Escudo:Capa:Botas:Accesorio A:Accesorio B:")){
case 1://Cabeza
mes .@name$;
mes "[Cabeza]";
mes "Dime la ID del item:";
input $cabeza;
next;
if($cabeza>=2301){
mes "Ingresaste la ID numero: "+$cabeza+".";
}else{set $cabeza,0;
goto error;}
break;
case 2://Ojos
mes .@name$;
mes "[Ojos]";
mes "Dime la ID del item:";
input $ojos;
next;
mes "Ingresaste la ID numero: "+$ojos+".";
break;
case 3://Boca
mes .@name$;
mes "[Boca]";
mes "Dime la ID del item:";
input $boca;
next;
mes "Ingresaste la ID numero: "+$boca+".";
break;
case 4://Armadura
mes .@name$;
mes "[Armadura]";
mes "Dime la ID del item:";
input $armadura;
next;
mes "Ingresaste la ID numero: "+$armadura+".";
break;
case 5://Arma
mes .@name$;
mes "[Arma]";
mes "Dime la ID del item:";
input $arma;
next;
mes "Ingresaste la ID numero: "+$arma+".";
break;
case 6://Escudo
mes .@name$;
mes "[Escudo]";
mes "Dime la ID del item:";
input $escudo;
next;
mes "Ingresaste la ID numero: "+$escudo+".";
break;
case 7://capa
mes .@name$;
mes "[Capa]";
mes "Dime la ID del item:";
input $capa;
next;
if($capa<2501 && $capa>2554){set $capa,0;
goto error;}else{
mes "Ingresaste la ID numero: "+$capa+".";}
break;
case 8://Botas
mes .@name$;
mes "[Botas]";
mes "Dime la ID del item:";
input $botas;
next;
if($botas<2401 && $botas>2450){set $boras,0;
goto error;}else{
mes "Ingresaste la ID numero: "+$botas+".";}
break;
case 9://AcessorioAmes .@name$;
mes "[Accesorio A]";
mes "Dime la ID del item:";
input $acceosrioa;
next;
mes "Ingresaste la ID numero: "+$accesorioa+".";
break;
case 10://AccesorioB
mes .@name$;
mes "[Accesorio B]";
mes "Dime la ID del item:";
input $accesoriob;
next;
mes "Ingresaste la ID numero: "+$accesoriob+".";
break;
}
break;
case 2:
mes .@name$;
next;
switch(select("Resetear:No")){
case 1:
switch(select("Sí:No")){
case 1:
set $cabeza, 0;
set $ojos, 0;
set $boca, 0;
set $armadura, 0;
set $arma, 0;
set $escudo, 0;
set $capa, 0;
set $botas, 0;
set $accesorioa, 0;
set $accesoriob,0;
set pack,1;
break;
case 2:
mes .@name$;
mes "Nos vemos";
close;
}
case 2:
mes .@name$;
mes "Nos vemos";
close;
}
break;
case 3:
mes .@name$;
mes "[Detalles]";
mes "Actualmente está activo el pack: ";
next;
if($cabeza==0 && $ojos==0 && $boca==0 && $armadura==0 && $arma==0 && $escudo==0 && $capa==0 && $botas==0 && $accesorioa==0 && $accesoriob==0){
mes .@name$;
mes "No hay ningún pack configurado y/o activo";
close;}
else{
mes .@name$;
mes "Cabeza: "+$cabeza+".";
mes "Ojos: "+$ojos+".";
mes "Boca: "+$boca+".";
mes "Armadura: "+$armadura+".";
mes "Arma: "+$arma+".";
mes "Escudo: "+$escudo+".";
mes "Capa: "+$capa+".";
mes "Botas: "+$botas+".";
mes "Accesorio Izquierdo: "+$accesorioa+".";
mes "Accesorio Derecho: "+$accesoriob+".";
close;
}
break;
case 4:
close;
break;
}
end;
listo:
mes .@name$;
mes "¡Ya reclamaste tu pack!";
close;
error:
mes .@name$;
mes "Revisa que la ID pertenezca a la clase de item";
close;
end;
}
Anuncios para el servidor.
Script que permite envíar anuncios al servido cada cierto periodo de tiempo (en éste caso cada hora).
- script Anuncios -1,{
//OnInit:
OnMinute01:
announce "INFORMACIÓN: Las cuentas son personales ningún Game Master te pedirá tus datos, no le reveles a nadie tu información y manten segura tu cuenta.",bc_yellow|bc_all;
end;
OnMinute21:
announce "ANUNCIO: Recuerda votar por el servidor e invita a tus amigos a formar parte del servidor.",bc_yellow|bc_all;
end;
OnMinute41:
announce "INFORMACIÓN: Podrás estar al tanto de todas las noticias del servidor, visitando la página oficial.",bc_blue|bc_all;
end;
//Rellena los bloques con los mensajes que quieras.
}
NPC Tablón de información.
Un letrero en los trainning ground que muestra la información del servidor, y algunas características especiales.
new_1-1,48,113,5 script Informacion 857,{
waitingroom "Información del servidor",0;
set .@name$,"^0000FF¡Bienvenido a AlepcisRO!^000000";
mes .@name$;
mes "Hola "+strcharinfo(0)+" soy el tablón de información.";
next;
switch(select("Información:Staff")){
case 1:
mes .@name$;
mes "Rates: ";
mes "Drops: ";
mes "Card Normales: ";
mes "Card MvP: ";
mes "Pre-Renewall";
mes "Max level ";
mes "Max stats ";
mes "Max aspd ";
next;
mes .@name$;
mes "NO custom items le quitan la escencia al RO, además de que la mayoría son muy poco atractivos.";
next;
mes .@name$;
mes "El staff de ^c30000'AlepcisRO'^000000 te da la bienvenida, nuestro server está orientado al PvP, WoE y Battleground sin perder el gusto por a cazar MvPs y divertirse haciendo amigos.";
mes .@name$;
mes "Multiples sistemas para obtener premios, no quedando en la monotonia de tener sólo una vía para obtenerlo.";
mes "Los premios se puede obtener mediante; BG, PvP, WoE, MvP y eventos.";
next;
mes .@name$;
mes "Contamos con ^c50000'Guild Transfer'^000000 del cual podrás obtener mucha más información en el foro: ^0000FFalepcisRO.xd.xd";
mes "/foro/^000000 en la sección de Guild Pack.";
Close;
break;
case 2:
mes .@name$;
mes "En el juego podrás encontrar a los miembros de nuestro staff:";
next;
mes .@name$;
mes "^c50000Administrador^000000";
mes "GM Alepcis";
close;
break;
}
}
NPC Tablón de anuncios.
Un NPC que permite mostrar a los usuarios online algunas noticias de mucha importancia.
prontera,158,190,4 script Noticias#Board 857,{
set $noticias,5;//Aquí agregar las noticias(total)
waitingroom "Noticias ("+$noticias+").",0;
set .@gm$, "^c50000Staff AlepcisRO^000000";
set .@name$, "^0000FF[Noticias]^000000";
mes .@name$;
mes "Carga el tipo de noticia que quieras leer.";
next;
switch(select("Cambios PvP:Ranking PvP:")){
case 1:
mes .@name$;
mes "Al servidor se agregaron 3 nuevas modalidades PvP:";
next;
mes .@name$;
mes "[Hardcore]";
mes "PvP destinado para los combatientes más grandes del servidor, sin usables, restricción de algunas skills, restricción de algunos jobs así mismo serán removidos todo tipo de dopes.";
next;
mes .@name$;
mes "[Normal]";
mes "Es la misma mecánica del pvp normal.";
next;
mes "[Transclass]";
mes "Aquí sólo está prohibida la entrada para los personajes extended, no trans.";
close2;
break;
case 2:
mes .@name$;
mes "[Ranking PvP]";
mes "Al matar a cualquier otro usuario se ganará de manera directa un item, y se ganará un PK (Point Kill) lo que ayudará a subir en el Ranking PvP.";
close2;
break;
//Agregar más de ser necesario
}
}
Reset en español
NPC de reset en español.
prontera,149,193,5 script Reset Girl 124,{
set .@ResetStat,5000; // Zeny for stat reset
set .@ResetSkill,5000; // Zeny for skill reset
set .@ResetBoth,9000; // Zeny for resetting both together
mes "^c50000[Reset Girl]^000000";
mes "Hola, yo soy la Reset Girl.";
mes "Mi servicio tiene un costo:";
mes "Reset Stats: "+ .@ResetStat +"z";
mes "Reset Skills: "+ .@ResetSkill +"z";
mes "Reset Both: "+ .@ResetBoth +"z";
next;
mes "^c50000[Reset Girl]^000000";
mes "Por favor, selecciona el servicio: ";
next;
switch(select("^FF3355Reset Skills:Reset Stats:Reset ambos^000000:Cancelar")) {
case 1:
mes "^c50000[Reset Girl]^000000";
if (Zeny < .@ResetSkill) {
mes "Lo siento, no tienes el suficiente zeny.";
close;
}
set Zeny, Zeny-.@ResetSkill;
sc_end SC_ALL;
ResetSkill;
mes "¡Aquí tienes!.";
close;
case 2:
mes "^c50000[Reset Girl]^000000";
if (Zeny < .@ResetStat) {
mes "Lo siento, no tienes el suficiente zeny.";
close;
}
set Zeny, Zeny-.@ResetStat;
ResetStatus;
mes "¡Aquí tienes.!";
close;
case 3:
mes "^c50000[Reset Girl]^000000";
if (Zeny < .@ResetBoth) {
mes "Lo siento, no tienes el suficiente zeny.";
close;
}
set Zeny, Zeny-.@ResetBoth;
sc_end SC_ALL;
ResetSkill;
ResetStatus;
mes "¡Aquí tienes!";
close;
case 4:
close;
}
}
NPC Estilista
Estilista especial.
prontera,141,175,4 script Estilista#prontera 503,{
waitingroom "Estilista",0;
setarray .@Styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color");
setarray .@Look[1],7,1,6;
set .@s, select("Color de Ropa:Estilo de Cabello:Color de Cabello");
set .@Revert, getlook(.@Look[.@s]);
set .@Style,1;
while(1) {
setlook .@Look[.@s], .@Style;
message strcharinfo(0),"This is style #"+.@Style+".";
set .@menu$, "Siguiente (^0055FF"+((.@Style!=.@Styles[.@s])?.@Style+1:1)+"^000000):Anterior(^0055FF"+((.@Style!=1)?.@Style-1:.@Styles[.@s])+"^000000):Seleccionar Estilo:Regresar a 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;
}
}
}