/givecar issue
#1

So i made this command with the Zgaming RP gamemode,

Код:
CMD:givecar(playerid,params[])
{
    new carid;
    new Float:X, Float:Y, Float:Z, Float:angle;
    new playerb, string[128];
   	if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
	if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
    if(!aDuty[playerid]) return SendClientMessage(playerid, COLOR_GREY, "You are not on admin duty.");
	if(sscanf(params, "us[128]", playerb, carid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecar [playerid] [carid]");
    if(!IsPlayerConnected(playerb)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This Player is Not Connected.");
    if(carid < 400 || carid > 611) return  SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid Vehicle Model!");
    GetPlayerPos(playerb, X, Y, Z);
    GetPlayerFacingAngle(playerb, angle);
    PlayerInfo[playerid][pVeh] = CreateVehicle(carid, X, Y, Z, angle, 0, 1, 60);
	        SetVehicleParamsEx(PlayerInfo[playerid][pVeh], 0, 0, 0, 1, 0, 0, 0);
	        PlayerInfo[playerid][vLocked] = 1;
	        PlayerInfo[playerid][vModel] = carid;
			GetVehiclePos(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vX], PlayerInfo[playerid][vY], PlayerInfo[playerid][vZ]);
			GetVehicleZAngle(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vA]);
			PlayerInfo[playerid][vC1] = 0;
			PlayerInfo[playerid][vC2] = 0;
    format(string, sizeof(string), "[INFO]: Administrator %s Has Spawned a Vehicles id %d To %s.", (playerid), carid, (playerb));
    SendClientMessageToAll(COLOR_PURPLE, string);
    return 1;
}
But it says, invalid vehicle ID, and Unknown command and the player doesnt get any vehicle.
Reply
#2

pawn Код:
CMD:givecar(playerid,params[])
{
    if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
    if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
    if(!aDuty[playerid]) return SendClientMessage(playerid, COLOR_GREY, "You are not on admin duty.");
    new playerb, carid;
    if(sscanf(params, "ui", playerb, carid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecar [playerid] [carid]");
    if(!IsPlayerConnected(playerb) || playerb == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "ERROR: This Player is Not Connected.");
    if(!(400 <= carid <= 611)) return  SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid Vehicle Model!");
    new Float:X, Float:Y, Float:Z, Float:angle, name1[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], string[110];
    GetPlayerPos(playerb, X, Y, Z);
    GetPlayerFacingAngle(playerb, angle);
    PlayerInfo[playerid][pVeh] = CreateVehicle(carid, X, Y, Z, angle, 0, 1, 60);
    SetVehicleParamsEx(PlayerInfo[playerid][pVeh], 0, 0, 0, 1, 0, 0, 0);
    PlayerInfo[playerid][vLocked] = 1;
    PlayerInfo[playerid][vModel] = carid;
    GetVehiclePos(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vX], PlayerInfo[playerid][vY], PlayerInfo[playerid][vZ]);
    GetVehicleZAngle(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vA]);
    PlayerInfo[playerid][vC1] = 0;
    PlayerInfo[playerid][vC2] = 0;
    GetPlayerName(playerid, name1, sizeof(name1));
    GetPlayerName(playerb, name2, sizeof(name2));
    format(string, sizeof(string), "[INFO]: Administrator %s Has Spawned a Vehicle id %d To %s.", name1, carid, name2);
    SendClientMessageToAll(COLOR_PURPLE, string);
    return 1;
}
Should be fixed, just watch the order of your if statements. Also, you should use the "i" or "d" parameter for integers, not the "s" specifier, that is for strings.
Reply
#3

Alright it works, but when i use the command it gives the car to me instead of the other Player that needs the vehicle.
Reply
#4

Hmm true.

pawn Код:
CMD:givecar(playerid,params[])
{
    if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
    if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
    if(!aDuty[playerid]) return SendClientMessage(playerid, COLOR_GREY, "You are not on admin duty.");
    new playerb, carid;
    if(sscanf(params, "ui", playerb, carid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecar [playerid] [carid]");
    if(!IsPlayerConnected(playerb) || playerb == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "ERROR: This Player is Not Connected.");
    if(!(400 <= carid <= 611)) return  SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid Vehicle Model!");
    new Float:X, Float:Y, Float:Z, Float:angle, name1[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], string[110];
    GetPlayerPos(playerb, X, Y, Z);
    GetPlayerFacingAngle(playerb, angle);
    PlayerInfo[playerb][pVeh] = CreateVehicle(carid, X, Y, Z, angle, 0, 1, 60);
    SetVehicleParamsEx(PlayerInfo[playerb][pVeh], 0, 0, 0, 1, 0, 0, 0);
    PlayerInfo[playerb][vLocked] = 1;
    PlayerInfo[playerb][vModel] = carid;
    GetVehiclePos(PlayerInfo[playerb][pVeh], PlayerInfo[playerb][vX], PlayerInfo[playerb][vY], PlayerInfo[playerb][vZ]);
    GetVehicleZAngle(PlayerInfo[playerb][pVeh], PlayerInfo[playerb][vA]);
    PlayerInfo[playerb][vC1] = 0;
    PlayerInfo[playerb][vC2] = 0;
    GetPlayerName(playerid, name1, sizeof(name1));
    GetPlayerName(playerb, name2, sizeof(name2));
    format(string, sizeof(string), "[INFO]: Administrator %s Has Spawned a Vehicle id %d To %s.", name1, carid, name2);
    SendClientMessageToAll(COLOR_PURPLE, string);
    PutPlayerInVehicle(playerb, PlayerInfo[playerb][pVeh], 0);
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)