Advanced Mercenary System
Advanced Mercenary System
Realizada por: Bruce_Force
Reedicion: HattoriPermite cantidad limitada de mercenarios (comprobar mobcount en secuencia de comandos para editar)
Fácilmente extensible (añadido scroll, mob y uso)
Auto matar a los mercenarios al entrar en el castillo de WOE y desactivar spawn en tiempo de WOE.
Estadísticas escrito para servidores de lvl 1000, hacer cambio que vosotros deseéis.
Auto matar en 10 minutos (Comprobar summon de comandos para editar)
Bugs conocidos
Mercenarios muertos deja sprite (cliente de error)
Advertencia en el servidor de registro (por defecto que necesito script en caso de NPC!) (puede ser Eliminado por Source Edit)
PD: Creado por Brute_Force Modificado y Editado por Mi.
mob_db.txt
1980,Merc_Archer1,Archer Merc,Archer Merc,11,5111,0,0,0,6,500,1528,15,15,1,14,100,0,200,2,10,12,0,3,41,0x2085,300,2864,864,576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1981,Merc_Archer2,Archer Merc,Archer Merc,22,11522,0,0,0,7,1189,3113,20,20,10,15,100,15,400,20,10,12,0,7,25,0x2085,200,1172,672,420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1982,Merc_Archer3,Archer Merc,Archer Merc,33,33333,0,0,0,8,3128,5153,25,25,1,8,100,5,600,5,10,12,1,1,29,0x2085,300,2864,864,576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1983,Merc_Archer4,Archer Merc,Archer Merc,44,56444,0,0,0,8,5155,7185,30,30,10,20,100,30,800,25,10,12,0,7,23,0x2085,200,1008,1008,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1984,Merc_Archer5,Archer Merc,Archer Merc,55,99555,0,0,0,9,9289,12336,35,35,15,35,100,15,1000,42,10,12,1,1,49,0x2085,170,1084,2304,576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1985,Merc_Archer6,Archer Merc,Archer Merc,66,115666,0,0,0,10,10310,30390,40,40,1,44,100,20,1200,20,10,12,1,7,22,0x3095,300,1960,620,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1986,Merc_Archer7,Archer Merc,Archer Merc,77,320777,0,0,0,11,30415,50500,45,45,15,25,100,5,1400,35,10,12,1,6,47,0x2185,200,1152,1152,480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1987,Merc_Archer8,Archer Merc,Archer Merc,88,5308888,0,0,0,12,50684,70904,50,50,48,100,100,15,1600,40,10,12,1,7,44,0x3885,150,576,432,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1988,Merc_Archer9,Archer Merc,Archer Merc,99,7509999,0,0,0,13,70226,91854,55,55,1,145,100,32,1800,80,10,12,1,7,64,0x3095,180,76,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1989,Merc_Archer10,Archer Merc,Archer Merc,111,10711111,0,0,0,14,100100,205900,60,60,1,110,100,70,2000,100,10,12,1,7,84,0x37B5,100,200,400,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1990,Merc_Sword1,Swordsman Merc,Swordsman Merc,11,5111,0,0,0,1,500,1371,15,15,1,17,100,20,200,20,10,12,0,4,22,0x118B,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1991,Merc_Sword2,Swordsman Merc,Swordsman Merc,22,111522,0,0,0,1,1189,3257,20,20,1,23,100,10,400,5,10,12,1,2,25,0x91,200,1576,576,576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1992,Merc_Sword3,Swordsman Merc,Swordsman Merc,33,33333,0,0,0,1,3128,5745,25,25,1,15,100,5,600,15,10,12,1,1,29,0x3885,200,2276,576,432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1993,Merc_Sword4,Swordsman Merc,Swordsman Merc,44,56444,0,0,0,1,5155,7240,30,30,33,23,100,11,800,19,10,12,0,0,61,0x83,180,432,648,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1994,Merc_Sword5,Swordsman Merc,Swordsman Merc,55,99555,0,0,0,2,9289,12890,35,35,55,20,100,0,1000,25,10,12,1,1,69,0x308D,350,1848,500,576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1995,Merc_Sword6,Swordsman Merc,Swordsman Merc,66,115666,0,0,0,2,10310,33320,40,40,45,138,100,19,1200,30,10,12,1,6,85,0x3195,180,76,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1996,Merc_Sword7,Swordsman Merc,Swordsman Merc,77,320777,0,0,0,2,30415,53881,45,45,0,30,100,15,1400,12,10,12,2,7,67,0x3885,175,914,1344,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1997,Merc_Sword8,Swordsman Merc,Swordsman Merc,88,5308888,0,0,0,2,50684,74170,50,50,1,192,100,45,1600,85,10,12,1,6,24,0x3795,100,672,500,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1998,Merc_Sword9,Swordsman Merc,Swordsman Merc,99,7509999,0,0,0,2,70226,94889,55,55,1,102,100,20,1800,30,10,12,1,7,65,0x3885,120,576,432,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1999,Merc_Sword10,Swordsman Merc,Swordsman Merc,111,10711111,0,0,0,3,101000,205300,60,60,110,110,100,40,2000,60,10,12,1,7,85,0x37B5,100,384,400,300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
mob_avail.txt
1980,6017
1981,6017
1982,6017
1983,6017
1984,6017
1985,6017
1986,6017
1987,6017
1988,6017
1989,6017
1990,6037
1991,6037
1992,6037
1993,6037
1994,6037
1995,6037
1996,6037
1997,6037
1998,6037
1999,6037
item_db.txt
12153,Merc_Archer_Scroll_Lv1,Archer Mercenary Summon Scroll Level 1,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12153,1980,"1"; },{},{}
12154,Merc_Archer_Scroll_Lv2,Archer Mercenary Summon Scroll Level 2,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12154,1981,"2"; },{},{}
12155,Merc_Archer_Scroll_Lv3,Archer Mercenary Summon Scroll Level 3,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12155,1982,"3"; },{},{}
12156,Merc_Archer_Scroll_Lv4,Archer Mercenary Summon Scroll Level 4,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12156,1983,"4"; },{},{}
12157,Merc_Archer_Scroll_Lv5,Archer Mercenary Summon Scroll Level 5,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12157,1984,"5"; },{},{}
12158,Merc_Archer_Scroll_Lv6,Archer Mercenary Summon Scroll Level 6,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12158,1985,"6"; },{},{}
12159,Merc_Archer_Scroll_Lv7,Archer Mercenary Summon Scroll Level 7,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12159,1986,"7"; },{},{}
12160,Merc_Archer_Scroll_Lv8,Archer Mercenary Summon Scroll Level 8,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12160,1987,"8"; },{},{}
12161,Merc_Archer_Scroll_Lv9,Archer Mercenary Summon Scroll Level 9,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12161,1988,"9"; },{},{}
12162,Merc_Archer_Scroll_Lv10,Archer Mercenary Summon Scroll Level 10,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12162,1989,"10"; },{},{}
12163,Merc_Sword_Scroll_Lv1,Swordsman Mercenary Summon Scroll Level 1,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12163,1990,"1"; },{},{}
12164,Merc_Sword_Scroll_Lv2,Swordsman Mercenary Summon Scroll Level 2,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12164,1991,"2"; },{},{}
12165,Merc_Sword_Scroll_Lv3,Swordsman Mercenary Summon Scroll Level 3,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12165,1992,"3"; },{},{}
12166,Merc_Sword_Scroll_Lv4,Swordsman Mercenary Summon Scroll Level 4,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12166,1993,"4"; },{},{}
12167,Merc_Sword_Scroll_Lv5,Swordsman Mercenary Summon Scroll Level 5,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12167,1994,"5"; },{},{}
12168,Merc_Sword_Scroll_Lv6,Swordsman Mercenary Summon Scroll Level 6,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12168,1995,"6"; },{},{}
12169,Merc_Sword_Scroll_Lv7,Swordsman Mercenary Summon Scroll Level 7,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12169,1996,"7"; },{},{}
12170,Merc_Sword_Scroll_Lv8,Swordsman Mercenary Summon Scroll Level 8,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12170,1997,"8"; },{},{}
12171,Merc_Sword_Scroll_Lv9,Swordsman Mercenary Summon Scroll Level 9,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12171,1998,"9"; },{},{}
12172,Merc_Sword_Scroll_Lv10,Swordsman Mercenary Summon Scroll Level 10,11,,1,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "merc_summon",12172,1999,"10"; },{},{}
mercfunc.txt
Advanced Mercenary System
callfunc "merc_summon",item_id,mob_id,level;
function script merc_summon {
if(getmapxy(@mapname$,@mapx,@mapy,0,strcharinfo(0))) end;
if(@mapname$ == "prtg_cas01" || @mapname$ == "prtg_cas04" || @mapname$ == "prt_gld" || @mapname$ == "prt_maze01") end;
set @mobevent$,"Fakenpc::OnMerc"+getcharid(0);
if (mobcount(@mapname$,@mobevent$) > 1) end;
summon strcharinfo(0)+"'s Merc "+getarg(2),getarg(1),600,@mobevent$;
delitem getarg(0),1;
end;
}
prt_gld,1,1,1 script Fakenpc -1,{
OnPCLoadMapEvent:
if (!agitcheck()) end;
sleep2 2000;
if(getmapxy(@mapname$,@mapx,@mapy,0,strcharinfo(0))) end;
if(@mapname$ == "prtg_cas01" || @mapname$ == "prtg_cas04" || @mapname$ == "prt_gld" || @mapname$ == "prt_maze01"){
set @mobevent$,"Fakenpc::OnMerc"+getcharid(0);
if (mobcount(@mapname$,@mobevent$) < 1) end;
killmonster @mapname$,@mobevent$;
}
end;
}
prt_gld mapflag loadevent
prtg_cas01 mapflag loadevent
prtg_cas04 mapflag loadevent
prt_maze01 mapflag loadevent
Source Edit para desactivar las advertencias:npc.c
} else {
if (sscanf(eventname, "OnMerc"))//add this
ShowError("npc_event: event not found [%s]\n", eventname);
return 0;
}
Para hacer y Desacer "Call Homunculus" Es decir la skill que ara que aparezca y desaparezca el Mercenario.
script.c
clif_skill_poseffect(&sd->bl,AM_CALLHOMUN,1,sd->bl.x,sd->bl.y,tick);