I have using a quest script in my game, however it is hard to tell rather a NPC has a quest for the player. So I figure I would add a '!' above NPC's with quest to give and '?' above those who you have quest completed. I have the quest script and I rather not have to edit the thing to death for this effect. I was thinking a simple script that would display a picture above an event when the event has the comment Quest Giver in it, which would display a '!' and the comment Quest Turn in would display '?'. Well I found the following script, however, the animations won't work when the event is a parallel process. I want it to work using parallel process then the animation would be going above an NPC's head all the time until the player takes the quest. Reason being is so that players would know who has a quest and who doesn't by just looking at the NPC's on the map not actually having to talk to them.
#==============================================================================
# Emoticon on Event for RMXP Ver. 2.0
#==============================================================================
# By Nechigawara Sanzenin
# Original VX Script by ®Enterbrain
# WARNING!! : This script can use on RPG Maker XP Only!! (VX Not Support)
#==============================================================================
#==============================================================================
module EMO
#Setting
BALLOON_WAIT = 12
EMO_NAME = "Balloon"
#Name data
NAME = {
#Add Name And Number Here
"Surprise" => 1 ,
"Confusion" => 2 ,
"Musical" => 3 ,
"Love" => 4 ,
"Anger" => 5 ,
"Awkward" => 6 ,
"Crushed" => 7 ,
"Silence" => 8 ,
"Creative" => 9 ,
"Zzz" => 10 ,
#End
}
#Change Name to ID
def self.add_id(text)
if NAME.include?(text)
return NAME[text]
else
return 0
end
end
#--------------------------------------------------------------------------
end
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
attr_accessor :balloon_id
#--------------------------------------------------------------------------
alias inc_initialize initialize
def initialize
inc_initialize
@balloon_id = 0
end
#--------------------------------------------------------------------------
def move_type_custom
# If it is not in the midst of stopping, discontinuance
if jumping? or moving?
return
end
# Until the list of portable command it arrives lastly, the loop
while @move_route_index < @move_route.list.size
# Acquiring portable command
command = @move_route.list[@move_route_index]
# When the command cord/code 0th (list) is last
if command.code == 0
# Option [ repeats operation ] in case of ON
if @move_route.repeat
# The index of the portable route first is reset
@move_route_index = 0
end
# Option [ repeats operation ] in case of OFF
unless @move_route.repeat
# When it is in the midst of movement route forcing
if @move_route_forcing and not @move_route.repeat
# Cancelling forcing the portable route
@move_route_forcing = false
# Return original portable route
@move_route = @original_move_route
@move_route_index = @original_move_route_index
@original_move_route = nil
end
# Clearing stop count
@stop_count = 0
end
return
end
# Portable type command (it moves under? When jump) is
if command.code <= 14
# It diverges with the command cord/code
case command.code
when 1 # It moves down
move_down
when 2 # It moves left
move_left
when 3 # It moves right
move_right
when 4 # It moves up
move_up
when 5 # It moves left-down
move_lower_left
when 6 # It moves right-down
move_lower_right
when 7 # It moves left-up
move_upper_left
when 8 # It moves right-up
move_upper_right
when 9 # It moves random
move_random
when 10 # It moves toward player
move_toward_player
when 11 # It moves away form hero
move_away_from_player
when 12 # It moves forward
move_forward
when 13 # It moves backword
move_backward
when 14 # Jump
jump(command.parameters[0], command.parameters[1])
end
# Option [ when it cannot move, disregard ] with OFF, in case of the failure of movement
if not @move_route.skippable and not moving? and not jumping?
return
end
@move_route_index += 1
return
end
# In case of weight
if command.code == 15
# Setting weight count
@wait_count = command.parameters[0] * 2 - 1
@move_route_index += 1
return
end
# In case of command of direction modification type
if command.code >= 16 and command.code <= 26
# It diverges with the command cord/code
case command.code
when 16 # Face down
turn_down
when 17 # Face left
turn_left
when 18 # Face right
turn_right
when 19 # Face up
turn_up
when 20 # Turn 90 right
turn_right_90
when 21 # Turn 90 left
turn_left_90
when 22 # 180 Turn
turn_180
when 23 # Left-right 90 turn
turn_right_or_left_90
when 24 # Face random
turn_random
when 25 # Face to hero
turn_toward_player
when 26 # Face away from hero
turn_away_from_player
end
@move_route_index += 1
return
end
# In case of other commands
if command.code >= 27
# It diverges with the command cord/code
case command.code
when 27 # Switch ON
$game_switches[command.parameters[0]] = true
$game_map.need_refresh = true
when 28 # Switch OFF
$game_switches[command.parameters[0]] = false
$game_map.need_refresh = true
when 29 # Modification of drift speed
@move_speed = command.parameters[0]
when 30 # Modification of portable frequency
@move_frequency = command.parameters[0]
when 31 # When moving animation ON
@walk_anime = true
when 32 # When moving animation OFF
@walk_anime = false
when 33 # When stepping animation ON
@step_anime = true
when 34 # When stepping animation OFF
@step_anime = false
when 35 # Direction fixing ON
@direction_fix = true
when 36 # Direction fixing OFF
@direction_fix = false
when 37 # Through ON
@through = true
when 38 # Through OFF
@through = false
when 39 # Always on top ON
@always_on_top = true
when 40 # Always on top OFF
@always_on_top = false
when 41 # Graphic modification
@tile_id = 0
@character_name = command.parameters[0]
@character_hue = command.parameters[1]
if @original_direction != command.parameters[2]
@direction = command.parameters[2]
@original_direction = @direction
@prelock_direction = 0
end
if @original_pattern != command.parameters[3]
@pattern = command.parameters[3]
@original_pattern = @pattern
end
when 42 # Modification of opacity
@opacity = command.parameters[0]
when 43 # Modification of synthetic method
@blend_type = command.parameters[0]
when 44 # Play SE
$game_system.se_play(command.parameters[0])
when 45 # Script
script = command.parameters[0].clone
# Emoticon With Name Command
if (/\A\\[Ee]n\[(.+?)\]/.match(script)) != nil then
text = $1
@balloon_id = EMO.add_id(text)
script.gsub!(/\\[Ee]n\[(.+?)\]/) { "" }
end
# Emoticon With ID Command
if (/\A\\[Ee]i\[([0-9]+)\]/.match(script)) != nil then
id = $1.to_i
@balloon_id = id
script.gsub!(/\\[Ee]i\[([0-9]+)\]/) { "" }
end
# Clear Syntax
script.gsub!(/\\[Ee]n\[(.+?)\]/) { "" }
script.gsub!(/\\[Ee]i\[([0-9]+)\]/) { "" }
result = eval(script)
end
@move_route_index += 1
end
end
end
#--------------------------------------------------------------------------
end
#==============================================================================
class Sprite_Character < RPG::Sprite
#--------------------------------------------------------------------------
BALLOON_WAIT = EMO::BALLOON_WAIT
EMO_NAME = EMO:: EMO_NAME
#--------------------------------------------------------------------------
def initialize(viewport, character = nil)
super(viewport)
@character = character
@balloon_duration = 0
update
end
#--------------------------------------------------------------------------
alias inc_update update
def update
inc_update
# Update Balloon
update_balloon
# Check Balloon
if @character.balloon_id != 0
@balloon_id = @character.balloon_id
start_balloon
@character.balloon_id = 0
end
end
#--------------------------------------------------------------------------
def start_balloon
dispose_balloon
@balloon_duration = 8 * 8 + BALLOON_WAIT
@balloon_sprite = Sprite.new(viewport)
@balloon_sprite.bitmap = RPG::Cache.picture(EMO_NAME)
@balloon_sprite.ox = 16
@balloon_sprite.oy = 32
update_balloon
end
#--------------------------------------------------------------------------
def update_balloon
if @balloon_duration > 0
@balloon_duration -= 1
if @balloon_duration == 0
@balloon_id = 0
dispose_balloon
else
@balloon_sprite.x = x
if @tile_id >= 384
he = 32
else
he = self.bitmap.height/4
end
@balloon_sprite.y = y - he
@balloon_sprite.z = z + 200
if @balloon_duration < BALLOON_WAIT
sx = 7 * 32
else
sx = (7 - (@balloon_duration - BALLOON_WAIT) / 8) * 32
end
sy = (@balloon_id - 1) * 32
@balloon_sprite.src_rect.set(sx, sy, 32, 32)
end
end
end
#--------------------------------------------------------------------------
def dispose_balloon
if @balloon_sprite != nil
@balloon_sprite.dispose
@balloon_sprite = nil
end
end
#--------------------------------------------------------------------------
end
#===============================================
Give me a couple of minutes. I will have this problem fixed for you, okay?
It will compose a different method, but should work fluently. No lag, no problem.
P.S.
It is my personal opinion, but I would NOT use a "?" to symbolize anything. The "!" should be the universal sign for quest. If they don't have one above their head, then the player will already know that no quest is available. No "?" is really needed.
Thanks! Please take your time, I didn't think I get help so quickly. And I always welcome advice, and your right a '!' should be enough. Great tip. :)
Edit: lvl up!
Quick question...
Do you need all of the extra stuff in that script you have posted there, or do you only want the exclamation point to show while a quest is active?
I will say no I don't need it. Can't think of when I would use the stuff.
Okay ... give me some time.
Edit:
Okay, how do you turn off your quests when they're completed?
Oh....well I am on break at work. Let's see. $scene_quest.complete(id) I think. I am using. Tornado quest log by storm.
P.s this will used with RMX-OS if that makes any difference to you. But I can define any save variables myself if there are going to be any.
Okay, well I myself can't make any changes to his script, or this emoticon script because I don't know squat about scripting period, but this can be done with separate events. That's my specialty. To use this method would mean creating two events for each quest. The NPC, and another event right above it to show the emoticon. The code for the emoticon would be fairly short but this would probably go against the reason you made this thread in the first place. To lessen your workload.
As far as a solution to the script ... I can't do it, I'm sorry for wasting your time.
Oh no! Thank you for your time and you didn't waste mine. I tried the event method your talking about, however, the script won't function with parallel process. The graphic for Emoticon is just a blank chat bubble, when I want it to show the image. Actually I was wanting is the script fixed so it could be used with parallel processes and function right.
edit: Now that I think about it, if I can find a graphic that fits the character folder, I can do this with events. Only thing is I tried pulling the images out of the image that was with Emoticon, but they wouldn't fit right.
Shit, then I can help you LMAO!
Couldn't you just edit the sprite in MS paint to put the explanation mark on top of them.
It would be far easier than editing a script, and you wouldn't need 2 events.
Quote from: Karltheking4 on September 08, 2010, 08:48:01 pm
Couldn't you just edit the sprite in MS paint to put the explanation mark on top of them.
It would be far easier than editing a script, and you wouldn't need 2 events.
True, but I like avoiding sprite work at much as possible.
@Calintz, great thank you! Are you wanting to help with the eventing part or getting the '!' graphic? Like I said before I tried ripping the one from the Emoticon image, but they wouldn't show up right in game.
@Karl:
More important than that, he would have to make that tedious edit to EVERY character to had a quest for the player. It is easier to have a custom charaset specifically for this purpose so that the effect can be achieved with ANY charaset available for use. I have created an icon file (24x24) and organized it into a character set with the dimensions 96x448. This will be used for everyone rather than franken-spriting a shit load more than necessary.
@ojp2010:
Both. I have everything completed through events for you. You simply have to figure how to trigger it. I think you may be able to use a script snippet for that though. You said the ($scene_quest.complete[ID]) is used to determine whether or not a quest has been completed, so in theory I think you should be able to use that for your conditional branch. The ID will need to change per event, but that really isn't anymore tedious than making the event.
Here is your custom charaset. I also added the question mark emoticon just in case you find use for it.
(http://i212.photobucket.com/albums/cc283/Derek16438/RPGMaker%20XP/Miscellaneous%20Resources/Emoticon.png)
BTW:
I tested that charaset in-game. It looks sexy!
Make sure you make the Emoticon event BENEATH the NPC!!
Edit:I went ahead and did the eventing for you. I also created a Common Event and used a switch. The final method is up to you. You can either paste the same code into every Emoticon you place on the map, or call a common event.
Common Event:Common Event should look like this: Trigger it Parallel with a new Switch called "Emoticon" or whatever and trigger that when quests are available.
@>Set Move Route: This Event
: Graphic: "Emoticon',0,2,0
: Wait 4 frames
: Change Opacity: 240
: Wait 4 frames
: Change Opacity: 224
: Wait 4 frames
: Change Opacity: 208
: Wait 4 frames
: Change Opacity: 192
: Wait 4 frames
: Change Opacity: 176
: Wait 4 frames
: Change Opacity: 160
: Wait 4 frames
: Change Opacity: 176
: Wait 4 frames
: Change Opacity: 192
: Wait 4 frames
: Change Opacity: 208
: Wait 4 frames
: Change Opacity: 224
: Wait 4 frames
: Change Opacity: 240
: Wait 4 frames
: Change Opacity: 255
@>Wait 48 frames
Emoticon:Now when you create your Emoticon event it should be organized like so ...
@>Conditional Branch: Script: $scene_quest.completed[ID] == TRUE
@>Control Self Switch: A =ON
@>
: Else
@>Call Common Event: Emoticon
@>
: Branch End
Let me know how things go.
Sincerely,
Calintz
Well, I give it a try with no success. I am using RMX-OS global switches/variables, so I can't use switches without it messing some players up. Also I don't think the Quest Log script I have works with this idea. Cause it doesn't have a $game_party.check_quest(1) function. So when I the event is running the conditional branch is actually competing and removing the quest from the player's log. I may need to find a new quest script or get an edit.
Edit: BTW, thank you so much for your help so far and the graphic. Nicely done.
Global switches and variables only affects the ones you designate.....
you can edit the trigger anyway you like. That is all that should need edited for this to work. If the switches are making more problems than they're worth, then copy the event code I listed for the common event into every emoticon you create. It will have the same affect without using switches period. Like I said ... I haven't looked at his script, so I don't know how to properly trigger this event to work.
*sigh* in theory this should work. upload tornado's script so I can take a gander.
Quote from: Wizered67 on September 09, 2010, 01:01:25 am
Global switches and variables only affects the ones you designate.....
fu(k me, how I ended up forgetting about that is beyond me. thank you.
Quest Log
#==============================================================================
#==============================================================================
# Tornado Quest Book
# Version 1.0
# Author: Storm
# http://rpgxpultimate.darkbb.com
#
# Instructions:
# Place the script above main.
#
# Use $scene = Scene_QuestBook.new to call it.
#
# Use $game_party.add_quest(id) to add quest.
#
# Use $game_party.delete_quest(id) to delete quest.
#
# Use $game_party.finish_quest(id) to finish quest.
#
# Use $game_party.unfinish_quest(id) to unfinish quest.
#
# In condition branch, at the script tab enter $game_party.quest_complete?(id)
# to check if that quest have completed yet.
#
# Features:
# Can custom menus name.
# Opacity configable.
# Customable complete quest color.
# Customable incomplete quest color.
# Able to set return scene.
# Auto replace text in the message.
# Replacements configable.
#
# Compatibility:
# Most of things. (Haven't test to any yet. :P)
#
# Credits and Thanks:
# Storm - For making it.
# Game_Guy - For teach me how to use array.
#
#==============================================================================
#==============================================================================
module TNDqb
#============================================================================
# START CONFIG
#============================================================================
#============================== General Config ==============================
# General Config.
#============================================================================
QB_Name = "Quest Book" #Quest Book name
Author_Name = "Author" #Author name
Title_Name = "Title" #Title name
Reward_Name = "Reward" #Reward name
Status_Name = "Status" #Reward name
Complete = "Complete" #Complete name
Incomplete = "Incomplete" #Incomplete name
Unknown = "???" #Unknown Name
Opacity = 200 #Windows Opacity
Screen = 1 #(0 = black,1 = map,"quoted string" = picture)
Cmp_Color = Color.new(0, 255, 0, 255) #Complete color
Incmp_Color = Color.new(255, 0, 0, 255) #Incomplete Color
Return = Scene_Map #Return Scene
#================================ Ignore Part ===============================
# Ignore Parts Under This.
#============================================================================
Quest = []
#============================ Replacement Config ============================
# Replacements, this will auto replace texts in your message
#
# Replace = ["text","replace"]
# NOTE: Maximum of replaces is 10. Replaces cannot be add or remove.
# Cannot include {name1}, {name2}, {name3} and {name4}
#
# Completed Replacements: (Do not add)
# {name1} = 1st actor's name
# {name2} = 2nd actor's name
# {name3} = 3rd actor's name
# {name4} = 4th actor's name
#============================================================================
Replace1 = ["",""]
Replace2 = ["",""]
Replace3 = ["",""]
Replace4 = ["",""]
Replace5 = ["",""]
Replace6 = ["",""]
Replace7 = ["",""]
Replace8 = ["",""]
Replace9 = ["",""]
Replace10 = ["",""]
#=============================== Quest Config ===============================
# Config quests here.
#
# Quest[id] = ["title","author's name","text","reward"]
#============================================================================
#PART 1
Quest[1] = ["Anemone Refugees","Flol ","Flol wants you to talk to Opsur","10 Gold & 5 Experience"]
Quest[2] = ["Bee Stringers","Hene","Hene has asked you to kill ten bees and bring back their stringers as proof","4 Gold & 10 Experience"]
Quest[3] = ["Camellia Flower","Pogrua","Bring twenty Camellia flowers to Pogrua. The flowers can be found anywhere in the Camellia Plains","2 Gold & 20 Expereince"]
Quest[4] = ["Abonded Chest", "Chest","It is locked, you should take it to Riro.","5 Gold & 10 Experience"]
Quest[5] = ["Supplies Thiefs","Fupp","Find the Fupp's ten missing supply crates.","3 Gold & 15 Experience"]
#============================================================================
# END CONFIG
#============================================================================
end
#====================
# Game_Party
#====================
class Game_Party
attr_accessor :quest
attr_accessor :qComplete
alias tnd_qb_init initialize
def initialize
@quest = []
@qComplete = []
tnd_qb_init
end
def add_quest(id)
msg = TNDqb::Quest[id]
return if msg == nil
unless @quest.include?(id)
@qComplete.delete(id)
@quest.push(id)
end
end
def delete_quest(id)
msg = TNDqb::Quest[id]
return if msg == nil
if @quest.include?(id)
@qComplete.delete(id)
@quest.delete(id)
end
end
def finish_quest(id)
msg = TNDqb::Quest[id]
return if msg == nil
if @quest.include?(id)
@qComplete.push(id)
end
end
def unfinish_quest(id)
msg = TNDqb::Quest[id]
return if msg == nil
if @quest.include?(id)
@qComplete.delete(id)
end
end
def quest_complete?(id)
return if id == nil
msg = TNDqb::Quest[id]
return if msg == nil
if @qComplete.include?(id)
return true
else
return false
end
end
end
#====================
# Bitmap
#====================
class Bitmap
def format_text(text, width)
words = text.split(' ')
return words if words.size == 1
result, current_text = [], words.shift
words.each_index {|i|
if self.text_size("#{current_text} #{words[i]}").width > width
result.push(current_text)
current_text = words[i]
else
current_text = "#{current_text} #{words[i]}"
end
result.push(current_text) if i >= words.size - 1}
return result
end
end
#====================
# Window_QuestTitle
#====================
class Window_QuestTitle < Window_Base
def initialize
super(0, 0, 640, 60)
self.back_opacity = TNDqb::Opacity
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.font.size = 25
cx = contents.text_size(TNDqb::QB_Name).width
self.contents.draw_text(0, 0, cx, 37, TNDqb::QB_Name)
end
end
#====================
# Window_QuestMain
#====================
class Window_QuestMain < Window_Base
def initialize
super(35, 100, 380, 340)
self.back_opacity = TNDqb::Opacity
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
return if @quest_id == nil
msg = TNDqb::Quest[@quest_id]
return if msg == nil
self.contents.clear
self.contents.font.size = 20
t = self.contents.text_size(TNDqb::Title_Name+": ").width
t2 = self.contents.text_size(TNDqb::Author_Name+": ").width
t3 = self.contents.text_size(TNDqb::Reward_Name+": ").width
t4 = self.contents.text_size(TNDqb::Status_Name+": ").width
self.contents.font.color = system_color
self.contents.draw_text(0, 0, self.width, 32, TNDqb::Title_Name+": ")
self.contents.draw_text(0, 32, self.width, 32, TNDqb::Author_Name+": ")
self.contents.draw_text(0, 250, self.width, 32, TNDqb::Reward_Name+": ")
self.contents.draw_text(0, 282, self.width, 32, TNDqb::Status_Name+": ")
self.contents.font.color = normal_color
self.contents.draw_text(t, 0, self.width, 32, msg[0])
self.contents.draw_text(t2, 32, self.width, 32, msg[1])
@text = msg[2]
@text = @text.gsub(TNDqb::Replace1[0], TNDqb::Replace1[1])
@text = @text.gsub(TNDqb::Replace2[0], TNDqb::Replace2[1])
@text = @text.gsub(TNDqb::Replace3[0], TNDqb::Replace3[1])
@text = @text.gsub(TNDqb::Replace4[0], TNDqb::Replace4[1])
@text = @text.gsub(TNDqb::Replace5[0], TNDqb::Replace5[1])
@text = @text.gsub(TNDqb::Replace6[0], TNDqb::Replace6[1])
@text = @text.gsub(TNDqb::Replace7[0], TNDqb::Replace7[1])
@text = @text.gsub(TNDqb::Replace8[0], TNDqb::Replace8[1])
@text = @text.gsub(TNDqb::Replace9[0], TNDqb::Replace9[1])
@text = @text.gsub(TNDqb::Replace10[0], TNDqb::Replace10[1])
actor = $game_party.actors[0]
@text = @text.gsub("{name1}", actor.name)
draw_msg(@text, 0, 64)
if $game_party.qComplete.include?(@quest_id)
self.contents.draw_text(t3, 250, self.width, 32, msg[3])
self.contents.font.color = TNDqb::Cmp_Color
self.contents.draw_text(t4, 282, self.width, 32, TNDqb::Complete)
else
self.contents.draw_text(t3, 250, self.width, 32, TNDqb::Unknown)
self.contents.font.color = TNDqb::Incmp_Color
self.contents.draw_text(t4, 282, self.width, 32, TNDqb::Incomplete)
end
end
def draw_msg(msg, x, y)
text = self.contents.format_text(msg, 380)
text.each_index {|i|self.contents.draw_text(x, y + i*32, 544, 32, text[i])}
end
def set_quest(id)
return if @quest_id == id
@quest_id = id
refresh
end
end
#====================
# Scene_QuestBook
#====================
class Scene_QuestBook
def main
if TNDqb::Screen.is_a?(Integer)
if TNDqb::Screen == 1
@back = Spriteset_Map.new
end
else
@back = Sprite.new
@back.bitmap = RPG::Cache.picture(TNDqb::Screen)
end
#Command window setup
@quest = $game_party.quest
@msg = []
@quest.each {|i|
@msg.push(TNDqb::Quest[i][0])
}
@msg = [""] if @msg.size < 1
#Create command window
@command_window = Window_Command.new(180, @msg)
@command_window.x = 460
@command_window.back_opacity = TNDqb::Opacity
@command_window.height = 420
@command_window.y = 60
j = 0
@quest.each{|i|
if $game_party.qComplete.include?(i)
@command_window.draw_item(j, TNDqb::Cmp_Color)
end
j += 1}
#Make main windows
@title = Window_QuestTitle.new
@main = Window_QuestMain.new
Graphics.transition
loop do
Graphics.update
Input.update
#Update windows and inputs
update
inputUpdate
#Break if scene is not Scene_QuestBook
if $scene != self
break
end
end
Graphics.freeze
#Dispose windows
if TNDqb::Screen == 1
@back.dispose
end
@command_window.dispose
@title.dispose
@main.dispose
end
def command_refresh
@newIndex = @command_window.index
@msg = []
@command_window.dispose
@command_window = nil
@quest.each {|i|
@msg.push(TNDqb::Quest[i][0])
}
@msg = [""] if @msg.size < 1
@command_window = Window_Command.new(180, @msg)
@command_window.x = 460
@command_window.back_opacity = TNDqb::Opacity
@command_window.height = 420
@command_window.y = 60
@command_window.index = @newIndex
j = 0
@quest.each{|i|
if $game_party.qComplete.include?(i)
@command_window.draw_item(j, TNDqb::Cmp_Color)
end
j += 1}
end
def inputUpdate
if Input.trigger?(Input::Key['L'])
#Play Cancel SE
$game_system.se_play($data_system.cancel_se)
#Return to set scene
$scene = TNDqb::Return.new
elsif Input.trigger?(Input::C)
#Play Decision SE
$game_system.se_play($data_system.decision_se)
#Refresh quest data
@main.set_quest(@quest[@command_window.index])
#Goto command_refresh
command_refresh
end
end
def update
#Updates
@command_window.update
@title.update
@main.update
end
end
So this is resolved?
You gave me the wrong syntax to use as conditional branching to check if the quest was already complete or not.
That's why my code didn't work.
Not really gave up cause it isn't working. The script doesn't have a check, if I put the call script in a conditional branch it actually completes the quest. And for the moment I am tried of shit not working with my project so I don't feel like dicking with this park anymore. One step forward two steps back it seems.
# In condition branch, at the script tab enter $game_party.quest_complete?(id)
# to check if that quest have completed yet.
Dude ... That came straight from the script!!
Replace my conditional branch with a conditional branch using that syntax under the "script" trigger. That should solve all of your problems.
if $game_party.quest.include?(ID) then...
Don't show the emoticon
You can use that or the way Cal just showed.
My way is basically what Cal's way does <:
Thank you both. I over looked that. I've been stressed about real liife stuff. I don't mean to be "snapy". You both helpeed alot thank you. <3 I will check it out once I get a day off work and school.
Lol, these are two simple means to an end.
If you can't figure it out just upload your game and I'll make the edits to it.
I want to help you resolve this issue, because I had a similar problem a long time ago with my project and I never got around to fixing it. I'm happy I was able to help someone else with the same problem.
I sent you a PM with a demo
Ok, well I can't testplay the game, because I can't connect to the server or whatever, but I have what I think should would written in. I'll upload it to you, and you tell me if it works.
Oh ok, thank you. Sorry I am still waiting to open up the server to the public cause the game isn't finished. I had it setup for a localhost, but I take it you don't have RMX-OS or don't use it. Thank you again for your help. <3
Nah, I like things the old fashioned way. I have never liked MMORPGs.
You have a PM waiting for you bud. Let me know ASAP how things turn out!