ArcEmu: Core Development: Quest System - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Read:

When submitting patches - READ: http://arcemu.org/fo...?showtopic=2355 -
  • (5 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Core Development: Quest System

#21 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 04 March 2010 - 06:32 PM

Updated again, redone daily quest system, its not using Mutex now, but proper PLAYER_FIELDS, this allows you to see how many dailes u completed today in quest log

also corrected status calculating and sending (like repetable, daily, low lvl qeusts etc.)

repeatable quests now correctly build RequstItem instead of Objectives, this mean you dont need to click on "accept" button for repeatable quests

Edit: Also alot of testing done and i must say i am surprised that almost everything work as it seems, i will do more testing when i will be done
Posted Image
0

#22 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 05 March 2010 - 08:43 AM

ok i have some more notes ;)
* WorldSession::HandleTimeSyncResp - calculating the diff just for log is a waste of cpu - i would just keep it to sLog.outDebug("WORLD: Received CMSG_TIME_SYNC_RESP"); and thats it (but do as you wish)
* whats the point of uint64 field2 in QuestLogEntry::UpdatePlayerFields()? from what i see its something you should have cleaned from ready code
* uint32 bonushonor = uint32(ceil(qst->bonushonor*(-0.53177f + 0.59357f * exp((plr->getLevel() + 23.54042f) / 26.07859f)))); - thats the formula for honor amount per HK kill if im right but since 3.3 quest table should store not the amount of honorable kills rewarded but raw value for honor
* least important - SubtractTime you have a typo here
0

#23 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 05 March 2010 - 11:45 AM

1. About WorldSession::HandleTimeSyncResp, i was trying to get for what it is, because i wanted to figure out how next daily reset time is sended to client and i was thinking about this packet

2. i was trying to get how is that field used, it should be setted up into quest log field 3 (there is 0 - 5, 0 = id, 1 = state, 2 = count, 3 = probably count too , 4 = quest timer)

3. ah thanks, i was trying to figure out how to calculate it from that float field, but i dont get any ideas about formula

4. typo? cant find any
Posted Image
0

#24 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 05 March 2010 - 12:35 PM

SubtractTime - SubstractTime
about the field: since 3.3 count is stored on uint64 instead of 32 - thats where extra field goes
p1[2*i] |= (uint8)m_mobcount[i]; <- that *2 is an ugly hack i came up with when 3.3 first came - now i think should instead cast it on uint16 pointer not 8
0

#25 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 05 March 2010 - 02:06 PM

nah and i was wondering why mangos set it as uint64 all the time

hmm
	if(m_quest->count_required_mob)
	{
		// optimized this - burlex
		uint16 *p1 = (uint16*)&field1;

		for(int i = 0; i < 4; ++i)
		{
			p1[i] |= (uint16)m_mobcount[i];
		}
	}


or ?
Posted Image
0

#26 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 05 March 2010 - 02:25 PM

yes thats exactly what i mean (even the comment in updatefields.h says so - PLAYER_QUEST_LOG_1_3 = UNIT_END + 0x000C, // Size: 2, Type: TWO_SHORT, Flags: PRIVATE)
0

#27 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 07 March 2010 - 10:57 AM

Ya ok thanks, included

Anyway i added few more things, like loading player limit and reset time for instances from DBC, updated function for UpdateNearbyObjects for quests, it now should activate / deactivate objects with flag 4 on quest start/finish. Also fixed some things with daily and repetable quests, fixed taking money for quests which require money to complete quest. Fixed some areatrigger messages too (loading them from DBC, if its possible to send loaded msg from DBc send it, if not use old way and send old message with requirement), fixed sending npc_text, this may fix bugs when you see just half message from creature, or creature does not respond with correct npc flags.
Posted Image
0

#28 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 07 March 2010 - 11:29 AM

ok about mapdifficulty stuff: the way you get playerlimit is wrong - some entries dont have it set, you should do just like mangos did - get the limit from normal difficulty (this is the case for TBC heroics)

also - no need to do something like for(uint32 x = 0; x < cnt; x++) in case of dbcs, we have iterator class for dbcs ;)
0

#29 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 07 March 2010 - 12:43 PM

Kay updated, thanks ;)

anyway i think that more people should be interest in, this is large update and i think this update is needed
Posted Image
0

#30 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 07 March 2010 - 01:39 PM

oh and if i may suggest something - dont mix instances into that ;) do that separately
0

#31 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 07 March 2010 - 02:28 PM

I don't understand, what to do seprately? ;)
Posted Image
0

#32 User is offline   Shauren 

  • Helper
  • Group: Contributor
  • Posts: 808
  • Joined: 04-November 08
  • Gender:Male
  • Location:Poland
  • Interests:hmm, wow?

Posted 07 March 2010 - 03:31 PM

in a separate patch file is what i mean
0

#33 User is offline   Sadikum 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 367
  • Joined: 16-June 08
  • Gender:Male

Posted 11 March 2010 - 12:57 AM

Maybe made two separates table can be good, one quests table who contains only the values present in the WDB and one quests_overrides which the other fields, it's just an idea :).
Sorry for my english, I'm french.
0

#34 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 11 March 2010 - 03:21 AM

sure its easy to do it but i am unsure about approving it by devs :) yes it will be better has 2 tables with less columns (as i am db i know what i am talking about :))
Posted Image
0

#35 User is offline   Ogchaos 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 404
  • Joined: 30-September 09

Posted 17 March 2010 - 11:20 AM

Nice patch MesoX, keep it up.
0

#36 User is offline   Sadikum 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 367
  • Joined: 16-June 08
  • Gender:Male

Posted 17 March 2010 - 01:04 PM

Here is an updated version of Mesox's great patch for Arcemu 3217, I've modified some thing like put Zone and Sort in one field and there was few int32 values sending like uint32.
Sorry for my english, I'm french.
0

#37 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 18 March 2010 - 02:34 PM

should u send what u modified instead of full patch? I allready reworked alot of things and i don't want to apply your patch and lose all those things, or go trough 5k lines and see where u modified something ;). I will update this topic soon, as my PC is now broken and i must wait
Posted Image
0

#38 User is offline   Sadikum 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 367
  • Joined: 16-June 08
  • Gender:Male

Posted 19 March 2010 - 08:13 AM

It's hard because my change is based on your patch and TortoiseDiff make the patch with differences between the revision and the working copy. I've tested and you can easily see what I've change by using TortoiseMerge with Complete.patch (the one on the first post) and my patch. Otherwise it's nothing post your new patch and I'll make the change :).
Sorry for my english, I'm french.
0

#39 User is offline   Ogchaos 

  • Interested
  • PipPipPipPip
  • Group: Members
  • Posts: 404
  • Joined: 30-September 09

Posted 13 May 2010 - 02:23 PM

I think some work on the RequiredRace and class fields may be required as well.

Don't seem to work.
0

#40 User is offline   MesoX 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 296
  • Joined: 15-June 08
  • Gender:Male
  • Location:Czech Republic
  • Interests:pc & girls & parties

Posted 13 May 2010 - 02:58 PM

okay, updated first post with newest patch and as it seems everything is working fine
Posted Image
0

Share this topic:


  • (5 Pages)
  • +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users