OKStyle
Эксперт
Для начала давайте определимся, что же это за маркеры такие. "ENEX" - расшифровывается как: ENTER и EXIT. То есть вход и выход. Это такие жёлтые маркеры, через которые вы попадали в интерьеры и выходили из них.
В сингловых enex'ах гораздо больше параметров, включая название интерьеров и прочее, но мы сделаем упрощённый вариант.
Изначально тема поднялась в мануале про про цветные гоночные чекпоинты. Но сегодня я потратил время и доисследовал то, что откладывал долгое время.
Для начала инициализируем необходимые для работы переменные:
Далее функция создания искомых маркеров и заполнения параметров:
Использовать, например, в OnFilterScriptInit:
Далее экспериментальные функции, не тестировались...
В вашей проверке на сферу сравнить условия, если норм, то:
P.S. Попробуйте поэкспериментируйте с цветами, вероятно 2 белых и красный сделают маркер светлее, чем просто белый и красный.
Автор: OKStyle
ЗЫ: Пока писал тему, нашёл клиентский lua-скрипт от Vladimir_P, тут всё проще, но только для стандартных. Если что, скачать его можно в ресурсах.
В сингловых enex'ах гораздо больше параметров, включая название интерьеров и прочее, но мы сделаем упрощённый вариант.
Изначально тема поднялась в мануале про про цветные гоночные чекпоинты. Но сегодня я потратил время и доисследовал то, что откладывал долгое время.
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Для начала инициализируем необходимые для работы переменные:
PHP:
#define MAX_ENEX_MARKERS 100 // лимит маркеров
new gEnexCount; // счетчик маркеров
enum dEnex
{
Float:Ex,
Float:Ey,
Float:Ez,
Float:ePosX,
Float:ePosY,
Float:ePosZ,
Float:ePosA,
eInt,
eVw
};
new Data_Enex[MAX_ENEX_MARKERS][dEnex]; // конструкция, содержащая параметры маркеров
PHP:
stock CreateEnexMarker(Float:eX, Float:eY, Float:eZ, Float:pEx, Float:pEy, Float:pEz, Float:pEa, interior = 0, vworld = 0, fgcolor = 2, bool:bgcolor = false) // если bgcolor = true, то ставится чёрный сердечник
{
if(gEnexCount + 1 == MAX_ENEX_MARKERS) return 0; // превышен лимит
new enexid;
switch(fgcolor) // цвет маркера (от 0 до 21, т.е. 22 прозрачных варианта + 20 с черным сердечником, всего 42 варианта цвета)
{
case 00: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD", 1); // black
case 01: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"); // white
case 02: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
case 03: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"); // red
case 04: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 05: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 06: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
case 07: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"); // red
case 08: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 09: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 10: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"); // red
case 11: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 12: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 13: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"), // red
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 14: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"), // green
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 15: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"), // red
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 16: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"); // red
case 17: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 18: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 19: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"), // red
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"), // blue
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
case 20: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"), // green
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"), // blue
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
case 21: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"), // red
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"), // green
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
}
if(bgcolor) SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD", 1); // black
Data_Enex[enexid][Ex] = eX;
Data_Enex[enexid][Ey] = eY;
Data_Enex[enexid][Ez] = eZ;
Data_Enex[enexid][ePosX] = pEx;
Data_Enex[enexid][ePosY] = pEy;
Data_Enex[enexid][ePosZ] = pEz;
Data_Enex[enexid][ePosA] = pEa;
Data_Enex[enexid][eInt] = interior;
Data_Enex[enexid][eVw] = vworld;
gEnexCount++;
// создаём сферу (динамическую) или что хотите с id = enexid
return enexid;
}
PHP:
CreateEnexMarker(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); // x y z posx posy posz posa
// как видно, тут указываются координаты маркера, а затем координаты телепорта
// далее должны идти параметры интерьера и виртуального мира, по умолчанию - 0
// потом идут цвета, если они не указаны - будет по умолчанию прозрачный жёлтый
// пропустить аргументы до цветов можно так: _, _, как и в любой другой функции
PHP:
stock DestroyEnexMarker(enexid) // удаляет enex-маркер
{
for(new i, Float:oX, Float:oY, Float:oZ; i < MAX_OBJECTS; i++)
{
if(GetObjectModel(i) != 19607) continue;
GetObjectPos(i, oX, oY, oZ);
if(oX != Data_Enex[enexid][Ex] || oY != Data_Enex[enexid][Ey] || oZ != Data_Enex[enexid][Ez]) continue;
DestroyObject(i);
}
for(new dEnex:i; i < dEnex; ++i) Data_Enex[enexid][i] = 0;
gEnexCount--;
// + удаляем сферу или что там у вас
return 1;
}
stock PlayerUseEnexMarker(enexid, playerid) // реагирует на взаимодействие с enex-маркером
{
SetPlayerPos(playerid, Data_Enex[enexid][ePosX], Data_Enex[enexid][ePosY], Data_Enex[enexid][ePosZ]);
SetPlayerFacingAngle(playerid, Data_Enex[enexid][ePosA]);
SetPlayerInterior(playerid, Data_Enex[enexid][eInt]);
SetPlayerVirtualWorld(playerid, Data_Enex[enexid][eVw]);
SetCameraBehindPlayer(playerid);
return 1;
}
PHP:
PlayerUseEnexMarker(enexid, playerid); // где enexid будет id сферы, если вы все сделали правильно
Автор: OKStyle
ЗЫ: Пока писал тему, нашёл клиентский lua-скрипт от Vladimir_P, тут всё проще, но только для стандартных. Если что, скачать его можно в ресурсах.
PHP:
// Colored Enex Marker by O.K.Style
#define MAX_ENEX_MARKERS 100
new gEnexCount;
enum dEnex
{
Float:Ex,
Float:Ey,
Float:Ez,
Float:ePosX,
Float:ePosY,
Float:ePosZ,
Float:ePosA,
eInt,
eVw
};
new Data_Enex[MAX_ENEX_MARKERS][dEnex];
stock CreateEnexMarker(Float:eX, Float:eY, Float:eZ, Float:pEx, Float:pEy, Float:pEz, Float:pEa, interior = 0, vworld = 0, fgcolor = 2, bool:bgcolor = false)
{
if(gEnexCount + 1 == MAX_ENEX_MARKERS) return 0;
new enexid;
switch(fgcolor)
{
case 00: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD", 1); // black
case 01: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"); // white
case 02: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
case 03: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"); // red
case 04: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 05: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 06: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
case 07: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"); // red
case 08: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 09: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 10: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"); // red
case 11: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 12: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 13: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"), // red
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 14: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"), // green
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 15: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"), // red
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 16: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"); // red
case 17: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"); // green
case 18: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD"), // white
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"), // yellow
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"); // blue
case 19: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"), // red
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"), // blue
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
case 20: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"), // green
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-4"), // blue
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
case 21: SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-2"), // red
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker4-3"), // green
SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 19605, !"enexmarkers", !"enexmarker1-2"); // yellow
}
if(bgcolor) SetObjectMaterial(CreateObject(19607, eX, eY, eZ, 0.0, 0.0, 0.0), 0, 1559, !"diamond", !"CJ_W_GRAD", 1); // black
Data_Enex[enexid][Ex] = eX;
Data_Enex[enexid][Ey] = eY;
Data_Enex[enexid][Ez] = eZ;
Data_Enex[enexid][ePosX] = pEx;
Data_Enex[enexid][ePosY] = pEy;
Data_Enex[enexid][ePosZ] = pEz;
Data_Enex[enexid][ePosA] = pEa;
Data_Enex[enexid][eInt] = interior;
Data_Enex[enexid][eVw] = vworld;
gEnexCount++;
// создаём сферу (динамическую) или что хотите с id = enexid
return enexid;
}
stock DestroyEnexMarker(enexid)
{
for(new i, Float:oX, Float:oY, Float:oZ; i < MAX_OBJECTS; i++)
{
if(GetObjectModel(i) != 19607) continue;
GetObjectPos(i, oX, oY, oZ);
if(oX != Data_Enex[enexid][Ex] || oY != Data_Enex[enexid][Ey] || oZ != Data_Enex[enexid][Ez]) continue;
DestroyObject(i);
}
for(new dEnex:i; i < dEnex; ++i) Data_Enex[enexid][i] = 0;
gEnexCount--;
// + удаляем сферу или что там у вас
return 1;
}
stock PlayerUseEnexMarker(enexid, playerid)
{
SetPlayerPos(playerid, Data_Enex[enexid][ePosX], Data_Enex[enexid][ePosY], Data_Enex[enexid][ePosZ]);
SetPlayerFacingAngle(playerid, Data_Enex[enexid][ePosA]);
SetPlayerInterior(playerid, Data_Enex[enexid][eInt]);
SetPlayerVirtualWorld(playerid, Data_Enex[enexid][eVw]);
SetCameraBehindPlayer(playerid);
return 1;
}
