El foro principal del servidor Pokemon Origins


    4.- Solucionario

    Comparte
    avatar
    Alipio
    Admin

    Mensajes : 26
    Fecha de inscripción : 18/10/2014
    Edad : 23

    4.- Solucionario

    Mensaje por Alipio el Dom Dic 28, 2014 11:02 pm

    Solucionario del Capítulo 4.- Funciones Usuario



    a) Crear un comando que devuelva el sistema operativo que posee el que lo usa.

    Sus diagramas de flujo se presentan a continuación:

    Diagramas de Flujo:
    En proceso...

    Su código sería el siguiente:

    Código:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {

    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando == "misys") {
    sys.sendHtmlMessage(ID, "Su sistema operativo es el siguiente: "+sys.os(ID)+".",Canal);
    return; }
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }

    },
    })

    b) Crear un comando para cambiar su avatar.

    Sus diagramas de flujo se presentan a continuación:

    Diagramas de Flujo:
    En proceso...

    Su código sería el siguiente:

    Código:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {

    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando.toLowerCase() == "cavatar") {
    if (Msj_Msj == undefined) {
    sys.sendHtmlMessage(ID, "Indique el número del avatar que desea ",Canal);
    return; }
    if (Msj_Msj > 0 && Msj_Msj <330) {
    sys.changeAvatar(ID, Msj_Msj);
    sys.sendHtmlMessage(ID, "Ha obtenido su avatar!",Canal);
    return; }

    sys.sendHtmlMessage(ID, "No reconocemos el avatar.",Canal);
    return; }
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }

    },
    })

    c) Crear un comando que pase su estado a inactivo/activo.

    Sus diagramas de flujo se presentan a continuación:

    Diagramas de Flujo:
    En proceso...

    Su código sería el siguiente:

    Código:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {

    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando.toLowerCase() == "cestado") {
    if (sys.away(ID) == true) {
    sys.changeAway(ID, false);
    sys.sendHtmlMessage(ID, "Su estado cambio con exito!",Canal);
    return; }
    sys.changeAway(ID, true);
    sys.sendHtmlMessage(ID, "Su estado cambio con exito!",Canal);
    return; }
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }

    },
    })

    d)  Crear un comando que de aut de nivel 1,2,3,4,5 con cambio de pokebola en las 3 escalas.

    Sus diagramas de flujo se presentan a continuación:

    Diagramas de Flujo:
    En proceso...

    Su código sería el siguiente:

    Código:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {

    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando.toLowerCase() == "auth") {
    if (Msj_Msj == undefined) {
    sys.sendHtmlMessage(ID, "Indique el rango de Auth",Canal);
    return; }
    if (Msj_Msj > 0 && Msj_Msj <=5) {
    sys.changeDbAuth(sys.name(ID), Msj_Msj);
    sys.changeAuth(ID, Msj_Msj);
    sys.sendHtmlMessage(ID, "Ha obtenido su Auth!",Canal);
    return; }

    sys.sendHtmlMessage(ID, "Rango entre 1-5!",Canal);
    return; }
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

    e)  Crear un comando que permita cambiar la Trainer Info de otro usuario (si esta conectado).  

    Sus diagramas de flujo se presentan a continuación:

    Diagramas de Flujo:
    En proceso...

    Su código sería el siguiente:

    Código:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {

    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando.toLowerCase() == "cinfo") {
    if (Msj_Msj == undefined) {
    sys.sendHtmlMessage(ID, "Indique el usuario y su nueva info.",Canal);
    return; }
    var temp = Msj_Msj.split(':');

    if (sys.id(temp[0]) == undefined)  {
    sys.sendHtmlMessage(ID, "El usuario debe estar presente.",Canal);
    return; }

    if (temp[1] == undefined)  {
    sys.sendHtmlMessage(ID, "Ingrese la nueva informacion del usuario",Canal);
    return; }

    sys.changeInfo(ID, Msj_Msj);
    sys.sendHtmlMessage(ID, "Revise la Trainer info del usuario! xD",Canal);
    return; }
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

    f) Crear un comando que permita patear a una ID (Sin restricción de uso).

    Sus diagramas de flujo se presentan a continuación:

    Diagramas de Flujo:
    En proceso...

    Su código sería el siguiente:

    Código:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {

    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando.toLowerCase() == "kickid") {
    if (Msj_Msj == undefined) {
    sys.sendHtmlMessage(ID, "Indique el usuario.",Canal);
    return; }

    if (sys.id(Msj_Msj) == undefined)  {
    sys.sendHtmlMessage(ID, "El usuario debe estar presente.",Canal);
    return; }

    sys.kick(ID);
    sys.sendHtmlMessage(ID, "Usuario pateado!",Canal);
    return; }
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

    g) Crear un comando que permita patear por IP (Sin restricción de uso).


    Para realizar esta función deben poder saber quienes estan conectados al servidor y si tienen la misma IP.
    Lo que se busca con este ejercicio es fomentar la investigación. La función que devuelve la lista de jugadores conectados es sys.playerIds().

    Sus diagramas de flujo se presentan a continuación:


    Diagramas de Flujo:
    En proceso...

    Su código sería el siguiente:

    Código:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {

    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando.toLowerCase() == "kickip") {
    if (Msj_Msj == undefined) {
    sys.sendHtmlMessage(ID, "Indique el usuario.",Canal);
    return; }

    if (sys.id(Msj_Msj) == undefined)  {
    sys.sendHtmlMessage(ID, "El usuario debe estar presente.",Canal);
    return; }
    var z1 = sys.ip(ID); var z2 = sys.playerIds();
    for (var w=0; w<z2.length ; w++) {
    if (z1 == sys.ip(z2[w])) {
    sys.kick(z2[w]);
    }
    }

    sys.sendHtmlMessage(ID, "Usuario pateado!",Canal);
    return; }
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

    h) Crear un comando que permita borrar su clave.

    Sus diagramas de flujo se presentan a continuación:

    Diagramas de Flujo:
    En proceso...

    Su código sería el siguiente:

    Código:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {

    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando.toLowerCase() == "qpass") {
    sys.clearPass(sys.name(ID));
    sys.sendHtmlMessage(ID, "Ha borrado su clave con éxito!",Canal);
    return; }
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

    i) Crear un comando que permita obtener el codigo html de la Trainer Info de cualquier usuario conectado.

    Sus diagramas de flujo se presentan a continuación:

    Diagramas de Flujo:
    En proceso...

    Su código sería el siguiente:

    Código:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {

    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando.toLowerCase() == "info") {
    if (Msj_Msj == undefined) {
    sys.sendHtmlMessage(ID, "Indique el usuario.",Canal);
    return; }

    if (sys.id(Msj_Msj) == undefined)  {
    sys.sendHtmlMessage(ID, "El usuario debe estar presente.",Canal);
    return; }

    sys.sendMessage(ID, "Aquí el codigo HTML de la Trainer Info: "+sys.info(sys.id(Msj_Msj)),Canal);
    return; }
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

      Fecha y hora actual: Sáb Sep 23, 2017 4:18 am