shape1
shape2
shape3
shape4
shape7
shape8

Название района где находится игрок

  • Автор темы Amfy
  • Дата начала
A

Amfy

Гость
Гость
Название районов пишется под радаром в нижнем левом углу в виде TextDraw`a. Если место зоны неизвестно - пишет "Неизвестно". Каким макаром вписывать координаты, объясню в конце урока.

https://www.youtube.com/watch?v=Hb19mgJJ0OU&feature=youtu.be

Ко всем глобальным переменным:

new Text:TDZona[MAX_PLAYERS];

enum ZoneInfo
{
Float:zMin_x,
Float:zMin_y,
Float:zMax_x,
Float:zMax_y,
zName[30]
};
new ZoneName[][ZoneInfo] = {
{1722.9976, 2243.8809, 1800.4734, 2314.0176, "Автобаза"},//Оставил просто для примера
{1906.2468, 2219.3777, 1944.9504, 2253.3904, "Автошкола"}//Оставил просто для примера
};

В public OnPlayerConnect

TDZona[playerid] = TextDrawCreate(10.000000, 427.000000, "-");
TextDrawBackgroundColor(TDZona[playerid], 1182971135);
TextDrawFont(TDZona[playerid], 1);
TextDrawLetterSize(TDZona[playerid], 0.500000, 1.600000);
TextDrawColor(TDZona[playerid], -520093697);
TextDrawSetOutline(TDZona[playerid], 1);
TextDrawSetProportional(TDZona[playerid], 1);

В public OnPlayerDisconnect

TextDrawDestroy(TDZona[playerid]);

В public OnPlayerSpawn

TextDrawShowForPlayer(playerid, TDZona[playerid]);

В секундный таймер или в public OnPlayerUpdate (лучше в секундный)

UpdateZonaPlayer(playerid);

В конец мода

forward UpdateZonaPlayer(playerid);
public UpdateZonaPlayer(playerid)
{
new Float:coord[3];
GetPlayerPos(playerid, coord[0], coord[1], coord[2]);
for(new z = 0; z != sizeof(ZoneName); z ++)
{
if((coord[0] <= ZoneName[z][zMax_x] && coord[0] >= ZoneName[z][zMin_x]) && (coord[1] <= ZoneName[z][zMax_y] && coord[1] >= ZoneName[z][zMin_y]))
{
TextDrawSetString(TDZona[playerid], ZoneName[z][zName]);
break;
}
else
{
TextDrawSetString(TDZona[playerid], "Неизвестно");
}
}
return 1;
}

Координаты нужно снимать в виде квадрата. Для этого нужно снять в левом верхнем углу, это будет min_x, min_y и в правом нижнем углу, это будет max_x, max_y. Аналогично как и с функцией PlayerToKvadrat. Координаты вписывайте внимательно, смотрите какая X и Y меньше или больше. В массиве ZoneName идет с минимальной к максимальной. Т.е сначало две минимальные координаты, а потом две максимальные.

Картинку вам на всякий случай:

cr_1394297656__playertokvadrat.png


Всё! Если что не понятно - спрашивайте.

Автор: Amfy
 

SMETAHA

Новичок
Пользователь
23.03.2014
47
5
0
29
А если с территории уезжаешь, текстдрав пропадает или остается?

 
C

compan

Гость
Гость
Не ужели на видео,в первом посту не видно?

 

SMETAHA

Новичок
Пользователь
23.03.2014
47
5
0
29
Помогите,не появляются названия.

 

SMETAHA

Новичок
Пользователь
23.03.2014
47
5
0
29
картинка

Только черточка появляется! в какой паблик конкретно вставлять? вот это UpdateZonaPlayer(playerid);

 
Последнее редактирование модератором:

dryou97

Новичок
Пользователь
16.07.2014
2
0
0
Если написать название района по-русски,то текст не отображается.

Если по-английски то всё норм.

Как исправить?

 

dryou97

Новичок
Пользователь
16.07.2014
2
0
0
Если написать название района по-русски,то текст не отображается.

Если по-английски то всё норм.

Как исправить?
Плагин CRP подключен? Видео посмотри, у меня на русском все норм.
Всё нормально.Спасибо

 
Последнее редактирование модератором:

kolz

Новичок
Пользователь
07.01.2015
37
0
0
27
Извеняюсь, я юы хотел точно узнать как добавлять координаты! Я в этом только начинающий! Что нужно вставлять? Заранее благодарен!

 

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 512
3
550
0
29
framehost.ru
Скриптер
A

Amfy

Гость
Гость
Ну я не понял как вставлять координаты, извините я в павно не всё знаю! Только учусь, подскажи именно какие именно координаты?
Я написал в первом посте, если ты не понял, чем тебе помочь?

Снимаешь две координаты, одну в левом верхнем углу, другую в нижнем правом, сделай так и скинь координаты.

 

kolz

Новичок
Пользователь
07.01.2015
37
0
0
27
Я написал в первом посте, если ты не понял, чем тебе помочь?

Снимаешь две координаты, одну в левом верхнем углу, другую в нижнем правом, сделай так и скинь координаты.
Это вы похоже меня не понимаете, как сделать чтобы yflgbcb появляись именно в определённом месте. Что именно вставлять? Я /save пишу , а вставлять что нужно, X или Y?

 
A

Amfy

Гость
Гость
kolz, ты картинку не видишь в первом посте? ты не видишь как их снимают? Одну координату в левом верхнем углу, вторую - нижнем правом, в итоге получается квадрат!

Если до тебя не доходит, брось это дело, а то взорвешься.

 
Последнее редактирование:

forestgun

Освоившийся
Пользователь
25.08.2014
189
18
0
24
Спасибо, вот вопрос как сменить цвет надписи? 

 

LHTTD

Темная сторона Форума
Пользователь
08.10.2014
325
43
0
А не легче использовать PlayerToKvadrat?