Easy question (CarOwnership...) -
NeroX98 - 30.11.2012
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...
Re: Easy question (CarOwnership...) -
[D]ry[D]esert - 30.11.2012
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.
Re: Easy question (CarOwnership...) -
NeroX98 - 30.11.2012
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 ?