Jump to content

Search the Community

Showing results for tags 'system'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • News and Announcements
    • News
  • General
    • Suggestions & Feedback
    • General Chat
    • GFX
    • VFX
  • MMO Hub
    • Gamer's Lounge
    • Member's Lounge
    • Developer Lounge
    • Premium Lounge
  • MMO Corner
    • World of Warcraft
    • Lineage 2
    • Minecraft
    • Host Listing
    • Server Listing
    • Server Recruitment
    • Server Reviews
    • The Underground
  • User Hub
    • Support
    • Report
    • Contact Staff
  • Merchant Corner
    • Marketplace
  • General Development Releases
  • Tutorials
  • Wasteland

Categories

  • Creative Corner
    • GFX Releases
    • VFX Releases
    • Resources
  • MMO and MMORPG
    • World of Warcraft
    • Lineage 2
    • Minecraft
  • Webmasters
    • Content Management Systems
    • Addons
    • Scripts
    • Designs
    • Proxies
    • HTML
  • Applications
  • Gaming
    • World of Warcraft
    • Lineage 2
    • Minecraft
    • Emulation
    • Nulled Distributions
  • Marketplace
    • Marsh Designs
    • iDarts

Product Groups

  • Membership
  • Advertise
  • Promote

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Interests


How Did You Find Us?


Contributor


Discord

Found 2 results

  1. Here is a copy of a discussion I had some weeks ago with a guy on MSN. It will be formatted with time and enhanced when I got time. It was enough long to format it using MSN history... GENERIC TO-KNOW THINGS A quest is an instance (child) of a mother class, named Quest (in core side). Each quest inherits content of that superclass. Methods with "@Override" flag means they're using a method of that superclass. All methods for quests are stored in Quest.java so don't search anywhere else if you want to add or verify a method. MAIN METHODS && OTHERS Well, on any quest so far you got 2 methods, onAdvEvent() and onTalk(). If you haven't those 2 methods, your quest is just trash. onAdvEvent() leads the behavior of HTM bypasses, it does only that = when you click on a link from an html linked to that quest, it will search on onAdvEvent if an event is registered. By convention, a HTM bypass event refers to the HTM you must open. This HTM will be opened even if no event is associated with that bypass (case of big monologues when you speak to a guy and he gives you 5 different HTMs, but nothing special happens). onTalk() is the chat window behavior. It is mainly influenced by cond variable. That method controls HTMs view following conditions. "cond" variable is one of them, but it can be anything (player's level or race for exemple at startup will show you different HTM). Following methods are often used, but not vital : onKill() controls behavior about when you kill a mob. You can make it chatting, show an HTM, etc etc. onSkillSee() allows to make tests about skills onAggroRange() allows special events when you enter in aggro range of a monster (so far, I think it's only aggro based...) More to list, you can check on Quest.java anyway Those methods are supposed to send a String. That String is for HTMs sending, nothing more. If no HTM must be send, it must send "the default HTM" (case of vital methods) or "null" (cases of others methods where HTM isn't required). CORE OF A QUEST Methods explained higher are nothing if you don't register IDs of involved NPCs. This is made in the top up 'main' method (sorry i don't know the technic name), which refers to the quest itself. Exemple for Q013: public Q013_ParcelDelivery(int questId, String name, String descr) { super(questId, name, descr); questItemIds = new int[] { PACKAGE }; addStartNpc(FUNDIN); addTalkId(FUNDIN, VULCAN); } In that "method" you can see recurrent stuff : super(questId, name, descr); is always here don't touch that's all questItemIds = new int[] { PACKAGE }; It's the place where quest items are put. Those quest items WILL BE DELETED at quest end. So care about what you put (don't put things such as materials ( thread, iron ore, and so one) or even rewards. addStartNpc(FUNDIN); addTalkId(FUNDIN, VULCAN); Those lines register following IDs in onTalk/onAdvEvent So far there is nearly all time - 99% - one startnpc, and that startnpc got on addtalkid (else he's broken) In top bottom of java quest you can see public static void main(String[] args) { new Q013_ParcelDelivery(13, qn, "Parcel Delivery"); } (13, qn, "Parcel Delivery") That number MUST be the good quest one, else you will send the wrong quest logs to the client - imagine you write 6, you will send content of quest 6 in quest window... qn refers to a variable seted at begin of the quest, which is the convention name of the quest 3rd parameter is the ingame name of the quest, shown in client ; it is used if you got multiple quests on "quest section", and will show the quest name "cond" VARIABLE / MISC VARIABLES. EACH quest got 2 generic variables named "cond" and "state". "cond" is used to call the good htm, and to show you the good log of the quest in INGAME quest window "state" stores the quest state under 3 different values ; "created/started/completed". It is used for bigger check. Those 2 generic variables are stored under "character_quests" mySQL table. Others variables can be created following the quest's needs. HTM BYPASSES. A HTM bypass is a sort of link you will find on HTMs. They are always build like that : <a action="bypass -h Quest Q300_HuntingLetoLizardman 30126-03.htm">"I'll do it."</a> That part never moves, it says that bypass is linked to Quest system. That part is obviously the name of the quest ; in aCis i decided to convention it like that : QXXX_NameOfQuest That part is the event itself ; by convention it is ALL TIME an htm ; in some rare cases, you can't do it (exemple of multichoices) QUEST STATES. A quest got 3 states for non repeatable quest, and 2 for repeatable. In order : CREATED, STARTED, and COMPLETED (COMPLETED is never reached in a repeatable quest). CREATED is when the quest is still not STARTED ; aka you still didn't accept the quest (in old L2J IL writting style, it was cond == 0). STARTED is when you accepted the quest (so in 100% of cases = sound + cond = 1) that state is ofc the most common COMPLETED occurs only when a quest is non repeatable ; it is indirectly used by existQuest(true/false), so you will never see it activated except as a check to see if quest is already completed or not Quests can understand following writting : st.isCreated() / st.isStarted() / st.isCompleted() st refers to QuestState of the player. exitQuest(boolean) method. exitQuest(boolean repeatable): if put to true (so repeatable), it will clean states and quest entry from database if 0 (false), all is kept Credits for the Guide: Tryskell
  2. *Fixed this straight after I posted, sorry Delete this please!*

About us

MMO-Society is the Forum former known as Lordcraft, MMO-Society offers various of Resources to help you evolve your knowledge within Emulation, In the process we make sure to form a strong community bond in-between each other and thus we are proud to can admit that MMO-Society is possibly the friendliest Community Forum to currently exist.

Useful Quick-Links

×
×
  • Create New...