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

 



 
          





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





Последние Файлы 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
  • »
Модератор форума: Interpol  
[Plugin] RNPC - Recordfree NPCs | Контролируемые боты
AirKiteДата: Среда, 09.01.2013, 08:18 | Сообщение # 1
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Recordfree NPCs


Описание:
Плагин позволяет управлять NPC (боты) из PAWN т.е. функционал подобен плагину Controllable NPC by Alex009. Отличия лишь в принципе их работы. Данный плагин использует стандартных ботов, генерацию .rec файла и его моментальное воспроизведение.

Автор: Mauzen

Пример работы (YouTube):

http://www.youtube.com/watch?v=mM4xCOvavZQ[

Функции и события:
Код

ConnectRNPC(name[]); // подключает бота и возвращает его ID.
MoveRNPC(npcid, Float:x, Float:y, Float:z, Float:speed); // создаёт движение боту (не нужен RNPC_CreateBuild).

RNPC_CreateBuild(npcid, type, slot=0); // создаёт запись   
RNPC_FinishBuild(clear=1); // завершает запись
RNPC_StartBuildPlayback(npcid, slot=0, vehicleid=0) // запускает сгенерированный .rec файл
RNPC_AddMovement(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:speed=RNPC_SPEED_RUN); // создаёт движение от xyz1 до xyz2
RNPC_AddAutoMovement(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:speed=RNPC_SPEED_RUN, maxsteps=1000);
RNPC_ConcatMovement(Float:x, Float:y, Float:z, Float:speed=RNPC_SPEED_RUN); // создаёт движение до xyz от текущей позиции
RNPC_AddPause(time); // создаёт паузу
RNPC_SetUpdateRate(rate); // задаёт интервал обновления бота (норма 100 ms).
RNPC_SetLRKeys(lr); // статус LEFR-RIGHT клавиш
RNPC_SetUDKeys(ud); // статус UP-DOWN клавиш
RNPC_SetKeys(keys); // статус клавиш
RNPC_SetQuat1(Float:w); // Функции ротации
RNPC_SetQuat2(Float:x);
RNPC_SetQuat3(Float:y);
RNPC_SetQuat4(Float:z);
RNPC_SetAngleQuats(Float:a, Float:h, Float:b); // Ротация
RNPC_SetHealth(hp); // устанавливает HP
RNPC_SetArmour(arm); // устанавливает броню
RNPC_SetSpecialAction(sp); // аналог SetPlayerSpecialAction, только для бота
RNPC_SetWeaponID(weaponid); // даёт оружие
RNPC_SetAnimID(anim); // задаёт анимацию
RNPC_SetAnimParams(params); // задаёт параметры анимации
RNPC_GetBuildLength(); // возвращает величину .rec файла
RNPC_SetSirenState(siren); // статус сирены
RNPC_SetDriverHealth(health); // HP водителя или автомобиля <img rel="usm" src="http://www.samp-rus.com/Smiles_for_forum/lol.gif" border="0" align="absmiddle" alt=":D" />
RNPC_SetInternalPos(Float:x, Float:y, Float:z); // задаёт позицию
RNPC_SetAcceleration(Float:acc); // скорость для AddMovementAlt
RNPC_SetDeceleration(Float:dec); // пока не реализовано
RNPC_AddMovementAlt(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:speed=RNPC_SPEED_RUN, bool:lock=true); // движение от xyz1 до xyz2 (lock для удержания траектории по Z координате, нужен Map_Andreas плагин)
RNPC_SetAutorepeat(npcid,repeat); // автоматический повтор воспроизведения .rec файла

public OnRNPCPlaybackFinished(npcid) - вызывается когда завершено воспроизведение .rec файла

Подробнее на Wiki: http://wiki.sa-mp.com/wiki/Rnpc
Пример использования:
Функция преследование игрока
Код

stock FollowPlayer(npcid, targetid)
{
      SetTimerEx("Follower", 500, 1, "ii", npcid, targetid);
}

forward Follower(npcid, targetid);
public Follower(npcid, targetid)
{
      new Float:x, Float:y, Float:z;
      GetPlayerPos(targetid, x, y, z);
      MoveRNPC(npcid, x, y, z, 0.006);
}

Летающее такси:
Код

new npc = ConnectRNPC("Racer"); // подключаем бота (получаем его id в npc)
new veh = CreateVehicle(420, 0.0, 0.0, 25.0, 0.0, -1, -1, 0); // создаём такси, (получаем id в veh)
PutPlayerInVehicle(npc, veh, 0); // засовывем npc в veh

RNPC_CreateBuild(npc, PLAYER_RECORDING_TYPE_DRIVER); // создаём .rec файл DRIVER типа
RNPC_SetAcceleration(0.003); // задаём скорость
RNPC_AddMovementAlt(0.0, 0.0, 25.0, 0.0, 500.0, 25.0, 0.15, false); // указываем откуда и куда передвигать
RNPC_FinishBuild(); // завершаем генерацию .rec файла

