SA-MP Forums Archive
SERVER: UNKNOWN COMMAND - 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: SERVER: UNKNOWN COMMAND (/showthread.php?tid=364752)



SERVER: UNKNOWN COMMAND - Glimma - 31.07.2012

їPor quй al colocar /pmarihuana me aparece SERVER: UNKNOWN COMMAND?

pawn Код:
if(strcmp(cmdtext, "/pmarihuana", true) == 0)
    {
        if(PlantaObjeto[playerid][Plant] != 0) return SendClientMessage(playerid, ROJO_OSCURO, " No puede plantar mas plantas por ahora!");
        if(JugadorInfo[playerid][jSemillasMarihuana] <= 0) return SendClientMessage(playerid, ROJO_OSCURO, " Nesesitas Semillas!");
        if(!IsPlayerInAgujero(playerid)) return SendClientMessage(playerid, ROJO_OSCURO, " Nesesita hacer un agujero!");
        if(IsPlayerInPlanta(playerid))
        {
            SendClientMessage(playerid, ROJO_OSCURO, "* Aquн hay una planta.");
        }
        else
        {
            SendClientMessage(playerid, VERDE, "* Plantaste una planta de marihuana.");
            format(string, sizeof(string), "* %s se agacha y planta unas semillas de marihuana en la tierra.", NombreJugador(playerid));
            MandarMensajeCercano(30.0, playerid, string, ROSA,ROSA,ROSA,ROSA,ROSA);
            PlantaObjetoDroga(playerid);
        }
        return 1;
    }
El comando sirve para plantar marihuana, las otras definiciones estбn bien, como la del agujero, la planta, entre otras, quizб alguna falle, no lo sй, pero йsto es raro.


Respuesta: SERVER: UNKNOWN COMMAND - TiNcH010 - 31.07.2012

Pasa tu OnPlayerCommandText.


Respuesta: SERVER: UNKNOWN COMMAND - Glimma - 31.07.2012

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    new idcoche = GetPlayerVehicleID(playerid);
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    new playername[MAX_PLAYER_NAME];
    new cmd[256];
    new tmp[256];
    new giveplayerid, moneys, idx;
    new animationplayed;
    new string[256];
    cmd = strtok(cmdtext, idx);
    new playermoney;
    new nick[24];
    GetPlayerName(playerid,nick,24);
PD: Justo cuando pongo ese nomбs pasa eso, si pongo algъn comando inventado como /gfdgdfdg, aparece Introduciste un comando inexistente, escribe /ayuda.


Respuesta: SERVER: UNKNOWN COMMAND - Glimma - 31.07.2012

Por si hace falta, pongo variables y demбs:

pawn Код:
forward PlantaObjetoDroga(playerid);
forward Creser(playerid);
forward Descosechar(playerid);
forward CrearAgujero(playerid);
pawn Код:
public PlantaObjetoDroga(playerid)
{
    ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 1, 1, 0,0);
    SetTimerEx("PonerPlantaDroga",1500,0,"d",playerid);
    return 1;
}

forward PonerPlantaDroga(playerid);
public PonerPlantaDroga(playerid)
{
    new mensaje[150];
    GetPlayerPos(playerid, PlantaObjeto[playerid][PosX], PlantaObjeto[playerid][PosY], PlantaObjeto[playerid][PosZ]);
    PlantaObjeto[playerid][Plant] = CreateDynamicObject(DROGA_OBJETO, PlantaObjeto[playerid][PosX], PlantaObjeto[playerid][PosY], PlantaObjeto[playerid][PosZ]-1.8, 0, 0, 0);
    format(mensaje, sizeof(mensaje), "[Plantaciуn: En proceso]");
    PlantaObjeto[playerid][Progreso] = CreateDynamic3DTextLabel(mensaje, VERDE, PlantaObjeto[playerid][PosX], PlantaObjeto[playerid][PosY], PlantaObjeto[playerid][PosZ], 5, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0);
    Agujero[playerid][AgujeroX] = 0;
    Agujero[playerid][AgujeroY] = 0;
    Agujero[playerid][AgujeroZ] = 0;
    JugadorInfo[playerid][jSemillasMarihuana]--;
    SetTimerEx("Creser",900000,0,"d",playerid);
    return 1;
}

