Hello, your work is so good, I making my own game too, may i ask how do you do the status, character marks even battle system how did you do that ? any possible tutorial? i promise to make a good original persona game.
Hello ! Iām no scripter or anything, I just look at default scripts, study them, figure out how to change them, google stuff I want to do and add that in, experimenting until everything works and nothing is broken. The game doesnāt have a battle system but I think the luna engine probably has some useful stuff in it for a persona style combat system, Iāve never tried it myself but Iāve seen photos and such...
I donāt know what you mean by character marks, and Iām way too tired to do a full tutorial of how I do things, but I managed to write this down before really tiring myself out (Iām very lethargic):
def create_scrolling_image
Ā Ā @image_scroll = Plane.new
Ā Ā @image_scroll.z = 112
Ā Ā @image_scroll.blend_type = 0
Ā Ā if @actor.id == 1
Ā Ā Ā Ā Ā @image_scroll.bitmap = Cache.system('Status/Actor1')
Ā Ā elsif @actor.id == 2
Ā Ā Ā @image_scroll.bitmap = Cache.system('Status/Actor2')
Ā Ā end
end
Ā Ā def update
Ā Ā super
Ā Ā if @image_scroll.oy != -805
Ā Ā Ā @image_scroll.oy += 1
Ā Ā end
Ā endĀ
This is a stripped down version of the code used to make the image scroll in the back of the status menu, let me explain:
def create_scrolling_image: What youāre doing here is defining this element on your menu screen. Youāre going to have to call ācreate_scrolling_imageā under where you initialize the window, aka under ādef initialize(actor)ā at the top of the script. Everytime you make one of these youāre going to have to pick a different name, so ācreate_scrolling_imageā could be ācreate_world_peaceā if you really want, just make sure youāre using that name everytime you reference that particular element
@image_scroll: again, this can be named Anything, just reference it the same each time and donāt remove the @ sign
@image_scroll.z: this is to make the image appear above or below other elements, so you can layer images on top of it. so this is set to 112, to make an image appear over it just set that image to 113+
@image_scroll.blend_type: 0 = normal, 1 = add, 2 = subtract
if @actor.id == 1: checks to see which actor the status window is open to and renders the image of that actor
@image_scroll.bitmap = Cache.system('Status/Actor1'): This is what actually loads the image (as a bitmap), you can change Cache.system to Cache.(folder name) if you donāt want to use the system folder. (āStatus/Actor1ā²) is loading an image from a subfolder (Status) within the system folder. You can just use (āActor1ā²) or whatever you named the image instead if you donāt want to use a subfolder.
Under āsuperā, what youāre seeing is what makes the image loop endlessly. You can change .oy to .ox to make it horizontal instead of vertical, or you can copy it and do both to make it diagonal. What itās doing with āif @image_scroll.oy != -805ā³ is itās checking to see if the image is at a certain coordinate and if it isnāt (!= means is not equal to) then it will move the image one pixel at a time (thatās what += 1 is doing, adding one to the imageās y coordinate repeatedly). I canāt say I know why this causes the image to loop endlessly but it does! Youāll want to mess around with the value ā-805ā³ though, it depends on your resolution