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

SetPlayerRaceCheckpoint

توضیحات

یک race checkpoint می‌سازه. وقتی پلیر وارد اون می‌شه، callback OnPlayerEnterRaceCheckpoint فراخوانی می‌شه.

نامتوضیحات
playeridآیدی پلیری که قراره checkpoint براش تنظیم بشه
CP_TYPE:typeنوع race checkpoint
Float:centreXمختصات X
Float:centreYمختصات Y
Float:centreZمختصات Z
Float:nextXمختصات X نقطه بعدی، برای جهت پیکان
Float:nextYمختصات Y نقطه بعدی، برای جهت پیکان
Float:nextZمختصات Z نقطه بعدی، برای جهت پیکان
Float:radiusاندازه (قطر) checkpoint

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

true - تابع با موفقیت اجرا شد.

false - تابع نتونست اجرا بشه. یعنی پلیر مشخص شده وجود نداره.

مثال‌ها

SetPlayerRaceCheckpoint(playerid, CP_TYPE_GROUND_NORMAL, 644.3091, 1767.0223, 4.9970, 650.6734, 1812.0367, 4.9970, 3.0);

مثال دیگه:

//az race filterscript e Yagu, (c) tosse Yagu
public SetRaceCheckpoint(playerid, Airrace, target, next)
{
if (next == -1 && Airrace == 0)
{
SetPlayerRaceCheckpoint(playerid, CP_TYPE_GROUND_FINISH, RaceCheckpoints[target][0], RaceCheckpoints[target][1], RaceCheckpoints[target][2], 0.0, 0.0, 0.0, CPsize);
}
else if (next == -1 && Airrace == 1)
{
SetPlayerRaceCheckpoint(playerid, CP_TYPE_AIR_FINISH, RaceCheckpoints[target][0], RaceCheckpoints[target][1], RaceCheckpoints[target][2], 0.0, 0.0, 0.0, CPsize);
}
else if (Airrace == 1)
{
SetPlayerRaceCheckpoint(playerid, CP_TYPE_AIR_NORMAL, RaceCheckpoints[target][0], RaceCheckpoints[target][1], RaceCheckpoints[target][2], RaceCheckpoints[next][0], RaceCheckpoints[next][1], RaceCheckpoints[next][2], CPsize);
}
else
{
SetPlayerRaceCheckpoint(playerid, CP_TYPE_GROUND_NORMAL, RaceCheckpoints[target][0], RaceCheckpoints[target][1], RaceCheckpoints[target][2], RaceCheckpoints[next][0], RaceCheckpoints[next][1], RaceCheckpoints[next][2], CPsize);
}
}

نکات

هشدار

Race checkpoint ها asynchronous هستن، یعنی فقط یکی رو می‌تونی یه موقع نشون بدی. برای 'stream' کردن race checkpoint ها (فقط موقعی نشونشون بدی که پلیر ها نزدیک باشن)، از race checkpoint streamer استفاده کن.

توابع مرتبط

Callback های مرتبط

منابع مرتبط