Jump to content
estriole

EST - BUILD AND DECOR SERIES

Recommended Posts

EST - BUILD AND DECOR SERIES

Creator name : Estriole

Introduction
     This is script series... means to make it work it use more than one script. for the sake of easier bug report i put it in the same topic. this series make decoration / build system possible. you can place decoration, build buildings. the series content:
- EST - COPY EVENT  -> handle the copying event
- EST - EVENT SIZE     -> give size to event. so you can make large size event.
- EST - DECOR AND BUILD  -> the decoration/building selection part.
- EST - DECOR MOVEMENT -> to move decoration when placed.
- EST - GRAPHIC SHIFT -> to shift graphic so the 'building' trigger at the door.

to use this script you also need some eventing knowledge.

Version History:

2014.01.09           - patch EST - COPY EVENT with khas light script compatibility.

                             patch EST - EVENT SIZE with regexp fix and add exclude trigger feature

2013.10.10           - Patch EST - DECOR AND BUILD script. adding any_event_on_top? method to use for decoration on top other decoration.

2013.08.12           - Patch EST - EVENT size so LARGE event can MOVE carrying it's size... :D

                               (this type of movement doesn't support pixel movement much)

2013.07.02           - Patch EST - COPY EVENT for f12 bugfix

2013.06.10           - ADD EST - GRAPHIC SHIFT script to series

                             - Patch the EST - EVENT SIZE with size trigger feature and extra trigger feature.

                             - Compatibility with NEW JET Mouse script. but cannot use Victor Pixel movement if you use the

                               mouse script.

2013.05.29           - Initial Release
 
Features
* Decorate room
* Build Building
* Event Size
* Use item to show what Decoration/Building the party has...
* Multiple 'Master Map' so you can put master event by category (ex: Building Map, Decoration Map, etc)
 
 
Screenshots

> Talk to Build site event and choose available building to place

talktobuildsiteandchoos.png

 

> The building builded

violathebuildingbuilded.png

 

> Demolish Building
wanttodemolish.png
 

> Building demolished (event erased and changed back to build site event)

buildinggone.png

 

> Static event decoraction (shown when certain switch on)

staticpositiondecoratio.png

 

> List of available furniture

listoftheavailablefurni.png

 

> Using Common event to place decoration

usingcommoneventtoplace.png

 

> Move the event and press enter (if using common event version)

movetheeventandpressent.png

How to Use
this script level is MEDIUM
See the header of the script
also it's better to look on the demo. after reading script header since this is not easy to explain with word.

Demo

https://www.dropbox.com/s/0uiu6pnp2aazt5w/Decor_and_build.rar

This demo will be the latest demo (always updated)

Script
- EST - COPY EVENT  -> handle the copying event
- EST - EVENT SIZE     -> give size to event. so you can make large size event.
- EST - DECOR AND BUILD  -> the decoration/building selection part.
- EST - DECOR MOVEMENT -> to move decoration when placed.

- EST - GRAPHIC SHIFT -> to shift the graphic so the 'building' trigger at the door.

 

Compatibility
 Compatible with most script.

Credit and Thanks
- Estriole
- Formar - i study on his clone event script and made improved version of that...

Author's Notes
None

Edited by estriole

Share this post


Link to post
Share on other sites

@deathspark: thanks... but if empire... it will require city system instead this. :D.

 

actually i already write prototype for city system (mainly influenced by Romance of Three Kingdom Series).

which we can own cities. the cities update at certain frame of time. when updating the (gold,food) increase based on the (commerce, farm) level.

also city could give salary to party (cutted from the city gold if any. else it will give some or none). also ability to see history of what update to that city.

 

but the system is really complex. so i doubt i'll able to finish that :D.

Share this post


Link to post
Share on other sites

I know there is a script similar but you yours really lets the player customize everything. But as Deathspark said how would one use this... I think it would be best in a harvest style game or a build your own town game.

 

 

Bug: it seem to lag if one goes in diagonal when toucing one of the events.

Edited by anavn1

Share this post


Link to post
Share on other sites

That pokemon centre seems oddly out of place... Maybe Ralph over there got ahold of some pokemon...

 

Anyways. Nice! I'm definitely looking at this for my game.

Share this post


Link to post
Share on other sites

I know there is a script similar but you yours really lets the player customize everything. But as Deathspark said how would one use this... I think it would be best in a harvest style game or a build your own town game.

 

 

Bug: it seem to lag if one goes in diagonal when toucing one of the events.

for starter it might fit in any game that the main hero has personal room / house. :D. so they can customize it (when the people bored with the main story they could relax a little bit and decorate their room/house :D).

 

btw what diagonal movement script you use?

 

 

 

That pokemon centre seems oddly out of place... Maybe Ralph over there got ahold of some pokemon...

 

Anyways. Nice! I'm definitely looking at this for my game.

 

yeah it also a bit blur since i enlarge it.... :D. just want to show that we can use ripped building from games :D.

anyway... anyone has / know where we can get building graphic like that? it would be helpful.

Edited by estriole

Share this post


Link to post
Share on other sites

ADDED

EST - GRAPHIC SHIFT

to series

 

UPDATE

EST - EVENT SIZE to v1.1

update content:

 

 

v1.1 2013.06.07    - improved regexp to recognize multi line.
                    - add extra size feature (in case you want more than box size)
                     format:
                     <extra_fixed_size: "[x1,y1]", "[x2,y2]", "[x3,y3]">
                     it will make the map coordinate [x1,y1] unpassable
                     it will make the map coordinate [x2,y2] unpassable
                     it will make the map coordinate [x3,y3] unpassable
                     <extra_dynamic_size: "[x1,y1]", "[x2,y2]", "[x3,y3]">
                     it will make the map coordinate [eventx + x1,eventy + y1] unpassable
                     it will make the map coordinate [eventx + x2,eventy + y2] unpassable
                     it will make the map coordinate [eventx + x3,eventy + y3] unpassable
                    - add size trigger feature (so all the event size trigger the event)
                     <size_trigger>
                    - add extra trigger feature (if you want the size for the size but still
                     want extra trigger)(example house with two doors...)
                     format:
                     <extra_fix_trigger: "[x1,y1]", "[x2,y2]", "[x3,y3]">
                     it will make the map coordinate [x1,y1] trigger that event
                     it will make the map coordinate [x2,y2] trigger that event
                     it will make the map coordinate [x3,y3] trigger that event
                     <extra_dynamic_trigger: "[x1,y1]", "[x2,y2]", "[x3,y3]">
                     it will make the map coordinate [eventx + x1,eventy + y1] trigger that event
                     it will make the map coordinate [eventx + x2,eventy + y2] trigger that event
                     it will make the map coordinate [eventx + x3,eventy + y3] trigger that event
                     - add compatibility with new JET Mouse Script
                     the jet script is this one: http://www.rpgmakervxace.net/topic/14756-mouse-system/
                     WARNING this script cannot compatible with both mouse and pixel movement.
                     so if you use VICTOR pixel movement. don't use JET mouse
                     vice versa. I tried but apparently it's hard.
                     (this update is for making point and click game)

 

 

 

edit: updated this post and the script header. i wrote the notetags for extra trigger wrong.

(copy paste the size notetags and forgot to change it :D)

Edited by estriole

Share this post


Link to post
Share on other sites

Thank you so much for making this script!

This will be great for those making a simulation type game or a harvest moon game. :)

 

