Stive_Leroy[GRA]
Умник
В этом туторе я покажу как сделать проверку для игрока на вхожение в указанную зону.
Во-первых, вы должны понять как работает это. А работает это примерно так:
Во-первых, вы должны понять как работает это. А работает это примерно так:
PHP:
Точка 2
| |
| Нужная |
| Зона |
|_______________|
Точка 1.
Это очень простой и одновременно эффектный скрипт, который поможет создавать "Админ-арены"
Первое что мы должны сделать - это получить координаты.
Для этого можно воспользоваться /save, или же этой командой:
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/pos", cmdtext, true) == 0)
{
new string1[256];
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
format(string1,sizeof(string1),"*Позиция = X: %.0f , Y: %.0f , Z: %.0f",X,Y,Z);
SendClientMessage(playerid,COLOR_GREEN,string1);
return 1;
}
return 0;
}
Настраиваем карту на север, и теперь бежим на Юго-западную точку, затем в Северо-восточную. Узнаём координаты при помощи /pos.
Итак, создадим простой FS. Ставим вверх.
PHP:
forward isPlayerInArea();
PHP:
SetTimer("isPlayerInArea",1000, 1);
PHP:
public isPlayerInArea()
{
new Float:X, Float:Y, Float:Z; //Вары для XYZ
for(new i=0; i < MAX_PLAYERS; i++) //Делаем цикл
{
GetPlayerPos(i, X, Y, Z); //Этой командой узнаём XYZ
if (X <= -3915 && X >= -3694 && Y <= 401 && Y >= 37)
/* Это очень "нежная" (xD) хрень. Тут нужно менять числа в соответствии с координатами.
Формат: MinX, MaxX, MaxY, MinY
{
SetPlayerHealth(i, -999999.9); //Этим убиваем игрока если он зашёл, если ты злой то ставь функцию кика
}
}
}]
Если что-то не так пишите.
Спасибо!
by Stive
---------- Post added at 16:23 ---------- Previous post was at 15:30 ----------
Коммент хоть чтоль оставьте))
