02:39
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: AXE, Weddew  
О чекпоинтах
bleyzДата: Понедельник, 17.03.2008, 17:39 | Сообщение # 31
Постоялец
Группа: Продвинутые
Сообщений: 479
Награды: 3
Город: Мехико
Репутация: 44
Замечания: 20%
Статус:
Torres,

new z1 = GangZoneCreate(2452.7759,-1711.3976, 2441.0083,-1683.9060,182.9858, 2506.1646,-1693.7399,1.2427, 2529.0569,-1700.6390,13.4989);

тоеть так дольнжно быть примерно так?


[GM] League Script
[GM] Drift-Mod

Свалка - дом Блейза [oS]_[HIT]©

Shadow_TDHДата: Понедельник, 17.03.2008, 17:57 | Сообщение # 32
Новенький
Группа: Продвинутые
Сообщений: 48
Награды: 1
Город: Уфа
Репутация: 4
Замечания: 0%
Статус:
bleyz:
Code
    new z1 = GangZoneCreate(2448.3066, -1727.9564, 2539.9016, -1629.5887);
  GangZoneShowForAll(z1, 0x00FF00AA);

Пихай в OnGameModeInit. Грув станет зеленым. :)

bleyzДата: Понедельник, 17.03.2008, 18:49 | Сообщение # 33
Постоялец
Группа: Продвинутые
Сообщений: 479
Награды: 3
Город: Мехико
Репутация: 44
Замечания: 20%
Статус:
пля я так и не понял как определять територии зоны...


[GM] League Script
[GM] Drift-Mod

Свалка - дом Блейза [oS]_[HIT]©

OKStyle™Дата: Понедельник, 17.03.2008, 20:23 | Сообщение # 34
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
Спс Шапов, а вот ещё хотел... У меня в чекпоинте должна работать команда. Команда в паблике команд, а проверка зоны чекпоинта в паблике чекпоинта... как их совместить?
Будет что-то типа:

Code
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/m4", true) == 0 && IsPlayerInCheckpoint(playerid) && IsPlayerInArea(playerid, ...))
{     
         GivePlayerWeapon(playerid, 31, 500); // При заходе на чекпойнт в определенной зоне игроку выдается М4 с 500 патронами     
}
return 0;     
}     
return 1;
}

Или как? wall


Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR


Сообщение отредактировал okstyle - Вторник, 18.03.2008, 05:39
Shadow_TDHДата: Понедельник, 17.03.2008, 20:47 | Сообщение # 35
Новенький
Группа: Продвинутые
Сообщений: 48
Награды: 1
Город: Уфа
Репутация: 4
Замечания: 0%
Статус:
Я так понял тебе нужна проверка игрока в чекпойнте при вводе команды.
Ну тут два варианта, либо ставь условие находится ли игрок в зоне с чекпойнтом, либо находится ли он в зоне самого чекпойнта.

OKStyle™Дата: Вторник, 18.03.2008, 05:30 | Сообщение # 36
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
Shadow_TDH, просто если поставить проверку нахождения в чекпоинте, то команда будет работать во ВСЕХ чекпоинтах, поставленных на карту (ну кроме гоночных). А мне надо, чтобы только в 1. И ещё: в каком инклюде функция IsPlayerInArea? Её даже в правом столбике в pawno нет... Или я плохо искал... Короче пишет, что неизвестная команда...


Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR


Сообщение отредактировал okstyle - Вторник, 18.03.2008, 05:39
Shadow_TDHДата: Вторник, 18.03.2008, 08:41 | Сообщение # 37
Новенький
Группа: Продвинутые
Сообщений: 48
Награды: 1
Город: Уфа
Репутация: 4
Замечания: 0%
Статус:
Ни в каком, её надо самому вставить в код :)
Code
public IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
  {
   new Float:x, Float:y, Float:z;
   GetPlayerPos(playerid, x, y, z);
   if (x > minx && x < maxx && y > miny && y < maxy) return 1;
   return 0;
  }

Если ты при помощи IsPlayerInArea будешь проверять, находится ли игрок в зоне чекпойнта, то команда будет работать только на одном.

OKStyle™Дата: Вторник, 18.03.2008, 08:50 | Сообщение # 38
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
я написал так:

Code
#define MAX_POINTS 1 (кол-во координат зон, у меня пока 1)
   forward isPlayerInArea(playerid, Float:data[4]);
    new Float:checkCoords[MAX_POINTS][4] = {
{200.6060,218.6642,-112.0051,-95.1402} // вот она 1 зона
};
       
    public isPlayerInArea(playerid, Float:data[4])
{
     new Float:X, Float:Y, Float:Z;
     GetPlayerPos(playerid, X, Y, Z);
     if(X >= data[0] && X <= data[2] && Y >= data[1] && Y <= data[3])
     {
    SetPlayerCheckpoint(playerid, 180.9803,-91.7398,1002.0234, 2.0);
     }
     return DisablePlayerCheckpoint(playerid);
}

Но не работает... Это чтобы чекпоинт появлялся только при нахождении игрока в зоне.


Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR


