Вторник, 26 Ноября 2024, 12:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
[EO] Вопрос по квестам
АнтикДата: Воскресенье, 20 Февраля 2011, 19:41 | Сообщение # 1
частый гость
Сейчас нет на сайте
Скажите пожалуйста как в Eclipse Origins делать квесты. За помощь плюс. Объясняйте только пожалуйста поподробней.



Сообщение отредактировал Антик - Воскресенье, 20 Февраля 2011, 19:42
67boyДата: Воскресенье, 20 Февраля 2011, 20:10 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Антик, Вот да мне тоже интересно как в Eclipse Origins делать квесты. Я тоже ставлю +++
Я так понял возможно там свою папку нада делать scripts. точно не знаю!!!


FulierДата: Воскресенье, 20 Февраля 2011, 20:18 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
67boy, Антик,
Изначально эта функция в движке отсутствует. Добавить SadScripts или другой скриптовый движок необходимо вручную (т.е. самому). Ну или вы можете создать (Тоже в Исходниках) собственный редактор квестов.

А Robin, по идее, это будет продавать когда EO перейдёт в релизную стадию. Цитирую его дословно: "Я не буду делать скриптовый движок или редактор квестов. Пусть мои пользователи поработают мозгами, а если они не могут додуматься до того, как сделать примитивный редактор квестов, то создание игр на Visual Basic 6 не для них". Позже он скажет: "Вероятно такие функции, как Гильдии, Скрипты, Квесты, я буду продавать"


Лампа. Кофе. Игра. - сайт о компьютерных, компьютерных и еще раз компьютерных играх.
67boyДата: Воскресенье, 20 Февраля 2011, 20:20 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Fulier, Это точно я помню, он так говорил...
Будешь онлайн напиши мне в ЛС, кое что обсудим!!!!!!


АнтикДата: Воскресенье, 20 Февраля 2011, 20:22 | Сообщение # 5
частый гость
Сейчас нет на сайте
Fulier, а у тя нету случайно проги для квестов?

FulierДата: Воскресенье, 20 Февраля 2011, 20:25 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Антик, Нету, я её не создавал. Может быть существует от сторонних разработчиков на официальном форуме.
Можете поискать.
Поиск - вот, что спасёт мир. (с) С какого-то форума.


Лампа. Кофе. Игра. - сайт о компьютерных, компьютерных и еще раз компьютерных играх.
infermikДата: Воскресенье, 20 Февраля 2011, 21:00 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Нус поеххали
На стороне сервера и клиента в modConstants
после NPC_BEHAVIOUR_GUARD вставляем

Code
Public Const NPC_BEHAVIOUR_SCRIPTED As Byte = 5

на стороне клиента в frmEditor_NPC

для скрола с названием cmbBehaviour добавляем в разделе
List надпись Scripted (Тык)

На стороне сервера (modCombat)

В функции Function CanPlayerAttackNpc

изменяем:

Code
If Npc(npcNum).Behaviour <> NPC_BEHAVIOUR_FRIENDLY And Npc(npcNum).Behaviour <> NPC_BEHAVIOUR_SHOPKEEPER Then

на

Code
If Npc(npcNum).Behaviour <> NPC_BEHAVIOUR_FRIENDLY And Npc(npcNum).Behaviour <> NPC_BEHAVIOUR_SHOPKEEPER And Npc(npcNum).Behaviour <> NPC_BEHAVIOUR_SCRIPTED Then

Так с вызовом закончили.

Теперь собственно переходим к самим кв.

На стороне сервера в modCombat

Удаляем как на рисунке в месте с Else
Рисунок

вставляем на место удаленного Код:

Code

If Npc(npcNum).Behaviour = NPC_BEHAVIOUR_SCRIPTED Then
CanPlayerAttackNpc = False
Call QuestScript(attacker, Int(npcNum))
Exit Function
End If

Переходим в modTypes

Найдите ' public data structures
И в самом конце вставьте

Code

Public Quest(1 To MAX_PLAYERS) As PlayerRec

в этом же модуле
после

Code
Public Type HotbarRec
        Slot As Long
        sType As Byte
End Type

Вставьте

Code
Public Type QuestRec
NPCQuestProgress As Long
End Type

В PlayerRec поместите это:

Code
    'Quest
        NPCQuest(1 To MAX_NPCS) As QuestRec

Создайте новый модуль назовите его modQuest и поместите
туда этот код

Code
Public Sub QuestScript(attacker, Script)

Select Case Script

Case 1
If Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 2 Then
Call PlayerMsg(attacker, "Angel: Nice job getting the weird potion!", Green)
ElseIf Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 1 Then
If HasItem(attacker, 3) Then
Call TakeInvItem(attacker, 3, 0)
Call PlayerMsg(attacker, "Angel: Wow, I needed this. Now I can make a stronger potion! Here's your reward.", Green)
Call PlayerMsg(attacker, "You just obtained 100 Gold!", Green)
Call GiveInvItem(attacker, 1, 100, True)
Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 2
Else
Call PlayerMsg(attacker, "Angel: I believe you can get a Weird Potion by cutting down one of these trees, don't know how you obtain a Potion for it though haha.", Green)
End If
ElseIf Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 0 Then
Call PlayerMsg(attacker, "Angel: Hey.. Maybe you can help me, I like to get a Weird Potion? I'll reward you...", Green)
Player(attacker).NPCQuest(Int(Script)).NPCQuestProgress = 1
End If
Exit Sub

Case 2
Exit Sub

Case 3
Exit Sub

Case 4
Exit Sub

Case 5
Exit Sub

Case Else
Call PlayerMsg(attacker, "There is no quest script for NPC Number " & Int(Script) & ". Check the source..", BrightRed)
Exit Sub

End Select
End Sub

На стороне клиента в modTypes

перед PlayerRec разместить:

Code


Public Type QuestRec
NPCQuestProgress As Long
End Type

Внутрь PlayerRec поместить это:

Code
'Quest
        NPCQuest(1 To MAX_NPCS) As QuestRec

Я поместил туда еще кв самим с форума, откуда и сам кввестовый движок ради пробы.
Принцип движка прост, проверяет сделан ли кв если нет выдает ошибку, проверяет если сделан кв, то больше уже его не выдает.

http://www.touchofdeathforums.com/smf/index.php/topic,68426.0.html - оригинал

Добавлено (20.02.2011, 21:00)
---------------------------------------------
Это обычный текстовой, но есть еще и графический типо: выводит окно кнопочки есть все такое как в нормальных MMO только у меня его не получилось сделать выдает какие то ошибки хотя разработчик говорит, что на 2.0 все оч хорошо идет посижу поломаю щас голову biggrin


Выпрямляю путем кнута и пряника


Сообщение отредактировал infermik - Понедельник, 21 Февраля 2011, 16:06
FulierДата: Понедельник, 21 Февраля 2011, 14:13 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
infermik, Если ты взял это с офф.форума, то напиши источник, ссылающийся на этот урок.

Лампа. Кофе. Игра. - сайт о компьютерных, компьютерных и еще раз компьютерных играх.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг