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

 



 
          





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





Последние Файлы 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
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Alcoholik  
Создаем GPS по профессиям
RockmanДата: Воскресенье, 18.04.2010, 17:54 | Сообщение # 1
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Решил рассказать, как можно сделать небольшую GPS систему по профессиям.
Можно переделать под что угодно.
Я не претендую на уникальность и открытие "Америки", просто много раз видел как новички спрашивают как это сделать.

Подробнее об этой GPS системе:
Все довольно просто. Игрок встает на пикап, вводит команду, появляется диалоговое окно со списком профессий.
Выбрав одну из профессий на радаре появляется чекпоинт в том месте, где можно устроиться на выбранную им работу.
После того, как игрок прибыл на этот чекпоинт, он исчезает.

В моем примере пикап расположен в мэрии.

Итак как это сделать:

Ко всем new добавляем new gpsjobs;

Далее нам необходимо сделать пикап на котором игрок будет вводить команду.
В public OnGameModeInit() вставляем gpsjobs = CreatePickup(1581, 23, 362.1823,173.9139,1008.3828,-1); // GPS jobs

Модель пикапа и координаты можете выставить свои. В данном случае пикап находится в мэрии.
-1 указывает на то, что пикап будет отображаться во всех виртуальных мирах.

Теперь делаем саму команду.

[pwn]if(strcmp(cmd, "/jobs", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerToPoint(3.0, playerid,362.1071,173.8628,1008.3828))
{
ShowPlayerDialog(playerid, 58, DIALOG_STYLE_LIST, "GPS: Выберите интересующую вас работу.", "Детектив\nШлюха\nНаркодилер\nУгонщик\nВодитель автобуса\nМеханик\nРазносчик газет\nПродавец авто\nПродавец оружия", "Выбрать", "Отмена");
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Здесь не работает GPS. Вам нужно быть в мэрии.");
return 1;
}
}
}[/pwn]

Если вы меняете координаты пикапа, то их необходимо сменить и в этой строке if(PlayerToPoint(3.0, playerid,362.1071,173.8628,1008.3828))

Далее в public OnDialogResponse добавляем следующий код.