Сообщение отредактировал okstyle - Вторник, 18.03.2008, 08:52
Shadow_TDHДата: Вторник, 18.03.2008, 09:08 | Сообщение # 39
Новенький
Группа: Продвинутые
Сообщений: 48
Награды: 1
Город: Уфа
Репутация: 4
Замечания: 0%
Статус:
Я немного не понял, зачем ты саму функцию-то изменил? Она у тебя щас будет возвращать только отключение чекпойнта.
А эти координаты вообще зачем, если ты их не проверяешь даже?
Code
    new Float:checkCoords[MAX_POINTS][4] = {  
{200.6060,218.6642,-112.0051,-95.1402} // вот она 1 зона  
};

Вообщем делай так.
Заменяй на ту isPlayerInArea что у тебя в скрипте:
Code
public IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)  
   {  
    new Float:x, Float:y, Float:z;  
    GetPlayerPos(playerid, x, y, z);  
    if (x > minx && x < maxx && y > miny && y < maxy) return 1;  
    return 0;  
   }

Потом при вводе определенной команды делай проверку

Code
if(IsPlayerInArea(playerid, 200.6060,218.6642,-112.0051,-95.1402) ) {
// Здесь что-то происходит
}

OKStyle™Дата: Вторник, 18.03.2008, 09:11 | Сообщение # 40
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
Shadow_TDH, угу, допёр уже... Забыл про двойное условие... Спасибо.
Только вот тут:
Code
if (x > minx && x < maxx && y > miny && y < maxy) return 1;

не надо ставить числа?

И ещё: для создание чекпоинтов в здании, нужно интерьер задавать? А то ставлю координаты, а чекпоинт совершенно в другом месте на улице ставится.

И последний:

Code
if(IsPlayerInArea(playerid, 200.6060,218.6642,-112.5288,-95.1402))
{SetPlayerCheckpoint(playerid, 217.7404,-98.4613,1005.2578, 2.0);}

я вставил в OnPlayerSpawn. Ничего не происходит... Чекпоинт не появляется при заходе в зону.



Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR


Сообщение отредактировал okstyle - Вторник, 18.03.2008, 09:47
Shadow_TDHДата: Вторник, 18.03.2008, 11:21 | Сообщение # 41
Новенький
Группа: Продвинутые
Сообщений: 48
Награды: 1
Город: Уфа
Репутация: 4
Замечания: 0%
Статус:
Попробуй замени на
Code
if(IsPlayerInArea(playerid, 200.6060,218.6642,-112.5288,-95.1402))  
{SetPlayerCheckpoint(playerid, 217.7404,-98.4613,1005.2578, 2.0);
  print("You've entered the zone."}

Если в консоли при заходе в зону выведется сообщение "You've entered the zone", значит дело в чекпойнте. Если нет - проблема в зоне. Хотя по координатам все нормально выглядит.

Quote (okstyle)
Shadow_TDH, угу, допёр уже... Забыл про двойное условие... Спасибо.Только вот тут:Code if (x > minx && x < maxx && y > miny && y < maxy) return 1;

не надо ставить числа?


Нет, не надо. Здесь происходит сравнение текущей позиции игрока с позициями, заданными в зоне. Т.е. например если x больше минимального значения x (в даном случае это 200.6060), меньше максимального, а y больше мин и меньше макс то функция возвратит значение 1 (игрок находится в зоне).

Quote (okstyle)
И ещё: для создание чекпоинтов в здании, нужно интерьер задавать? А то ставлю координаты, а чекпоинт совершенно в другом месте на улице ставится.

Ну я не знаю можно ли вообще чекпойнты в интерьерах создавать.. Но интерьер задать можно только игроку, а не чекпойнту.. :)

LuxurYДата: Среда, 19.03.2008, 12:21 | Сообщение # 42
Уверенный в себе
Группа: Продвинутые
Сообщений: 281
Награды: 1
Город: OZ
Репутация: 45
Замечания: 0%
Статус:
епт) а не проще скачать вот эту штуку?
http://forum.sa-mp.com/index.php?topic=40383.0



www.gtascript.ru admin
www.gtascript.ru - профессиональный скриптинг SA-MP, MTA
WintMaxДата: Среда, 19.03.2008, 13:43 | Сообщение # 43
Местный
Группа: Продвинутые
Сообщений: 562
Награды: 2
Город: Ростов-на-Дону
Репутация: 67
Замечания: 0%
Статус:
Это я так понимаю, инкуилды?))
OKStyle™Дата: Среда, 19.03.2008, 16:13 | Сообщение # 44
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
LuxurY, смысл твоего инклюда? Все чекпоинты одновременно появляются на карте и обозначаются красным квадратом?

Shadow_TDH, а где вставить код создания чекпоинта при нахождении в зоне? в какой паблик? Попробовал Spawn, Connect и несколько других.. Никаких изменений. Я поставил так (в OnPlayerSpawn):

Code
if(IsPlayerInArea(playerid, 200.6060,218.6642,-112.5288,-95.1402))
{
SetPlayerCheckpoint(playerid, 217.7404,-98.4613,1005.2578, 2.0);
SendClientMessage(playerid,COLOR_LIGHTBLUE," Ты в зоне чекпоинта");
}

Ничего не написал (цвет я в define закидывал, так что всё ок)



Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR


Сообщение отредактировал okstyle - Среда, 19.03.2008, 16:16
Shadow_TDHДата: Среда, 19.03.2008, 17:33 | Сообщение # 45
Новенький
Группа: Продвинутые
Сообщений: 48
Награды: 1
Город: Уфа
Репутация: 4
Замечания: 0%
Статус:
Надо таймер ставить.
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua