No reconoce ningъn Comando
#1

Hola amigos, estaba empezando un GM de 0, bueno he decido yo mismo liarme los comandos que requieren strtok.

Y bueno ahora que agregue 1 comando en el GM no reconoce ningun, me tira : "Server Unknow command"

Dejo el codigo:
[spoiler]
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
//Comandos de Admin
new cmd[128];
new nombre[MAX_PLAYER_NAME];
new string[128]; // Array
new tmp[128], tmp2[128], idx;
cmd = strtok(cmdtext,idx);

//Spawnear un Infernus
if (strcmp("/admincar", cmdtext, true, 10) == 0)
{
if(Informacion[playerid][Administrador] <= 1)
{
new Float:x, Float:y, Float:z, Float:angle;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angle);
new vehicleid = CreateVehicle(411, x, y, z+2, angle, -1, -1, -1);

PutPlayerInVehicle(playerid, vehicleid, 0);
SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
return 1;
}
}

//Banear a un jugador
if(strcmp(cmd,"/banear", true) == 0)
{
if(Informacion[playerid][Administrador] <= 2)
{
tmp = strtok(cmdtext,idx);
tmp2 = strtok(cmdtext,idx);
new razon = strval(tmp2);
new player = strval(tmp);
if(!strlen(tmp)) return SendClientMessage(playerid, 1, "Use /banear [id] + [razуn]");
if(!strlen(tmp2)) return SendClientMessage(playerid, 1, "Use /banear [id] + [razуn]");
if(!IsPlayerConnected(player)) return SendClientMessage(playerid, -1, "Jugador desconectado");
GetPlayerName(player, nombre, sizeof(nombre));
format(string, sizeof(string), "El jugador %s fue baneado del servidor (%s)", nombre, razon);
SendClientMessageToAll(1, string);
Ban(player);
return 1;
}

}
return 0;
}
[/spoiler]

Creo que tiene algo que ver el new cmd[128] que puse arriba. Si me pueden ayudar estaria agradecido. Gracias
PD: No me lanza ningun error, es solo que no los reconoce.
Reply
#2

Si los jugadores que usan los cmd's no son admins ninguno funcionarб ya que el return 1 esta dentro de la condiciуn del nivel del jugador.

Te doy una sugerencia, cuando scriptees usa tabuladores en tus cуdigos para que estйn mejor ordenados

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    //Comandos de Admin
    new cmd[128];
    new nombre[MAX_PLAYER_NAME];
    new string[128]; // Array
    new tmp[128], tmp2[128], idx;
    cmd = strtok(cmdtext,idx);

    //Spawnear un Infernus
    if (strcmp("/admincar", cmdtext, true, 10) == 0)
    {
        if(Informacion[playerid][Administrador] <= 1)
        {
            new Float:x, Float:y, Float:z, Float:angle;
            GetPlayerPos(playerid, x, y, z);
            GetPlayerFacingAngle(playerid, angle);
            new vehicleid = CreateVehicle(411, x, y, z+2, angle, -1, -1, -1);

            PutPlayerInVehicle(playerid, vehicleid, 0);
            SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
            LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
        }
        return 1;
    }

    //Banear a un jugador
    if(strcmp(cmd,"/banear", true) == 0)
    {
        if(Informacion[playerid][Administrador] <= 2)
        {
            tmp = strtok(cmdtext,idx);
            tmp2 = strtok(cmdtext,idx);
            new razon = strval(tmp2);
            new player = strval(tmp);
            if(!strlen(tmp)) return SendClientMessage(playerid, 1, "Use /banear [id] + [razуn]");
            if(!strlen(tmp2)) return SendClientMessage(playerid, 1, "Use /banear [id] + [razуn]");
            if(!IsPlayerConnected(player)) return SendClientMessage(playerid, -1, "Jugador desconectado");
            GetPlayerName(player, nombre, sizeof(nombre));
            format(string, sizeof(string), "El jugador %s fue baneado del servidor (%s)", nombre, razon);
            SendClientMessageToAll(1, string);
            Ban(player);
        }
        return 1;
    }
    return 0;
}
Reply
#3

Gracias, lo probarй y veo que tal.

EDIT: Funciona correctamente, gracias amigo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)