Mobius Posted April 24, 2013 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 5 Reputation: 0 Joined: 03/20/12 Last Seen: June 6, 2013 Share Posted April 24, 2013 (edited) Hi. I explain my problem, I try to add a custom quest using * a Daily Quest * on my server (Rathena svn 17203 trunk).Side emulator everything is good and edited db/quest_db.txt 20000,0,0,0,0,0,0,0,"questname" The problem is client side If I simply edit the file questid2display.txt it is impossible to set images and other options now available if I followed all new Client using lua to define the quests but I have not found a tutorial explaining how they work so if someone could help me would be really nice Edited April 24, 2013 by Mobius Quote Link to comment Share on other sites More sharing options...
Minos Posted April 25, 2013 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 8 Reputation: 0 Joined: 11/04/12 Last Seen: June 10, 2013 Share Posted April 25, 2013 I need tutorial too... Quote Link to comment Share on other sites More sharing options...
Filgaja Posted June 17, 2013 Group: Members Topic Count: 2 Topics Per Day: 0.00 Content Count: 28 Reputation: 1 Joined: 05/16/12 Last Seen: October 20, 2021 Share Posted June 17, 2013 (edited) me also... iam realy confused where the files used.... What i have tryed... \luafiles514\lua files\quest\2013\quest_function.lua __LOCAL_QuestList = {} __EP_QuestList = {} QuestTable = {} function makeLocalQuestList(Quest_list) for episodeId,episode in ipairs(Quest_list) do episodeId = getTableSize(__LOCAL_QuestList) + 1 __LOCAL_QuestList[episodeId] = episode episode.id = episodeId for chapterId,chapter in ipairs(episode.list) do __LOCAL_QuestList[episodeId][chapterId] = chapter chapter.id = chapterId for questId,quest in ipairs(chapter.list) do __LOCAL_QuestList[episodeId][chapterId][questId] = quest quest.id = questId end end end end function makeEPQuestList(Quest_list) for episodeId,episode in ipairs(Quest_list) do episodeId = getTableSize(__EP_QuestList) + 1 __EP_QuestList[episodeId] = episode episode.id = episodeId for chapterId,chapter in ipairs(episode.list) do __EP_QuestList[episodeId][chapterId] = chapter chapter.id = chapterId for questId,quest in ipairs(chapter.list) do __EP_QuestList[episodeId][chapterId][questId] = quest quest.id = questId end end end end function queryEpisode(tabid,episodeId) if( tabid == 4 ) then if(__LOCAL_QuestList[episodeId] == nil) then return nil,nil,nil,nil end return __LOCAL_QuestList[episodeId].id, __LOCAL_QuestList[episodeId].name, __LOCAL_QuestList[episodeId].imagefile, getChapterIterator(episodeId,__LOCAL_QuestList) elseif( tabid == 3 ) then if(__EP_QuestList[episodeId] == nil) then return nil,nil,nil,nil end return __EP_QuestList[episodeId].id, __EP_QuestList[episodeId].name, __EP_QuestList[episodeId].imagefile, getChapterIterator(episodeId,__EP_QuestList) end end function queryChapter(tabid,episodeId,chapterId) if( tabid == 4 ) then if(__LOCAL_QuestList[episodeId] == nil) then return nil,nil,nil,nil end if(__LOCAL_QuestList[episodeId][chapterId] == nil) then return nil,nil,nil,nil end return __LOCAL_QuestList[episodeId].id, __LOCAL_QuestList[episodeId][chapterId].id, __LOCAL_QuestList[episodeId][chapterId].name, getQuestIterator(episodeId,chapterId,__LOCAL_QuestList) elseif( tabid == 3 ) then if(__EP_QuestList[episodeId] == nil) then return nil,nil,nil,nil end if(__EP_QuestList[episodeId][chapterId] == nil) then return nil,nil,nil,nil end return __EP_QuestList[episodeId].id, __EP_QuestList[episodeId][chapterId].id, __EP_QuestList[episodeId][chapterId].name, getQuestIterator(episodeId,chapterId,__EP_QuestList) end end function queryQuest(tabid,episodeId,chapterId,questId) if( tabid == 4 ) then if(__LOCAL_QuestList[episodeId] == nil) then return nil,nil,nil,nil,nil,nil end if(__LOCAL_QuestList[episodeId][chapterId] == nil) then return nil,nil,nil,nil,nil,nil end if(__LOCAL_QuestList[episodeId][chapterId][questId] == nil) then return nil,nil,nil,nil,nil,nil end return __LOCAL_QuestList[episodeId].id, __LOCAL_QuestList[episodeId][chapterId].id, __LOCAL_QuestList[episodeId][chapterId][questId].id, __LOCAL_QuestList[episodeId][chapterId][questId].name, __LOCAL_QuestList[episodeId][chapterId][questId].scrfilename, __LOCAL_QuestList[episodeId][chapterId][questId].questID elseif( tabid == 3 ) then if(__EP_QuestList[episodeId] == nil) then return nil,nil,nil,nil,nil,nil end if(__EP_QuestList[episodeId][chapterId] == nil) then return nil,nil,nil,nil,nil,nil end if(__EP_QuestList[episodeId][chapterId][questId] == nil) then return nil,nil,nil,nil,nil,nil end return __EP_QuestList[episodeId].id, __EP_QuestList[episodeId][chapterId].id, __EP_QuestList[episodeId][chapterId][questId].id, __EP_QuestList[episodeId][chapterId][questId].name, __EP_QuestList[episodeId][chapterId][questId].scrfilename, __EP_QuestList[episodeId][chapterId][questId].questID end end function getEpisodeIterator(__QuestList) local pos = 1 return { hasNext = function() return __QuestList[pos] end, value = function() temp_pos = pos pos = pos + 1 return __QuestList[temp_pos] end } end function getChapterIterator(episodeId,__QuestList) local pos = 1 return { hasNext = function() if(__QuestList[episodeId]==nil) then return nil end return __QuestList[episodeId][pos] end, value = function() temp_pos = pos pos = pos + 1 return __QuestList[episodeId][temp_pos] end } end function getQuestIterator(episodeId,chapterId,__QuestList) local pos = 1 return { hasNext = function() if(__QuestList[episodeId][chapterId]==nil) then return nil end return __QuestList[episodeId][chapterId][pos] end, value = function() temp_pos = pos pos = pos + 1 return __QuestList[episodeId][chapterId][temp_pos] end } end function queryQuestID(tableName , questID) returnTable = QuestTable[tableName] if(returnTable[questID] == nil) then return nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil end return returnTable[questID].NPCFromName, returnTable[questID].NPCFromMap, returnTable[questID].NPCFromSpr, returnTable[questID].NPCFromX, returnTable[questID].NPCFromY, returnTable[questID].NPCToName, returnTable[questID].NPCToMap, returnTable[questID].NPCToSpr, returnTable[questID].NPCToX, returnTable[questID].NPCToY, returnTable[questID].Item, returnTable[questID].PrizeItem, returnTable[questID].Title, returnTable[questID].QuickInfo, returnTable[questID].Info, returnTable[questID].Hunt1, returnTable[questID].Hunt2, returnTable[questID].Hunt3, returnTable[questID].Time, returnTable[questID].Lv end -- Ç׸ñ Äù½ºÆ® ÆÄÀÏÀÌ Ãß°¡ µÉ¶§¸¶´Ù À̰÷¿¡ Ãß°¡ ½ÃÄÑ ÁØ´Ù. makeLocalQuestList(LOCAL_MalayaQuest_List) makeLocalQuestList(LOCAL_DewataQuest_List) makeEPQuestList(EP_141Quest_List) -- °³º° Äù½ºÆ® ÆÄÀÏÀÌ Ãß°¡ µÉ¶§¸¶´Ù À̰÷¿¡ Ãß°¡ ½ÃÄÑÁØ´Ù. QuestTable.malayaQuest = malayaQuest_List QuestTable.epsoid141Quest = epsoid141Quest_List QuestTable.DewataQuest = DewataQuest_List i do not understand what files this questtable creates... when i make an costum inside: makeLocalQuestList(LOCAL_TestQuest_List) QuestTable.TestQuest = TestQuest_List The wont read inside luafiles514\lua files\quest\localquest\local_testquest_list.lua LOCAL_TestQuest_List = { { name = [[EP 1 - Atlantis]], imagefile = [[ep_test_sample.bmp]], list = { { name = [[The Journey Begins]], list = { { name =[[Pink Plague.]], scrfilename = [[testquest]], questID = 1000, }, { name =[[Green Plague.]], scrfilename = [[testquest]], questID = 1001, }, }, }, }, }, }, And also i do not know where is declaired how the questinfo files will be read \luafiles514\lua files\quest\localquest\questinfo\l_test_list.lua TestQuest_List = { [1000] = { NPCFromName = [[Wache]], NPCFromMap = [[atl_fild01]], NPCFromSpr = [[8W_SOLDIER]], NPCFromX = 208, NPCFromY = 82, NPCToName = [[Wache]], NPCToMap = [[atl_fild01]], NPCToSpr = [[8W_SOLDIER]], NPCToX = 208, NPCToY = 82, Item = [[< image = "569">Novice Potion<\end> (20)]], PrizeItem = [[]], Title = [[Rosa Plage]], Info = [[ Die Felder von Atlantis werden auch schon von plagegeistern heimgesucht. Wie wäre es wenn du ein wenig aufräumst? ]], QuickInfo = [[]], Hunt1 = [[< link = "Poring">Poring<\end> x 10 ]], Hunt2= [[]], Hunt3= [[]], Time = [[0]], LV = [[0]], }, I) Can get it to work if i write it in the knowen files - local_dewataquest_list.lua - questinfo\l_dewata_list.lua But isnt there realy another way? And also one more problem -> Wenn i add the custom quests the quest window shows me the first quest and the quest iam on... he quests between i made allready with "???????????" again... but why? ist not serverside, the done quests are still in sql here a screen Edited June 17, 2013 by Filgaja Quote Link to comment Share on other sites More sharing options...
Reaper_san Posted October 24, 2013 Group: Members Topic Count: 5 Topics Per Day: 0.00 Content Count: 22 Reputation: 4 Joined: 09/08/12 Last Seen: December 15, 2020 Share Posted October 24, 2013 i'm working on this too Quote Link to comment Share on other sites More sharing options...
Question
Mobius
Hi.
I explain my problem, I try to add a custom quest using * a Daily Quest * on my server (Rathena svn 17203 trunk).
Side emulator everything is good and edited
db/quest_db.txt
20000,0,0,0,0,0,0,0,"questname"
The problem is client side
If I simply edit the file questid2display.txt it is impossible to set images and other options now available
if I followed all new Client using lua to define the quests but I have not found a tutorial explaining how they work so if someone could help me would be really nice

Edited by MobiusLink to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.