Hallo Scripter,
ich bin gerade am verzweifeln, ich möchte sehr gerne ein Map Editor basteln welcher nur auf einem Grundstück benutzt werden kann.
Wenn man das Objekt Speichern möchte, sollte geprüft werden ob sich das Objekt in der Zugelassenen Zone befindet.
Leider klappt das mal überhaupt nicht, es sagt das ich nicht im Grundstück bin wenn ich in der Zone bin und auch wenn ich nicht in der Zone bin.
Source Code:
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
if(objectid == oInfo[playerid][pInfo[playerid][editobject]][objectID])
{
if(response == EDIT_RESPONSE_FINAL)
{
new object = pInfo[playerid][editobject];
if(IsObjectInArea(oInfo[playerid][object][objectID], -2095.3132, -2012.2899, -103.7980, -266.0243))
{
oInfo[playerid][object][XLoc] = fX;
oInfo[playerid][object][YLoc] = fY;
oInfo[playerid][object][ZLoc] = fZ;
oInfo[playerid][object][XRot] = fRotX;
oInfo[playerid][object][YRot] = fRotY;
oInfo[playerid][object][ZRot] = fRotZ;
SetObjectPos(oInfo[playerid][object][objectID], fX, fY, fZ);
SetObjectRot(oInfo[playerid][object][objectID], fRotX, fRotY, fRotZ);
new string[128];
format(string, sizeof(string),"You have finished editing object number {F58282}%i{F5F582} (Model {F58282}%i{F5F582}).", object, oInfo[playerid][object][modelID]);
SendClientInfoMessage(playerid, string);
}
else
{
EditObject(playerid, oInfo[playerid][object][objectID]);
SendClientInfoMessage(playerid, "** FEHLER: Du darfst nur auf deinem Grundstück das Objekt platzieren!");
}
}
}
return 1;
}
AddPlayerClass(0,-2095.3132,-103.7980,35.3203,92.6339,0,0,0,0,0,0); // min
AddPlayerClass(0,-2012.2899,-266.0243,35.3274,350.4660,0,0,0,0,0,0); // max
Nennt mich verrückt aber ich sehe nicht das ich einen Fehler gemacht habe.
/edit
Ach genau der Stock für "IsObjectInArea"
stock IsObjectInArea(objectid, Float:minX, Float:maxX, Float:minY, Float:maxY)
{
new Float:x,Float:y,Float:z;
GetObjectPos(objectid, x,y,z);
if (x > minX && x < maxX && y > minY && y < maxY) return true;
return false;
}