SA-MP Forums Archive
/givecar issue - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: /givecar issue (/showthread.php?tid=537123)



/givecar issue - litmanen - 13.09.2014

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.


Re: /givecar issue - Threshold - 13.09.2014

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.


Re: /givecar issue - litmanen - 14.09.2014

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


Re: /givecar issue - Threshold - 15.09.2014

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;
}