dcmd_addv(playerid, params[])
{
if(!IsAdmin(playerid, 1)) return SendClientMessage(playerid, COLOR_RED, "You are not admin!");
if(!IsPlayerSpawned(playerid)) return SendClientMessage(playerid, COLOR_RED, "You can't use this command now!");
new model[32], modelid, dealerid, color1, color2, price;
if(sscanf(params, "dsddd", dealerid, model, color1, color2, price))
return SendClientMessage(playerid, COLOR_GREY, "USAGE: /addv [dealerid] [model] [color1] [color2] [price]");
if(!IsValidDealership(dealerid)) return SendClientMessage(playerid, COLOR_RED, "Invalid dealerid!");
if(CarIsNumeric(model)) modelid = strval(model);
else modelid = GetVehicleModelIDFromName(model);
if(modelid < 400 || modelid > 611) return SendClientMessage(playerid, COLOR_RED, "Invalid model ID!");
if(color1 < 0 || color2 < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid color!");
if(price < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid price!");
new Float:X, Float:Y, Float:Z, Float:angle;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, angle);
X += floatmul(floatsin(-angle, degrees), 4.0);
Y += floatmul(floatcos(-angle, degrees), 4.0);
for(new i=1; i < MAX_DVEHICLES; i++)
{
if(!VehicleCreated[i])
{
new msg[128];
VehicleCreated[i] = VEHICLE_DEALERSHIP;
VehicleModel[i] = modelid;
VehiclePos[i][0] = X;
VehiclePos[i][1] = Y;
VehiclePos[i][2] = Z;
VehiclePos[i][3] = angle+90.0;
VehicleColor[i][0] = color1;
VehicleColor[i][1] = color2;
VehicleInterior[i] = GetPlayerInterior(playerid);
VehicleWorld[i] = GetPlayerVirtualWorld(playerid);
VehicleValue[i] = price;
valstr(VehicleOwner[i], dealerid);
VehicleNumberPlate[i] = DEFAULT_NUMBER_PLATE;
for(new d=0; d < sizeof(VehicleTrunk[]); d++)
{
VehicleTrunk[i][d][0] = 0;
VehicleTrunk[i][d][1] = 0;
}
for(new d=0; d < sizeof(VehicleMods[]); d++)
{
VehicleMods[i][d] = 0;
}
VehiclePaintjob[i] = 255;
UpdateVehicle(i, 0);
SaveVehicle(i);
format(msg, sizeof(msg), "Added vehicle id %d to dealerid %d", i, dealerid);
SendClientMessage(playerid, COLOR_WHITE, msg);
return 1;
}
}
SendClientMessage(playerid, COLOR_RED, "Can't add any more vehicles!");
return 1;
}
Yeah, but i need it to be strcmp so that it is compatible with my gamemode
![]() |
i have already tried zcmd - which I can get to compile perfectly but when I go ingame, every command says 'unknown command'
|
public OnPlayerCommandText(playerid, cmdtext[])
{
if(gPlayerSpawned[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, " You are not logged in or have not spawned !");
return 1;
}
if(PlayerInfo[playerid][pAdmin] > 0 && gAdminAuthorized[playerid] == 0)
{
Kick(playerid);
return 1;
}
new pos, funcname[32];
while(cmdtext[++pos] > ' ')
{
funcname[pos-1] = tolower(cmdtext[pos]);
}
strins(funcname, "cmd_", 0, sizeof(funcname));
while (cmdtext[pos] == ' ') pos++;
if(!cmdtext[pos])
{
return CallLocalFunction(funcname, "is", playerid, "\1");
}
return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]); //Think Its Something To Do With This
new string[128];
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new cmd[128];
new tmp[128];
new giveplayerid, moneys, idx;
cmd = strtok(cmdtext, idx);
dcmd(countdown, 9, cmdtext);
dcmd(pm, 2, cmdtext);
dcmd(reply, 5, cmdtext);
dcmd(nopm, 4, cmdtext);
new pos, funcname[32];
while(cmdtext[++pos] > ' ')
{
funcname[pos-1] = tolower(cmdtext[pos]);
}
strins(funcname, "cmd_", 0, sizeof(funcname));
while (cmdtext[pos] == ' ') pos++;
if(!cmdtext[pos])
{
return CallLocalFunction(funcname, "is", playerid, "\1");
}
return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]); //Think Its Something To Do With This
if(strcmp(cmd, "/buyveh", true) == 0)
{
new vehicleid = GetPlayerVehicleID(playerid);
new id = GetVehicleID(vehicleid);
if(IsValidVehicle(id))
{
if(VehicleCreated[id] == VEHICLE_DEALERSHIP)
{
if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
{
ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
return 1;
}
//new id = GetPVarInt(playerid, "DialogValue1");
if(GetPlayerMoney(playerid) < VehicleValue[id])
{
ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
return 1;
}
new freeid = GetFreeVehicleID();
if(!freeid)
{
ShowErrorDialog(playerid, "Vehicle dealership is out of stock!");
return 1;
}
GivePlayerMoney(playerid, -VehicleValue[id]);
PlayerInfo[playerid][pCash] = PlayerInfo[playerid][pCash]-VehicleValue[id];
new dealerid = strval(VehicleOwner[id]);
VehicleCreated[freeid] = VEHICLE_PLAYER;
VehicleModel[freeid] = VehicleModel[id];
VehiclePos[freeid] = DealershipPos[dealerid];
VehicleColor[freeid] = VehicleColor[id];
VehicleInterior[freeid] = VehicleInterior[id];
VehicleWorld[freeid] = VehicleWorld[id];
VehicleValue[freeid] = VehicleValue[id];
GetPlayerName(playerid, VehicleOwner[freeid], sizeof(VehicleOwner[]));
VehicleNumberPlate[freeid] = DEFAULT_NUMBER_PLATE;
for(new d=0; d < sizeof(VehicleTrunk[]); d++)
{
VehicleTrunk[freeid][d][0] = 0;
VehicleTrunk[freeid][d][1] = 0;
}
for(new d=0; d < sizeof(VehicleMods[]); d++)
{
VehicleMods[freeid][d] = 0;
}
VehiclePaintjob[freeid] = 255;
UpdateVehicle(freeid, 0);
SaveVehicle(freeid);
new msg[128];
format(msg, sizeof(msg), "You have bought this vehicle for $%d", VehicleValue[id]);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
else
{
if(GetPlayerVehicleAccess(playerid, vehicleid) < 1)
{
RemovePlayerFromVehicle(playerid);
}
}
}
return 1;
}