Гипат.org

Флейм - Приколы и мой первый квест

читер30 - 05 мая 2013, 11:48
http://www.gipat.ru/forum/index.php?act=ST&f=1&t=3571&st=0#entry41426

Всё здесь =) С квестом проблемы, вскоре устраню...
Valter - 05 мая 2013, 19:31
Ну блин, капец. Я попал в анналы истории Проклятых земель. Великий маг Гипата говорит обо мне! :eek:
Спасибо конечно, глядишь скоро и в виде NPC где-нибудь появлюсь...:rolleyes:

А теперь по поводу самого квеста.
Ты для какой версии разрабатывал? Моды или "без модов"? У меня лично в датабазе моего безмода не оказалось прототипов LMP DragonSus Blue и LMP Unique Human Portal Warlord 38. Ладно я их заменил что-бы на карту выйти.
Теперь скрипт:
В скрипте у тебя везде "q.z19q3.z19q3.1" а квест ты сохранил как z19q8. Надо в скрипте везде 3 на 8 заменит. И не только. Подзадания немного не совпадают с текстом их описания.
Потом отсутствует скрипт на проверку убитости генерала и на приход к порталу.

Не понял необходимости скрипта #Mage. Охрана генерала? Так их и так можно было поставить...


PS: Ах, да! У меня перс после выхода на карту назад на базу не возвращается. Улетает с ошибкой.
читер30 - 06 мая 2013, 15:31
Знаю уже и сам... Решил поиграть в него вечерком... А там такое... Щас исправляю =(... А квест для мода, да, просто я об этом забыл =)...

(Типа цитата Valter'a)
"""Не понял необходимости скрипта #Mage. Охрана генерала? Так их и так можно было поставить..."""
Всмысле??? что ещё за #Mage?

P.S. Ну квест ведь первый... =) после завтра выкину норм версию квеста :)
P.S.2. Я хотел-бы делать NPC'ов, но не знаю как... На карту чела могу поставить, тексты могу сделать, в базе всё могу поставить, а NPC, засранец такой всё равно молчит =( !!!!
P.S.3. Великий Маг Гипата? Не, по моему это не так круто, как ВЕЛИКИЙ ПЕРС =)! (Перс тоже о тебе говорит =) ) :D
Valter - 06 мая 2013, 20:02
Цитата:
Всмысле??? что ещё за #Mage?

Ну не знаю. Твой скрипт.
Код:
DeclareScript #Mage (fID : float, fRad : float)

Код:
Script #Mage
(
  if
  (
  )
  then
  (
    KillScript(  )
    Guard ( GetObject(fID)  , GetX( GetObject(fID) ) , GetY( GetObject(fID) ) , fRad )
  )
)

Код:
  #Mage ( 50000 , 20 )
  #Mage ( 50001 , 20 )
  #Mage ( 50002 , 20 )


Замечал, что у всех "говорящих" NPC номера ID вот такие: 1000******
И есть такая онлайн программка от Sagrerа и Снайпа:
http://eijokes.narod.ru/scripting/nid_gen.htm

Для проверки вбей внутриигровое имя Тка-Рика (Rick) и сравни полученный NID и ID мага на карте. Совпало?

Теперь представь что можешь безымянному стражнику на Ингосе придумать имя, сгенерировать по этому имени ID, ввести ему это ID, в text.res прописать в pers Name имя которое у него будет отображаться и стражник больше не безымянный! А если диалог с ним пропишешь то он с тобой даже говорить будет! :D

О, только подумай, какие возможности перед тобой теперь открываются! *злобный смех за кадром*
читер30 - 06 мая 2013, 20:06
Скрипт не мой +)

СПС ЗА ПРОГУ!!! А как её скачать, мне так удобней... к томуже иногда инет глючит

Теперь поставлю в посёлок читера30, который будет давать самые сложные задания =)!!!
Valter - 06 мая 2013, 20:10
Вот вроде на скачку
http://www.sagrer4.narod.ru/downloads/nid_gen_0_0_0_16.zip
читер30 - 06 мая 2013, 20:13
А ты говорил что 1000****** А у меня 1001325652... Это нормально ? :rolleyes:

P.S. Ник перса ''Cheater''
Valter - 06 мая 2013, 20:19
Немножко утрировал. Просто 10-значное число начинающиеся с 1. Все зависит от колличества символов.
Имя i будет иметь такой 1000000073 ID ,а имя sfxdgcfhjkl;ljlghfdesa645u6i - такой 1200370088.

