[DUDA] Como paso esto a ZCMD?
#1

Hola como puedo pasar este sistema matemбtico a ZCMD?

Y como hago que de menos puntajes a los jugadores.

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256], idx;
    cmd = strtok(cmdtext, idx);

    if (strcmp("/respuesta", cmd, true) == 0)
    {
        new tmp[256], cmdid, string[256], pname[MAX_PLAYER_NAME];
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_OLIVE, "USO: /Respuesta [Tu respuesta]");
        cmdid = strval(tmp);

        if(cmdid < answer || cmdid > answer)
        {
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "Respuesta INCORRECTA!");
        }

        if(cmdid == answer && answered == 0)
        {
            GetPlayerName(playerid, pname, sizeof(pname));

            format(string, sizeof(string), "%s ha ganado %d punto(s) por responder la correctamente. [ '%d'! ]", pname, score, cmdid);
            SendClientMessageToAll(COLOR_LIME, string);
            GivePlayerMoney(playerid, 10000);

            answered = 1;
            SetPlayerScore(playerid, GetPlayerScore(playerid) + score);
            score = 0;
            return 1;
        }
        else if(cmdid == answer && answered == 1)
        {
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "ERROR: Muy tarde!");
        }
        return 1;
    }
    if (strcmp("/pararmate", cmd, true) == 0)
    {
        if(IsPlayerAdmin(playerid) == 0) return SendClientMessage(playerid, COLOR_RED, "ERROR: Este comando no existe!");

        KillTimer(timer);
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "Preguntas paradas.");
        return 1;
    }
    return 0;
}

public Maths()
{
    new string[256], addsubtext1[10], addsubtext2[10];

    new temp1;

    new number1 = random(100);
    new number2 = random(100);
    new number3 = random(100);
    new addsubnumb1 = random(2);
    new addsubnumb2 = random(2);

    if(addsubnumb1 == 0)
    {
        score = score + 10;

        format(addsubtext1, sizeof(addsubtext1), "-");
        temp1 = number1 - number2;
    }
    else if(addsubnumb1 == 1)
    {
        score = score + 5;

        format(addsubtext1, sizeof(addsubtext1), "+");
        temp1 = number1 + number2;
    }

    if(addsubnumb2 == 0)
    {
        score = score + 10;

        format(addsubtext2, sizeof(addsubtext2), "-");
        answer = temp1 - number3;
    }
    else if(addsubnumb2 == 1)
    {
        score = score + 5;

        format(addsubtext2, sizeof(addsubtext2), "+");
        answer = temp1 + number3;
    }

    format(string, sizeof(string), "{330099}MATEMБTICAS: {FFFFFF}%d%s%d%s%d {330099}| {3366FF}/Respuesta para responder la pregunta! {99FF00}Se apuesta(n) %d punto(s)!", number1, addsubtext1, number2, addsubtext2, number3, score);
    SendClientMessageToAll(0x0000BBAA, string);

    answered = 0;
    return 1;
}
PD: Me pueden explicar un poquillo acб, por que no lo entedн bien, por eso no lo puedo pasar a ZCMD..

Gracias.
Reply
#2

Te dejo un comando intetб convertir el otro vos.
pawn Код:
//if (strcmp("/respuesta", cmd, true) == 0)
CMD:respuesta(playerid,params[])
{
    new idx = 0;
    #define cmdtext params
//------------------------------------------------------------------------------
    new tmp[256], cmdid, string[256], pname[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_OLIVE, "USO: /Respuesta [Tu respuesta]");
    cmdid = strval(tmp);

    if(cmdid < answer || cmdid > answer)
    {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "Respuesta INCORRECTA!");
    }

    if(cmdid == answer && answered == 0)
    {
        GetPlayerName(playerid, pname, sizeof(pname));

        format(string, sizeof(string), "%s ha ganado %d punto(s) por responder la correctamente. [ '%d'! ]", pname, score, cmdid);
        SendClientMessageToAll(COLOR_LIME, string);
        GivePlayerMoney(playerid, 10000);

        answered = 1;
        SetPlayerScore(playerid, GetPlayerScore(playerid) + score);
        score = 0;
        return 1;
    }
    else if(cmdid == answer && answered == 1)
    {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "ERROR: Muy tarde!");
    }
    //--------------------------------------------------------------------------
    #undef cmdtext
    //--------------------------------------------------------------------------
    return 1;
}
Reply
#3

Gracias, el otro ya lo convertн, este tema esta solucionado.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)