Jump to content

[AOG] Journal/Tradeskill Book + Alignment System


Ainz Ooal Gown

Recommended Posts

Description:

Player journal / trade-skill book that a player can click to open and display stats about character, but also showing in inventory book opening and closing. With in the trade-skill book on player information page the player can check character alignment which has been integrated with the journal system. It works by showing a page in the journal depending on what the players alignment points are at, this way the page can show the name of of the players current alignment such as: Divine, Good, Neutral, Evil, Demonic.

 

You can rip out the alignment system and just have the 3 pages to go to with no conditions on alignment needed. I just didn't want to rip it out to do a tutorial so left it in as a joint system.

 

Video:

https://www.ascensiongamedev.com/resources/filehost/bcc670d0de58b5817632b7e0333eca66.mp4

 

Process:

  1. Click on trade-skill book item in inventory.
  2. Book opens in inventory.
  3. Opens a a show options command in events showing 3 pages and a close option
  4. Each page can be customized the way you want, I did Journal Information, Weapon Skills, Trade Skills.
  5. Close trade skill book closes book in inventory.

 

Issue:

None

 

Addon: (Needed to add/remove alignment points)

[AOG] Alignment System Add On - Gaining/Losing Alignment Points

 

Aisen's Guild System:

 

Build: 

If you want to keep the alignment system with the journal, then we need to create the variable to hold the players alignment points:

Spoiler

b0d6a6bd87837061f01b05359bffba2a.jpg

 

NOTE: Switch is optional. I use it as at some point in my game the player will lose all ability to see stats and such. So the switch is optional to if you want to do that at some point in your game. If not then do not add the switch and later on when we come to making the common event just skip out the condition at the very beginning.

 

We also want a "Player Switch" for the Journal:

Spoiler

fe80750c7381b3a04c8797200a3083f8.jpg

 

Next we need a book with a closed and open state.

 

Then we need to create 2 items, first for the book closed and second for the book opened. Name the books the same, but just remember which order you created them in:

Spoiler

NOTE: We have not created the "Event" yet so don't worry about the item type. We will come back to that.

 

Book Closed:

c3c439b5dfad2bb4bdb58c56a83de8db.jpg

 

Book Open:

043ff19cc656c2bc5759e5210ccecc74.jpg

 

Now we have the items and variables created we can make the "Common Event".

Spoiler

Here is the Event Flow::

  1. Check is Player Switch "Journal" = False (Optional Condition)
  2. Take Item "Book Of Trade" (Closed Book Item)
  3. Give Item "Book Of Trade" (Open Book Item)
    1. This will make the book look open in the players inventory.
  4. Check player "Alignment Points"(AP) as a condition then goto that value based on (This is long due to the alignment system. I have it so depending on what alignment points the player is at, it shows a "Option Set" so I can display wording for the variable value  (because you cant do that at the moment)):
    1. AP <= 100 = Divine

    2. AP <= 2999 = Good

    3. AP <= 10000 = Neutral

    4. AP <= 14999 = Evil

    5. AP > 15000 = Demonic

  5. Based on alignment point value display an Option Set.

  6. Default page for opening a Journal is the "Journal Information" page.

  7. Button clicks on each page take you to a different page with in the journal: Journal Information, Weapon Skills, Trade Skills and Close Book.

  8. Close Book will close down the event and do a reverse on the take/give item from start of event:

    1. Take Item "Book Of Trade" (Open Book Item)
    2. Give Item "Book Of Trade" (Close Book Item)
      1. This will make the book look closed in the players inventory.

 

Here is the "Journal Information" page (so you have an idea on how I did mine, not going to show every page):

Spoiler

Journal Information
------------------------

Name: \pn

Alignment: Divine
Alignment Points: \pv{alignmentpoints}
Criminal: \pv{criminal}

Quest Points: \pv{qp}
Adventuring: \pv{adventuring}

Skill Points: \pv{sp}
Trade Points: \pv{tp}
-----

Heroic Kills:
Monters Slain: \pv{monsterslain}
Creatures Slain: \pv{creatureslain}
Demonics Slain: \pv{demonicslain}
Justified: \pv{justified}

Evil Kills:
Animals Slain: \pv{animalslain}
NPCs Slain: \pv{npcslain}
Heroes Slain: \pv{heroeslain}
Murders: \pv{murders}
-----

Time: \24hour : \minute : \second
Guardians Online: \onlinecount

 

Here is the alignment point conditions for each "Jounral Information" page:

Spoiler

AP <= 100 = Divine

2578063af6f16f44219524f731bb17d8.jpg

 

AP <= 2999 = Good

8d8a75879444a0c08888231e1ded6efe.jpg

 

AP <= 10000 = Neutral

c568304b272a4b42e3b0c5c407bc6014.jpg

 

AP <= 14999 = Evil

1b2afb252f813d13d512d00bb958d644.jpg

 

AP > 15000 = Demonic

516711e3ccc87bd9657f7c864115f2f4.jpg

 

Now for the beefy bit, building the "Common Event". If you don't want the alignment system, then this bit will be short and only need to do the top bit up to the close book and swapping the player items and also remove the "Alignment Condition". If you do want the alignment system then copy the below in full.

2a1fa7db0fbe426c2bb6b90d71aee435.jpg

f3802ecaf1da40ce8be3be9ee85339b3.jpg

8ee0cdbf655de23b6193253c68dcb5c2.jpg

ae9e0cab21ceef6b0d621a62df90ef55.jpg

 

Now we need to go back and set the Item Types to the "Common Event - Journal" we just created:

Spoiler

NOTE:  We only set the "Common Event" to the "Book Closed" so that only runs the event. We do set the "Book Open" to a type "Event" so it is displayed as a "Special Item", but we do not apply an event to it.

 

Book Closed:

c3c439b5dfad2bb4bdb58c56a83de8db.jpg

 

Book Open:

043ff19cc656c2bc5759e5210ccecc74.jpg

 

Complete!

 

Now just give you players that "Closed Book" Item and they will have a wokring Journal to show additional player/game stats.

 

You could also bound the "Items" and set the "Closed Book" as a "Spawn Items" with in "Classes" so the player will have Journal from start of game, and will always have it.

 

Hope you Enjoy :)

 

Dont forget the Addon: (Needed to add/remove alignment points)

[AOG] Alignment System Add On - Gaining/Losing Alignment Points

 

Link to comment
Share on other sites

  • 4 months later...

Awesome tutorial bro! It really introduced the change item,tags,and text event commands to me. One thing I struggled with going through was I naturally wanted to change the event structure. For whatever reason(probably OCD), I wanted to put the commands for each tag on its each individual page. Maybe you could share an example or direct me towards one so I can better understand how pages work. Back on topic, thanks for a educating tutorial. It has really helped me progress in understanding events better!

Link to comment
Share on other sites

2 hours ago, Slayer said:

 Awesome tutorial bro! It really introduced the change item,tags,and text event commands to me. One thing I struggled with going through was I naturally wanted to change the event structure. For whatever reason(probably OCD), I wanted to put the commands for each tag on its each individual page. Maybe you could share an example or direct me towards one so I can better understand how pages work. Back on topic, thanks for a educating tutorial. It has really helped me progress in understanding events better!

 

Thanks mate, glad you found it helpful :)

 

Pages are good for doing separating/different actions when a condition is met. The event system is like code as it reads from top to bottom of a page. So with this you can make is so the event runs through different conditions until one is met then move to a different page and run through that.

 

I use labels as a go to when something happens on a page. So you can put commands on different pages and have a go to command when a condition or something occurs on a page to then move the event process to that page. You can use self switches but are limited to ABCD, so labels are good as you can have as many as you need, just don’t have too many as I believe the event starts to lag. 

 

So I think of labels as the function name, so you can call/goto a function to start that section of the event.

 

Trial and error is key to the event system as you always build upon what you have until you make it the exact way you want it. Built it, run it, fix it, change it :P

 

The event system is powerful, and the new functions that have been added to B6 only makes is better.

 

I hope this explains a bit more for you.

Link to comment
Share on other sites

  • 4 months later...
  • 5 months later...
  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...