Не суть. Это норма.
читер30 - 06 мая 2013, 20:21
Ладно, спасибо, может к лету все увидят смесь EI 303 + HG 3.6 + HG 4 (Если оно выйдет) + Damned-mod + Куча офигенных новых карт и квестов, и прикольые НПСы типа Valter'a Kalessin'a и Читера 30 =) ... И домики, в которые моно зайти и ограбить холодильник, шкатулку, шкафчик =)))
читер30 - 09 мая 2013, 16:52
1. Как сделать в сети свободное перемещение по аллоду, как в сингле? Типо с одной карты на другую, а квест может подождать... :)
2. Как сделать респаун мобов в сингле?
3. Как создать простенький квест в сингле????!!!!
читер30 - 11 мая 2013, 12:21
Помогите, не выходит :drug:
Valter - 11 мая 2013, 13:58
1. Это невозможно.
2. Технически можно.. Посмотри на форуме поиск с тегом "респаун". В EI-Mode 3.0.1 или 3.0.3 даже реализован респаун в предгорьях путем подзагрузки mob файлов с ожившими монстрами на карту. Посмотри их скрипт.
3. В EiEdite в окне Сингл/Quest.qdb:Quest создаешь новое поле с именем квеста q99g там же выставляешь сколько опыта получишь.
В окне Сингл/Quest.qdb:Briefings создаешь поле с именем диалога QueMaker и в строке GiveQuest набираешь q.gz3g.q99g (можно через запятую и первое подзадание выдать) ,q.gz3g.q99g.1
В редакторе текста создаешь запись quest q99g и как в сетевой пишешь текст задания. Еще одна запись под брифинг briefing QueMaker (ну тут диалог с тем, кто квест даст).
Теперь в скрипте самой карты (zone3obr) пишешь сам квест. (Ну и как всегда: единственная ошибка и у тебя вся карта перестанет работать (Совет: в WorldScript внизу пропиши строку
ConsoleString ( "MobScript OK" )
А потом при выходе на карту смотри консоль: если надписи нет - значит ошибка в скрипте; отменяй последние действия)).
И еще. Как заставить NPC говорить об этом квесте. Командой

GSSetVarMax( 0, "b.Smith.QueMaker", 1 )
Где ее писать уже тебе решать: можно на базе безусловным скриптом, можно условным (после какого-либо диалога), можно на игровой карте ( после выполнения какого-либо квеста), можно в консоле ручками (для проверки самого диалога).



PS: Все значения написанные курсивом - это мой пример имен. В данном случае диалог "QueMaker" даю Бабуру, и он посылает нас на квест "q99g" в предгорья.
читер30 - 11 мая 2013, 14:35
1. *две тонны бреда* Спс : )
2. В 3.0.3... Там респ есть, но не бесконечный и не только в предгорьях... Думал ты мне и с этим поможешь (сделать бесконечный респ), ну да ладно, надо и самому мозгами думать, даже если дело почти неподсильное... Спс : )
3. Спс : )

P.S. Huber - это Вальрас? :roll:

Зарание Спс : )

Как сделать квест на убийство одноно моба в сингле?
Valter - 11 мая 2013, 16:08
1. Ну бред не значит плохо. А слово "невозможно" не обязывает остановиться. Я по молодости пытался сделать так, чтобы взял квест на гипате - выходишь на карту и попадаешь на базу ингоса. Губернатор молчит, но в магазин зайти можешь. А потом из города выходишь и снова на гипате. Эх.. Увы.
2. Ну слушай мою бредоконцепцию "бесконечного респа": Мониторим здоровье мобов. Если здоровье 0 переносим моба в реабилитационный центр (место на карте куда игрок не попадет). Ждем задержку. Воскрешаем моба ( устанавливаем ему здоровье). И отправляем назад в обычное для него место обитания.
По идеи игрок сможет бесконечное число раз получать опыт за убийство одного и того же монстра, но не сможет забрать его труп. В таком случае воскрешать просто не кого будет.
3. Да, Huber - это Вальрасиан.

_____________________________________

Пример без брифинга. ( С брифингом пример выше)

В EiEdite в окне Сингл/Quest.qdb:Quest создаешь новое поле с именем квеста q99g там же выставляешь сколько опыта получишь.
В редакторе текста создаешь запись quest q99g
Цитата:
Плюющаяся Жаба
Эта жаба плюнула в Бабура. Ее надо убить.
#subobj 1
Найти Жабу
....
#subobj 2
Убить Жабу
....


