De STRCMP a ZCMD.
#1

їSerнa posible pasar йsto a ZCMD?

pawn Код:
if(strcmp(cmd, "/tpc", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        new tmp1[128],tmp2[128],tmp3[128];
        tmp1 = strtok(cmdtext, idx);
        tmp2 = strtok(cmdtext, idx);
        tmp3 = strtok(cmdtext, idx);
        if(!strlen(tmp1) || !strlen(tmp2) || !strlen(tmp3)) return SendClientMessage(playerid, -1, "Usa: /tpc <X> <Y> <Z>");

        SetPlayerPos(playerid, floatstr(tmp1), floatstr(tmp2), floatstr(tmp3));
        SendClientMessage(playerid, -1, "Teletransportado.");
    }
    return 1;
}
Ese gamemode no tiene sscanf, pero el mнo de ZC sн, por lo tanto, lo necesito en zcmd sin sscanf, o con zcmd y sscanf, me da igual.
Reply
#2

Claro que se puede, venga tu puedes.
Reply
#3

Te doy una ayuda asн aprendes y no copias y pegas.

tmp1 = params[0]
tmp2 = params[1]
tmp3 = params[2]

por lуgica tu lo sacas.
Reply
#4

Quote:
Originally Posted by GROVE22
Посмотреть сообщение
Te doy una ayuda asн aprendes y no copias y pegas.

tmp1 = params[0]
tmp2 = params[1]
tmp3 = params[2]

por lуgica tu lo sacas.
eso no va a funcionar seria algo asн.

pawn Код:
tmp1 = strtok(params,idx);
tmp2 = strtok(params,idx);
tmp3 = strtok(params,idx);
Reply
#5

pawn Код:
CMD:tpc(playerid, params[])
{
    new Float:fX, Float:fY, Float:fZ;
    if(sscanf(params, "fff", fX, fY, fZ)) return SendClientMessage(playerid, -1, "Usa: /tpc <X> <Y> <Z>"), 1;
    SetPlayerPos(playerid, fX, fY, fZ);
    return SendClientMessage(playerid, -1, "Teletransportado."), 1;
}
Reply
#6

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
eso no va a funcionar seria algo asн.

pawn Код:
tmp1 = strtok(params,idx);
tmp2 = strtok(params,idx);
tmp3 = strtok(params,idx);
Lo saque de comandos zcmd O.o que rraro, entonces para que sirve params[0], [1] y [2]
Reply
#7

Quote:
Originally Posted by GROVE22
Посмотреть сообщение
Lo saque de comandos zcmd O.o que rraro, entonces para que sirve params[0], [1] y [2]
Son las celdas del "array params" cada una deberia de tener un caracter del parametro ingresado
por ejemplo si pongo /kick daniel el array params contrendria una cadena de texto y quedaria asн.
params[0] = 'd'
params[1] = 'a'
params[2] = 'n'
params[3] = 'i'
params[4] = 'e'
params[5] = 'l'
params[6] = '\0' = caracter nulo

si bien algunos aprovechan esos slots para almacenar nuevos datos, por ejemplo
params[0] = strval(params);
Reply
#8

Quote:
Originally Posted by Daniel-92
Посмотреть сообщение
Son las celdas del "array params" cada una deberia de tener un caracter del parametro ingresado
por ejemplo si pongo /kick daniel el array params contrendria una cadena de texto y quedaria asн.
params[0] = 'd'
params[1] = 'a'
params[2] = 'n'
params[3] = 'i'
params[4] = 'e'
params[5] = 'l'
params[6] = '\0' = caracter nulo

si bien algunos aprovechan esos slots para almacenar nuevos datos, por ejemplo
params[0] = strval(params);
Ahh, entiendo gracias por la quitarme la duda.
Reply
#9

Quote:
Originally Posted by junkbuster
Посмотреть сообщение
Claro que se puede, venga tu puedes.
¬¬ Que buena ayuda LOL xD
Reply
#10

Quote:
Originally Posted by CaptainMactavish
Посмотреть сообщение
pawn Код:
CMD:tpc(playerid, params[])
{
    new Float:fX, Float:fY, Float:fZ;
    if(sscanf(params, "fff", fX, fY, fZ)) return SendClientMessage(playerid, -1, "Usa: /tpc <X> <Y> <Z>"), 1;
    SetPlayerPos(playerid, fX, fY, fZ);
    return SendClientMessage(playerid, -1, "Teletransportado."), 1;
}
Es raro, en el otro gm al usar el de strcmp me transportaba bien, en йste como tъ me lo pasaste, al transportarme aparezco con un interior seteado, sin poder ver nada, por mбs que use el comando fuera o dentro de un interior.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)