SA-MP Forums Archive
[Duda] Forzar comando a otro player. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Duda] Forzar comando a otro player. (/showthread.php?tid=476538)



[Duda] Forzar comando a otro player. - Tirael - 18.11.2013

Bueno estaba intentando hacer un comando por zcmd para forzar a otro jugador a usar el comando que yo indique de la siguiente manera

pawn Код:
/Forzarcmd [ID] [Comando]
Lo hice en strcmp tal que asн y funciona correctamente:

pawn Код:
if(strcmp(cmd, "/Forzarcmd", true) == 0)
{
    tmp = strtokex(cmdtext, idx);
    if(!strlen(tmp))    return  SendClientMessage(playerid, Blanco, "USO: /Forzarcmd [IdJugador/ParteDelNombre] [Comando]");
    new player1;
    if(!IsNumeric(tmp))
    player1 = ReturnUser(tmp,playerid);
    else player1 = strval(tmp);
    if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID)
    {
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' '))
        {
            idx++;
        }
        new offset = idx;
        new result[128];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
        {
            result[idx - offset] = cmdtext[idx];
            idx++;
        }
        result[idx - offset] = EOS;
        if(!strlen(result)) { SendClientMessage(playerid, Blanco, "USO: /Forzarcmd [IdJugador/ParteDelNombre] [Command]"); return 1; }
        OnPlayerCommandText(player1, result);
    }
    return 1;
}
Luego lo quise pasar a zcmd de tal manera:

pawn Код:
CMD:forzarc(playerid, params[])
{
    new string[128];
    if(sscanf(params, "us[128]", params[0], params[1]))     return  SendClientMessage(playerid, -1, "Utilize: /forzarz [ID/Nombre] [CMD]");
    if(params[0] == INVALID_PLAYER_ID)                      return  SendClientMessage(playerid, -1, "Jugador no conectado.");
    format(string, sizeof(string), "[Info:] Forzaste a %s a usar el cmd %s", NombreEx(params[0]), params[1]);
    SendClientMessage(playerid,-1,string);
    OnPlayerCommandReceived(params[0], params[1]);
    return 1;
}
Pero no funciona. їAlguna idea ?.


Respuesta: [Duda] Forzar comando a otro player. - JustBored - 18.11.2013

Usalo asн

pawn Код:
new a[128];
format(a, sizeof(a), "cmd_%s", a);
CallLocalFunction(a, "i", params[0]);



Respuesta: [Duda] Forzar comando a otro player. - OTACON - 18.11.2013

pawn Код:
//si el comando esta en el mismo lugar, ejemplo: forzarcmd en GM y comando a llamar en GM
COMMAND:forzarcmd(playerid, params[]) {
    new data[100];
    if(sscanf(params, "rs[20]", params[0], params[1])) return SendClientMessage(playerid, -1, " Escribe: /forzarcmd [id] [comando] ");
    format(data, sizeof(data), "/%s", params[1]);
    CallLocalFunction("OnPlayerCommandText", "is", params[0], data);
    return true;
}
//si el comando esta en distinto lugar ejemplo: forzarcmd en GM y comando a llamar en FS
COMMAND:forzarcmd(playerid, params[]) {
    new data[100];
    if(sscanf(params, "rs[20]", params[0], params[1])) return SendClientMessage(playerid, -1, " Escribe: /forzarcmd [id] [comando] ");
    format(data, sizeof(data), "/%s", params[1]);
    CallRemoteFunction("OnPlayerCommandText", "is", params[0], data);
    return true;
}
https://sampwiki.blast.hk/wiki/CallLocalFunction
https://sampwiki.blast.hk/wiki/CallRemoteFunction


Respuesta: [Duda] Forzar comando a otro player. - Tirael - 18.11.2013

Sigue sin funcionar ....

pawn Код:
CallLocalFunction("OnPlayerCommandText", "is", params[0], data);
їSeria OnPlayerCommandText o OnPlayerCommandReceived ?


Respuesta: [Duda] Forzar comando a otro player. - OTACON - 18.11.2013

Quote:
Originally Posted by Tirael
Посмотреть сообщение
Sigue sin funcionar ....

pawn Код:
CallLocalFunction("OnPlayerCommandText", "is", params[0], data);
їSeria OnPlayerCommandText o OnPlayerCommandReceived ?
no, OnPlayerCommandText.
ami me funciona perfecto los comandos con zcmd y con strcmp :S.


Respuesta: [Duda] Forzar comando a otro player. - Tirael - 18.11.2013



Duda solucionada.


Respuesta: [Duda] Forzar comando a otro player. - JustBored - 18.11.2013

їCuбl era la soluciуn?


Respuesta: [Duda] Forzar comando a otro player. - OTACON - 18.11.2013

¬¬ se fue sin decirnos la solucion -_-...


Respuesta: [Duda] Forzar comando a otro player. - Tirael - 19.11.2013

Quote:
Originally Posted by OTACON
Посмотреть сообщение
pawn Код:
//si el comando esta en el mismo lugar, ejemplo: forzarcmd en GM y comando a llamar en GM
COMMAND:forzarcmd(playerid, params[]) {
    new data[100];
    if(sscanf(params, "rs[20]", params[0], params[1])) return SendClientMessage(playerid, -1, " Escribe: /forzarcmd [id] [comando] ");
    format(data, sizeof(data), "/%s", params[1]);
    CallLocalFunction("OnPlayerCommandText", "is", params[0], data);
    return true;
}
//si el comando esta en distinto lugar ejemplo: forzarcmd en GM y comando a llamar en FS
COMMAND:forzarcmd(playerid, params[]) {
    new data[100];
    if(sscanf(params, "rs[20]", params[0], params[1])) return SendClientMessage(playerid, -1, " Escribe: /forzarcmd [id] [comando] ");
    format(data, sizeof(data), "/%s", params[1]);
    CallRemoteFunction("OnPlayerCommandText", "is", params[0], data);
    return true;
}
https://sampwiki.blast.hk/wiki/CallLocalFunction
https://sampwiki.blast.hk/wiki/CallRemoteFunction
He ahн la soluciуn.