Madeon Posted December 5, 2019 Group: Members Topic Count: 15 Topics Per Day: 0.01 Content Count: 36 Reputation: 2 Joined: 12/05/19 Last Seen: September 15, 2020 Share Posted December 5, 2019 Buenas chicos y chicas, Por que cuando mato un monstruo que esta fuera de la lista de este script me tira el siguiente error en la consola -- Script hecho por Mabuhay (sin testear) - script mvp_announce -1,{ OnInit: setarray .mobid, 1002, 1001; setarray .map$, "prt_fild08", "prontera"; end; OnNPCKillEvent: .@index = inarray(.mobid[0], killedrid ); if ( strcharinfo(3) == .map$[.@index] ) { announce "["+ strcharinfo(0) +"] ha matado "+ getmonsterinfo( killedrid, MOB_NAME ) +" en el mapa "+ strcharinfo(3) +".", bc_all; } } Error [Warning]: script:getelementofarray: index out of range (-1) [Debug]: Data: variable name='.map$' index=0 [Debug]: Source (NPC): jklasdf (invisible/not on a map) Quote Link to comment Share on other sites More sharing options...
sader1992 Posted December 5, 2019 Group: Content Moderator Topic Count: 55 Topics Per Day: 0.01 Content Count: 1691 Reputation: 716 Joined: 12/21/14 Last Seen: Yesterday at 07:50 PM Share Posted December 5, 2019 if (.@index != -1 && strcharinfo(3) == .map$[.@index] ) { Quote Link to comment Share on other sites More sharing options...
Madeon Posted December 5, 2019 Group: Members Topic Count: 15 Topics Per Day: 0.01 Content Count: 36 Reputation: 2 Joined: 12/05/19 Last Seen: September 15, 2020 Author Share Posted December 5, 2019 1 hour ago, sader1992 said: if (.@index != -1 && strcharinfo(3) == .map$[.@index] ) { [Warning]: script:getelementofarray: index out of range (-1) [Debug]: Data: variable name='.map$' index=0 [Debug]: Source (NPC): mvp_announce (invisible/not on a map) Aun sigue tirando error Quote Link to comment Share on other sites More sharing options...
sader1992 Posted December 5, 2019 Group: Content Moderator Topic Count: 55 Topics Per Day: 0.01 Content Count: 1691 Reputation: 716 Joined: 12/21/14 Last Seen: Yesterday at 07:50 PM Share Posted December 5, 2019 try - script mvp_announce -1,{ OnInit: setarray .mobid, 1002, 1001; setarray .map$, "prt_fild08", "prontera"; end; OnNPCKillEvent: if((.@index = inarray(.mobid[0], killedrid )) != -1){ if ( strcharinfo(3) == .map$[.@index] ) { announce "["+ strcharinfo(0) +"] ha matado "+ getmonsterinfo( killedrid, MOB_NAME ) +" en el mapa "+ strcharinfo(3) +".", bc_all; } } } Quote Link to comment Share on other sites More sharing options...
Mael Posted December 5, 2019 Group: Forum Moderator Topic Count: 25 Topics Per Day: 0.01 Content Count: 837 Reputation: 321 Joined: 02/11/19 Last Seen: 7 hours ago Share Posted December 5, 2019 (edited) Si gustas también puedes probar este. - script #mvp_announcer -1,{ OnInit: // .gmp = 40; // Nivel de GM para preever anuncio. // Lista de Mapas de MVP. setarray .t_maps$[0],"moc_pryd06","lhz_dun03","gld2_prt","abbey02","ayo_dun02","lhz_dun04","ra_fild02","xmas_fild01","dic_dun02","beach_dun","iz_dun05","tur_dun04","lhz_dun02","jupe_core","moc_fild22","anthell02","odin_tem03","gon_dun03","gef_fild02","thana_boss","gef_fild10","ein_dun02","gef_fild14","moc_pryd04","dew_dun01","in_sphinx5","niflheim","moc_fild17","xmas_dun02","ice_dun03","kh_dun02","treasure02","moc_prydn2","pay_dun04","ra_san05","mosk_dun03","ama_dun03","thor_v03","gef_dun01","mjolnir_04","abyss_03","dic_dun03","prt_sewb4","pay_fild11","gef_dun02","gl_chyard","ra_fild03","ra_fild04","ve_fild01","ve_fild02","lou_dun03","prt_maze03","bra_dun02"; end; OnNPCKillEvent: //if (getgmlevel() >= .gmp ) end; if ( getmonsterinfo( killedrid, MOB_MVPEXP )) { for (.@a = 0; .@a < getarraysize(.t_maps$); .@a++) { if ( strcharinfo(3) == .t_maps$[.@a]) { if ( getcharid(1) ) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { .@partymemberaid[.@c] = $@partymemberaid[.@i]; .@c++; } } announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all; } else { announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all; } end; } } } } Aquí modifica los mapas en los que se encuentran los mvps que contarán: setarray .t_maps$[0],"moc_pryd06","lhz_dun03","gld2_prt","abbey02","ayo_dun02","lhz_dun04","ra_fild02","xmas_fild01","dic_dun02","beach_dun","iz_dun05","tur_dun04","lhz_dun02","jupe_core","moc_fild22","anthell02","odin_tem03","gon_dun03","gef_fild02","thana_boss","gef_fild10","ein_dun02","gef_fild14","moc_pryd04","dew_dun01","in_sphinx5","niflheim","moc_fild17","xmas_dun02","ice_dun03","kh_dun02","treasure02","moc_prydn2","pay_dun04","ra_san05","mosk_dun03","ama_dun03","thor_v03","gef_dun01","mjolnir_04","abyss_03","dic_dun03","prt_sewb4","pay_fild11","gef_dun02","gl_chyard","ra_fild03","ra_fild04","ve_fild01","ve_fild02","lou_dun03","prt_maze03","bra_dun02"; Nota: Como no sé que modo estas utilizando "RE o PRE" ahí puedes ir eligiendo a tu gusto. Para que funcione todo perfectamente te recomendaría poner mapflag de uso de bloody branch en esos maps claro es una sugerencia. Para activar la función para GMs solo descomenta estos: // .gmp = 40; // Nivel de GM para preever anuncio. //if (getgmlevel() >= .gmp ) end; Créditos a @pajodex por el script, yo solo removí algunas funciones y lo convertí solo en anunciador. Edited December 8, 2019 by Mael complementar información Quote Link to comment Share on other sites More sharing options...
Madeon Posted December 5, 2019 Group: Members Topic Count: 15 Topics Per Day: 0.01 Content Count: 36 Reputation: 2 Joined: 12/05/19 Last Seen: September 15, 2020 Author Share Posted December 5, 2019 (edited) Gracías Mael y sader1992... Usare el siguiente que es más facil de entender y editar. 1 hour ago, Mael said: Si gustas también puedes probar este. - script #mvp_announce -1,{ OnInit: // .gmp = 40; // Nivel de GM para preever anuncio. // Lista de Mapas de MVP. setarray .t_maps$[0],"moc_pryd06","lhz_dun03","gld2_prt","abbey02","ayo_dun02","lhz_dun04","ra_fild02","xmas_fild01","dic_dun02","beach_dun","iz_dun05","tur_dun04","lhz_dun02","jupe_core","moc_fild22","anthell02","odin_tem03","gon_dun03","gef_fild02","thana_boss","gef_fild10","ein_dun02","gef_fild14","moc_pryd04","dew_dun01","in_sphinx5","niflheim","moc_fild17","xmas_dun02","ice_dun03","kh_dun02","treasure02","moc_prydn2","pay_dun04","ra_san05","mosk_dun03","ama_dun03","thor_v03","gef_dun01","mjolnir_04","abyss_03","dic_dun03","prt_sewb4","pay_fild11","gef_dun02","gl_chyard","ra_fild03","ra_fild04","ve_fild01","ve_fild02","lou_dun03","prt_maze03","bra_dun02"; end; OnNPCKillEvent: //if (getgmlevel() >= .gmp ) end; if ( getmonsterinfo( killedrid, MOB_MVPEXP )) { for (.@a = 0; .@a < getarraysize(.t_maps$); .@a++) { if ( strcharinfo(3) == .t_maps$[.@a]) { if ( getcharid(1) ) { getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { .@partymemberaid[.@c] = $@partymemberaid[.@i]; .@c++; } } announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all; } else { announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all; } end; } } } } Aquí modifica los mapas en los que se encuentran los mvps que contarán: setarray .t_maps$[0],"moc_pryd06","lhz_dun03","gld2_prt","abbey02","ayo_dun02","lhz_dun04","ra_fild02","xmas_fild01","dic_dun02","beach_dun","iz_dun05","tur_dun04","lhz_dun02","jupe_core","moc_fild22","anthell02","odin_tem03","gon_dun03","gef_fild02","thana_boss","gef_fild10","ein_dun02","gef_fild14","moc_pryd04","dew_dun01","in_sphinx5","niflheim","moc_fild17","xmas_dun02","ice_dun03","kh_dun02","treasure02","moc_prydn2","pay_dun04","ra_san05","mosk_dun03","ama_dun03","thor_v03","gef_dun01","mjolnir_04","abyss_03","dic_dun03","prt_sewb4","pay_fild11","gef_dun02","gl_chyard","ra_fild03","ra_fild04","ve_fild01","ve_fild02","lou_dun03","prt_maze03","bra_dun02"; Nota: Como no sé que modo estas utilizando "RE o PRE" ahí puedes ir eligiendo a tu gusto. Para que funcione todo perfectamente te recomendaría poner mapflag de uso de bloody branch en esos maps claro es una sugerencia. Para activar la función para GMs solo descomenta estos: // .gmp = 40; // Nivel de GM para preever anuncio. //if (getgmlevel() >= .gmp ) end; Créditos a @pajodex por el script, yo solo removí algunas funciones y lo convertí solo en anunciador. Edited December 5, 2019 by Madeon Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.