Nanashi Posted June 15, 2013 Group: Members Topic Count: 15 Topics Per Day: 0.00 Content Count: 59 Reputation: 19 Joined: 01/03/13 Last Seen: August 27, 2024 Share Posted June 15, 2013 Hola a todos, estoy tratando de desarrollar un script que te manda a una sala donde hay un mvp. El caso es que quiero hacer que sólo puedas acceder a esa sala si estas en una party formada por 4 usuarios (deben estar online) y que cada uno tenga un nivel base 40 o mayor. ¿Alguien sabe cuáles son los comandos para que un npc compruebe esas dos características? Gracias de antemano, un saludo. Quote Link to comment Share on other sites More sharing options...
Patotron Posted June 15, 2013 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 27 Reputation: 7 Joined: 08/01/12 Last Seen: April 28, 2023 Share Posted June 15, 2013 getpartymember getcharid(1); set @partymembercount,$@partymembercount; copyarray @partymembername$[0],$@partymembername$[0],@partymembercount; set $@partymembercount,0; deletearray $@partymembername$[0],getarraysize($@partymembername$); if(@partymembercount == 4) { // Comprobaciones de si están ONLINE y lo que tu quieras. } else { mes "La party debe estar formada por 4 personas."; close; } Puedes probar con eso, es algo hecho de forma rápida y quizá se pueda optimizar, pero bueno, servirte te puede servir para utilizarlo u orientarte. Quote Link to comment Share on other sites More sharing options...
jaBote Posted June 15, 2013 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 182 Reputation: 36 Joined: 01/26/12 Last Seen: October 6, 2021 Share Posted June 15, 2013 Tucsus, en tu script solo se comprueba que la party esté conformada por 4 integrantes. Te ha faltado la parte "difícil" que es comprobar los requisitos que pide Nanashi y requiere un poco de ciencia, que es lo que creo que realmente se le está dificultando a Nanashi. Este trozo de código, que no he probado ni tengo por el momento medio alguno para validarlo (por lo que puede tener errores), te puede solucionar el problema: set .@fail, 0; getpartymember getcharid(1),0; getpartymember getcharid(1),1; getpartymember getcharid(1),2; if ($@partymembercount == 4) { for (set .@i = 0; .@i < $@partymembercount; set .@i, .@i + 1){ if (!isloggedin($@partymemberaid[.@i], $@partymembercid[.@i]) || readparam(BaseLevel,$@partymembername$[.@i]) < 40) { set .@fail, 1; break; } } if (!.@fail) { // Aquí tu código una vez la party ha superado con éxito la comprobación. // Procura terminar el script al final de este bloque, también. } } // Aquí el código relativo al fracaso del cumplimiento de los requisitos en la comprobación de la party. En el ejemplo 2 de la descripción del comando getpartymember casi tenías la solución ya hecha . P.D.: Las malas costumbres, he escrito y redactado todo en inglés hasta que me he dado cuenta de que aquí puedo hablar en español . 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.