Quote:
Originally Posted by Unknown123
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate) { new vehicleid = GetPlayerVehicleID(playerid); if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT) { if(!IsVehicleOwner(plyerid, vehicleid)) { SendClientMessage(playerid, 0xFF0000FF, "this is not your vehicle"); print("not yours"); //eject } printf("Name lenght: %i | Awesome ID: %i | Owner: %s", strlen(GetVehicleOwner(vehicleid)), AwesomeVehicleID(vehicleid), GetVehicleOwner(vehicleid)); } return 1; }
stock IsVehicleOwner(playerid, vehicleid) { new awesomeid = AwesomeVehicleID(vehicleid); if((awesomeid != 0) && (strmatch(PlayerName(playerid), VehicleData[awesomeid][VehicleOwner]))) return 1; // if "awesomeid is not 0 && player name match with vehicle name then return true (yes) return 0; // else return false (no) }
Код:
not yours
Name lenght: 0 | Awesome ID: 0 | Owner:
i get ejected when the "Awesome ID" is 0, but im not supposed to do that (read the function)
|
Dont you mean:
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER && oldstate == PLAYER_STATE_ONFOOT)
{
if(!IsVehicleOwner(playerid, vehicleid))//<- You had plyerid
{
SendClientMessage(playerid, 0xFF0000FF, "this is not your vehicle");
print("not yours");
//eject
}
printf("Name lenght: %i | Awesome ID: %i | Owner: %s", strlen(GetVehicleOwner(vehicleid)), AwesomeVehicleID(vehicleid), GetVehicleOwner(vehicleid));
}
return 1;
}
And I would do it like this:
pawn Код:
stock IsVehicleOwner(playerid, vehicleid)
{
if(AwesomeVehicleID(vehicleid) != 0 && strmatch(PlayerName(playerid), VehicleData[awesomeid][VehicleOwner])) return 1;
return 0;
}