forward PonerCosecho(playerid, cosecho);
public PonerCosecho(playerid, cosecho)
{
    new mensaje[150];
    GetPlayerPos(playerid, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ]);
    if(CosechoObjeto[cosecho][Tipo] == 1) { CosechoObjeto[cosecho][Objeto] = CreateDynamicObject(14469, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ]-1.8, 0, 0, 0); }
    else if(CosechoObjeto[cosecho][Tipo] == 2) { CosechoObjeto[cosecho][Objeto] = CreateDynamicObject(638, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ]-1.8, 0, 0, 0); }
    else if(CosechoObjeto[cosecho][Tipo] == 3) { CosechoObjeto[cosecho][Objeto] = CreateDynamicObject(2253, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ]-1.8, 0, 0, 0); }
    else if(CosechoObjeto[cosecho][Tipo] == 4) { CosechoObjeto[cosecho][Objeto] = CreateDynamicObject(859, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ]-1.8, 0, 0, 0); }
    else if(CosechoObjeto[cosecho][Tipo] == 5) { CosechoObjeto[cosecho][Objeto] = CreateDynamicObject(3409, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ]-1.8, 0, 0, 0); }
    else if(CosechoObjeto[cosecho][Tipo] == 6) { CosechoObjeto[cosecho][Objeto] = CreateDynamicObject(2241, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ]-1.8, 0, 0, 0); }
    else if(CosechoObjeto[cosecho][Tipo] == 7) { CosechoObjeto[cosecho][Objeto] = CreateDynamicObject(949, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ]-1.8, 0, 0, 0); }
    else if(CosechoObjeto[cosecho][Tipo] == 8) { CosechoObjeto[cosecho][Objeto] = CreateDynamicObject(19473, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ]-1.8, 0, 0, 0); }
    format(mensaje, sizeof(mensaje), "[Cosecho: En proceso]");
    CosechoObjeto[cosecho][CProgreso] = CreateDynamic3DTextLabel(mensaje, VERDE, CosechoObjeto[cosecho][CPosX], CosechoObjeto[cosecho][CPosY], CosechoObjeto[cosecho][CPosZ], 5, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0);
    Agujero[playerid][AgujeroX] = 0;
    Agujero[playerid][AgujeroY] = 0;
    Agujero[playerid][AgujeroZ] = 0;
    if(CosechoObjeto[cosecho][Tipo] == 1) { JugadorInfo[playerid][jSemillasCerezas]--; }
    else if(CosechoObjeto[cosecho][Tipo] == 2) { JugadorInfo[playerid][jSemillasZanahorias]--; }
    else if(CosechoObjeto[cosecho][Tipo] == 3) { JugadorInfo[playerid][jSemillasFresas]--; }
    else if(CosechoObjeto[cosecho][Tipo] == 4) { JugadorInfo[playerid][jSemillasCebollas]--; }
    else if(CosechoObjeto[cosecho][Tipo] == 5) { JugadorInfo[playerid][jSemillasPerejil]--; }
    else if(CosechoObjeto[cosecho][Tipo] == 6) { JugadorInfo[playerid][jSemillasCiruelas]--; }
    else if(CosechoObjeto[cosecho][Tipo] == 7) { JugadorInfo[playerid][jSemillasLimones]--; }
    else if(CosechoObjeto[cosecho][Tipo] == 8) { JugadorInfo[playerid][jSemillasMarihuana]--; }
    CosechoObjeto[cosecho][NecesitaRiego] = 1;
    SetTimerEx("NecesitaRiego2",300000,0,"d",playerid);
    return 1;
}

public Creser(playerid)
{
    new mensaje[100];
    format(mensaje, sizeof(mensaje), "[Plantaciуn: Terminada]");
    UpdateDynamic3DTextLabelText(PlantaObjeto[playerid][Progreso], VERDE, mensaje);
    PlantaObjeto[playerid][Size] = 1;
    return 1;
}