Теперь редактируем скрипт zone3obr.mob

Получим задание как только убьем ГДозорного. Для этого добавим строки в скрипт VTriger#0#356 (выполняется после убийства)
Код:
Script VTriger#0#356
(
  if
  (
  )
  then
  (
    KillScript(  )
    GSSetVarMax( 0, "q.gz3g.q1ag.2", 2 )
    GSSetVarMax( 0, "q.gz3g.q1ag", 2 )
    SendStringEvent( 0, "say s2 Hero" )     
    GSSetVarMax( 0, "q.gz3g.q99g", 1 )     //получим квест
    GSSetVarMax( 0, "q.gz3g.q99g.1", 1 )  // получим первое подзадание
  )
)


Объявим свой скрипт, в запустим в теле WorldScript-а:
Код:
DeclareScript VCheck#q99#1 (  this : object )
DeclareScript VCheck#q99#2 (  this : object )
....


....

  VCheck#q99#1( NULL )
  VCheck#q99#2( NULL )


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

Код:
Script VCheck#q99#1
(
  if
  (
    IsLess( DistanceUnitUnit( GetUnitOfPlayer( 0, 0 ), GetObjectByID( "4523" ) ) , 10 )  // подошли к жабе (да ее ID = 4523)
  )
  then
  (
    KillScript(  )
    GSSetVar( 0, "q.gz3g.q99g.1", 2 )  // первое подзадание выполнено
    GSSetVar( 0, "q.gz3g.q99g.2", 1 )  // получаем второе
  )
)

Script VCheck#q99#2
(
  if
  (
    IsDead( GetObjectByID( "4523" ) )  // жаба мертва
  )
  then
  (
    KillScript(  )
    GSSetVar( 0, "q.gz3g.q99g.2", 2 )  // второе подзадание выполнено
    GSSetVar( 0, "q.gz3g.q99g", 2 )    // квест выполнен
  )
)




PS: А теперь попробуй найти ту жабу которую надо убить. Просто пропиши ей ( ID = 4523) в поле "QuestLightStr" q99g. Теперь когда квест станет активным она засветится.
читер30 - 12 мая 2013, 14:01
1. Супер!
2. Как это сделать?!
3. Спс : ).

Куда именно пихать этот скрипт?!
P.S. Я вот, например вечером вчера мучался, пытался всякие скрипты прописывать... Прописывал туда, куда надо... Наверное :)... И куда ты мне говорил... Результат: бред и фигню наделал, моб файл испортил, время потратил, добившись лишь мизерных знаний... Что делать? :cry:

Это твоё сообщение просмотреть вчера не смог, инет глючил :cry:

я туплю
Valter - 12 мая 2013, 15:18
Как это сделать?! Ну я же сказал что это всего-лишь концепция. И даже бредоконцепция. Хм.. командами HP( Unit : object ); SetCP( Object : object , x : float , y : float , z : float ); Sleep( Sleep : float ) ... Хм.. команды SetHP не существует. ну может еще как-нибудь воскрешать придумаешь..


Ну засунул то, что вчера писал в скрипт. (заменил q99g на q41g) Так что заработает даже на стандартной датабазе. Посмотри разберись. Напиши текст квеста в датабазе. Попробуй свое.


PS: И не забывай о бэкапах.
читер30 - 18 мая 2013, 17:29
:thanks: :happy: :pray: - Этим всё сказано! Спасибо, о, великий..! сейчас буду разбираться!!! :horror:
читер30 - 26 мая 2013, 16:54
Valter! Kalessin! Да хоть кто-нить! Хелп! Я скрипт ПЗшный понял (вроде бы), но когда я его пишу/копирую откуда-то (вроде бы всё правильно распределяю...) вообще весь скрипт перестаёт работать!
Kalessin - 26 мая 2013, 23:57
Я не разбираюсь в скрипте :roll:
Цитата:
Я скрипт ПЗшный понял (вроде бы), но когда я его пишу/копирую откуда-то (вроде бы всё правильно распределяю...) вообще весь скрипт перестаёт работать!