I do have a question for it though. When I leave "edit" mode and click on an object, it still have the move and remove button. Is it possible for me to make it so those interactions only show up in edit mode and not in game play mode? It isn't a problem if that isn't possible; it is still an amazing and fun script. ^_^

Share this post


Link to post
Share on other sites

updated the demo

- Update the script EST - EVENT SIZE to v.1.3

 v1.2 2013.06.10    - size update when moving event... (fixed size still the same)
                    - dynamic trigger update when moving event... (fixed trigger still the same)
 v1.3 2013.08.11    - fix event with size trigger or extra trigger cannot move because
                      blocked by their own size.
                    - now event with size will move considering it's size.
                      if when moved... it's size collide another event/player.
                      it won't move then. for more realistic big event movement.
                      but this feature not to compatible with pixel movement.
 

Share this post


Link to post
Share on other sites

I really like this script, awesome! But is there a possibility to decorate items on other items, for example to put a radio on a table? If not, could this be realised somehow or is it too complicated?

Greetings

Share this post


Link to post
Share on other sites

for now it's not possible by default.

but it's possible if combined with eventing and choice script like tsukihime choice scripts (be warned. it's complex enough)

Large choice script - if you have lots of decoration

http://himeworks.wordpress.com/2012/12/06/large-choices-built-in-multiple-choices/