forward Regando(playerid, cosecho);
public Regando(playerid, cosecho)
{
    new mensaje[256];
    CosechoObjeto[cosecho][Riegos]++;
    format(mensaje, sizeof(mensaje), "[Cosecho: En proceso]");
    UpdateDynamic3DTextLabelText(CosechoObjeto[cosecho][CProgreso], VERDE, mensaje);
    SetTimerEx("NecesitaRiego2", 600000, 1, "d", cosecho);
    SendClientMessage(playerid, VERDE, "Has acabado de regar");
    TogglePlayerControllable(playerid, true);
    return 1;
}

forward RecogiendoCosecho(playerid, cosecho);
public RecogiendoCosecho(playerid, cosecho)
{
    new mensaje[256];
    new conseguido[256];
    if(CosechoObjeto[cosecho][Tipo] == 1) { JugadorInfo[playerid][jSemillasCerezas] += 25; conseguido = "cerezas"; }
    else if(CosechoObjeto[cosecho][Tipo] == 2) { JugadorInfo[playerid][jSemillasZanahorias] += 25; conseguido = "zanahorias"; }
    else if(CosechoObjeto[cosecho][Tipo] == 3) { JugadorInfo[playerid][jSemillasFresas] += 25; conseguido = "fresas"; }
    else if(CosechoObjeto[cosecho][Tipo] == 4) { JugadorInfo[playerid][jSemillasCebollas] += 25; conseguido = "cebollas"; }
    else if(CosechoObjeto[cosecho][Tipo] == 5) { JugadorInfo[playerid][jSemillasPerejil] += 25; conseguido = "perejil"; }
    else if(CosechoObjeto[cosecho][Tipo] == 6) { JugadorInfo[playerid][jSemillasCiruelas] += 25; conseguido = "ciruelas"; }
    else if(CosechoObjeto[cosecho][Tipo] == 7) { JugadorInfo[playerid][jSemillasLimones] += 25; conseguido = "limones"; }
    else if(CosechoObjeto[cosecho][Tipo] == 7) { JugadorInfo[playerid][jSemillasMarihuana] += 25; conseguido = "marihuana"; }
    format(mensaje, sizeof(mensaje), "Has recogido la planta, y has conseguido: 25 %s", conseguido);
    DestroyDynamicObject(CosechoObjeto[cosecho][Objeto]);
    DestroyDynamic3DTextLabel(CosechoObjeto[cosecho][CProgreso]);
    SendClientMessage(playerid, VERDE, mensaje);
    TogglePlayerControllable(playerid, true);
    CosechoObjeto[cosecho][Tipo] = 0;
    CosechoObjeto[cosecho][CPosX] = 0;
    CosechoObjeto[cosecho][CPosY] = 0;
    CosechoObjeto[cosecho][CPosZ] = 0;
    CosechoObjeto[cosecho][Crecida] = 0;
    CosechoObjeto[cosecho][Riegos] = 0;
    CosechoObjeto[cosecho][NecesitaRiego] = 0;
    return 1;
}

forward NecesitaRiego2(cosecho);
public NecesitaRiego2(cosecho)
{
    new mensaje[256];
    if(CosechoObjeto[cosecho][NecesitaRiego] == 1)
    {
    format(mensaje, sizeof(mensaje), "[Cosecho: Terminada (Se ha secado)]");
    UpdateDynamic3DTextLabelText(CosechoObjeto[cosecho][CProgreso], VERDE, mensaje);
    CosechoObjeto[cosecho][Crecida] = 5;
    }
    return 1;
}

