[DUDA] Hacer comando
#1

Tengo el siguiente comando:

pawn Код:
zcmd(comprar, playerid, params[])
    {
        if(!strcmp(params, "coche"))
        {
                if(PlayerInfo[playerid][pLevel] < 2) return Message(playerid, COLOR_RED2, "Debes ser como mнnimo nivel 2");
                new newcar = GetPlayerVehicleID(playerid), idcar = GetPlayerVehicleID(playerid);
                if(CarInfo[idcar][cOwned] == 1) return Message(playerid, COLOR_RED2, "El vehнculo no estб en venta.");
                if(PlayerInfo[playerid][pPcarkey] != 9999) return Message(playerid, COLOR_RED2, "Ya posees un vehнculo.");
                if(!IsAnOwnableCar(newcar)) return Message(playerid, COLOR_RED2, "Este vehнculo no estб en venta.");
                if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue]){
                    ShowPlayerDialog(playerid, IMPORTAR_MOTOR, DIALOG_STYLE_LIST, "Elegir prestaciones", "Motor sin plomo 95\t\tCapacidad: 100l (1Ђ/l)\nMotor sin plomo 98\t\tCapacidad: 120l (1Ђ/l)\nMotor Diesel\t\tCapacidad: 160l (2Ђ/l)\nMotor Biodiesel\t\tCapacidad: 230l (3Ђ/l)", "Instalar", "Salir");
                    PlayerInfo[playerid][pPcarkey] = idcar;
                    CarInfo[idcar][cVehTime] = gettime() + 1296000;
                    PlayerInfo[playerid][pTimeCar] = gettime() + 1296000;
                    CarInfo[idcar][cOwned] = 1;
                    CarInfo[idcar][cBattery] = 5000;
                    strmid(CarInfo[PlayerInfo[playerid][pPcarkey]][cOwner], PlayerName(playerid), 0, strlen(PlayerName(playerid)), 32);
                    Bought(playerid, CarInfo[PlayerInfo[playerid][pPcarkey]][cValue]);
                    SetVehicleParamsEx(idcar, 0,0,0,0,0,0,0);
                    gEngine[playerid] = 0;
                    engineOn[idcar] = false;
                    ClearChatbox(playerid, 10);
                    Message(playerid, COLOR_GREEN, "Felicidades! Has adquirido este vehнculo, utiliza (/v [item])");
                    Message(playerid, COLOR_GREEN, "IMPORTANTE: {FFFFFF}Utiliza /timevehinfo para mas informacion sobre tu vehнculo.");
                    strmid(CarInfo[idcar][cPlate], "00000", 0, strlen("00000"), 255);
                    SetVehicleNumberPlate(idcar, CarInfo[idcar][cPlate]);
                    UpdateCars();
                } else Message(playerid, COLOR_RED2, "!No tienes dinero suficiente!");
                {

            if(!strcmp(params, "2"))
            {
                if(PlayerInfo[playerid][pLevel] < 5) return Message(playerid, COLOR_RED2, "Debes ser como mнnimo nivel 5");
//              new newcar = GetPlayerVehicleID(playerid), idcar = GetPlayerVehicleID(playerid);
                if(CarInfo[idcar][cOwned] == 1) return Message(playerid, COLOR_RED2, "El vehнculo no estб en venta.");
                if(PlayerInfo[playerid][pPcarkey2] != 9999) return Message(playerid, COLOR_RED2, "Ya posees un vehнculo.");
                if(!IsAnOwnableCar(newcar)) return Message(playerid, COLOR_RED2, "Este vehнculo no estб en venta.");
                if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue]){
                    ShowPlayerDialog(playerid, IMPORTAR_MOTOR, DIALOG_STYLE_LIST, "Elegir prestaciones", "Motor sin plomo 95\t\tCapacidad: 100l (1Ђ/l)\nMotor sin plomo 98\t\tCapacidad: 120l (1Ђ/l)\nMotor Diesel\t\tCapacidad: 160l (2Ђ/l)\nMotor Biodiesel\t\tCapacidad: 230l (3Ђ/l)", "Instalar", "Salir");
                    PlayerInfo[playerid][pPcarkey2] = idcar;
                    CarInfo[idcar][cVehTime] = gettime() + 1296000;
                    PlayerInfo[playerid][pTimeCar2] = gettime() + 1296000;
                    CarInfo[idcar][cOwned] = 1;
                    CarInfo[idcar][cBattery] = 5000;
                    strmid(CarInfo[PlayerInfo[playerid][pPcarkey2]][cOwner], PlayerName(playerid), 0, strlen(PlayerName(playerid)), 32);
                    Bought(playerid, CarInfo[PlayerInfo[playerid][pPcarkey2]][cValue]);
                    SetVehicleParamsEx(idcar, 0,0,0,0,0,0,0);
                    gEngine[playerid] = 0;
                    engineOn[idcar] = false;
                    ClearChatbox(playerid, 10);
                    Message(playerid, COLOR_GREEN, "Felicidades! Has adquirido este vehнculo, utiliza (/v [item])");
                    Message(playerid, COLOR_GREEN, "IMPORTANTE: {FFFFFF}Utiliza /timevehinfo para mas informacion sobre tu vehнculo.");
                    strmid(CarInfo[idcar][cPlate], "00000", 0, strlen("00000"), 255);
                    SetVehicleNumberPlate(idcar, CarInfo[idcar][cPlate]);
                    UpdateCars();
                } else Message(playerid, COLOR_RED2, "No tienes dinero suficiente!");
            }

            if(!strcmp(params, "vip"))
            {
                if(PlayerInfo[playerid][pDonateT] == 0) return Message(playerid, COLOR_RED2, "Necesitas ser premium.");
//              new newcar = GetPlayerVehicleID(playerid), idcar = GetPlayerVehicleID(playerid);
                if(CarInfo[idcar][cOwned] == 1) return Message(playerid, COLOR_RED2, "El vehнculo no estб en venta.");
                if(PlayerInfo[playerid][pCarPremium] != 9999) return Message(playerid, COLOR_RED2, "Ya posees un vehнculo.");
                if(!IsAnOwnableCar(newcar)) return Message(playerid, COLOR_RED2, "Este vehнculo no estб en venta.");
                if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue]){
                    ShowPlayerDialog(playerid, IMPORTAR_MOTOR, DIALOG_STYLE_LIST, "Elegir prestaciones", "Motor sin plomo 95\t\tCapacidad: 100l (1Ђ/l)\nMotor sin plomo 98\t\tCapacidad: 120l (1Ђ/l)\nMotor Diesel\t\tCapacidad: 160l (2Ђ/l)\nMotor Biodiesel\t\tCapacidad: 230l (3Ђ/l)", "Instalar", "Salir");
                    PlayerInfo[playerid][pCarPremium] = idcar;
                    CarInfo[idcar][cOwned] = 1;
                    CarInfo[idcar][cBattery] = 5000;
                    strmid(CarInfo[PlayerInfo[playerid][pCarPremium]][cOwner], PlayerName(playerid), 0, strlen(PlayerName(playerid)), 32);
                    Bought(playerid, CarInfo[PlayerInfo[playerid][pCarPremium]][cValue]);
                    SetVehicleParamsEx(idcar, 0,0,0,0,0,0,0);
                    gEngine[playerid] = 0;
                    engineOn[idcar] = false;
                    ClearChatbox(playerid, 10);
                    Message(playerid, COLOR_GREEN, "Felicidades! Has adquirido este vehнculo, utiliza (/v [item])");
                    strmid(CarInfo[idcar][cPlate], "00000", 0, strlen("00000"), 255);
                    SetVehicleNumberPlate(idcar, CarInfo[idcar][cPlate]);
                    UpdateCars();
                }else Message(playerid, COLOR_RED2, "No tienes dinero suficiente!");
                }
            }
        }
        return 1;
    }
Lo que intento hacer es que al poner /comprar coche se compre un coche en el slot 1 (si funciona), que al poner /comprar coche 2 se compre un coche en el slot 2 (no funciona) y que al poner /comprar coche VIP se compre un coche en el slot premium (no funciona).

Aquн dejo el cуdigo en Pastebin:
http://pastebin.com/Y17ZggF7


Lo que quiero saber es como hacer un subcomando dentro de un comando, y un subcomando dentro del subcomando, es decir, por ejemplo, /comprar coche 2 o /dar licencia coche.

Para crear un subcomando dentro de un comando esto es lo que hago:

pawn Код:
zcmd(comando, playerid, params[])
{
    if(!strcmp(params, "subcomando"))
    {
        // CУDIGO
        // CУDIGO
        // CУDIGO
    }
    else if(params, "otro-subcomando"))
    {
        // CУDIGO
        // CУDIGO
        // CУDIGO
    }
    return 1;
}
Ojalб me puedan ayudar.
Gracias.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)