and

Choice option script - to make the choice hidden if not having the decoration item in inventory

http://himeworks.wordpress.com/2013/03/06/choice-options/

 

-) create the 'table' event. make it when talk to the table. show choice all possible combination of decoration you can put on top of the table.

-) don't forget to add the option for the choice so if you don't have flower vase. then hide the flower vase choice.

-) create the table with flower vase event in a master map. remember it's map id. and it's event id.

-) when choosing the choice.

add the new event (table with the flower vase on top of it).

then delete current event using these script call:

x = $game_map.events[@event_id].x
y = $game_map.events[@event_id].y
$game_map.add_event(mastermap, event_id, x, y)
delete_this_event

change mastermap to map id where you put the table with flower vase. and event id is the id of that table with flower vase event.

-) decrease your flower vase item by one

-) in table with flower vase event. when talk to it give choice to remove the decoration

-) when choosing remove. add flower vase item by one. then use this script call to delete it (revert to regular table)

x = $game_map.events[@event_id].x
y = $game_map.events[@event_id].y
$game_map.add_event(mastermap, event_id, x, y)
delete_this_event

but now change the mastermap and event_id for the empty table.

 

yeah it's complicated. and requires you to use graphic editing to put the vase to table. >.<.

 

there's also another simpler technique with graphic shift and putting the vase event ON TOP of the table event.

but i need to add some script/snippet to make sure the table event not triggered if there's 'something' on top of it. so it will trigger the top event only. i'll try making it later when i have time.

 

 

** DONE **

 

add this snippet:

 

class Game_Interpreter
  def any_event_on_top?
    $game_map.events.each_value do |event|
    next if event.id == @event_id
    return true if event.x == $game_map.events[@event_id].x &&
    event.y == $game_map.events[@event_id].y
    end
    return false
  end
end

 

1) create the table event in a mastermap (remember the map id and event id to link it to item)

use conditional branch - script: !any_event_on_top?

inside the true statement add script call:

 

decor_select("table_decor",false)

 

2) create the table decoration event in a mastermap (remember the map id and event id to link it to item)

in first line add COMMENT CALL: <graphic_shift: [0,-6]>

change -6 to different value if your desk is higher or lower.

show choice [check] and [remove]

if [check] do anything you want. example listening to radio, etc.

if [remove] script call:

 

remove_decoration

 

3) create the table item and link it to the event

 

<decor_map: x>
<decor_id: y>
<decor_type: Furniture>

change x to mastermap id

change y to 'table' event id

 

4) create the table decoration item and link it to event

 

<decor_map: x>
<decor_id: y>
<decor_type: table_decor>

change x to mastermap id

change y to 'table decoration' event id

 

I'll upload updated demo later. my wife is calling me home LOL. so no time to upload a demo.

Edited by estriole

Share this post


Link to post
Share on other sites

Wow, thank you for your quick answer. I realise somehow how this is supposed to work, but unfortunately I don't get used to all the script codes yet. I face some difficulties and bugs when I try to add the table plus its radio. I guess I have to wait for your demo :D

Share this post


Link to post
Share on other sites

This system/script looks so interesting, powerful, and a game defining type feature, but I don't have a current project to use it on.

 

Still, I'm following this thread closely for any updates.

 

Thanks for sharing this script with us, estriole

Share this post


Link to post
Share on other sites

@jason: i updated the demo. grab it. i put the snippet above inside EST - DECOR AND BUILD script. so no need to have them again.

 

i create a table and three table decoration. since i'm too lazy to import custom graphic i use what rtp have.

for the table i use wooden crate. so if you use another table you might want to alter the graphic shift value (see the demo).

table has three decoration: 1) beer 2) Journal/Book (call save scene) 3) Card

 

to try the new feature just enter the building. enter build mode. and then talk to STATIC decoration place event and place table. then talk to table to place the decoration.

 

note: see how i made the table and table decoration event in decoration list map.

table event have conditional branch and the decor selection for the table decoration is put INSIDE the conditional branch. so it won't trigger if something placed above it.

table decoration event have graphic shift comment on top of the event page.

note2: see how i made item and link it to decoration item in database.

 

edit: i notice after i upload the demo that the MTG card event give you book item instead of card item when you remove it. :D. it's eventing mistake because of copy paste. hope you understand it :D.

 

