Jump to content

granrover

Members
  • Content Count

    12
  • Joined

  • Last visited

  1. no es lo q esperaba pero gracias de todos modos
  2. quizas me exprese mal era un skin de flux xD
  3. Estimados necesito un cpanel compatible con Hercules para mi servidor. con algún theme sencillo pero bonito q no sea tan caro. gracias
  4. perdona el revivir este post pero la actualizacion de scripts tambien es lenta aca o es normal que sea asi y debemos sacar los scripts de rathena
  5. es re antiguo... lo que pasa es que al iniciar la invasión esta termina de inmediato, y mi nivel de script es medio bajo y este es re enredado :S
  6. //// [========================================================]// [=========== The Invasor ===========]// [========================================================]// [ Version 8 ]// [========================================================]// [ Original script by: Ivion ]// [========================================================]// [ Description: ]// [--------------------------------------------------------]// [ ]// [ - Automatic invasion events. ]// [ - 24 randomly selected cities. ]// [ - 15 different types of invasion. ]// [ - Invasion events are divided into 3 difficulty stages.]// [ - GM Control Panel whispering to NPC:invasor. ]// [========================================================]// [ Changelog: (5 last updates) ]// [--------------------------------------------------------]// [ ]// [ v4: [Ivion] ]// [ - Nuevos mobs balanceados, añadidos a la db. ]// [ - 2 nuevos tipos de invasiones. ]// [ - Ahora los mobs dropean items. ]// [ - Recompensas y penalizaciones globales. ]// [ - Acceso ingame mediante OnWhisperGlobal. ]// [ - Nuevas opciones de configuración. ]// [ - Reescrito casi todo el código. ]// [ ]// [ v5: [Ivion] ]// [ - Varios bugfixes. ]// [ - Optimización del script. ]// [ - Añadido mid_camp. ]// [ - Nuevos mobs sin tanta db. ]// [ - Nuevos bosses. ]// [ - Nuevas invasiones: Ice, Nature, Dragon, Kaos y ]// [ Takeshi. ]// [ - Incremento de rates del servidor a +20%. ]// [ - Retirado el sistema de penalizaciones. ]// [ - Los spawns no disminuirán al matar los bosses. ]// [ - Sistema para Save Point alternativo. ]// [ ]// [ v5.1: [Ivion] ]// [ - Bugfix: Corregido un pequeño error en mob_db2 que ]// [ producía errores en el map-server. ]// [ ]// [ v6: [Ivion] ]// [ - Translated into english. ]// [ - Added new 13.2 episode cities. ]// [ - Global delayed announcements system. ]// [ - Rates increment won't affect other possible bonnuses ]// [ from other scripts. ]// [ - Bugfix: Mapflags used while the invasion event will ]// [ be cleared according to their inicial state. ]// [ - Some mobs has been replaced. ]// [ - Bugfix: Removed Ghoul and Angeling mobs from the 3rd ]// [ stage of the Undead invasion. ]// [ - Some bosses has been replaced. ]// [ - Some balance adjustments to the stats of the bosses. ]// [ - Bugfix: Some bosses had range2 = 0. ]// [ - The control panel won't be displayed to ]// [ multiple gms at once. ]// [ - Mobs and bosses will drop Poring Coins. ]// [ ]// [ v7: [Ivion] ]// [ - Bugfix: Incorrect map cells in Amatsu and Juno. ]// [ - Added teleport skill to the bosses. ]// [ - Updated the skills of the 13.1 monsters. ]// [ ]// [ v8: [Ivion] ]// [ - The init timer won't reset when reloading scripts. ]// [ - Added some information about the invasion progress in]// [ the GMs Control Panel. ]// [========================================================]// [ http://www.eathena.ws/board/index.php?showtopic=224056 ]// [========================================================]- script invasor -1,{OnInit:// [========================================================]// [ Configuration: ]// [--------------------------------------------------------] set .t1,2*24; // Minimum time to activate a new invasion event. (h) set .t2,4*24; // Maximum time to activate a new invasion event. (h) set .t3,24*120; // Maximum duration of the invasion event. (min) set .r1,50000; // Mob rate. (%) set .pci,8905; // Item reward dropped by mobs and bosses. (Default = Poring Coin) set .pcr1,1; // Rate of item rewards dropped by mobs. (0 = off | %) set .pcr2,10; // Rate of item rewards dropped by bosses. (0 = off | %) // After successfully completing the invasion, the experience rates will be increased for a time. set .t4,60; // Duration of the experience event. (0 = off | min) set .r2,30; // Experience rates increment. (0 = off | %) set .gm,60; // GM level required to access the Control Panel whispering to NPC:invasor. // Alternative Save Point: // If a player had saved in the map of the current invasion event, his respawn point will be changed to this one. set .s$,"prontera"; // Map. set .sx,156; // x. set .sy,161; // y. // Cities: // getarg(0): Name. // getarg(1): Map. // getarg(2): Intensity. (0 = off | Intensity) //callsub Onc0,"Alberta","alberta",11; callsub Onc0,"Al De Baran","aldebaran",14; callsub Onc0,"Amatsu","amatsu",18; callsub Onc0,"Ayothaya","ayothaya",8; callsub Onc0,"Comodo","comodo",22; callsub Onc0,"Einbech","einbech",11; callsub Onc0,"Einbroch","einbroch",22; callsub Onc0,"Geffen","geffen",10; callsub Onc0,"Gonryun","gonryun",14; callsub Onc0,"Hugel","hugel",9; callsub Onc0,"Izlude","izlude",5; callsub Onc0,"Jawaii","jawaii",0; // 7 callsub Onc0,"Juno","yuno",30; callsub Onc0,"Lighthalzen","lighthalzen",24; callsub Onc0,"Louyang","louyang",27; callsub Onc0,"Lutie","xmas",20; callsub Onc0,"Manuk","manuk",8; callsub Onc0,"Midgarts Expedition Camp","mid_camp",13; callsub Onc0,"Morroc","morocc",25; callsub Onc0,"Moscovia","moscovia",6; callsub Onc0,"Niflheim","niflheim",0; // 20 callsub Onc0,"Payon","payon",19; callsub Onc0,"Prontera","prontera",0; // 30 callsub Onc0,"Rachel","rachel",18; callsub Onc0,"Splendide","splendide",29; callsub Onc0,"Umbala","umbala",4; callsub Onc0,"Veins","veins",20; // Invasion types: // getarg(0): Name. // getarg(1 .. 9): Mobs. // getarg(10 .. 12): Bosses. callsub Onc1,"Aqua",1068,1071,1071,1069,1044,1144,1045,1065,1264,1894,2016,1112; callsub Onc1,"Demon",1146,1109,1101,1149,1632,1773,1382,1292,1208,1920,1389,1929; callsub Onc1,"Dragon",1715,1718,1155,1380,1206,1385,1717,1714,1716,1262,1720,2022; callsub Onc1,"Earth",1784,1782,1165,1517,1615,1516,1378,1386,1602,1919,1785,1916; callsub Onc1,"Fire",1836,1367,1383,1072,1384,1381,1318,1837,1366,1833,1831,1832; callsub Onc1,"Ghost",1509,1179,1186,1143,1510,1192,1506,1375,1291,1704,1921,1768; callsub Onc1,"Ice",1243,1789,1776,1778,1323,1317,1775,1515,1319,1777,1252,1779; callsub Onc1,"Insect",1054,1100,1139,1279,1099,1625,1304,1194,1305,1618,2087,1147; callsub Onc1,"Kaos",1140,1508,1163,1276,1504,1132,1698,1505,1507,1702,1268,2018; callsub Onc1,"Machina",1151,1616,1745,1682,1270,1622,1202,1678,1673,1978,1623,1685; callsub Onc1,"Nature",1162,1118,1880,1500,1497,1410,1780,1884,1314,1991,1885,1957; callsub Onc1,"Takeshi",1026,1188,1404,1584,1609,1512,1416,1405,1401,1518,1492,1418; callsub Onc1,"Undead",1403,1169,1041,1196,1197,1117,1297,1866,1098,1870,1038,1373; callsub Onc1,"Venom",1621,1256,1037,1402,1209,1216,1207,1883,1148,1987,1871,1874; callsub Onc1,"Wind",1627,1156,1253,1263,1633,1692,1412,1774,1259,1992,1918,1931; //callsub Onc1,"Aqua",1068,1071,1228,1069,1044,1144,1045,1065,1264,2503,2504,2505; //callsub Onc1,"Demon",1146,1109,1101,1149,1632,1773,1382,1292,1208,2536,2537,2538; //callsub Onc1,"Dragon",1715,1718,1155,1380,1206,1385,1717,1714,1716,2524,2525,2526; //callsub Onc1,"Earth",1784,1782,1165,1517,1615,1516,1378,1386,1602,2512,2513,2514; //callsub Onc1,"Fire",1836,1367,1383,1072,1384,1381,1318,1837,1366,2500,2501,2502; //callsub Onc1,"Ghost",1509,1179,1186,1143,1510,1192,1506,1375,1291,2527,2528,2529; //callsub Onc1,"Ice",1243,1789,1776,1778,1323,1317,1775,1515,1319,2506,2507,2508; //callsub Onc1,"Insect",1054,1100,1139,1279,1099,1625,1304,1194,1305,2518,2519,2520; //callsub Onc1,"Kaos",1140,1508,1163,1276,1504,1132,1698,1505,1507,2539,2540,2541; //callsub Onc1,"Machina",1151,1616,1745,1682,1270,1622,1202,1678,1673,2515,2516,2517; //callsub Onc1,"Nature",1162,1118,1880,1500,1497,1410,1780,1884,1314,2509,2510,2511; //callsub Onc1,"Takeshi",1026,1188,1404,1584,1609,1512,1416,1405,1401,2542,2543,2544; //callsub Onc1,"Undead",1403,1169,1041,1196,1197,1117,1297,1866,1098,2533,2534,2535; //callsub Onc1,"Venom",1621,1256,1037,1402,1209,1216,1207,1883,1148,2521,2522,2523; //callsub Onc1,"Wind",1627,1156,1253,1263,1633,1692,1412,1774,1259,2530,2531,2532;// [--------------------------------------------------------]// [ End of configuration. ]// [========================================================] set .br,getbattleflag("base_exp_rate"); set .jr,getbattleflag("job_exp_rate"); // Fix incorrect map cells: setcell "amatsu",314,267,314,314,0,0; setcell "yuno",205,219,205,218,0,0; donpcevent "invasor::On0"; end;Onc0: if(getarg(2) > 0) { set .c1$[.c],getarg(0); set .c2$[.c],getarg(1); set .i[.c],getarg(2); set .c,.c + 1; } return;Onc1: set .@a,getarraysize(.n$); set .n$[.@a],getarg(0); while(.@b < 12) { set getd(".m"+((.@a * 12) + .@),getarg(.@b + 1); set .@b,.@b + 1; } return;On0: while(1) { set .a,0; set .b,0; set .c,0; set .@t,gettimetick(2) / 60; if($TIt <= .@t) set $TIt,.@t + rand(.t1 * 60,.t2 * 60); sleep ($TIt - .@t) * 60 * 1000; set .a,1; set $TIt,0; set .@t,0; donpcevent "invasor::OnTimer"; if(!. set .b,rand(1,getarraysize(.i)); set .b,.b - 1; if(!.c) set .c,rand(1,getarraysize(.n$)); set .c,.c - 1; set .mf1,getmapflag(.c2$[.b],1); set .mf4,getmapflag(.c2$[.b],4); setmapflag .c2$[.b],1; // noteleport setmapflag .c2$[.b],4; // nopenalty callsub Clrmsg; announce "S.O.S.!! "+.c1$[.b]+" ESTA SUFRIENDO UNA TERRIBLE INVACION!!!.",bc_all,0xffaa00; while(.a > 0) { if(!.d) { set .d,4 - .a; killmonster .c2$[.b],"invasor::onm9"; if(.a > 1) callsub Addmsg,"Los ejércitos invasores nuevamente entran en la ciudad.","ffaa00",.c2$[.b]; monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + .a + 8)),4 - .a,"invasor::onm9"; } if(mobcount(.c2$[.b],"invasor::onm"+((.a * 3) - 3)) < (.i[.b] * .r1 / 20)) monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + (.a * 3) - 3)),.i[.b],"invasor::onm"+((.a * 3) - 3); if(mobcount(.c2$[.b],"invasor::onm"+((.a * 3) - 2)) < (.i[.b] * .r1 / 20)) monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + (.a * 3) - 2)),.i[.b],"invasor::onm"+((.a * 3) - 2); if(mobcount(.c2$[.b],"invasor::onm"+((.a * 3) - 1)) < (.i[.b] * .r1 / 20)) monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + (.a * 3) - 1)),.i[.b],"invasor::onm"+((.a * 3) - 1); if(.a > 0) sleep 20000; } set .d,0; set .@a,12; while(.@a > 0) { set .@a,.@a - 1; killmonster .c2$[.b],"invasor::onm"+.@a; } if(!.mf1) removemapflag .c2$[.b],1; if(!.mf4) removemapflag .c2$[.b],4; set .mf1,0; set .mf4,0; if(.a == -1) { callsub Addmsg,"Recompensa: Experiencia aumento de rates a "+.r2+"%. ("+.t4+" min)","ffaa00"; setbattleflag "base_exp_rate",getbattleflag("base_exp_rate") + (.br * .r2 / 100); setbattleflag "job_exp_rate",getbattleflag("job_exp_rate") + (.jr * .r2 / 100); sleep .t4 * 60 * 1000; setbattleflag "base_exp_rate",getbattleflag("base_exp_rate") - (.br * .r2 / 100); setbattleflag "job_exp_rate",getbattleflag("job_exp_rate") - (.jr * .r2 / 100); announce "Los rates de la experiencia ha sido restaurados.",bc_all,0xffaa00; } } end;onm0:onm1:onm2: if(playerattached() && .pcr1) if(!rand(100 * 100 / .pcr1)) getitem .pci,1; end;onm3:onm4:onm5: if(playerattached() && .pcr1) if(!rand(75 * 100 / .pcr1)) getitem .pci,1; end;onm6:onm7:onm8: if(playerattached() && .pcr1) if(!rand(50 * 100 / .pcr1)) getitem .pci,1; end;onm9: if(.a < 1) end; set .d,.d - 1; if(.a != 3) { if(.a == 1) set .@a$,"Sbirro"; if(.a == 2) set .@a$,"Hero"; set .@b$,callsub(Grammar_a_an,.n$[.c]); if(playerattached()) { set .@a$,strcharinfo(0)+" ha muerto "+.@b$+" "+.n$[.c]+" "+.@a$+"."; if(.a == 1) getitem .pci,2 * .pcr2 / 100; if(.a == 2) getitem .pci,3 * .pcr2 / 100; } else set .@a$,.@b$+" "+.n$[.c]+" "+.@a$+" haz sido asesinado."; callsub Addmsg,.@a$+" ("+(4 - .a - .d)+"/"+(4 - .a)+")","ffaa00",.c2$[.b]; if(!.d) set .a,.a + 1; } else { if(playerattached()) { set .@a$,strcharinfo(0)+" ha matado a la "+.n$[.c]+" Deux."; getitem .pci,1 * .pcr2 / 100; } else set .@a$,"El "+.n$[.c]+" Deux a sido asesinado."; callsub Addmsg,.@a$,"ffaa00",.c2$[.b]; callsub Addmsg,"El ejército invasor de "+.c1$[.b]+" ha sido derrotado.","ffaa00"; if(.t4 && .r2) set .a,-1; else set .a,0; awake "invasor"; } end;OnTimer: sleep .t3 * 120 * 1000; if(.a < 1) end; set .a,0; awake "invasor"; callsub Clrmsg; callsub Addmsg,"Las defensas de "+.c1$[.b]+" han sido derrotadas por los ejércitos invasores.","ffaa00"; callsub Addmsg,"Hoy será recordado como un día negro para el servidor Apolo-RO /sob.","ffaa00"; end;OnPCLoginEvent: if(.a > 0) { sleep2 3000; if(.a > 0) announce "¡¡S.O.S.!! "+.c1$[.b]+" está sufriendo de una terrible invasión.",bc_self,0xffaa00; } else if(.a == -1) { sleep2 3000; if(.a == -1) announce "La experiencia de rates ha sido aumentada a "+.r2+"%.",bc_self,0xffaa00; } end;OnPCDieEvent: if((.a > 0) && (getsavepoint(0) == .c2$[.b])) save .s$,.sx,.sy; end;OnWhisperGlobal: if(getgmlevel() < .gm) end; set .@n$,"^008888The Invasor^000000"; mes .@n$; mes "Este es el panel de control del sistema de Invasor."; if(!.a) { mes "Actualmente no hay ninguna invasión en curso."; set .@t,$TIt - (gettimetick(2) / 60); if(!.@t) set .@t$,"a few seconds"; else if(.@t < 60) set .@t$,.@t+" minutes"; else { set .@t,.@t / 60; if(.@t < 24) set .@t$,.@t+" hours"; else set .@t$,(.@t / 24)+" days"; } mes "Próximo evento de la invasión automática tendrá lugar en "+.@t$+"."; next; set .@b,select("^880000Exit^000000","Start invasion.") - 1; mes .@n$; if(.@ { mes "Select a city."; next; set .@a,select("^880000Random^000000",.c1$[0],.c1$[1],.c1$[2],.c1$[3],.c1$[4],.c1$[5],.c1$[6],.c1$[7],.c1$[8],.c1$[9],.c1$[10],.c1$[11],.c1$[12],.c1$[13],.c1$[14],.c1$[15],.c1$[16],.c1$[17],.c1$[18],.c1$[19],.c1$[20],.c1$[21],.c1$[22],.c1$[23],.c1$[24],.c1$[25],.c1$[26],.c1$[27],.c1$[28],.c1$[29],.c1$[30],.c1$[31],.c1$[32],.c1$[33],.c1$[34],.c1$[35],.c1$[36],.c1$[37],.c1$[38],.c1$[39]); mes .@n$; set .@a,.@a - 1; mes "Seleccione una clase para la invasión."; next; set .@b,select("^880000Random^000000",.n$[0],.n$[1],.n$[2],.n$[3],.n$[4],.n$[5],.n$[6],.n$[7],.n$[8],.n$[9],.n$[10],.n$[11],.n$[12],.n$[13],.n$[14],.n$[15],.n$[16],.n$[17],.n$[18],.n$[19],.n$[20],.n$[21],.n$[22],.n$[23],.n$[24]); mes .@n$; set .@b,.@b - 1; if(.a) { mes "En este momento, no se puede iniciar una nueva invasión."; mes "Regresa mas tarde."; close; } set .b,.@a; set .c,.@b; awake "invasor"; mes "Una nueva invasión se ha iniciado."; close; } } else if(.a > 0) { mes "Actualmente no existe "+callsub(Grammar_a_an,.n$[.c])+" "+.n$[.c]+" invasión que tienen lugar en "+.c1$[.b]+"."; next; set .@b,select("^880000Exit^000000","Cancelar la actual invasión.") - 1; mes .@n$; if(.@ { if(.a < 1) { mes "Actualmente no hay ninguna invasión en curso."; close; } set .a,0; announce "La invasion en "+.c1$[.b]+" ha sido cancelada.",bc_all,0xffaa00; mes "la invasion en "+.c1$[.b]+" ha sido cancelada."; awake "invasor"; close; } } else { mes "Experiencia de rates aumentada "+.r2+"% como una recompensa por la invasión anterior."; next; set .@b,select("^880000Exit^000000","Restaurar rates.") - 1; mes .@n$; if(.@ { if(.a != -1) { mes "Actualmente los rates no son modificados por el sistema de Invasor."; close; } awake "invasor"; mes "Los rates han sido restaurados."; close; } } mes "Hasta pronto."; close;// Adds a new message to the announcement list:// getarg(0): Message.// getarg(1): Color.// getarg(2): Map. (optional)Addmsg: set .@a,getarraysize($@inv_msg0$); if(.@a >= 10) { deletearray $@inv_msg0$[0],.@a - 9; set .@a,9; } set $@inv_msg0$[.@a],getarg(0); set $@inv_msg1$[.@a],getarg(1); set $@inv_msg2$[.@a],getarg(2,""); if(!.@a) donpcevent "inv_msg::On0"; return;// Clear the announcement list:Clrmsg: set .@a,getarraysize($@inv_msg0$); cleararray $@inv_msg0$[0],"",.@a; cleararray $@inv_msg1$[0],"",.@a; cleararray $@inv_msg2$[0],"",.@a; awake "inv_msg"; return;Grammar_a_an: set .@w$,getarg(0); if( compare("_init_"+.@w$,"_init_A") || compare("_init_"+.@w$,"_init_E") || compare("_init_"+.@w$,"_init_I") || compare("_init_"+.@w$,"_init_O") || compare("_init_"+.@w$,"_init_U") ) return "an"; else return "a";}// Delayed announcements:// Announces a message from the announcement list every 3 seconds.- script inv_msg -1,{On0: while(getarraysize($@inv_msg0$)) { if($@inv_msg2$[0] == "") announce $@inv_msg0$[0],bc_all,"0x"+$@inv_msg1$[0]; else mapannounce $@inv_msg2$[0],$@inv_msg0$[0],bc_all,"0x"+$@inv_msg1$[0]; if(getarraysize($@inv_msg0$)) sleep 3000; deletearray $@inv_msg0$[0],1; deletearray $@inv_msg1$[0],1; deletearray $@inv_msg2$[0],1; } end;} allí esta
  7. Bueno resulta que tengo hace muchos años un antiguo script de eathena el que hacia una invasión automática en distintas ciudades y distintos mobs por razas. resulta que con hercules me es imposible echarlo a correr a ver si alguien lo hace compatible o me ayuda a hacerlo compatibilizar. saludos
  8. no uses loki dejalo normal quita la opcion a diffear yo hice eso y me funciona sin problemas.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.