در این مطلب با مفهوم «تریگر باکس» (Trigger Box) در بازی Los Angeles Crimes Online آشنا میشویم و نحوهٔ استفاده از دستور mode که تعیینکنندهٔ رفتار تریگر باکس است را توضیح میدهیم. این مقاله بخش اول از دورهٔ آموزش تریگر باکس در سایت الایسی شید است.
مقدمه
تریگر باکس یکی از اجزای مهم در ساخت مپ و سیستمهای داخل بازی است. اگرچه خود تریگر باکس شکل ظاهری مشخصی ندارد، اما به شما اجازه میدهد رفتارهای سفارشی، رخدادها و منطق بازی را در نقاط مختلف مپ کنترل کنید. در این مقاله با مفاهیم پایه و مخصوصاً دستور mode که تعیینکنندهٔ «حالت» اجرای دستورات تریگر باکس است آشنا میشویم.
تریگر باکس چیست؟
- تریگر باکس (یا بهطور رایج: Trigger Box، CMD، کامند، باکس کامند) در اصل یک آبجکت منطقی است که باید از لیست آبجکتها در مپ اسپاون (spawn) شود.
- در لیست آبجکتها با نام
Trigger_Boxقابل پیدا کردن است — در محیط ادیتور بهصورت یک مکعب زرد رنگ نشان داده میشود. - تریگر باکس، خود محلی برای نوشتن دستورات و اجرای منطق است و بهصورت پیشفرض ظاهر بصری در بازی ندارد. (با دستور
drawمیتوان یک ظاهر دلخواه به آن داد که در بخشهای بعدی بررسی خواهد شد.)

ساختار نوشتن دستورات تریگر باکس
قالب پایهٔ نوشتن دستورها به شکل زیر است:
Command{Value}
- به جای
Commandنام دستور و به جایValueمقدار آن دستور قرار میگیرد. - مقدار بهمعنای عدد نیست و میتواند هر نوع دادهای (متن، عدد و…) باشد.
دستور mode — تعیین حالت اجرای تریگر باکس
قبل از نوشتن هر دستور دیگری، باید مشخص کنید تریگر باکس در چه حالتی دستورات را اجرا کند. این کار با دستور mode انجام میشود. در ادامه همه حالتها را بررسی میکنیم:
۱. enter
وقتی پلیر وارد محدودهٔ تریگر باکس شود، دستورات اجرا میشوند. با هر بار ورود، یکبار اجرای دستورات انجام میشود.
۲. exit
عکس حالت enter است؛ یعنی زمانی که پلیر از داخل تریگر باکس خارج میشود، دستورات اجرا میشوند. مانند enter، با هر بار خروج، یکبار دستورات اجرا میشوند.
۳. stay
در این حالت دستورات مادامی که پلیر داخل محدودهٔ تریگر باکس حضور دارد، اجرا میشوند. این حالت برای ساخت مکانیزمهایی که باید بهصورت مداوم زمانی که پلیر در محدوده است کار کنند، مناسب است.
هشدار: در استفاده از
stayدقت کنید که اجرای مداوم ممکن است بار پردازشی ایجاد کند؛ پس دستورات داخلش را بهینه بنویسید.
۴. onclick
با کلیک کردن روی محدودهٔ تریگر باکس، دستورات اجرا میشوند. این حالت برای تعاملات مبتنی بر کلیک مناسب است.
۵. solid
وقتی پلیر به محدودهٔ تریگر باکس شلیک کند، دستورات اجرا میشوند. نکتهٔ مهم این است که در این حالت پلیر نمیتواند وارد محدوده شود و گلولهها نیز از آن عبور نمیکنند.
حالت
solidوonclickمیتواند از ورود بازیکن به محدوده جلوگیری کند.
۶. loop
این حالت بسیار قدرتمند و در عین حال باید مراقب استفاده از آن بود. در حالت loop دستورات بهصورت مداوم و پشتسرهم اجرا میشوند، بدون توجه به موقعیت پلیر. دو ویژگی اصلی آن:
- همهجا: تاثیر در هر نقطهٔ مپ
- همیشه: اجرا در فواصل کوتاه زمانی، حتی چندین بار در ثانیه
چرا با احتیاط؟ چون loop میتواند باعث لگ و مصرف بالای منابع شود — مخصوصاً اگر دستورات سنگین یا پیچیدهای داخل آن نوشته شود. بنابراین تا حد امکان از آن کم استفاده کنید و در صورت نیاز به اجرای مداوم، کدها را بهینه بنویسید.
مثال ساده
میخواهیم تریگر باکسی تعریف کنیم که هنگام ورود پلیر یک رویداد اجرا شود. برای این کار ابتدا حالت را تنظیم میکنیم:
mode{enter}
پس از این خط، میتوانید دیگر دستورات موردنظر که باید هنگام ورود اجرا شوند را قرار دهید.

نکات عملی و بهترین شیوهها
- همیشه قبل از نوشتن دستورات،
modeرا مشخص کنید. - از
loopفقط زمانی استفاده کنید که واقعاً نیاز به اجرای پیوسته دارید؛ در غیر این صورت از حالتهای مبتنی بر رویداد (enter,exit,onclick,solid) استفاده کنید. - دستورات درون حالتهای اجرای مداوم مثل
stayیاloopرا سبک و بهینه بنویسید تا از کاهش فریم و لگ جلوگیری شود.
نتیجهگیری
در این بخش با مفهوم تریگر باکس و همه حالتهای دستور mode آشنا شدیم. تریگر باکسها ابزارهای قدرتمندی برای طراحی منطق مپ و ساخت تعاملات در LAC هستند؛ اما برای استفادهٔ مؤثر و بدون ایجاد مشکلات عملکردی، باید حالتها و ساختار دستورات را با دقت انتخاب کرد.
اگر میخواهید از صفر تا صد تریگر باکس را یاد بگیرید و به یک کدنویس ماهر در LAC تبدیل شوید، دورهٔ آموزش تریگر باکس را در سایت الایسی شید دنبال کنید.
