Jump to content
  • 0

Cooperative Creation


Minamoto Yoshitsune

Question

Good afternoon guys, how are you? (hope so)

 

With the addition of version 6.1 of the intensect engine, I started to wonder if it would be possible through global variables to create a cooperative creation system.

 

My idea comes through experience in the MMORPG called ArcheAge.

 

This system would be like a tribute to create a random construction with different functions, more precisely in my project I was wanting to make a forge.
The players would go to the place of the forge, pay taxes and when they collect a quantity x of taxes the forge would transform from something started to finished and would be available to be used.

 

If someone can contribute with the idea of how to carry out my idea, it would be of great help.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 3

Like Aisen said this is defo possible, you would use the map events and global variable to hold the total tax total:

 

Global Var: Forge Tax

 

Map Event (Forge):

Page 1 (Level 1 forge), Page 2 (Level 2 forge)

 

Auto run pages:

Page 1 - condition (Forge Tax < 200 gold)

Page 2 - condition (Forge Tax = 200 gold)

(You could play around with the above conditions if you want more levels then 2)

 

Each page would have adifferent image and would show based on the condition, and could open a different crafting table bases on level so more options are available to players as the forge levels up.

 

Now to pay taxes if the player wants too. Have it so the first condition in the event commands is a text box: Do you want to pay 20 gold in taxes:

 

Yes: Take 20 gold from player and Add 20 to global variable "forge tax"

No: Continue down event page and open crafting table.

Link to comment
Share on other sites

  • 0
30 minutes ago, Ainz Ooal Gown said:

Like Aisen said this is defo possible, you would use the map events and global variable to hold the total tax total:

 

Global Var: Forge Tax

 

Map Event (Forge):

Page 1 (Level 1 forge), Page 2 (Level 2 forge)

 

Auto run pages:

Page 1 - condition (Forge Tax < 200 gold)

Page 2 - condition (Forge Tax = 200 gold)

(You could play around with the above conditions if you want more levels then 2)

 

Each page would have adifferent image and would show based on the condition, and could open a different crafting table bases on level so more options are available to players as the forge levels up.

 

Now to pay taxes if the player wants too. Have it so the first condition in the event commands is a text box: Do you want to pay 20 gold in taxes:

 

Yes: Take 20 gold from player and Add 20 to global variable "forge tax"

No: Continue down event page and open crafting table.

 

Thank you for covering for my laziness xD This is exactly what I meant.

Link to comment
Share on other sites

  • 0
1 hour ago, Ainz Ooal Gown said:

Like Aisen said this is defo possible, you would use the map events and global variable to hold the total tax total:

 

Global Var: Forge Tax

 

Map Event (Forge):

Page 1 (Level 1 forge), Page 2 (Level 2 forge)

 

Auto run pages:

Page 1 - condition (Forge Tax < 200 gold)

Page 2 - condition (Forge Tax = 200 gold)

(You could play around with the above conditions if you want more levels then 2)

 

Each page would have adifferent image and would show based on the condition, and could open a different crafting table bases on level so more options are available to players as the forge levels up.

 

Now to pay taxes if the player wants too. Have it so the first condition in the event commands is a text box: Do you want to pay 20 gold in taxes:

 

Yes: Take 20 gold from player and Add 20 to global variable "forge tax"

No: Continue down event page and open crafting table.

 

in this modality I had thought very similarly, but what I was trying to say that this forge for example would be a global event with duration.


So let's assume that to create the forge you need 2000 stone blocks, all players can contribute to achieving this fundraising goal. After collecting, he would release the use of the forge for a specific time.

Link to comment
Share on other sites

  • 0
1 minute ago, Minamoto Yoshitsune said:

 

in this modality I had thought very similarly, but what I was trying to say that this forge for example would be a global event with duration.


So let's assume that to create the forge you need 2000 stone blocks, all players can contribute to achieving this fundraising goal. After collecting, he would release the use of the forge for a specific time.

 

So its actually a player forge, that he is building but can get help from the community, and after its finished being build other players can use it for a specific time period then its locked so only the player who owns it can use?

Link to comment
Share on other sites

  • 0
22 minutes ago, Minamoto Yoshitsune said:

All players will be able to use it within the specified time after construction is completed.

 

it is a community forge, where everyone can help to build and use.

 

at the end of the construction period, the forge must be rebuilt, that is, the 2000 blocks of stone are added again.

 

Ah I understand, you can set wait times on events, but it would be best to use a global var to count, or use system time.

 

You would have to create a new common event that would auto run and would do the counting. For every forge across your maps you would need a count down variable. (forge1 counter, forge2 counter, ect)

 

I havent done much on timers in Intersect so they might be a better way, as in taken the time stamp (in ms) of when the forge was created (page 2) and then watch until the time stamp hits time that it would return to page 1.

 

In events you can set system time (ms) to a global variable like so:

 

342e028edc45a8f3550cb6fe989e04af.png

 

So when condition is met to make forge 2, have it run like this:

 

2 global variables for time:

Forge 1 Built Time

Forge 1 Expire Time

 

Page 2 auto run (Set/Add Variables):

Forge 1 built time = Set Global Variable Built time to Syetem Time (ms)

Forge 1 Expire Time = Set Global Variable Built time to Syetem Time (ms)

Forge 1 Expire Time = ADD **Time you want in ms** ( so if its 1 day you would add 86400000)

 

EDIT:

 

I think that would be the best way, or you could do a count down, so if server is offline it would not be affected as count down wouldnt be live:

 

Forge Page 2:

Set Global Forge Counter = 60

 

Common Event (Auto Run):

Condition to run (Global Forge Counter > 0)

 

Page 1

Wait 60000ms

SUB 1 from Forge 1 Counter

 

So this way every 60 seconds 1 will be removed from the global forge counter until it reaches 0, then all you have to do is put a condition on forge page 2 that global forge counter > 0 to run

Edited by Ainz Ooal Gown
Added more options
Link to comment
Share on other sites

  • 0
2 hours ago, Ainz Ooal Gown said:

I think that would be the best way, or you could do a count down, so if server is offline it would not be affected as count down wouldnt be live:

 

Forge Page 2:

Set Global Forge Counter = 60

 

Common Event (Auto Run):

Condition to run (Global Forge Counter > 0)

 

Page 1

Wait 60000ms

SUB 1 from Forge 1 Counter

 

So this way every 60 seconds 1 will be removed from the global forge counter until it reaches 0, then all you have to do is put a condition on forge page 2 that global forge counter > 0 to run

I found this form very interesting and it worked, the problem is that every time someone interacts with the event, he sets the global variable that would serve as an accountant.

 

but I adapted it

on page 1 in addition to placing the tax collection, I also added a conditional so that when it reached the required amount it would set the global variable of the accountant


 

Spoiler

 

a543112747f838a58e80a127a2165601.png

b8b53dbb0caaa8ad23da5579d0b7c0eb.png

 

 

 

on page 2 i added 2 conditions one of the tax amount and the other of the accountant amount:

 

Spoiler

 

c1b9852f96e0c6e12b3ba133cacbd678.png6ee97bb75c2605114035e193dc75013f.png


 

 

and I added a conditional inside the page to check when the accountant is reset to zero the number of contributions, this way it didn't cause any apparent bug.
When resetting the accountant he will only reset the contribution when the time has expired, I think it was the best way I found so far to do.

 

Spoiler

6f052a1c7c5a021a7c65d1ff5c45d7e5.png

 

Link to comment
Share on other sites

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...