Значит не понял, или понял неправильно :) Пзшный скрипт очень коварен, достаточно поставить лишнюю запятую или скобку не там и все пропало :D И, зачастую, перестает работать не только скрипт в котором допущена ошибка, но и все остальные скрипты за компанию :D А средств для отладки скрипта нет... Так что лучше редактировать скрипт небольшими фрагментами - так будет легче найти ошибку. Для редактирования надо юзать MobSurgeon, там хотя бы есть подсветка синтаксиса.
з.ы. попробуй еще позадалбывать хгшников, глядишь выйдет толк :)
читер30 - 27 мая 2013, 11:53
Ну вот просто у меня такой бред, я скопировал скрипт ЗвА с владений карансула на ПЗшные владения карансула, а нефига не пашет... Надеюсь кто-то отзовёться :) Щас пытаюсь сделать тоже самое уже... наверное седьмой раз... В придачу к этому делаю базу для ЗвА, для мульти ПЗ, для сингла ПЗ, издеваюсь над картой предгорья, которую мне дал Valter, делаю мапы для модов... Короче завал... :)

Типа цитата Kalessin'a
"""позадалбывть хгшников"
Хороший совет, спс :) !!! :D :D :D :D :D :D
Valter - 27 мая 2013, 19:52
Ну зависит от того, как копируешь. Фрагментами связанных команд (этот триггер запускается в worldscript, при выполнении ссылается на этот триггер, а тот на этот). Или "выделить все - копировать - вставить" (Ты ведь так не делаешь? Нет? Правда нет?)

Проверь на логичность ссылание скриптовых команд друг на друга. И те же скобки незакрытые или недооткрытые проверь.
Ну если все на первый взгляд правильно проверь может где-то в скрипте остались отсылки на ID объектов с карты ЗвА карансула, которых естественно нет (или есть, но с другими ID ) на ПЗ карте карансула.

И ищи то место в коде, где возможна ошибка. Можешь закоментивать подозрительные участки оставляя пустое тело скрипта (пустое if, пустое then) :
Код:

Script VTriger#0#1
(
  if
  (
    // тут было условие - теперь комментарий
  )
  then
  (
    KillScript(  )
//    какое то действие - закоментировано
//    какое то действие - закоментировано
//    какое то действие - закоментировано
  )
)


А потом по строкам возвращать.

Или давай листинг скрипта - попробуем наглядно разобраться.

PS: Нет. Листинг сюда пожалуй не надо. Страница форума и я такого не выдержим...
Или приложенным файлом или, что намного лучше попробуй сам разобраться.
читер30 - 29 мая 2013, 14:35
Спасибо, я уже сам начал (очень фигово) разбираться в этих скриптах!!! Я сделал квест для "Айри на Гипате", в названием "Третье сокровище разбойников... Задрали!!!" :) С Мапой ЗвА+ПЗ ещё разбираюсь!.. Да, и как заставить Ривара давать мне квест про сокровище? Он упорно отказываеться это делать! см. вложения :)

Лист и мапу с сокровищами выложу завтра.

Позадалбывать ХГшников? Не вышло по ходу... см. http://honestgroup.net/forum/4-43-63#64779

внизу файл для игры в еи-моде 3.0.3 на ингосе и сусле
Kalessin - 30 мая 2013, 03:41
Цитата:
Позадалбывать ХГшников? Не вышло по ходу... см. http://honestgroup.net/forum/4-43-63#64779

Что ж, предсказуемый результат, учитывая контингент сайта :D Забей на это дело ;)
читер30 - 30 мая 2013, 15:18
Народ, помогите, я случайно удалил (0_0) МапЕдит, а когда установил заново вроде как всё норм, но при копировании файлов... Очень надеюсь на вашу помощь! Фото ошибки... http://us.ua/1135031/

А, ещё, как сделать невидимый туман (campfire) таким, что бы пробивал бакс (без анти бакса)???
читер30 - 01 июня 2013, 18:54
Отзовитесь плиз!!!!!!!!!!! :cry: Хочу дальше мод делать!!!
читер30 - 03 июня 2013, 12:13
Блина придёться самому дальше напрягать свой жалкий мозг... И то это будет зря... Блин, ну кто-нить скажите как заставть Ривара болтать!!!
читер30 - 22 августа 2013, 16:06
Ололо!!! http://s1.uploads.ru/Zkno3.png Любуемся!!! http://uploads.ru/6jUt0.png и http://uploads.ru/lSy0R.jpg :drug:
Часовой пояс: GMT +4:00
Форумы Поселка созданы на базе phpBB2 2.0.4 © phpBB Group