public Descosechar(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid, 2.0, PlantaObjeto[playerid][PosX], PlantaObjeto[playerid][PosY], PlantaObjeto[playerid][PosZ]))
    {
        DestroyDynamicObject(PlantaObjeto[playerid][Plant]);
        DestroyDynamic3DTextLabel(PlantaObjeto[playerid][Progreso]);
        PlantaObjeto[playerid][Plant] = 0;
        PlantaObjeto[playerid][PosX] = 0;
        PlantaObjeto[playerid][PosY] = 0;
        PlantaObjeto[playerid][PosZ] = 0;
        JugadorInfo[playerid][jMarihuana] += 20;
    }
}

public CrearAgujero(playerid)
{
    GetPlayerPos(playerid, Agujero[playerid][AgujeroX], Agujero[playerid][AgujeroY], Agujero[playerid][AgujeroZ]);
}

stock IsPlayerInPlanta(playerid)
{
    for(new i; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.0, PlantaObjeto[i][PosX], PlantaObjeto[i][PosY], PlantaObjeto[i][PosZ])) return 1;
    }
    return 0;
}

stock EstaEnCosecho(playerid)
{
    for(new i; i < MAX_COSECHOS; i++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.0, CosechoObjeto[i][CPosX], CosechoObjeto[i][CPosY], CosechoObjeto[i][CPosZ])) return 1;
    }
    return 0;
}

stock IsPlayerInAgujero(playerid)
{
    for(new i; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2.0, Agujero[i][AgujeroX], Agujero[i][AgujeroY], Agujero[i][AgujeroZ]))return 1;
    }
    return 0;
}
pawn Код:
enum PlantaObjetoInfo {
    Plant,
    Float:PosX,
    Float:PosY,
    Float:PosZ,
    Text3D:Progreso,
    Size
};
new PlantaObjeto[MAX_PLAYERS][PlantaObjetoInfo];

enum CosechoInfo {
    Tipo,
    Float:CPosX,
    Float:CPosY,
    Float:CPosZ,
    Text3D:CProgreso,
    Crecida,
    Riegos,
    Objeto,
    NecesitaRiego
};
new CosechoObjeto[MAX_PLAYERS][CosechoInfo];

enum DatosAgujero {
    Float:AgujeroX,
    Float:AgujeroY,
    Float:AgujeroZ
};
new Agujero[MAX_COSECHOS][DatosAgujero];
pawn Код:
if(strcmp(cmdtext, "/pmarihuana", true) == 0)
    {
        if(PlantaObjeto[playerid][Plant] != 0) return SendClientMessage(playerid, ROJO_OSCURO, " No puede plantar mas plantas por ahora!");
        if(JugadorInfo[playerid][jSemillasMarihuana] <= 0) return SendClientMessage(playerid, ROJO_OSCURO, " No tienes semillas, cуmpralas en el mercado negro!");
        if(!IsPlayerInAgujero(playerid)) return SendClientMessage(playerid, ROJO_OSCURO, " Necesita hacer un /agujero!");
        if(IsPlayerInPlanta(playerid))
        {
            SendClientMessage(playerid, ROJO_OSCURO, "* Aquн hay una planta.");
        }
        else
        {
            SendClientMessage(playerid, VERDE, "* Plantaste una planta de marihuana.");
            format(string, sizeof(string), "* %s se agacha y planta unas semillas de marihuana en la tierra.", NombreJugador(playerid));
            MandarMensajeCercano(30.0, playerid, string, ROSA,ROSA,ROSA,ROSA,ROSA);
            PlantaObjetoDroga(playerid);
        }
        return 1;
    }

    if(strcmp(cmdtext, "/agujero", true) == 0)
    {
        if(GetPlayerWeapon(playerid) != 6) return SendClientMessage(playerid, ROJO_OSCURO, "* No tiene una pala.");
        else if(IsPlayerInAgujero(playerid)) return SendClientMessage(playerid, ROJO_OSCURO, "* Aquн ya hay un agujero.");
        else if(IsPlayerInPlanta(playerid)) return SendClientMessage(playerid, ROJO_OSCURO, "* Aquн ya hay una planta.");
        else
        {
            CrearAgujero(playerid);
            format(string, sizeof(string), "* %s toma firmemente la pala, acto seguido apoya la misma en la tierra y comienza a cavar un agujero.", NombreJugador(playerid));
            MandarMensajeCercano(30.0, playerid, string, ROSA,ROSA,ROSA,ROSA,ROSA);
            SendClientMessage(playerid, VERDE, "* Terminaste de cavar el agujero.");
            return 1;
        }
        return 1;
    }

    if(strcmp(cmdtext, "/rmarihuana", true) == 0)
    {
        if(!IsPlayerInPlanta(playerid)) return SendClientMessage(playerid, ROJO_OSCURO, "* Aquн no hay ninguna planta.");
        if(PlantaObjeto[playerid][Size] == 1)
        {
            Descosechar(playerid);
            ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
            format(string, sizeof(string), "* %s arranca la planta de marihuana con una tijera, y guarda las hojas en una bolsa.", NombreJugador(playerid));
            MandarMensajeCercano(30.0, playerid, string, ROSA,ROSA,ROSA,ROSA,ROSA);
            return 1;
        }
        else
        {
            SendClientMessage(playerid, ROJO_OSCURO, "* La planta aъn no creciу.");
            return 1;
        }

    }