@wren: thx. i glad i share this script too. so i know if there's error / something i can improve... this script is not too easy to use since it combined with some eventing but if you know how to use it. it could be powerful enough for most thing RM user want to (ex: farming system, build system, decoration system, advanced build system like command and conquer where we place the building event freely >.< i already try that but it's really hard) :D. the limit is your knowledge and imagination :D.

Edited by estriole

Share this post


Link to post
Share on other sites

Hey, I'm currently working intensely with your script again. I face a small problem concerning events which are bigger than 1x1 (let's say, for example a 3x3 tiles event). I just wondered if it's possible to make the big event (3x3) accessible on each tile, so if you push Enter, things will happen you've made on the second event page of a decoration item from the master map. At the moment the event is only accessible if you push Enter while standing next to the event's "center", I hope you understand what I mean.

 

Here's my example:

I made a 3x3 tiles decoration event and put it to my flat (ingame) by using your decoration system. I made a comment within the event saying <event_size: 1,1,1,0>, so there's one tile up (the highest tile of the event is passable for the hero, so it's above hero), one left, one right, and none down. The problem is that if the player puts the big decoration, for example, next to a wall at the bottom of the screen (so that you cannot reach the "center" of the event anymore), you won't be able to check, move or remove the decoration anymore.

 

I still like your script very much and will definitely use it. This is just a problem I noticed and it will be pure luxury, but sooo awesome if there is a possibility to avoid this problem :)

Edited by JasonWeal

Share this post


Link to post
Share on other sites

you could add:

<size_trigger>

in the event comment.

 

it will make all the event size trigger.

 

alternatively you could use:

<extra_dynamic_trigger: "[x1,y1]", "[x2,y2]", "[x3,y3]">

it will make the map coordinate [eventx + x1,eventy + y1] trigger the event
it will make the map coordinate [eventx + x2,eventy + y2] trigger the event

it will make the map coordinate [eventx + x3,eventy + y3] trigger the event

the instruction in the script header is a little wrong. since i copy the extra_fixed_size and extra_dynamic_size explanation...

just replace size with trigger.

 

to summary:

<size_trigger>

will make all event size trigger (including extra fixed and extra dynamic size)

<extra_fixed_trigger: "[x1,y1]", "[x2,y2]", "[x3,y3]">

will add trigger to that event in coordinate [x1,y1]

will add trigger to that event in coordinate [x2,y2]

will add trigger to that event in coordinate [x2,y3]

<extra_dynamic_trigger: "[x1,y1]", "[x2,y2]", "[x3,y3]">

it will make the map coordinate [eventx + x1,eventy + y1] trigger the event
it will make the map coordinate [eventx + x2,eventy + y2] trigger the event

it will make the map coordinate [eventx + x3,eventy + y3] trigger the event

 

i will update the script header...

 

edit: there's a typo in extra_fixed_trigger_notetags... i'll update the script in pastebin and demo.

you can just grab the pastebin of EST - EVENT SIZE script...

Edited by estriole

Share this post


Link to post
Share on other sites

Oops, I should've read the complete explanation.. seems I missed the important part for that, I'm sorry! Thank you for explaining, anyway :)

 

But now I come across a new problem/bug (or maybe I'm just too stupid to do it correctly).

If I remove a big decoration event which used a function like <event_size: 1,1,1,0>, the defined tiles around the main event stay impassable. Until I put a new decoration somewhere. I just read through your scripts' comments again but can't find anything about it. How do I avoid this problem?

 

Oh, and thank you for your fast answers! Your support is very helpful :)

 

edit

I solved this problem by let the decoration event become an "empty" master event again. I don't know whether this is an intelligent way to make it work but maybe you have an easier solution for it?

 

edit 2

more and more and more xD

I'm using Khas Light Effects script and therefore I try to make lamps (which the player has his flat decorated with) glow. This works by a comment I add to the lamps (for example "[light 0]"). Now the lamp glows if I choose to place it on the wall. But there is a problem:

1. When I leave the map and revisit it, the light is gone. The lamp, of course, is still there, but the light effect is gone. Why is the comment [light 0] now ignored? Is it because of the decoration script or should I rather ask Khas for it? (since light effects on other maps work --> on those maps there is no decoration system <-- you maybe know an answer to this?)

Edited by JasonWeal

Share this post


Link to post
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

  • Recently Browsing   0 members

    No registered users viewing this page.

×