Da es ein starkes Problem ist hierher verschoben von den kleinen Scriptingfragen.
Ich habe 13 Objekte, die ich verschieben möchte.
new ZollMaut[15];
1 Objekt, dass funktioniert.
Relevant sind case 0case 8 und case 10 (Array-Objekt 0, 8 , 10)
Code
ZollMaut[0] = CreateDynamicObject(968, X, Y, Z, 0.000000, 90.000000, -98.799995, -1, -1, -1, 300.00, 300.00);
Die ersten 8 Objekte funktionieren, nichts ist anders die folgenden scheinen nicht zu funktionieren und wurden mehrfach ausgetauscht.
Bei Zollmaut[10] ist es so, dass das Objekt einfach nur seine Z Position ändern soll, öffnet sich die Rampe scheint das Objekt weg zufliegen anstatt wie angegeben -2 nach der Z Koordinate zu gehen.
An der Funktion, die das richtige Objekt herausfindet (GetClosestZollMaut) kann es nicht liegen, da ich bereits versucht habe das Objekt einfach so zu bewegen.
Code
ZollMaut[10] = CreateDynamicObject(968, X,Y,Z , 0.000000, 90.00, -12.899986, -1, -1, -1, 300.00, 300.00);
Code
ZollMaut[8] = CreateDynamicObject(968, X, Y, Z, 0.000000, -90.000000, -10.800004, -1, -1, -1, 300.00, 300.00);
Code
ocmd:rampeauf(playerid,params[])
{
new i = GetClosestZollMaut(playerid);
if(i == -1) return 1;
switch(i)
{
case 0: MoveDynamicObjectRot(ZollMaut[i], 0.0, 90.0-90, -98.79, true);
case 1: MoveDynamicObjectRot(ZollMaut[i], [...], true);
case 2: MoveDynamicObjectRot(ZollMaut[i], [...], true);
case 3: MoveDynamicObjectRot(ZollMaut[i], [...], true);
case 4: MoveDynamicObjectRot(ZollMaut[i], [...], true);
case 5: MoveDynamicObjectRot(ZollMaut[i], [...], true);
case 6: MoveDynamicObjectRot(ZollMaut[i], [...], true);
case 7: MoveDynamicObjectRot(ZollMaut[i], [...], true);
case 8: MoveDynamicObjectRot(ZollMaut[i], 0.0, -90.0+90, -10.800004, true);
case 9: MoveDynamicObjectRot(ZollMaut[i], [...], true);
case 10: MoveDynamicObject(ZollMaut[i], 0.0, -2.0, 0.0, 1, 0.0, 0.0, 0.0);
case 11: MoveDynamicObject(ZollMaut[i], [...]);
case 12: MoveDynamicObject(ZollMaut[i], [...]);
case 13: MoveDynamicObject(ZollMaut[i], [...]);
}
SetTimerEx("@checkZoneMaut", 3000, 0, "ii", playerid, i);
return 1;
}
Alles anzeigen
C
@checkZoneMaut(p,i);@checkZoneMaut(p,i)
{
return (GetClosestZollMaut(p) == -1) ? ZollMautzu(i) : SetTimerEx("@checkZoneMaut", 3000, 0, "ii", p,i);
}