Форум » CКРИПТЫ FPI » Полноценный союзник » Ответить

Полноценный союзник

Evil Genius: ВНИМАНИЕ!!! ВНИМАНИЕ!!! Вот скрипт союзника, работающего на 9 версии конструктора (может и ниже) V3.0 Здесь используем скрипт союзника и скрипт врага. (советую ставить по одному скрипту на человека). Врагов называем от enemy_01 до enemy_05, союзник самостоятельный. Союзник: [more];Artificial Intelligence Script ;Header desc = ALLY & Enemy V3.0 (by Evil Genius) ;Triggers :always:settargetname=enemy_05 :always:settargetname=enemy_04 :always:settargetname=enemy_03 :always:settargetname=enemy_02 :always:settargetname=enemy_01 :state=0:state=30,reloadweapon,SETVAR=1 :state=15:rotatetotarget :state=15,VAREQUAL=0,ifweapon=1:useweapon,rundecal=6 :state=15,ifweapon=0:state=1,setframe=36 :state=15,VARNOTEQUAL=0:state=30,animate=1 :state=15,shotdamage=5:state=25 :state=1:incframe=36 :state=1,frameatend=36:state=15,reloadweapon,sound=audiobank\guns\reload.wav :state=2:freeze,animate=1,state=3 :state=3:runfpidefault=1 :state=25,random=1:state=26,setframe=4 :state=25:state=27,setframe=3 :state=26:incframe=4,strafe=90,rotatetotarget :state=26,random=4:useweapon,rundecal=6 :state=26,frameatend=4:animate=1,state=15 :state=27:incframe=3,strafe=-90,rotatetotarget :state=27,random=4:useweapon,rundecal=6 :state=27,frameatend=3:animate=1,state=15 ;Command's :state=30,plrdistfurther=150:followplr,animate=5 :state=30,plrdistwithin=100:freeze,animate=1 :state=30,VAREQUAL=0:state=15,animate=33 ;End of Script[/more] Враг: [more];Artificial Intelegence Script ;Header desc = ENEMY & Ally V3.0 ;Triggers :VARNOTEQUAL=0,plrcanbeseen:SETVAR=0 :state=0,ifweapon=0:state=8,setframe=6 :plrcanbeseen:settarget,rotatetotarget,rotatetoplr,resethead :plrdistwithin=200:rotatetoplr,resethead :state=0,random=20:state=9 :state=0,shotdamage=1:rotatetoplr,state=7 :state=0,noiseheard=5:settarget,rotatetotarget,rotatetoplr,state=7 :state=0,ifweapon=1,plrcanbeseen:state=2 :state=1:incframe=3,strafe=-90,rotatetoplr :state=1,ifweapon=1,plrcanbeseen:useweapon,rundecal=6 :state=1,frameatend=3:state=0,animate=1 :state=5:useweapon,rundecal=6,state=0 :state=4:state=5 :state=3:state=4 :state=2:state=3 :state=6:incframe=4,strafe=90,rotatetoplr :state=6,ifweapon=1,plrcanbeseen:useweapon,rundecal=6 :state=6,frameatend=4:state=0,animate=1 :state=7,random=1:state=6,setframe=4 :state=7:state=1,setframe=3 :state=8:incframe=6 :state=8,frameatend=6:state=0,reloadweapon,sound=audiobank\guns\reload.wav :state=9,plrcannotbeseen:state=10 :state=9:state=0 :state=10,random=1:rotatetoplr,strafe=135 :state=10,random=1:rotatetoplr,strafe=-135 :state=10,random=1:rotatetoplr,strafe=-65 :state=10,random=1:rotatetoplr,strafe=65 :state=10:state=7 ;End of Script[/more] Смерть врага: [more];Artificial Intelligence Script ;Header desc = ENEMY DIE & Ally V3.0 (by Evil Genius) ;Triggers :state=0:state=1 :state=1,alphafadeequal=100:decalphafade=0,SETVAR=1 :state=1,alphafadeequal=0:SETVAR=1,state=2,destroy ;End of Script[/more] P.S. можно просто скопировать зелёную строчку, и вписать в начале любого скрипта врага, но обязательно используйте "смерть врага" (ставить его в ячейку destroy\разрушить) V4.1 В этой версии ставим скрипты союзника\врага\смерти Союзник: [more];Artificial Intelligence Script ;Header desc = ALLY & Enemy V4.1 (by Evil Genius) ;Triggers :VAREQUAL=2:SETVAR=0 :always:settargetname=enemy_05 :always:settargetname=enemy_04 :always:settargetname=enemy_03 :always:settargetname=enemy_02 :always:settargetname=enemy_01 :state=0:state=30,reloadweapon :state=15:rotatetotarget :state=15,ifweapon=1:useweapon,rundecal=6 :state=15,ifweapon=0:state=1,setframe=36 :state=15,VAREQUAL=1:state=30,animate=1 :state=15,shotdamage=5:state=25 :state=1:incframe=36 :state=1,frameatend=36:state=15,reloadweapon,sound=audiobank\guns\reload.wav :state=2:freeze,animate=1,state=3 :state=3:runfpidefault=1 :state=25,random=1:state=26,setframe=4 :state=25:state=27,setframe=3 :state=26:incframe=4,strafe=90,rotatetotarget :state=26,random=4:useweapon,rundecal=6 :state=26,frameatend=4:animate=1,state=15 :state=27:incframe=3,strafe=-90,rotatetotarget :state=27,random=4:useweapon,rundecal=6 :state=27,frameatend=3:animate=1,state=15 ;Command's :state=30,plrdistfurther=150:followplr,runfore=1,animate=5 :state=30,plrdistwithin=100:freeze,animate=1 :state=30,VAREQUAL=0:state=15 ;End of Script[/more] Смерть союзника: [more];Artificial Intelligence Script ;Header desc = ALLY DIE & Enemy V4.1 (by Evil Genius) ;Triggers :state=0:state=1 :state=1,alphafadeequal=100:decalphafade=0,SETVAR=2 :state=1,alphafadeequal=0:SETVAR=2,state=2,destroy ;End of Script[/more] Враг: [more];Artificial Intelegence Script ;Header desc = ENEMY & Ally V4.1 (by Evil Genius) ;Triggers :VAREQUAL=1:SETVAR=0 :VAREQUAL=2,plrcanbeseen:settarget,rotatetotarget,rotatetoplr,resethead :state=0,random=1,VARNOTEQUAL=2:settargetname=ally,state=15 :state=0,plrcanbeseen:settarget,rotatetotarget,rotatetoplr,resethead,state=15 ;Actions :state=15,ifweapon=0:state=8,setframe=6 :state=15,random=20:state=9 :state=15,shotdamage=1:state=7 :state=15,noiseheard=5:settarget,rotatetotarget,state=7 :state=15,ifweapon=1,plrcanbeseen:state=2 :state=1:incframe=3,strafe=-90,rotatetotarget :state=1,ifweapon=1,plrcanbeseen:useweapon,rundecal=6 :state=1,frameatend=3:state=0,animate=1 :state=5:useweapon,rundecal=6,state=0 :state=4:state=5 :state=3:state=4 :state=2:state=3 :state=6:incframe=4,strafe=90,rotatetotarget :state=6,ifweapon=1,plrcanbeseen:useweapon,rundecal=6 :state=6,frameatend=4:state=0,animate=1 :state=7,random=1:state=6,setframe=4 :state=7:state=1,setframe=3 :state=8:incframe=6 :state=8,frameatend=6:state=0,reloadweapon,sound=audiobank\guns\reload.wav :state=9,plrcannotbeseen:state=10 :state=9:state=0 :state=10,random=1:rotatetotarget,strafe=135 :state=10,random=1:rotatetotarget,strafe=-135 :state=10,random=1:rotatetotarget,strafe=-65 :state=10,random=1:rotatetotarget,strafe=65 :state=10:state=7 ;End of Script[/more] Смерть врага: [more];Artificial Intelligence Script ;Header desc = ENEMY DIE & Ally V4.1 (by Evil Genius) ;Triggers :state=0:state=1 :state=1,alphafadeequal=100:decalphafade=0,SETVAR=1 :state=1,alphafadeequal=0:SETVAR=1,state=2,destroy ;End of Script[/more] Союзников называем ally, врагов называем от enemy_01 до enemy_05. В настройках союзника ставим скорость 120 Отчёт: [more]V2.0 + поворачивается в сторону врага + урон наносится оружием, а не скриптами + не стреляет сквозь стены + можно ставить бесконечное кол-во врагов и союзников - найдёт врага на любом расстоянии и будет стрелять в его сторону - не останавливается после уничтожения врага V2.2 + добавлены звуки + добавлена команда остановки действий на клавишу H V3.0 + останавлевается после убийства + можно юзать разные имена врагов от enemy_01 до enemy_05 - один скрипт на одного врага\союзника - не стреляет в сторону врага после его появления через какое-то время =((( V4.0 + враг\союзник стреляют друг в друга + увеличена скорость - враг сначало уничтожает союзника, а потом ГГ V4.1 + враг выбирает либо союзника, либо ГГ [/more]

Ответов - 32

Zlocorp: Ну будет более продвинутая версия этого НЕполноценного человека и превращения его в Полноценного? Evil Genius +1

Evil Genius: буду смотреть на что конструктор способен

dahacka: Evil Genius был у меня набор скриптов сенсей аи назывался тактам союзник голову поворачивал тока приседал вместо того чтобы стрелять может в етих скриптах пороешся дать ссылку?


dahacka: вот ссылка

Evil Genius: УРААААААА!!! dahacka с меня + , я не знал параметра settargetNAME, всё, завтра (через примерно 12 часов, у меня щя ночь) выложу скрипт продвинутого союзника, затем думаю сделаю САМОСТОЯТЕЛЬНЫЙ скрипт союзника.

dahacka: Evil Genius пишет: УРААААААА!!! dahacka с меня + я комуто помог офигеть я комуто помог да и с чем с созданием скрипта союзника класссс

Evil Genius: Вот вам и Х10 ))

Evil Genius: любые персы ходят сквозь статическое ентити. Счас ведется разработка 'умного' союзника, и врага, стреляющего в союзника при отдалении игрока, но нехватает переменных, а некоторые не работают. Насчет инкриминации-имя врага прописывается в параметре settargetname= Вопрос на засыпку: а можно одному персу дать два имени, допустим через запятую или двоеточие?

MC HAQWERDIYEV: Evil Genius Мне и так нравится ! В принципе можно исправить этот баг, что он не прекрашает стрелять, только если нажимаешь Y. Кстати ради меня можешь добавить в скрипт друга, что если ты нажимаешь Y бывает один звук "Типа иди за мной " и T "Огонь !" А то так эффектнее будет. Заранее спасибо ! Помогу с дизайном =)

