پرش به مطلب اصلی

MoveObject

توضیحات

آبجکت را با سرعت تعیین شده به موقعیت جدید منتقل می‌کند. بازیکنان/وسایل نقلیه روی آبجکت "surf" خواهند کرد تا زمانی که حرکت می‌کند.

نامتوضیحات
objectidID آبجکتی که باید منتقل شود.
Float:targetXمختصات X برای انتقال آبجکت.
Float:targetYمختصات Y برای انتقال آبجکت.
Float:targetZمختصات Z برای انتقال آبجکت.
Float:speedسرعت انتقال آبجکت (واحد در ثانیه).
Float:rotationXچرخش نهایی X (اختیاری).
Float:rotationYچرخش نهایی Y (اختیاری).
Float:rotationZچرخش نهایی Z (اختیاری).

مقدار بازگشتی

زمانی که برای انتقال آبجکت نیاز است به میلی‌ثانیه.

مثال‌ها

new gAirportGate; // Somewhere at the top of your script

public OnGameModeInit()
{
gAirportGate = CreateObject(980, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/moveobject", true) == 0)
{
new
string[64],
moveTime = MoveObject(gAirportGate, 0.0, 0.0, 10.0, 2.00);

format(string, sizeof(string), "Object will finish moving in %d milliseconds", moveTime);
SendClientMessage(playerid, 0xFF0000FF, string);
return 1;
}
return 0;
}

نکات

هشدار
  • این تابع می‌تواند برای چرخاندن نرم آبجکت‌ها استفاده شود. اما برای این کار، آبجکت باید منتقل هم بشود. چرخش مشخص شده، چرخشی است که آبجکت پس از انتقال خواهد داشت. بنابراین آبجکت هنگامی که انتقالی اعمال نشود، نخواهد چرخید. برای نمونه اسکریپت به ferriswheel.pwn filterscript ساخته شده توسط Kye که در بسته سرور (SA-MP 0.3d و بالاتر) گنجانده شده نگاه کنید.
  • برای درک کامل نکته بالا، می‌توانی (اما محدود نیستی به) موقعیت z را (+0.001) افزایش دهی و سپس (-0.001) پس از انتقال مجدد آن، زیرا عدم تغییر X،Y یا Z آبجکت را نخواهد چرخاند.

توابع مرتبط