23.12.2013, 16:18
Tengo el siguiente comando:
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:
Ojalб me puedan ayudar.
Gracias.
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;
}
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;
}
Gracias.