[Moin,
wenn ich EditObject/CancelObject verwende habe ich ab und zu einen Mausfehler, aber nur bei diesem Code. Woran liegt das?
Fehler in Reinfolge:
- Objekt wird erstellt + Edit Object
- OnPlayerEditObject: Ist Objekt außerhalb der vorgegebenen Zone -> CancelEdit -> DestroyObject -> CreateObject an alter Position
- Die Maus wird nun nicht mehr angezeigt wenn man den Chat öffnet oder Dialoge anzeigt
- Beim editieren des Objektes ist die Maus nun weg, wenn ich sie bewege "portet" sich das Objekt an die Position wo es gelöscht wurde (außerhalb der Zone)
- Wenn ich aber beim neuen editieren die Maustaste drücke bevor ich die Maus bewege ist sie wieder da und alles funktioniert wieder.
Ergänzung:
Selbst wenn man NUR CancelEdit verwendet ohne DestroyObject etc. und danach ein neues Objekt erstellt mit EditObject funktioniert es nicht. Also liegt es nicht am direktem löschen, wohl an der Funktion CancelEdit, doch gibt es eine Behebung dafür?
Video:
Direktlink: http://youtu.be/iUJ2vJy5Yjw
Code:
new AnyObject = CreateObject(ModelID,X,Y,Z,0,0,A,300);
EditObject(playerid,AnyObject);
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
new Float:afX,Float:afY;
afX=1102.456420;
afY=-1247.102905;
if(!IsObjectInArea(fX,fY,afX-6.72,afY-5,afX+6.83,afY+5))
{
if(response != EDIT_RESPONSE_CANCEL)CancelEdit(playerid);
SendClientMessage(playerid,-1,"Das Objekt wurde an die Erstellungsposition zurückversetzt.");
AnyObject =CreateObject(...);
}
}
Positionen etc. stimmen alle, die Funktionen funktionieren auch alle ordnungsgemäß.
Vielen Dank im Vorraus!