Jump to content
Sign in to follow this  
AnnieRuru

Sample Questlog & Achievement script

Recommended Posts

Download: 1.1
sample quest log

Download: 1.1
sample daily quest


these are 5 sample quests using quest log system

this was actually made as a sample script inside a script support section in eathena forum
original topic from eathena
thanks to paradog eathena admin that makes eathena forum down, almost gonna remake everything from scratch
luckily I got a few segment here and there in my old hard-disk so doesn't take too much time to write this sample

Quest #1
typical talk to npc A, then npc B ... etc
demonstrate how to use *checkquest

Quest #2
collect item quest
just checkitem with it
I still don't know how to use the client to trace is the item collecting has completed or not

Quest #3
kill monster quest
demonstrate how to use *checkquest( x, HUNTING )

Quest #4
typical talk to npc A, then npc B ... BUT with a time limit
demonstrate how to use *checkquest( x, PLAYTIME )

Quest#5
if player having this quest, player can *getitem by killing this monster
see https://github.com/HerculesWS/Hercules/blob/stable/db/quest_db.conf#L45-L50

screen2019Hercules031.jpg

 

screen2019Hercules044.jpg

and I want to remind this is just a sample script
usually make for source modification on quest log system (now is 3rd time I think ?)

 

 

0.1 - script

0.2 - script

0.3 - script
- update to new format, and new script commands

1.0 - script
- update to new format

1.1 - script
- add achievement system

 


 

2 sample script for daily system

1. Daily item giver ...
although I think this should done with attendance system ...

2. Daily hunting ...
self explain ...

screen2019Hercules032.jpg

screen2019Hercules045.jpg

 

Spoiler

1.0 - script

1.1 - script
- add achievement system

 


	[109991] = {
		UI_Type = 0,
		group = "CHATTING",
		major = 4,
		minor = 0,
		title = "Tavern Helper",
		content = {
			summary = "Visit the Tavern Master",
			details = "Visit the Tavern Master in Prontera."
		},
		resource = {
			[1] = { text = "Acolyte Trouble" },
			[2] = { text = "Gemstone shortage" },
			[3] = { text = "Poring Problem" },
			[4] = { text = "Hand over the Artifact" },
			[5] = { text = "Shining Rocker" }
		},
		reward = { title = 991 },
		score = 5
	},
	[109992] = {
		UI_Type = 1,
		group = "GOAL_ACHIEVE",
		major = 6,
		minor = 0,
		title = "Complete Daily Quest for 30 times",
		content = {
			summary = "Complete Daily Quest",
			details = "Complete Daily Quest for 30 times and you can earn some nice rewards!"
		},
		resource = {
			[1] = { text = "Collect Daily Items 30 times", count = 30 },
			[2] = { text = "Complete Daily Quest 30 times", count = 30 }
		},
		reward = { title = 992, item = 513 },
		score = 30
	},

UI_TYPE
- display a bar like in the daily quest screenshot
- 0: in the [resource], doesn't support [count]
- 1: support [count]

group:
- read from data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\achievement

goal_achieve.png

major
- 1: General tab
- 2: Adventure tab
- 3: Battle tab
- 4: Quest tab
- 5: Memorial tab
- 6: Feat tab

Edited by AnnieRuru

Share this post


Link to post
Share on other sites

@showevent and questinfo not working - Are you using an outdated client? It should be fixed in client version 2013-08-07 onwards. Atleast some report that it's fixed.

If it's an issue regarding a different matter, perhaps it's similar to this: http://rathena.org/board/tracker/issue-8156-showevent-statecolor/

Share this post


Link to post
Share on other sites

thanks for the reminder

 

http://upaste.me/161989

 

is the *questinfo command only show with checkquest(x) == -1 intended ?

https://github.com/HerculesWS/Hercules/blob/master/src/map/clif.c#L9609

because when player on the quest, I want to show where the npc is with the mini-map dot

but the *questinfo only display the mini-dot when checkquest(x) == -1(not started), not 1(active)

Share this post


Link to post
Share on other sites

Hi Ms. @AnnieRuru I really like the idea. i know this is just a sample but mind if i ask if possible or is it possible; how

  • to make this DAILY chain quest.
  • to make this every 00:00 server time this quest reset back to zero 0. Player should finish the quest before 00:00
  • and if player finishes the quest before 00:00 then player took a quest again will remind that need to wait for --:-- hours until quest reset at 00:00.
  • Regardless if player only reach mission 2, quest will reset back to 0 once 00:00.
  • to Place item reward or exp reward per npc mission accomplish (guess this can added in after "dispbottom "mission 1 pass";")
  • quest depend per base level "1-20","21-40","41-60","61-80","81-99".

    Thanks!
Edited by MikZ

Share this post


Link to post
Share on other sites

Mass update to version 1
compatible with Hercules 2019-02-24 and client 2018-06-20Re

screen2019Hercules031.jpg

https://github.com/AnnieRuru/Release/blob/master/scripts/Quest %26 Shops/quest log/quest_log_1.0.txt


@MikZ, the thing you describe there is official
https://github.com/HerculesWS/Hercules/pull/1593#issuecomment-284083798

so just in case you don't understand, I make another sample then
https://github.com/AnnieRuru/Release/blob/master/scripts/Quest %26 Shops/quest log/daily_quest_log_1.0.txt

Edited by AnnieRuru

Share this post


Link to post
Share on other sites
4 hours ago, utofaery said:

