18.11.2013, 20:36
Bueno estaba intentando hacer un comando por zcmd para forzar a otro jugador a usar el comando que yo indique de la siguiente manera
Lo hice en strcmp tal que asн y funciona correctamente:
Luego lo quise pasar a zcmd de tal manera:
Pero no funciona. їAlguna idea ?.
pawn Код:
/Forzarcmd [ID] [Comando]
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;
}
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;
}