RNPC_StartBuildPlayback(npc); // запускаем воспроизведение .rec файла

Прикрепления: RNPC_03.zip (100.5 Kb)


[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Среда, 09.01.2013, 08:19
X_LeonSДата: Среда, 09.01.2013, 09:51 | Сообщение # 2
Группа: I'm V.I.P.
Сообщений: 610
Награды: 8
Город: Барнаул
Репутация: 202
Замечания: 40%
Статус:
подобен, но не он((( жалко


Мои услуги:
-Качественный мапинг (в данный момент работ нет так как пока всё для своего сервера)
-Скриптинг мелочей
-Разработка сайтов
-Работы в PhotoShop
Обращаться по icq или скайпу!
ICQ - 926048
Skype - x_leons


AirKiteДата: Среда, 09.01.2013, 16:21 | Сообщение # 3
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Цитата (X_LeonS)
подобен, но не он((( жалко

HTC это круто, но не IPhone ? crazy
Когда я купил CNPC, я конечно не жалел что поощрил Alex009 денежкой. Он молодец. Но плагин воистину багнутый, создаёт бесконечную кучу аномалий на сервере. Так что надёжней использовать именно стандартных NPC. Да и потом, этим плагином можно реализовать всё ровно то, что и CNPC и даже больше ;)

UPD:
p.s. Из всех этих функций, в принципе в PAWN можно сделать точные аналоги CNPC.



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Среда, 09.01.2013, 17:42
X_LeonSДата: Среда, 09.01.2013, 17:57 | Сообщение # 4
Группа: I'm V.I.P.
Сообщений: 610
Награды: 8
Город: Барнаул
Репутация: 202
Замечания: 40%
Статус:
я не использовал ни то ни этот так что сравнить мне тяжело и я просто сужу по функионалу ;)


Мои услуги:
-Качественный мапинг (в данный момент работ нет так как пока всё для своего сервера)
-Скриптинг мелочей
-Разработка сайтов
-Работы в PhotoShop
Обращаться по icq или скайпу!
ICQ - 926048
Skype - x_leons


AirKiteДата: Среда, 09.01.2013, 23:15 | Сообщение # 5
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
X_LeonS, у этого плагина полный функционал возможностей бота. Можно реализовать всё что только можно записать в .rec файл. т.е. по сути всё что может сделать игрок.


[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record
AndroidДата: Четверг, 10.01.2013, 00:21 | Сообщение # 6
Группа: I'm V.I.P.
Сообщений: 1066
Награды: 11
Город: Рязань
Репутация: 571
Замечания: 0%
Статус:
Очень здорово!


Играй там где лучше Server Gta San Andreas: Multiplayer 0.3.7



Без труда талант - это фейерверк: на мгновение ослепляет, а потом ничего не остается
Alex009Дата: Пятница, 11.01.2013, 10:23 | Сообщение # 7
Уважаемый человек
Группа: Продвинутые
Сообщений: 917
Награды: 10
Репутация: 661
Замечания: 0%
Статус:
Цитата (AirKite)
Да и потом, этим плагином можно реализовать всё ровно то, что и CNPC и даже больше

Однако нет, не ровно, а меньше. :) Функционал CNPC
И главный минус стандартных npc этот плагин не уберет - сильно большие требования на 1 npc. С этим плагином нет возможности создать 300-400 ботов (Пример - сервер с зомби npc. У меня такой был)
Цитата (AirKite)
Но плагин воистину багнутый, создаёт бесконечную кучу аномалий на сервере.

Баги убираются, проблемы пропадают. Сейчас с проблемами ко мне редко обращаются, последние баги исправлены в R4. (Основной был - большие затраты трафика)



Controllable NPC developer
soProject developer
AirKiteДата: Пятница, 11.01.2013, 13:43 | Сообщение # 8
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Цитата (Alex009)
Однако нет, не ровно, а меньше. Функционал CNPC

Ну тут с какой стороны посмотреть. Можно заметить меньше, а можно и больше. Во всяком случае плагин позволяет загибать ботов по всей их природе в целом. А дополнительный функционал не относящийся к самим ботам на прямую, это уже другая история ;)

p.s. Если я что то проглядел, опиши конкретный функционал при помощи которых нельзя что то проделать в этом плагине по сравнению с CNPC.



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record
Alex009Дата: Суббота, 12.01.2013, 11:37 | Сообщение # 9
Уважаемый человек
Группа: Продвинутые
Сообщений: 917
Награды: 10
Репутация: 661
Замечания: 0%
Статус:
Самое простое, и принципиально невозможное со стандартными ботами на данный момент, это - стрельба в определенную точку (не прямо перед собой). Невозможно это потому, что записи ботов содержат только данные либо пакетов синхронизации движения на земле, либо синхронизации движения в транспорте. Синхронизации aim нет, так же как и пассажиров (вот и второй пример. А из него вытекают и все действия связанные с пассажирами, хотя это в целом только стрельба из окна, где используется и aim и синхронизация пассажира).
P.S. Дополнительные минусы по сравнению с CNPC:
1. Высокие затраты памяти и цп на 1 бота (Главная причина создания CNPC)
2. Ботов нельзя убить
Ну а дальше дополнительный функционал в виде графа путей gta sa, нахождение кратчайшего пути по этому графу, встроенная работа с zmap. И даже поддержка записей ботов присутствует, для тех кому это очень хочется.



Controllable NPC developer
soProject developer
AirKiteДата: Суббота, 12.01.2013, 13:34 | Сообщение # 10
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Цитата (Alex009)
Самое простое, и принципиально невозможное со стандартными ботами на данный момент, это - стрельба в определенную точку (не прямо перед собой). Невозможно это потому, что записи ботов содержат только данные либо пакетов синхронизации движения на земле, либо синхронизации движения в транспорте.

Не понял... Вроде записывали стрельбу со скалы, солдатики стреляли вниз. AIM вполне записывался. В генераторе записи можно использовать:
Код

RNPC_SetQuat1(Float:w); // Функции ротации    
RNPC_SetQuat2(Float:x);    
RNPC_SetQuat3(Float:y);    
RNPC_SetQuat4(Float:z);
//и
RNPC_SetKeys(keys); // статус клавиш


Цитата (Alex009)
2. Ботов нельзя убить

Почему? Можно всё.

Цитата (Alex009)
1. Высокие затраты памяти и цп на 1 бота (Главная причина создания CNPC)

Насчёт ЦП ещё можно поспорить (по крайне мере со старой версией, которую я покупал). А вот память, это да.



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Суббота, 12.01.2013, 13:38
ApecДата: Суббота, 12.01.2013, 19:53 | Сообщение # 11
Группа: Mappers
Сообщений: 1307
Награды: 29
Город: Минск
Репутация: 1922
Замечания: 0%
Статус:
Я могу с помощью него посадить бота на места пассажира к игроку и заставить стрелять по другим авто?




Сообщение отредактировал Apec - Суббота, 12.01.2013, 19:53
Alex009Дата: Суббота, 12.01.2013, 20:21 | Сообщение # 12
Уважаемый человек
Группа: Продвинутые
Сообщений: 917
Награды: 10
Репутация: 661
Замечания: 0%
Статус:
Код
RNPC_SetQuat1(Float:w); // Функции ротации     
RNPC_SetQuat2(Float:x);     
RNPC_SetQuat3(Float:y);     
RNPC_SetQuat4(Float:z);

Это функции поворота (если пешком - поворот скина в пространстве, если в транспорте - поворот транспорта в пространстве)
Цитата (AirKite)
Вроде записывали стрельбу со скалы, солдатики стреляли вниз. AIM вполне записывался.

aim пакетов в записях нет, поэтому стрелять будут они прямо.

Apec, нет. С помощью CNPC - да.



Controllable NPC developer
soProject developer
AirKiteДата: Воскресенье, 13.01.2013, 11:48 | Сообщение # 13
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Цитата (Alex009)
aim пакетов в записях нет, поэтому стрелять будут они прямо.

Как же тогда записываются .rec файлы в которых боты стреляют и вверх и вниз и т.д.???

Цитата (Alex009)
Это функции поворота (если пешком - поворот скина в пространстве, если в транспорте - поворот транспорта в пространстве)

Есть ещё RNPC_SetAngleQuats(Float:a, Float:h, Float:b);
Хотя именно с тем, что Drive-By у этих ботов невозможен, я соглашусь.

p.s. Насчёт AIM-а понял что ты имеешь ввиду. Он там есть, правда псевдо...



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record


Сообщение отредактировал AirKite - Воскресенье, 13.01.2013, 11:50
RusKeyДата: Воскресенье, 13.01.2013, 12:47 | Сообщение # 14
Группа: I'm V.I.P.
Сообщений: 1086
Награды: 25
Город: Санкт-Петербург
Репутация: 273
Замечания: 80%
Статус:
При создании бота который стоит на месте,он обязательно занимает слот в 'tab'*е? :(


zEscДата: Воскресенье, 13.01.2013, 13:50 | Сообщение # 15
Global Elite
Группа: Ангел Хранитель
Сообщений: 896
Награды: 20
Репутация: 856
Замечания: 0%
Статус:
слот - да
Место в табе - нет



  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:





 


 


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