[pwn]else if(dialogid==58)
{
if(response)
{
switch(listitem)
{
case 0: { SetPlayerCheckpoint(playerid,359.2994,206.7888,1008.3828,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Детективом помечено красным маркером."); }
case 1: { SetPlayerCheckpoint(playerid,2421.4241,-1220.1045,25.5064,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Шлюхой помечено красным маркером."); }
case 2: { SetPlayerCheckpoint(playerid,2166.3220,-1675.4667,15.0859,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Наркодилером помечено красным маркером."); }
case 3: { SetPlayerCheckpoint(playerid,1109.2737,-1796.2308,16.5938,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Угонщиком помечено красным маркером."); }
case 4: { SetPlayerCheckpoint(playerid,1154.1823,-1770.8646,16.5992,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Водителем автобуса помечено красным маркером."); }
case 5: { SetPlayerCheckpoint(playerid,1072.6245,-1700.2961,13.5469,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Механиком помечено красным маркером."); }
case 6: { SetPlayerCheckpoint(playerid,765.6187,-1382.6399,13.6783,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Разносчиком газет помечено красным маркером."); }
case 7: { SetPlayerCheckpoint(playerid,531.8411,-1292.3922,17.2422,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Продавцом авто помечено красным маркером."); }
case 8: { SetPlayerCheckpoint(playerid,1366.3701,-1274.9960,13.5469,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Продавцом оружия помечено красным маркером."); }
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Отмена");
return 1;
}
}[/pwn]

У меня расположение профессий отличается от стандартного расположения профессий в GF, поэтому координаты ставим свои.

Затем делаем что бы по прибытию на чекпоинт, он исчезал.
В public OnPlayerEnterCheckpoint добавляем следующее.

[pwn]if (gpsjobs)
{
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Вы прибыли к месту, где можно устроиться на выбранную вами работу.");
GameTextForPlayer(playerid, "~w~GPS ~r~ OFF", 5000, 1);
}[/pwn]

Впринципе все ! Готово.
Для красоты можно добавить, что бы во время нахождения игрока на пикапе,
вылезало бы сообщение с командой, которую нужно ввести.

Для этого в public CustomPickups() вставляем

[pwn]if (PlayerToPoint(2.0, i, 362.1823,173.9139,1008.3828))
{// gpsjobs
GameTextForPlayer(i, "~w~ ~g~ /jobs", 5000, 5);
} [/pwn]

Надеюсь новичкам пригодится.

VenSДата: Воскресенье, 18.04.2010, 19:04 | Сообщение # 2
Уверенный в себе
Группа: Продвинутые
Сообщений: 170
Награды: 4
Город: Moscow
Репутация: 131
Замечания: 20%
Статус:
Молодец Хорошее FAQ для новечков :)
SprunkДата: Воскресенье, 18.04.2010, 19:07 | Сообщение # 3
Хостинг-провайдер
Группа: Пользователи
Сообщений: 2451
Награды: 125
Город: Волгоград.
Репутация: 774
Замечания: 100%
Статус:
Rockman,эм...ну что сказать,отлично ;)


pawn.su - Аренда игровых серверов.

Игровой портал Game Entertainment (Game-Ent.ru)

_LexA_Дата: Воскресенье, 18.04.2010, 19:18 | Сообщение # 4
Долгожитель
Группа: Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус:
Rockman, хорошая темка! ;)
InterpolДата: Воскресенье, 18.04.2010, 20:22 | Сообщение # 5
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 5358
Награды: 77
Город: НеБаку
Репутация: 3795
Замечания: 20%
Статус:
[offtop]
Quote (Rockman)
устроиться Шлюхой

Я понял кем нада на валакасе работать crazy [/offtop] хороший мануальчик :)



ImperealДата: Воскресенье, 18.04.2010, 21:26 | Сообщение # 6
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2677
Награды: 51
Город: Санкт-Петербург
Репутация: 1868
Замечания: 100%
Статус:
Rockman, делать то тут впринципе нечего но серавно хорош новичкам пригодится!:D


Прощай самп-рус =Р
xSLiMxДата: Понедельник, 19.04.2010, 14:34 | Сообщение # 7
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2163
Награды: 34
Город: Ростов - на - Дону
Репутация: 1429
Замечания: 80%
Статус:
Quote (Rockman)
16.5992,3);

Тут лучше 3.0

Норм мануалЪ

[RGS]JAGUARДата: Понедельник, 19.04.2010, 21:55 | Сообщение # 8
Советчик
Группа: Продвинутые
Сообщений: 1154
Награды: 25
Город: FloatX,FloatY,FloatZ
Репутация: 291
Замечания: 40%
Статус:
Rockman, Зачёт молодец + те в репу!


[/url]
Новая ICQ: 593922
SatelliteДата: Четверг, 22.04.2010, 19:42 | Сообщение # 9
Местный
Группа: Продвинутые
Сообщений: 622
Награды: 10
Город: Хмельницкий
Замечания: 20%
Статус:
гдето пол годика назад написал эту фишку,ток там было gps и все ост.данные типо FAQ ;D молодец,спас самп-рус от нуботем ;D
SMOUKДата: Четверг, 22.04.2010, 23:59 | Сообщение # 10
Местный
Группа: Продвинутые
Сообщений: 646
Награды: 13
Город: Рославль
Репутация: 284
Замечания: 100%
Статус:
Quote
RAYONS111

Нечего умного в своем посте ты не указал, тема отличная, это не твоя тема а другая, и думаю твоя тема которая была пол годика назад как ты подметил уже не в моде.


F_1NДата: Пятница, 23.04.2010, 15:50 | Сообщение # 11
Постоялец
Группа: Продвинутые
Сообщений: 476
Награды: 1
Город: Москва
Репутация: 55
Замечания: 0%
Статус:
Сделал как написано....

Вот ероры:

Code

C:\Vesper v.1.0 LS\gamemodes\gf.pwn(3894) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28802) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28804) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28806) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28808) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28810) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28812) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28814) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28816) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28818) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28820) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28822) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28824) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28828) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(28831) : error 010: invalid function or declaration
C:\Vesper v.1.0 LS\gamemodes\gf.pwn(7332) : warning 204: symbol is assigned a value that is never used: "gpsjobs"

Собственно строки с ерорами:

Code

3894    -   if (gpsjobs)
28802    -   else if(dialogid==58)
28804    -    if(response)
28806    -    switch(listitem)
28808    -    case 0: { SetPlayerCheckpoint(playerid,359.2994,206.7888,1008.3828,3);
28810    -    case 1: { SetPlayerCheckpoint(playerid,2421.4241,-1220.1045,25.5064,3);
......       -    Так далее с координатами ероры как выше указано....
7332      -    gpsjobs = CreatePickup(1318, 23, 674.1235,-1271.9990,13.6250,-1);

Помогите поправить...

RockmanДата: Пятница, 23.04.2010, 16:01 | Сообщение # 12
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
F_1N, не туда вставил.
Замени все что ты вставлял с 28802 строки на след. код
[pwn]if(dialogid==58)
{
if(response)
{
switch(listitem)
{
case 0: { SetPlayerCheckpoint(playerid,359.2994,206.7888,1008.3828,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Детективом помечено красным маркером."); }
case 1: { SetPlayerCheckpoint(playerid,2421.4241,-1220.1045,25.5064,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Шлюхой помечено красным маркером."); }
case 2: { SetPlayerCheckpoint(playerid,2166.3220,-1675.4667,15.0859,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Наркодилером помечено красным маркером."); }
case 3: { SetPlayerCheckpoint(playerid,1109.2737,-1796.2308,16.5938,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Угонщиком помечено красным маркером."); }
case 4: { SetPlayerCheckpoint(playerid,1154.1823,-1770.8646,16.5992,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Водителем автобуса помечено красным маркером."); }
case 5: { SetPlayerCheckpoint(playerid,1072.6245,-1700.2961,13.5469,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Механиком помечено красным маркером."); }
case 6: { SetPlayerCheckpoint(playerid,765.6187,-1382.6399,13.6783,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Разносчиком газет помечено красным маркером."); }
case 7: { SetPlayerCheckpoint(playerid,531.8411,-1292.3922,17.2422,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Продавцом авто помечено красным маркером."); }
case 8: { SetPlayerCheckpoint(playerid,1366.3701,-1274.9960,13.5469,3);
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* GPS: Место, где можно устроиться Продавцом оружия помечено красным маркером."); }
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Отмена");
return 1;
}
}[/pwn]

Добавлено (23.04.2010, 16:01)
---------------------------------------------
new gpsjobs; ко всем new добавлял ?

F_1NДата: Пятница, 23.04.2010, 16:05 | Сообщение # 13
Постоялец
Группа: Продвинутые
Сообщений: 476
Награды: 1
Город: Москва
Репутация: 55
Замечания: 0%
Статус:
Quote (Rockman)
new gpsjobs; ко всем new добавлял ?

Конечно!

Добавлено (23.04.2010, 16:05)
---------------------------------------------
Заменил... Всеравно теже ероры!

RockmanДата: Пятница, 23.04.2010, 16:10 | Сообщение # 14
Постоялец
Группа: Продвинутые
Сообщений: 428
Награды: 4
Город: Нижний Новгород
Репутация: 474
Замечания: 0%
Статус:
Скорее всего в public OnDialogResponse неправильно добавил.
axelshevaДата: Вторник, 01.02.2011, 23:11 | Сообщение # 15
Новенький
Группа: Пользователи
Сообщений: 20
Награды: 0
Город: Александрия
Репутация: 0
Замечания: 0%
Статус:
А можете показать пример как сделать gps на человека, например команда /gpsh [id] (GPS Human, по русски GPS человек).
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


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