Since this is sample questlog,

Might be wise to include sample Instance?

most people understood from this posts ...
https://github.com/AnnieRuru/Release/blob/master/Guides/Compare Instance script between rAthena %26 Hercules.md

Share this post


Link to post
Share on other sites
On 2/24/2019 at 5:19 AM, AnnieRuru said:

Mass update to version 1
compatible with Hercules 2019-02-24 and client 2018-06-20Re

screen2019Hercules031.jpg

 

@AnnieRuru your Quest information is so neat. can that be use for client 20141022 or for 2018 client only?

Check mine ..

screenLibRO002.jpg.52d7e635194cd45ba3332a94c60daa29.jpg

also where to add these?

*/
mission 1 - acolyte trouble
49900 - from tavern, talk to acolyte
49901 - from acolyte, talk to npc in izlude
49902 - from izlude, talk to acolyte
49903 - from acolyte, submit to tavern

mission 2 - gemstone stortage
49904 - from tavern, talk to gem seller
49905 - from gem seller, collect 10 yellow/blue/red gemstone
49906 - from gem seller, submit to tavern 

mission 3 - poring problem
49907 - from tavern, talk to guard
49908 - from guard, kill 10 poring
49909 - after kill poring and talked to guard, submit to tavern 

mission 4 - hand over the artifact
49910 - from tavern, talk to artifact collecter
49911 - from artifact collecter, talk to assistant within 20 seconds
49912 - from assistant, talk to artifact collecter
49913 - from artifact collecter, submit to tavern
*/

 

 

screenLibRO001.jpg

Edited by MikZ

Share this post


Link to post
Share on other sites
4 hours ago, MikZ said:

@AnnieRuru your Quest information is so neat. can that be use for client 20141022 or for 2018 client only?

the new quest log window is only for 2018-03-07b onward, so if your client is not so up to date, can use version 0.3 ...

nope, that is just some information when I brainstorming some quest idea

about Dastgir's idea that add custom quest in Any tab, I'm thinking not going for it,
because I'm thinking of integrate this with achievement system ...
using such old client version also means you can't use more modern features

Edited by AnnieRuru

Share this post


Link to post
Share on other sites

I don't know if its just me or others get it too but the showscript command gives memory leaks

Edited by AnnieRuru
move from http://herc.ws/board/topic/16581-stylist/

Share this post


Link to post
Share on other sites
58 minutes ago, Kuroe said:

I don't know if its just me or others get it too but the showscript command gives memory leaks

Any Logs showing line number of leaks?

Share this post


Link to post
Share on other sites
Just now, Dastgir said:

Any Logs showing line number of leaks?

Spoiler

0001 : map.c line 6036 size 392 address 0x0x56448847a61c
0002 : map.c line 6036 size 392 address 0x0x56448847a7cc
0003 : map.c line 6036 size 392 address 0x0x56448847a97c
0004 : map.c line 6036 size 392 address 0x0x56448847ab2c
0005 : map.c line 6036 size 392 address 0x0x56448847acdc
0006 : map.c line 6036 size 392 address 0x0x56448847ae8c
0007 : map.c line 6036 size 392 address 0x0x56448847b03c
0008 : map.c line 6036 size 392 address 0x0x56448847b1ec
0009 : map.c line 6036 size 392 address 0x0x56448847b39c
0010 : map.c line 6036 size 392 address 0x0x56448847b54c
0011 : map.c line 6036 size 392 address 0x0x56448847b6fc
0012 : map.c line 6036 size 392 address 0x0x56448847b8ac
0013 : map.c line 6036 size 392 address 0x0x56448847ba5c
0014 : map.c line 6036 size 392 address 0x0x56448847bc0c
0015 : map.c line 6036 size 392 address 0x0x56448847bdbc
0016 : script.c line 21291 size 8 address 0x0x56448a69c05c
0017 : script.c line 21291 size 8 address 0x0x56448a69c0bc
0018 : script.c line 21291 size 8 address 0x0x56448a69c11c
0019 : script.c line 21291 size 8 address 0x0x56448a69c14c
0020 : script.c line 21291 size 8 address 0x0x56448a69c1dc
0021 : script.c line 21291 size 8 address 0x0x56448a9308dc
0022 : script.c line 21291 size 8 address 0x0x56448a93093c
0023 : script.c line 21291 size 8 address 0x0x56448a93099c
0024 : script.c line 21291 size 8 address 0x0x56448a9309cc
0025 : script.c line 21291 size 8 address 0x0x56448a930a5c
0026 : script.c line 21291 size 8 address 0x0x56448ad2dbac
0027 : script.c line 21291 size 8 address 0x0x56448ad2dc0c
0028 : script.c line 21291 size 8 address 0x0x56448ad2dc6c
0029 : script.c line 21291 size 8 address 0x0x56448ad2dc9c
0030 : script.c line 21291 size 8 address 0x0x56448ad2dd2c

 

Share this post


Link to post
Share on other sites
On 4/9/2019 at 11:43 PM, Kuroe said:

I don't know if its just me or others get it too but the showscript command gives memory leaks

this has nothing to do with stylist script, nor the showscript script command,
but rather the *setquestinfo script command

and I reproduce the problem with this topic, so move the post over here

https://github.com/HerculesWS/Hercules/issues/2431
and also can only reproduce with "@reloadscript" so it isn't ... too severe I guess,
because live server shouldn't use "@reloadscript" at all

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.