Evil Genius: MC с каким дизайном? рад что понравилось.

dahacka: Evil Genius а ты можеш переместить бег за игроком на f стрельбу на g и сделать так чтобы если нажмёш на h то друзья остановятся ? и чтобы в скрипте можно было прописать путь до звуков как просил МС ?

Evil Genius: УГУ, могу, ждите...

MC HAQWERDIYEV: Evil Genius пишет: MC с каким дизайном? Аватары, лого, HUDы, подпись, юзербары и т.д.

Evil Genius: MC большое спасибо за сотрудничество, как говориться - мы к вам, вы к нам.

MC HAQWERDIYEV: Увы, я пока в Турции :( ! Но за работу благодарю

BESS55555: А куда эт все вписывать я так и не понел и че ваще и как делать я тоже есличестно не понел проста я в скриптах в этой программе ваще не фурычю

Evil Genius: Скрипт под названием "Союзник" вписываешь в ячейку "main" персонажа, "Смерть союзника" в ячейку "destroy" тогоже персонажа; скрипт "Враг" вписываешь в ячейку "main" другого персонажа и "Смерть врага" в ячейку "destroy" другого персонажа.

BESS55555: Не работает

Gvinpin: Радость то какая, елки палки! Спасибо

Vampire: Эххх... Сделать бы их еще под 1.13 была бы вообще ляпота!

Evil Genius: он работает С версии 1.0.9

Vampire: ТОгда странно, что у меня союзник всегда тупо стреляет в стену а при виде врагов вообще не обращает на них внимания!

Evil Genius: Значит чет не так сделал

MC HAQWERDIYEV: ВЫЛОЖИТЕ ВТОРУЮ ВЕРСИЮ СКРИПТА, ОН БЫЛ ЛУЧШЕ ВСЕХ !!!!!!

slava19843: а как его остановить он шмаляет без перерыва

Tweek: у меня тоже остановится не могут стреляют и стреляют

KaJIaw: warr11r пишет: ТОгда странно, что у меня союзник всегда тупо стреляет в стену а при виде врагов вообще не обращает на них внимания! Союзников называем ally, врагов называем от enemy_01 до enemy_05. В настройках союзника ставим скорость 120.

Ninja: Добрый день, я тут создал свой собственный скрипт союзника, все работает, но проблема в том, что он как-то странно выбирает цель с конца почему-то. Вопрос в том в каком порядке он их выбирает?? Скрипт союзника: :losetarget=10:activate=0 :state=0:activate=0,reloadweapon,state=30 :state=15,activated=0:state=30 :state=15:rotatetotarget :state=15,ifweapon=1:useweapon,settargetname=Enemy_01,rundecal=6 :state=15,ifweapon=0:state=1,setframe=36 :state=1:incframe=36 :state=1,frameatend=36:state=15,reloadweapon,sound=audiobank\guns\reload.wav :state=30,plrdistfurther=150:followplr,runfore=100,animate=5 :state=30,plrdistwithin=50:freeze,animate=1 :state=30,activated=1:state=15 Скрипт врага: :state=0,plrcanbeseen:state=1,settarget :losetarget=10:state=0 :state=1:rotatetotarget :state=1,ifweapon=1:useweapon,settargetname=Ally,activatetarget=1,settarget,useweapon,rundecal=6 :state=1,ifweapon=0:state=2,setframe=6 :state=1,plrcannotbeseen:settargetname=Ally,activatetarget=0,state=0 :state=2:incframe=6 :state=2,frameatend=6:state=1,reloadweapon,sound=audiobank\guns\reload.wav Смерть врага: :state=0:state=1,settargetname=Ally,activatetarget=0,suspend,coloff Работает на всех версиях

Ninja: Все люди я догнал сам как это поменять и мне помощь не нужна пришлось его немного перебрать в общем вот: Скрипт союзника::losetarget=10:activate=0 :state=0:activate=0,reloadweapon,state=30 :state=15,activated=0:state=30 :state=15:rotatetotarget :state=15,ifweapon=1:useweapon,rundecal=6 :state=15,ifweapon=0:state=1,setframe=36 :state=1:incframe=36 :state=1,frameatend=36:state=15,reloadweapon,sound=audiobank\guns\reload.wav :state=30,plrdistfurther=150:followplr,runfore=100,animate=5 :state=30,plrdistwithin=50:freeze,animate=1 :state=30,activated=1:settargetname=Enemy_01,state=15 :state=30,activated=2:settargetname=Enemy_02,state=15 :state=30,activated=3:settargetname=Enemy_03,state=15 :state=30,activated=4:settargetname=Enemy_04,state=15 :state=30,activated=5:settargetname=Enemy_05,state=15 :state=30,activated=6:settargetname=Enemy_06,state=15 :state=30,activated=7:settargetname=Enemy_07,state=15 :state=30,activated=8:settargetname=Enemy_08,state=15 :state=30,activated=9:settargetname=Enemy_09,state=15 :state=30,activated=10:settargetname=Enemy_10,state=15 :state=30,activated=11:settargetname=Enemy_11,state=15 :state=30,activated=12:settargetname=Enemy_12,state=15 :state=30,activated=13:settargetname=Enemy_13,state=15 :state=30,activated=14:settargetname=Enemy_14,state=15 :state=30,activated=15:settargetname=Enemy_15,state=15 Скрипт врага: Обращаю внимание на то что их должно быт 15 РАЗНЫХ скриптов: :state=0,plrcanbeseen:state=1,settargetname=Ally,activatetarget=номер врага :shotdamage=1:rotatetoplr :losetarget=10:state=0 :state=1:settarget,rotatetotarget :state=1,ifweapon=1:useweapon,rundecal=6 :state=1,ifweapon=0:state=2,setframe=6 :state=1,plrcannotbeseen:settargetname=Ally,activatetarget=0,state=0 :state=2:incframe=6 :state=2,frameatend=6:state=1,reloadweapon,sound=audiobank\guns\reload.wav Смерть осталась прежней P.S. Я тут создал скрипт персов которые воюют между собой и с ГГ юзайте::state=0,waypointstate=0:animate=2,waypointstart :state=0,waypointstate=3:animate=2,waypointnext :state=0,waypointstate=4:animate=2,waypointrandom :state=0,waypointstate=5:animate=2,state=3 :state=3,random=1:settargetname=team_2,state=1 :state=3,random=2:settargetname=team_3,state=1 :state=3:rotatetoplr,settarget,state=1 :losetarget=10:state=3 :state=1:rotatetotarget :state=1,ifweapon=1:useweapon,rundecal=6 :state=1,ifweapon=0:state=2,setframe=6 :state=2:incframe=6 :state=2,frameatend=6:state=1,reloadweapon,sound=audiobank\guns\reload.wav

Никита: Щас прочитал скрипты быстрым взглядом и удивляюсь как это реализовано. Молодчина! Не знаю как на деле, но в теории это видать очень умный ИИ. Вопрос такой: как персы реагируют на "респавнутых" персов? (т.е. на тех, которые появились через триггер зону).

Ninja: спасибо, но над ними надо чуть поработать а то на деле не такие как в теории особенно враг

Никита: USEWEAPON говорит персу "используй оружие с**а!!" Если же эту команду не прописать, перс будет стрелять холостыми, не нанося никому\ничему урон.



полная версия страницы