CMD /oldcar(your last car) and i want /lastdriver(player's last car)
#1

PHP код:
CMD:oldcar(playeridparams[])
{
    new 
string[128];
    if(!
gLastCar[playerid]) return SendClientMessageEx(playeridCOLOR_GREY"You have not driven a vehicle yet.");
    
format(stringsizeof(string), "Your last driven vehicle was a %s (Model: %d -- ID: %d)"GetVehicleName(gLastCar[playerid]), GetVehicleModel(gLastCar[playerid]), gLastCar[playerid]);
    
SendClientMessageEx(playeridCOLOR_GREYstring);
    return 
1;

This is the cmd /oldcar to check the last vehicle you used.

I want a cmd that can check the last driver that used the car /lastdriver.
Reply
#2

Its only works when you are sitting in a vehicle.
I didn't test it.
Код:
new lastDriver[MAX_VEHICLES] = -1; //-1 will mean that nobody used that car bafore.

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
        new vehicleid = GetPlayerVehicleID(playerid);
        lastDriver[vehicleid] = playerid;
    }
    return 1;
}

CMD:lastdriver(playerid)
{
	if(IsPlayerInAnyVehicle(playerid)) return 0;
	new
		vehicleid = GetPlayerVehicleID(playerid),
		lastString[MAX_PLAYER_NAME],
		_str[52];
	
	if(lastDriver[vehicleid] != -1)// Someone already used that car:
	{
    	GetPlayerName(lastDriver[vehicleid], lastString, sizeof(lastString));
		format(_str,sizeof(_str),"This vehicle was used by: %s",lastString);
		SendClientMessage(playerid,-1,_str);
	}else{
		SendClientMessage(playerid,-1,"Nobody has driven that car before.");
	}
	return 1;
}
Reply
#3

Quote:
Originally Posted by Rolux
Посмотреть сообщение
Its only works when you are sitting in a vehicle.
I didn't test it.
Код:
new lastDriver[MAX_VEHICLES] = -1; //-1 will mean that nobody used that car bafore.

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
        new vehicleid = GetPlayerVehicleID(playerid);
        lastDriver[vehicleid] = playerid;
    }
    return 1;
}

CMD:lastdriver(playerid)
{
	if(IsPlayerInAnyVehicle(playerid)) return 0;
	new
		vehicleid = GetPlayerVehicleID(playerid),
		lastString[MAX_PLAYER_NAME],
		_str[52];
	
	if(lastDriver[vehicleid] != -1)// Someone already used that car:
	{
    	GetPlayerName(lastDriver[vehicleid], lastString, sizeof(lastString));
		format(_str,sizeof(_str),"This vehicle was used by: %s",lastString);
		SendClientMessage(playerid,-1,_str);
	}else{
		SendClientMessage(playerid,-1,"Nobody has driven that car before.");
	}
	return 1;
}

Inefficient code. You store only the id and don't check if it's connected. Also if that player logs out and someone else joins with the same ID you'll receive wrong informations.You shouuld store the name in an array so you won't have problems.
Reply
#4

Yeah, you are right!
+ If you enter a vehicle you will become the last driver,so this command is useless.
Reply
#5

Quote:
Originally Posted by Rolux
Посмотреть сообщение
Yeah, you are right!
+ If you enter a vehicle you will become the last driver,so this command is useless.
Infact the last should be update only when the player exites the vehicle, not when he enters.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)