|
You last visited: Today at 22:57
Advertisement
[Quest Questions] Serious Developers ONLY!
Discussion on [Quest Questions] Serious Developers ONLY! within the Rappelz Private Server forum part of the Rappelz category.
10/31/2012, 17:23
|
#1
|
elite*gold: 0
Join Date: Oct 2010
Posts: 2,555
Received Thanks: 2,460
|
[Quest Questions] Serious Developers ONLY!
Myself and a buddy are examining how quests are formed, we have been successful in tracing the questing steps and different parts -- As we came to how the quest menu (e.g. Asura's First Hunt) is displayed we realized we can not determine the location where the actual menu item gets called (As it does not get called from the NPC_Tutorial_Guide_Asura_Contact() )
We also were unable to locate where the quest is handed off to the next quest (E.G. Go to Elementary Tutor) [Note: We found the dlg text for Elementary Tutor but as with Asura's First Hunt we can not find the actual call for the menu) as this was also not listed in the function (NPC_Tutorial_Guide_Asura_Contact() ) I have personally searched through all the lua's for specific info regarding the quest using Windows GREP and found little more)
Any serious replies would be greatly appreciated,
iSmokeDrow
Example:
Code:
--============================================================
--=============== ASURA Beginner Quest
--============================================================
function NPC_Tutorial_Guide_Asura_init()
cprint( "!¾È³»ÀÎ ¾Æ·Î¼¿ °¡µ¿" )
set_npc_name( "@90301200" )
end
function NPC_Tutorial_Guide_Asura_contact()
dlg_title( "@90301201" )
local race = get_value( "race" )
local quest_progress1 = get_quest_progress(1008)
local quest_progress2 = get_quest_progress(1009)
local quest_progress3 = get_quest_progress(1007)
-- If race NOT Equal 5
if race ~= 5 then
dlg_text( "@90301202" )
-- If Race = 5
elseif quest_progress1 == 0 then
dlg_text( "@90301203" ) -- Quest Not Taken -- So you finally arrived.
elseif quest_progress3 == 255 then
dlg_text( "@90301205" ) -- Quest Details -- Go to Elementary Tutor
else
dlg_text( "@90301204" ) -- Quest IN Progress
end
dlg_menu( "@90301124", "Quest_Link_2_1d()" ) -- What is this place?
dlg_menu( "@91000463", "Quest_Link_2_1e()" ) -- Switching Channels
if quest_progress1 == 1 or quest_progress1 == 2 or quest_progress1 == 255 then
dlg_menu( "@90010034", "Quest_Link_2_1a()" ) -- What are HP And Levels
dlg_menu( "@90010035", "Quest_Link_2_1b()" ) -- How I do equip Items
dlg_menu( "@90301126", "Quest_Link_2_1c()" ) -- What are Quests?
end
if quest_progress1 == 255 then
dlg_menu( "@90010036", "Quest_Link_2_2as()" ) -- Quest 1008 (1) Has been finished / Menu = How do I obtain Items?
end
if quest_progress2 == 255 then
dlg_menu( "@90010037", "Quest_Link_2_2bs()" ) -- How do I use Potions
end
if quest_progress3 == 1 or quest_progress3 == 2 or quest_progress3 == 255 then
dlg_menu( "@90010038", "Quest_Link_2_3a()" ) -- How do I use the Mini-Map?
end
dlg_menu( "@90010002", "" ) -- Goodbye
dlg_show()
end
function Quest_Link_2_1() -- After Quest is Accepted!
dlg_title( "@90301201" )
dlg_text_without_quest_menu( "@90301214" ) -- Make sure you equip a weapon
dlg_menu( "@90010034", "Quest_Link_2_1a()" ) -- What are HP / Levels
dlg_menu( "@90010035", "Quest_Link_2_1b()" ) -- How do I equip Items
dlg_menu( "@90301126", "Quest_Link_2_1c()" ) -- What are quests?
dlg_menu( "@90010002", " " ) -- Goodbye
dlg_show()
end
function Quest_Link_2_1a() -- Quest, Question A
dlg_title( "@90301201" )
dlg_text_without_quest_menu( "@90301206" ) -- HP Stands for Hitpoints
dlg_menu( "@90010035", "Quest_Link_2_1b()" ) -- Link to question b
dlg_menu( "@90301126", "Quest_Link_2_1c()" ) -- Link to question c
dlg_menu( "@90010002", " " ) -- goodbye
dlg_show()
end
function Quest_Link_2_1b() -- Quest, Question B
dlg_title( "@90301201" )
dlg_text_without_quest_menu( "@90301207" ) -- First press ALT+I
dlg_menu( "@90010034", "Quest_Link_2_1a()" ) -- Link to question a
dlg_menu( "@90301126", "Quest_Link_2_1c()" ) -- Link to question c
dlg_menu( "@90010002", " " ) -- goodbye
dlg_show()
end
function Quest_Link_2_1c() -- Quest, Question C
dlg_title( "@90301201" )
dlg_text_without_quest_menu( "@90301226" ) -- Make sure you equip a Weapon before hunting
dlg_menu( "@90010034", "Quest_Link_2_1a()" ) -- Link to question a
dlg_menu( "@90010035", "Quest_Link_2_1b()" ) -- Link to question b
dlg_menu( "@90010002", " " ) -- Goodbye
dlg_show()
end
function Quest_Link_2_1d() -- Quest, Question D
dlg_title( "@90301201" )
dlg_text_without_quest_menu( "@90301225" ) -- This is Trainee Island
dlg_menu( "@90010002", " " ) -- goodbye
dlg_show()
end
function Quest_Link_2_1e() -- Quest, Question E
dlg_title( "@90301201" )
dlg_text_without_quest_menu( "@91000464" ) -- It restricts amount of players by channel
dlg_menu( "@90010002", " " ) -- Google
dlg_show()
end
function Quest_Link_2_2a() -- Add Buff @ End of 1st Quest
add_state( 1011, 3, 60000 )
Quest_Link_2_2as() -- Fired after State Given (2nd pt of 1st Quest)
end
function Quest_Link_2_2as() -- Fired after State Given (2nd pt of 1st Quest)
dlg_title( "@90301201" )
dlg_text( "@90301208" ) -- If you kill Monsters they will drop items
dlg_menu( "@90010002", "" ) -- Goodbye
dlg_show()
end
function Quest_Link_2_2b()
add_state( 1013, 3, 120000 )
Quest_Link_2_2bs() -- Fired after State Given (3rd pt of 1st Quest)
end
function Quest_Link_2_2bs() -- Fire after State Given (3rd pt of 1st Quest)
dlg_title( "@90301201" )
dlg_text( "@90301209" ) -- Oh here's something else to keep in mind
dlg_menu( "@90010002", "" ) -- goodbye
dlg_show()
end
function Quest_Link_2_3a() -- Mini-Map Explination (Quest pt 3/3)
dlg_title( "@90301201" )
dlg_text_without_quest_menu( "@90301210" ) -- The mini-map is located
dlg_menu( "@90010002", "" ) -- Goodbye
dlg_show()
end
|
|
|
10/31/2012, 17:44
|
#2
|
elite*gold: 0
Join Date: Sep 2008
Posts: 1,606
Received Thanks: 1,210
|
Most of the quests aren't started via .lua. QuestlinkResource is linking the quests directly with the NPC.
QuestLinkResource:
NPC_ID: NPC of the NPC with the quest
QUEST_ID: Quest ID
FLAG_START: Set this to 1 if you want to see the "Open-Quest-Sign" over the head of the NPC
FLAG_PROGRESS: Same as start only with the "Progress-Sign"
FLAG_END: Same as start and progress only with "End-Sign"
TEXT_START: ID of Startdialogue in StringResource
TEXT_PROGRESS: This dialogue will show up during the quest.
TEXT_END: This is the dialogue which will show up if you successfully ended the quest.
QuestOrder is managed by the 3 "forequest" fields in the QuestResource-Table.
I hope this will help you.
|
|
|
10/31/2012, 17:46
|
#3
|
elite*gold: 0
Join Date: Oct 2012
Posts: 2
Received Thanks: 0
|
Quote:
Originally Posted by ismokedrow
Myself and a buddy
|
<- I'm that buddy
This is the part that confuses me (us),
Drow stripped out all the guts of the NPC_Tutorial_Guide_Asura_Contact() function and replaced all the text with "This is a test" and refreshed the server.
When talking to the NPC, the dialogue and menu options properly display as "This is a test", except the quest menu item is still there in the menu options without being added in through the NPC_Tutorial_Guide_Asura_Contact() function, so it's being added in elsewhere, we don't know where.
Furthermore,
After accepting the quest, the dialogue which the npc gives is standard, not replaced with "This is a test", which means it is being generated outside of the NPC_Tutorial_Guide_Asura_Contact() function.
In order to find where that dialogue is generated from we searched the lua files for the code from the StringResource db, and the only hit that turned up was the part which was replaced with "This is a test"
So that dialogue and menu (after accepting the quest) is also being generated outside of that function.
_________
edit: thanks c1ph3r, you answered while i was trying to give more details
edit2: Drow says thanks also, we (read: he) successfully removed the quest from the menu option with your help!
|
|
|
10/31/2012, 18:56
|
#4
|
elite*gold: 0
Join Date: Oct 2010
Posts: 2,555
Received Thanks: 2,460
|
Thanks again C1ph3r we now have a complete picture of the questing structure which will allow us a great degree of control over the course of our up-coming project.
|
|
|
 |
Similar Threads
|
Intrested in developing, some questions for bot developers.
10/28/2012 - DarkOrbit - 0 Replies
Hello guys i wan to know some things about bots, tools developing . First of all i wan to know what are the main programming languages used in developing of bots and tools.
second thing what developing tools are being used (editors, compilers etc...).
And maybe someone knows where to get source files of any packet bot used in dark orbit ? (For learning)
I hawe some experience in php programing so i think i can handle with other programing languages basics after a few mounths of learning....
|
World of WarPlanes : Developers Answer Fan Questions
12/30/2011 - General Gaming Discussion - 0 Replies
World of Warplane developers at Wargaming.net have posted the third part in their continuing series of "ask the developers" features. This time, the team took on thirty questions ranging on a variety of topics including mid-air collisions, whether or not view can be changed and much more.
6. Will the fight start with the planes in the air or will we have to take off from a runway, if we do have to take off from a runway will we are able to land again? either to get repairs or ammo ? WWII...
|
All times are GMT +1. The time now is 22:58.
|
|