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

ApplyAnimation

توضیحات

اعمال یک انیمیشن به بازیکن.

نامتوضیحات
playeridشناسه بازیکن برای اعمال انیمیشن.
const animationLibrary[]کتابخانه انیمیشن که از آن انیمیشن اعمال می‌شود.
const animationName[]نام انیمیشن برای اعمال در کتابخانه مشخص شده.
Float:deltaسرعت پخش انیمیشن (از 4.1 استفاده کنید).
bool:loopاگر 'true' باشد، انیمیشن تکرار می‌شود. اگر 'false' باشد، انیمیشن یکبار پخش می‌شود.
bool:lockXاگر 'false' باشد، بازیکن پس از تکمیل انیمیشن به مختصات X قبلی خود برمی‌گردد (برای انیمیشن‌هایی که بازیکن را حرکت می‌دهند مثل راه رفتن). 'true' آنها را به موقعیت قبلی برنمی‌گرداند.
bool:lockYمثل بالا اما برای محور Y. باید مثل پارامتر قبلی نگه داشته شود.
bool:freezeتنظیم این روی 'true' بازیکن را در انتهای انیمیشن منجمد می‌کند. 'false' منجمد نمی‌کند.
timeتایمر بر حسب میلی‌ثانیه. برای حلقه بی‌نهایت باید 0 باشد.
FORCE_SYNC:forceSyncروی 1 تنظیم کنید تا سرور انیمیشن را با تمام بازیکنان دیگر در محدوده استریم همگام‌سازی کند (اختیاری). 2 مثل 1 کار می‌کند، اما فقط انیمیشن را برای بازیکنان استریم شده اعمال می‌کند، اما نه برای خود بازیکن انیمیشن شده (مفید برای انیمیشن‌های npc و انیمیشن‌های دائمی زمانی که بازیکنان در حال استریم شدن هستند)

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

این تابع همیشه true برمی‌گرداند، حتی اگر بازیکن مشخص شده وجود نداشته باشد، یا هر یک از پارامترها نامعتبر باشند (مثلاً کتابخانه نامعتبر).

مثال‌ها

ApplyAnimation(playerid, "PED", "WALK_DRUNK", 4.1, true, true, true, true, 1, 1);

مثالی برای open.mp:

ApplyAnimation(playerid, "PED", "WALK_DRUNK", 4.1, true, true, true, true, 1, SYNC_NONE);
// SYNC_NONE: همگام‌سازی اجباری با هیچ کس دیگری نکن.

ApplyAnimation(playerid, "PED", "WALK_DRUNK", 4.1, true, true, true, true, 1, SYNC_ALL);
// SYNC_ALL: با تمام بازیکنان استریم شده همگام‌سازی کن.

ApplyAnimation(playerid, "PED", "WALK_DRUNK", 4.1, true, true, true, true, 1, SYNC_OTHER);
// SYNC_OTHER: با تمام بازیکنان استریم شده همگام‌سازی کن، به جز بازیکن دارای انیمیشن.

نکات

نکته
  • پارامتر اختیاری 'forceSync' که به صورت پیش‌فرض 0 (SYNC_NONE) است، در اکثر موارد لازم نیست چون بازیکنان خود انیمیشن‌ها را همگام‌سازی می‌کنند.
  • پارامتر 'forcesync' می‌تواند همه بازیکنانی که می‌توانند 'playerid' را ببینند را مجبور کند که انیمیشن را پخش کنند، صرف نظر از اینکه آیا بازیکن آن انیمیشن را اجرا می‌کند یا نه. این در شرایطی مفید است که بازیکن نمی‌تواند خود انیمیشن را همگام‌سازی کند. مثلاً ممکن است متوقف شده باشد.
هشدار

کتابخانه انیمیشن نامعتبر باعث کرش بازی بازیکن می‌شود. (در open.mp رفع شده)

توابع مرتبط

  • ClearAnimations: پاک کردن هرگونه انیمیشن که بازیکن اجرا می‌کند.
  • SetPlayerSpecialAction: تنظیم عمل خاص بازیکن.
  • GetPlayerAnimFlags: دریافت پرچم‌های انیمیشن بازیکن.
  • IsValidAnimationLibrary: بررسی اینکه آیا کتابخانه انیمیشن داده شده معتبر است یا خیر.
  • EnableAllAnimations: اجازه استفاده از انیمیشن‌های گم شده در برخی نسخه‌ها.

منابع مرتبط