-
Notifications
You must be signed in to change notification settings - Fork 0
Режимы
Все режимы объединяет не основной файл "offensive-core.pwn', а "system.pwn" в папке "game-modes". Это было сделано для упрощения в использовании различных методов.
Для создания/удаления локаций в режиме используются функции:
Mode_CreateLocation(mode_id, session_id, location_id, bool:start_server = false);
Mode_DestroyLocation(mode_id, session_id);
Для показа/скрытия различных элементов для игрока при заходе/выхода в режим:
Mode_CreateLocationPlayer(playerid, mode_id, session_id, bool:set = true);
Mode_DestroyLocationPlayer(playerid, bool:reset = true);
Цикл для перечисления игроков в режиме:
m_for(mode_id, session_id, p) {}
m_for(MODE_TDM, 0, p)
{
SendClientMessage(p, -1, "Всем игрокам в режиме TDM в сессии 0 отправлено сообщение");
}
Для игрока можно создавать в различных целях так называемые AE элементы, это Text3D, объекты, их можно использовать, например, для мини игры игрока.
Работа с AE Text3D:
Mode_CreatePlAE3DText(playerid, cell, const name[], color, typeclick, Float:pos_x, Float:pos_y, Float:pos_z, Float:radius, playerid_2, vehicleid, lost);
Mode_DestroyPlAE3DText(playerid, cell = -1);
Mode_UpdatePlAE3DText(playerid, cell, color, text[]);
Работа с AE Object:
Mode_CreatePlAEObject(p_object, cell, modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_OBJECT_SD, Float:drawdistance = STREAMER_OBJECT_DD, STREAMER_TAG_AREA:areaid = STREAMER_TAG_AREA:-1, priority = 0);
Mode_DestroyPlAEObject(playerid, cell = -1);
Mode_SetPlAEObjectMaterial(playerid, cell, materialindex, modelid, const txdname[], const texturename[], materialcolor = 0);
Mode_MovePlAEObject(playerid, cell, Float:x, Float:y, Float:z, Float:speed, Float:rx = -1000.0, Float:ry = -1000.0, Float:rz = -1000.0);
Mode_GetPlAEObjectPos(playerid, cell, &Float:x, &Float:y, &Float:z);
Они создаются как обычные 3DText и Object, но записываются в массивы для контроля над ними и удаляются при удалении любой локации в любых режимах.
В режимах на локациях имеется возможность начинать мини игры для игрока, условия задаются самостоятельно. Мини игры, например, это нажимать различные клавиши для выполнения какой-либо задачи.
SetPlayerMGSettings(playerid, num);
ResetPlayerMG(playerid);
MG_SetPlayerNum(playerid, num);
MG_GetPlayerNum(playerid);
MG_SetPlayerTimer(playerid, num);
MG_GetPlayerTimer(playerid);
MG_SetPlayerCount(playerid, num);
MG_GetPlayerCount(playerid);
MG_SetPlayerValue(playerid, num);
MG_GetPlayerValue(playerid);
MG_SetPlayerTime(playerid, num);
MG_GetPlayerTime(playerid);