Du hattest bei der Drehung zwei mal 360/0 Grad stehen, und es waren keine 90'er Sprünge.
Teste es so:
dBoden =CreateObject(13607, 1478.07996, -1799.66003, 227.06000, 0.00000, 0.00000, 0.00000);
MoveObject(dBoden,1478.07996, -1799.661, 227.06000, OBJECT_SPEED, 0.00000, 0.00000, 90.00000);
SetTimerEx("TurnObject", 750, 0, "dd", dBoden, 0);
forward TurnObject(objectid, objpos);
public TurnObject(objectid, objpos)
{
if(objectid == dBoden)
{
switch(objpos)
{
case 0: MoveObject(dBoden, 1478.07996, -1799.66003, 227.06000+0.01, OBJECT_SPEED, 0.00000, 0.00000, 180.0), objpos = 1;
case 1: MoveObject(dBoden, 1478.07996, -1799.66003, 227.06000+0.02, OBJECT_SPEED, 0.00000, 0.00000, 270.0), objpos = 2;
case 2: MoveObject(dBoden, 1478.07996, -1799.66003, 227.06000+0.03, OBJECT_SPEED, 0.00000, 0.00000, 0.0), objpos = 3;
case 3: MoveObject(dBoden, 1478.07996, -1799.66003, 227.06000+0.04, OBJECT_SPEED, 0.00000, 0.00000, 90.0), objpos = 0;
}
SetTimerEx("TurnObject", 750, 0, "dd", dBoden, objpos);
}
return 1;
}
Mit OBJECT_SPEED als 0.001.