23.04.2013, 18:01
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; }