[XP] Pomoc z Thieffer's Quest log - Wersja do druku
Ultima Forum
[XP] Pomoc z Thieffer's Quest log - Wersja do druku

+- Ultima Forum (https://forum.ultimateam.pl)
+-- Dział: RPG Maker (/Forum-RPG-Maker)
+--- Dział: Wsparcie (/Forum-Wsparcie)
+--- Wątek: [XP] Pomoc z Thieffer's Quest log (/Thread-XP-Pomoc-z-Thieffer-s-Quest-log)



Pomoc z Thieffer's Quest log - Ann120 - 07-01-15 22:51

Dzień dobry czy ktos mógłby napisać mi jak zrobić zadanie w Thieffer's Quest log.


RE: Pomoc z Thieffer's Quest log - Yoroiookami - 08-01-15 02:01

Przecież masz napisane w skrypcie. :co:
Cytat:# $quest= ["nazwa", poziom, "grafika", "treść"]
# gdzie zamiast:
# $quest --> możesz wpisać co zechcesz (nie będzie wyświetlane)
# "nazwa" --> nazwa zadania (będzie wyświetlana)
# poziom --> liczba od 1 do 5 (poziom trudności)
# "grafika" --> nazwa pliku zawierającego obrazek o wymiarach 400px na 100px (obrazek przedstawiający scenkę z zadania)
# "treść" --> treść zadania
# Konfiguracja:

np. $quest1= ["Zbieranie Grzybów", 1, "obrazek.jpg", "Musisz zebrać 10 grzybków"]


RE: Pomoc z Thieffer's Quest log - Mateusz SSJ8 - 08-01-15 11:34

Zamiast używać tego skryptu, możesz napisać własny. Przykładem jest mój questlog w "Miasteczkonowoczesne 4-2"

Najpierw zdefiniuj klasę dla pojedyńczego zadania, np.
Kod:
class RPG::Quest
attr_reader :collect_items, :kill_monsters,:custom_item_rewards,:pernament_item_rewards,:texts,
:control_points,:talks_to_do,:actions
attr_accessor :id, :name, :chain_name, :icon_name, :chain_quest_number, :team_xpl, :xp_reward,
:gold_reward,:custom_item_rewards_can_choose,:chapter,:repeatable,:report_to
def initialize
  @id = 0
  @name = ""
  @chain_name = ""
  @icon_name = ""
  @chain_quest_number = 0
  @collect_items = {}
  @kill_monsters = {}
  @team_xpl = 0
  @custom_item_rewards = {}
  @custom_item_rewards_can_choose = 1
  @pernament_item_rewards = {}
  @xp_reward = 0
  @gold_reward = 0
  @chapter = 0
  @repeatable = false
  @texts = []
  @control_points = {}
  @talks_to_do = {}
  @actions = {}
end
#Działaj
def add_action(kind, basic, skill, item, number)
key = [kind, basic, skill, item]
  @actions[key] = number
end
def actions_to_do
  return @actions
end
#/Działaj
#Porozmawiaj
def add_talk(map, event, number)
key = [map, event]
  @talks_to_do[key] = number
end
def talks
return @talks_to_do
end
#Porozmawiaj
#Odwiedź miejsca
def add_control_point(map, x, y, number)
  new_checkpoint = [map, x, y,]
  @control_points[new_checkpoint] = number
end
#Odwiedź miejsca
#Zbierz przedmioty
def add_item_to_collect(item_kind, item_id, item_number, quest_only=true)
key = [item_kind, item_id]
  @collect_items[key] = [item_number, quest_only]
end
#/Zbierz przedmioty
#Zabij potwory
def add_monster_to_kill(monster_id, monster_number)
  @kill_monsters[monster_id] = monster_number
end
#/Zabij potwory
#Wybór nagrody
def add_custom_item_reward(item_kind, item_id, item_number)
  new_item = [item_kind, item_id]
  @custom_item_rewards[new_item] = item_number
end
def add_pernament_item_reward(item_kind, item_id, item_number)
  new_item = [item_kind, item_id]
  @pernament_item_rewards[new_item] = item_number
end
#/Wybór nagrody
def add_text(txt)
@texts.push(txt)
end
end
Tutaj "@texts" zawiera linijki opisu zadania.

Następnie użyj zmiennej globalnej mającej klasę "Array" (najpierw lepiej zdefiniuj tę zmienną) do przechowywania wszystkich zadań obecnych w grze. Dla przykładowego zadania
Kod:
id = 30
  $data_quests[id] = RPG::Quest.new
  $data_quests[id].id = id
  $data_quests[id].name = "Sailor Moon Forever"
  $data_quests[id].chain_name = "GREEN LEVITHAN"
  $data_quests[id].icon_name = "quest_main"
  $data_quests[id].chain_quest_number = 1
  $data_quests[id].add_item_to_collect(0, 68, 1, false)
  $data_quests[id].add_item_to_collect(0, 92, 1, false)
  $data_quests[id].add_item_to_collect(0, 93, 1, false)
  $data_quests[id].add_item_to_collect(0, 94, 1, false)

  #$data_quests[id].add_monster_to_kill(67, 12)
  #$data_quests[id].add_monster_to_kill(68, 18)
  #$data_quests[id].add_monster_to_kill(54, 1)
  
  #$data_quests[id].add_control_point(1, 9, 39, 1)
  #$data_quests[id].add_control_point(24, 9, 13, 1)
  #$data_quests[id].add_talk(1, 9, 1)
  
  $data_quests[id].team_xpl = 24
  #$data_quests[id].add_custom_item_reward(0, 1, 5)
  #$data_quests[id].add_custom_item_reward(0, 2, 5)
  #$data_quests[id].add_custom_item_reward(0, 4, 5)
  #$data_quests[id].add_custom_item_reward(0, 5, 5)
  #$data_quests[id].add_custom_item_reward(0, 10, 5)
  
  $data_quests[id].custom_item_rewards_can_choose = 0
  $data_quests[id].add_pernament_item_reward(0, 76, 5)
  $data_quests[id].xp_reward = 1000
  $data_quests[id].gold_reward = 0
  $data_quests[id].chapter = 6
  $data_quests[id].repeatable = false
  $data_quests[id].report_to = "Wejście do Sailor Moon Forever"
  $data_quests[id].add_text("Iwan uciekł ze Spoko-i-nie, licząc, że Behemoth")
  $data_quests[id].add_text("rozniesie Amy i spółkę. Ale drużynie udało się")
  $data_quests[id].add_text("pokonać potwora. Teraz pozostaje tylko zebrać")
  $data_quests[id].add_text("wszystkie orby i uderzyć na Sailor Moon Forever,")
  $data_quests[id].add_text("zanim Heurow, Iwan i Bladymir dotrą tam pierwsi.")
  $data_quests[id].add_text("")
  $data_quests[id].add_text("Ruiny Sailor Moon Forever leżą między Nowoczesnym")
  $data_quests[id].add_text("i Winter Slum City. Tam musisz się udać. Tylko nie")
  $data_quests[id].add_text("pomyl drogi z drogą na Polanę Białych Raichu czy do")
  $data_quests[id].add_text("jaskini, w której był Deep Blue Kyuubi.")
  $data_quests[id].add_text("")
  $data_quests[id].add_text("ZNAJDŹ CZERWONY ORB")
  $data_quests[id].add_text("ZNAJDŹ ZIELONY ORB")
  $data_quests[id].add_text("ZNAJDŹ NIEBIESKI ORB")
  $data_quests[id].add_text("ZNAJDŹ FIOLETOWY ORB")
, który pasuje do kodu podanego wyżej.

Gdy to wszystko jest już zrobione, musisz jeszcze upewnićsię, że informacje będą aktualizowane za każdym razem, kiedy trzeba będzie nanieść nowsze dane. Dobrze sprawdzą się obiekty gry dla questów. W końcu zebranie 10 grzybów to nie wszystkie zadania, jakie mogą się trafić.

UWAGA!!! Oba kody służą tu tylko dla przykładu, więc nie pozwalam na ich bezpośrednie użycie w grze.


RE: Pomoc z Thieffer's Quest log - Ayene - 08-01-15 19:58

Odpowiedzi są we wcześniejszym temacie... http://forum.ultimateam.pl/Thread-XP-Pomoc-z-Thieffers-QuestLog