Eai galera, bom й o seguinte tava testando o sistema e encontrei um problema, quando entramos no interior nao acontece nada mais quando dou /exit o player й setado para as cordenadas 0,0,0 alguem poderia me dizer o motivo se souber vlw ai
Код HTML:
if(strcmp(cmd, "/entergarage", true) == 0 || strcmp(cmd, "/enterga", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Seat[MAX_PLAYERS], InCar[MAX_PLAYERS];
new i = IsPlayerNearGarage(playerid), intoset, vehicleid;
if(i == -1) return SendClientMessage(playerid, GREY, " You are not near a garage.");
if(GarageInfo[i][GarageSize] == 1) { intoset = 2; }
if(GarageInfo[i][GarageSize] == 2) { intoset = 3; }
if(GarageInfo[i][GarageSize] == 3) { intoset = 1; }
if(GarageInfo[i][GarageLocked]) return SendClientMessage(playerid, GREY, "This garage is locked.");
if(IsPlayerInRangeOfPoint(playerid, 5.5, GarageInfo[i][GarageEnterX], GarageInfo[i][GarageEnterY], GarageInfo[i][GarageEnterZ]))
{
if(GetPlayerState(playerid) == 2)
{
vehicleid = GetPlayerVehicleID(playerid);
SetVehiclePos(vehicleid, GarageInfo[i][GarageInsideX], GarageInfo[i][GarageInsideY], GarageInfo[i][GarageInsideZ] + 0.4);
SetVehicleZAngle(vehicleid, GarageInfo[i][GarageInsideA]);
SetVehicleWorld(vehicleid, i);
SetVehicleInterior(vehicleid, intoset);
for(new j = 0; j < MAX_PLAYERS; j++)
{
if(IsPlayerInVehicle(j, vehicleid))
{
InCar[j] = vehicleid;
Seat[j] = GetPlayerVehicleSeat(j);
SetPlayerInterior(j, intoset);
SetPlayerVirtualWorld(j, i);
SetPVarInt(j, "InGarage", 1);
}
}
}
SetPlayerPosEx(playerid, GarageInfo[i][GarageInsideX], GarageInfo[i][GarageInsideY], GarageInfo[i][GarageInsideZ]);
SetPlayerFacingAngle(playerid, GarageInfo[i][GarageInsideA]);
SetPlayerInterior(playerid, intoset);
SetPlayerVirtualWorld(playerid, i);
if (vehicleid != 0)
{
for (new j = 0; j < MAX_PLAYERS; j++)
{
if (InCar[j] == 0) continue;
if (InCar[j] == vehicleid)
{
PutPlayerInVehicle(j, vehicleid, Seat[j]);
}
}
}
SetPVarInt(playerid, "InGarage", 1);
OnPlayerEnterGarage(playerid, i);
return 1;
}
else
{
SendClientMessage(playerid, GREY, " You are not near a garage.");
return 1;
}
}
return 1;
}
if(strcmp(cmd, "/exitgarage", true) == 0 || strcmp(cmd, "/exitga", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Seat[MAX_PLAYERS], InCar[MAX_PLAYERS];
new i = GetPlayerVirtualWorld(playerid), vehicleid;
if(i == 0) return SendClientMessage(playerid, GREY, " You are not inside a garage.");
if(GarageInfo[i][GarageLocked]) return SendClientMessage(playerid, GREY, " You've been locked inside the garage, tough luck.");
if(IsPlayerInRangeOfPoint(playerid, 30.0, GarageInfo[i][GarageInsideX], GarageInfo[i][GarageInsideY], GarageInfo[i][GarageInsideZ]) && GetPlayerVirtualWorld(playerid) == i)
{
if(GetPlayerState(playerid) == 2)
{
vehicleid = GetPlayerVehicleID(playerid);
for(new j = 0; j < MAX_PLAYERS; j++)
{
if(IsPlayerInVehicle(j, vehicleid))
{
InCar[j] = vehicleid;
Seat[j] = GetPlayerVehicleSeat(playerid);
SetPlayerInterior(j, 0);
SetPlayerVirtualWorld(j, 0);
SetPVarInt(j, "InGarage", 0);
}
}
SetVehiclePos(vehicleid, GarageInfo[i][GarageExitX], GarageInfo[i][GarageExitY], GarageInfo[i][GarageExitZ]);
SetVehicleZAngle(vehicleid, GarageInfo[i][GarageExitA]);
SetVehicleWorld(vehicleid, 0);
SetVehicleInterior(vehicleid, 0);
}
SetPlayerPosEx(playerid, GarageInfo[i][GarageExitX], GarageInfo[i][GarageExitY], GarageInfo[i][GarageExitZ]);
SetPlayerFacingAngle(playerid, GarageInfo[i][GarageExitA]);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
if(vehicleid != 0)
{
for (new j = 0; j < MAX_PLAYERS; j++)
{
if (InCar[j] == 0) continue;
if (InCar[j] == vehicleid)
{
PutPlayerInVehicle(j, vehicleid, Seat[j]);
}
}
PutPlayerInVehicle(playerid, vehicleid, 0);
}
SetPVarInt(playerid, "InGarage", 0);
return 1;
}
else
{
SendClientMessage(playerid, GREY, " You are not near a garage exit.");
return 1;
}
}
return 1;
}