PD: Si pongo por ejemplo, los otros dos comandos, no aparece server: unknown command, si no que funciona correctamente, pero claro, para que me sirven si no puedo plantar..

Las semillas se venden en el mercado negro, hice йsto:

pawn Код:
else if(strcmp(x_nr,"marihuana",true) == 0)
                        {
                            if(JugadorInfo[playerid][jDinero] >= 200)
                            {
                                JugadorInfo[playerid][jDinero] -= 200;
                                JugadorInfo[playerid][jSemillasMarihuana] += 1;
                                SendClientMessage(playerid, BLANCO, " Semilla de marihuana comprada ((/ayuda plantar))!");
                            }
                            else
                            {
                                SendClientMessage(playerid, ROJO_OSCURO, " No tienes el dinero!");
                                return 1;
                            }
                        }



Respuesta: SERVER: UNKNOWN COMMAND - Fluid016 - 31.07.2012

Retorna 1 en el callback OnPlayerCommandText


Respuesta: SERVER: UNKNOWN COMMAND - TiNcH010 - 01.08.2012

Quote:
Originally Posted by GROVE22
Посмотреть сообщение
Retorna 1 en el callback OnPlayerCommandText
LOL no, el callback de OnPlayerCommandText debe retornar en 0.


Respuesta: SERVER: UNKNOWN COMMAND - Fluid016 - 01.08.2012

Quote:
Originally Posted by TiNcH010
Посмотреть сообщение
LOL no, el callback de OnPlayerCommandText debe retornar en 0.
Le dije que esta retornando 1 en el callback de onplayercommandtext ¬¬


Respuesta: [DUDA]Como Editar Archivos .AMX - Shiny_David - 01.08.2012

Quote:
Originally Posted by GROVE22
Посмотреть сообщение
Le dije que esta retornando 1 en el callback de onplayercommandtext ¬¬
se debe retornar 0 en el callback de onplayerconnect.. Tal vez estas confundido se debe retornar 1 al terminar el comando..


Re: SERVER: UNKNOWN COMMAND - Daniel-92 - 01.08.2012

Tu problema debe ser causa de un tun Ruime error "Array index out of bounds", posiblemente estй en esta linea
pawn Код:
if(JugadorInfo[playerid][jSemillasMarihuana] <= 0) return SendClientMessage(playerid, ROJO_OSCURO, " Nesesitas Semillas!");
comentб esa linea para ver si esa la que lo causa.


Respuesta: [DUDA]Como Editar Archivos .AMX - Fluid016 - 01.08.2012

Quote:
Originally Posted by Shiny_David
Посмотреть сообщение
se debe retornar 0 en el callback de onplayerconnect.. Tal vez estas confundido se debe retornar 1 al terminar el comando..
Yo le dije que se esta retornando 1 en el callback de onplayercommandtext, osea lo tiene que cambiar al 1 por 0...

PD: onplayerconnect no tiene nada que ver con comandos.