Easy question (CarOwnership...)
#1

This is under OnPlayerEnterVehicle

Код:
	if(ConvertVehIDtoDYID(vehicleid) != -1)
	{
    	new Float:PEnterPos[3][MAX_PLAYERS];
 	GetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
   	new i;
	new string[126];
	i = ConvertVehIDtoDYID(vehicleid);
 		if(MyVehicle[i][MyVehSlot] == 1 && (MyVehicle[i][MyVehCar] != -1 || MyVehicle[i][MyVehBike] != -1 || MyVehicle[i][MyVehBoat] != -1 || MyVehicle[i][MyVehPlane] != -1) && MyVehicle[i][MyVehFsale] < 1)
		{
     	   		if(MyVehicle[i][MyVehLock] == 1 && !IsPlayerAdmin(playerid) && MyVehicle[i][MyVehOwner] != playerid)
   		  	{
 				GetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
				SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
				format(string, sizeof(string), "~g~~h~Sopstvenik:~y~ %s",MyVehicle[i][MyVehOwner]);
				GameTextForPlayer(playerid,string,2000,3);
				TogglePlayerControllable(playerid, 0);
				TogglePlayerControllable(playerid, 1);
	   		}
		}
	}
I want to make when vehicle is locked (MyVehicle[i][MyVehLock] == 1) the owner on that vehicle can enter (only the owner of that vehicle !)
Function for car owner is MyVehicle[i][MyVehOwner]

I tried to make something but still when car is locked the owner cant enter...
Reply
#2

You can use:
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
        {
            if(ConvertVehIDtoDYID(vehicleid) != -1)
                {
                new Float:PEnterPos[3][MAX_PLAYERS];
                GetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
                new i;
                new string[126];
                i = ConvertVehIDtoDYID(vehicleid);
                if(MyVehicle[i][MyVehSlot] == 1 && (MyVehicle[i][MyVehCar] != -1 || MyVehicle[i][MyVehBike] != -1 || MyVehicle[i][MyVehBoat] != -1 || MyVehicle[i][MyVehPlane] != -1) && MyVehicle[i][MyVehFsale] < 1)
                    {
                            if(MyVehicle[i][MyVehLock] == 1 && !IsPlayerAdmin(playerid) && [COLOR="Red"]MyVehicle[i][MyVehOwner] != playerid[/COLOR])
                        {
                            GetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
                            SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
                            format(string, sizeof(string), "~g~~h~Sopstvenik:~y~ %s",MyVehicle[i][MyVehOwner]);
                            GameTextForPlayer(playerid,string,2000,3);
                            TogglePlayerControllable(playerid, 0);
                            TogglePlayerControllable(playerid, 1);
                        }
                    }
                    else
                    {
                    RemovePlayerFromVehicle(playerid);
                    }
                }
        return 1;
    }
Not sure of it gonna work.
Reply
#3

No, when i enter it puts me on the roof of the car xD

Now i tried something like this: (still on onplayerentervehicle)
Код:
	if(ConvertVehIDtoDYID(vehicleid) != -1)
	{
    	new Float:PEnterPos[3][MAX_PLAYERS];
 		GetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
	   	new i;
	   	new string[126];
	   	i = ConvertVehIDtoDYID(vehicleid);
 		if(MyVehicle[i][MyVehSlot] == 1 && (MyVehicle[i][MyVehCar] != -1 || MyVehicle[i][MyVehBike] != -1 || MyVehicle[i][MyVehBoat] != -1 || MyVehicle[i][MyVehPlane] != -1) && MyVehicle[i][MyVehFsale] < 1)
		{
		    new plname[MAX_PLAYER_NAME];
		    GetPlayerName(playerid, plname, sizeof(plname));
     	   	if(MyVehicle[i][MyVehLock] == 1 && MyVehicle[i][MyVehOwner] != plname && !IsPlayerAdmin(playerid))
   		  	{
 				GetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
				SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
				format(string, sizeof(string), "~g~~h~Sopstvenik:~y~ %s",MyVehicle[i][MyVehOwner]);
				GameTextForPlayer(playerid,string,2000,3);
				TogglePlayerControllable(playerid, 0);
				TogglePlayerControllable(playerid, 1);
	   		}
		}
	}
But i get a error:
Код:
error 033: array must be indexed (variable "plname")
Any ideas ?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)