Jump to content

Recommended Posts

Posted

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.

Posted
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.

Posted

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 /no1 .

 

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 /heh .

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...