![]() |
|
![]() |
Welcome to the Magicball Network. You are currently viewing our site as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
![]() |
|
Thread Tools |
#1
|
|||
|
|||
![]()
im starting to grid some... grids and i dont know how to put scene dynamic objects, i need help to do this, i thinck Inventor is the best for this or Obrasilo
|
#2
|
||||
|
||||
Zink probably knows best since he constructed whole LBArchitect.
Anyway, scene dynamic objects ? Do you mean actors? What do you have in mind put in more of a gamers words ?
__________________
LBA Image Creator project (image by leoboe! ![]() Get the Jump-Save-Bug graphically explained here |
#3
|
|||
|
|||
yes, actors,tracks,zones...
ataching the grids (if someone wants to look[desert2 isnt complete]) |
#4
|
||||
|
||||
Ok, first off make sure you have the latest version of LBArchitect (1.0.0.beta_5 atm)
(can be found from here) so.. i'm not going to teach you how to use the editor step-by-step, refer to the help in the help\ directory in the LBArchitect for that. I except that you know how to learn using a new gui yourself. (sorry, I just dont have the time to teach using a new gui, not to mention if you dont know how to, you probably have no chance of learning storycoding just yet, as that is far more complex than learning a gui ![]() The way LBA modding tools work atm, unfortunately, there's no way for one to learn making actors and events unless they know a bit of scripting or coding (some basic control statements and such). ![]() To add actors, tracks or zones, you have to switch to 'scene mode' in LBArchitect, this is done by clicking Edit -> Switch to Scene mode in the menubar. (or alternatively with Ctrl+M) something to note is that LBArchitect calls tracks as 'points' when placed in the grid. So we have actors, each actor has a ID, which is kinda their index in the room. Actor with ID 0, is always twinsen (the player). You cannot change more than the coordinates of the player. Now to get started, you shouldn't worry about other actors yet, but just get a working map. Select Actor with ID 0 (the player), and move it somewhere safe in your map (not in the black void or water ![]() After you're done moving the actor, select A.I scripts for that actor. now we have a script editor window, with two text frames next to each other, and a output box on the bottom. The left box is for the actors LIFE SCRIPT and the right box is for the actors TRACK SCRIPT. for now, we'll just set a life script for the player. LIFE SCRIPT: Code:
COMPORTEMENT main rem this disables holomap (flag 0, and set to 0) SET_FLAG_GAME 0 0 rem this enables magicball (flag 1, and set to 1) SET_FLAG_GAME 1 1 rem this enables tunic (flag 4, and set to 1) SET_FLAG_GAME 4 1 rem this sets the magicball level (1 is yellow) SET_MAGIC_LEVEL 1 rem this sets the body (look) of the player (1 is tunic only) BODY 1 rem this sets the first animation (0 standing) ANIM 0 rem and now to -> codeblock 1 SET_COMPORTEMENT 1 END_COMPORTEMENT COMPORTEMENT 1 rem scripted events could be here END_COMPORTEMENT END To understand the meaning of game flags, body numbers and such, I suggest downloading LBAStoryCoder 0.5.0 , and looking at LBA Scene Format.txt. Now after this script for the player, the map still is not playable (in the current version of LBArchitect at least), what you have to do still, is set up the scene properties. (Edit -> Scene properties) Now you get a new window with various options and their values. for meaning of each value check out this post. For a start, you could just set them the following for example Code:
Island ID: 0 Game Over Scene: 0 Alpha light vector: 896 Beta light vector: 950 Ambient sound 1 Sample ID: -1 Repeat count: 1 Round: 1 Ambient sound 2 Sample ID: -1 Repeat count: 1 Round: 1 Ambient sound 3 Sample ID: -1 Repeat count: 1 Round: 1 Ambient sound 4 Sample ID: -1 Repeat count: 1 Round: 1 Minimal delay: 10 Minimal delay random range: 10 Music ID: 0 You should always use the scenario format (.hqs), as that can contain both the grid and the scene, and saves your comments in the scripts and probably some other neat things too ![]() Only when you need to test, you have to save the grids as .gr1, and scenes as .ls1. So after this, make a .gr1 file of your grid (if you have modified it), and save your scene too as a .ls1 file. After this, you'll have to use LBAPackEditor, to place the grid, in a LBA_GRI.hqr file, and the scene to a SCENE.hqr file. make sure you replace the same entry # in both hqr packages. Which entry should you replace? If possible, you should replace a entry that uses the same layout library (eg. same brick style, islands, desert, caves, snowy areas etc.) So if you made a desert map, you should replace one of the white leaf desert entries. This will save you from having to introduce a modified LBA_BLL.hqr with your mod. Alternatively, you could use Little Stage designer to do all the hard work for you ![]() If you didnt replace the first entry, you might have to use a savegame editor, or such to get to your level. good luck ![]()
__________________
Try out my LBA1 maps: Desert Base Grobo invasion Sewerage try out my fan game demo Twinrunner 0.5 credits to ChaosFish for uploading the game! |
#5
|
|||
|
|||
tanks for the basic
and what is the Little stage designer? |
#6
|
||||
|
||||
Its a tool that takes your .gr1 grids, .ls1 scenes, and compiles LBA_GRI.HQR and SCENE.HQR files for you, and it also takes .bl1 and brick files, and compiles LBA_BLL.HQR and LBA_BRK.HQR files. A pretty great tool, even if adding multiple rows at once, is slow a bit
![]()
__________________
Try out my LBA1 maps: Desert Base Grobo invasion Sewerage try out my fan game demo Twinrunner 0.5 credits to ChaosFish for uploading the game! |
#7
|
||||
|
||||
Just to add something:
The Scene properties problem will be fixed in beta 6. You've wrote a very good guide, Inventor. Could I use it in the Architect's help with some modifications? Stage Designer is not slow if you know how to use it ![]() You don't have to export separate gr1 and ls1 files, SD also supports Scenarios (hqs), just drop a Scenario on the row index, and all the columns will be filled with the file.
__________________
Emerald Moon Base projects: Little Big Architect v 1.2, Package Editor - v 0.11+, Text Editor 2 - v 2.3, Font Editor - v 2.03+ Technical stuff: LBA File Information Project LBA Prequel: The forum topic |
#8
|
||||
|
||||
Quote:
![]() Quote:
![]() hmm didnt realize that SD supported hqs.. ![]() ![]() I'll edit my post.. nevermind too late to edit it. oh btw. Zink, any chance you could implement a 'actor-prefab' system at some point? Code:
Stationary soldier MODE Control mode: 0 No move CHARACTER Hit power: 0 Armour: 1 Life points: 12 Angle: <angle> Rot. Delay: 20 APPEARANCE File3D: 12 - Soldier Body: 0 Animation: 0 STATIC FLAGS Can collide with objects Can collide with bricks Can test floor type LIFE SCRIPT COMPORTEMENT main SET_TRACK 0 SET_COMPORTEMENT 1 END_COMPORTEMENT COMPORTEMENT 1 IF HIT_BY == 0 SET_DIRMODE FOLLOW 0 SET_TRACK 4 ENDIF IF DISTANCE 0 < 900 IF CURRENT_TRACK != 6 SET_DIRMODE FOLLOW 0 SET_TRACK 6 ENDIF ELSE IF DISTANCE 0 < 4000 IF CURRENT_TRACK != 4 SET_DIRMODE FOLLOW 0 SET_TRACK 4 ENDIF ELSE OR_IF CURRENT_TRACK == 4 IF CURRENT_TRACK == 6 IF DISTANCE 0 > 5000 SET_DIRMODE NO_MOVE SET_TRACK 0 ENDIF ENDIF ENDIF ENDIF END_COMPORTEMENT END TRACK SCRIPT LABEL 0 ANIM 0 STOP LABEL 4 ANIM 17 STOP LABEL 5 ANIM 63 STOP LABEL 6 ANIM 67 STOP END I know this is probably a lot of work.. so I'm not asking to do it, but just in the concept -level, what do you think about it? ![]()
__________________
Try out my LBA1 maps: Desert Base Grobo invasion Sewerage try out my fan game demo Twinrunner 0.5 credits to ChaosFish for uploading the game! Last edited by Inventor; 2008-11-24 at 14:47. |
#9
|
||||
|
||||
That's great inventor, that's the kind of feedback/ideas I'm looking for
![]() Would you like to add the feature suggestion to the LBArchitect bugtracker? I've have had some other ideas for LBArchitect in mind, but this ones seems like a more useful feature.
__________________
LBA Image Creator project (image by leoboe! ![]() Get the Jump-Save-Bug graphically explained here |
#10
|
||||
|
||||
Quote:
Anyway, there is no hotkey for adding rows, but I'm thinking about another thing. When you drop a file on an already filled cell, SD will ask you if you want to replace the content, or create a new row. I think it would be helpful to, let's say, press Ctrl while dropping the file, and SD would then create a new row without asking. Don't worry, it will be in the help in beta 6. Quote:
![]() LBAWinOwns, yes, I much appreciate such comments. Without them I start worrying that my programs are useless ![]()
__________________
Emerald Moon Base projects: Little Big Architect v 1.2, Package Editor - v 0.11+, Text Editor 2 - v 2.3, Font Editor - v 2.03+ Technical stuff: LBA File Information Project LBA Prequel: The forum topic |
#11
|
||||
|
||||
Quote:
I also think it would be quite easy to program that feature.
__________________
LBA Image Creator project (image by leoboe! ![]() Get the Jump-Save-Bug graphically explained here |
#12
|
||||
|
||||
Quote:
I also had 120 rows, because I used the THE END -function in a life script, dont know why I did so though, using some of the first rows & change_cube or such would have worked fine too, without needing to have so many blank rows ![]() Quote:
![]() Quote:
EDIT: yeah what LBAWinOwns said ![]() Also I think this will help a lot of people to get started who are not that good at storycoding ![]() Oh and thanks for the configurable font size in script editor ![]()
__________________
Try out my LBA1 maps: Desert Base Grobo invasion Sewerage try out my fan game demo Twinrunner 0.5 credits to ChaosFish for uploading the game! Last edited by Inventor; 2008-11-24 at 17:32. |
#13
|
|||
|
|||
what is the "life script index" in the zones?
|
#14
|
||||
|
||||
It tells what index the zone can be referenced to in the life scripts. For example: if you have a sceneric zone with life script index = 3, then line
IF ZONE == 3 will refer to that zone aways, regardless if which number it has in the zones table (zone ID). This way you can create and delete zones without having to update the references each time their IDs change. Obviously, this results in a possibility to have two or more zones with the same life script index. In this case the condition ZONE == X will be true always when the actor is inside one of the zones with life script index = X.
__________________
Emerald Moon Base projects: Little Big Architect v 1.2, Package Editor - v 0.11+, Text Editor 2 - v 2.3, Font Editor - v 2.03+ Technical stuff: LBA File Information Project LBA Prequel: The forum topic |
#16
|
||||
|
||||
To be able to for example 'talk' with a actor, you need to have a comportement codeblock, where you constantly check wether the player is hitting the use key, and then after that you'll have to check if its close to any actors you might want it to have a dialog with.
The code could look like this for example: Code:
COMPORTEMENT 1 SWIF ACTION == 1 IF DISTANCE 4 < 1250 MESSAGE 16 ENDIF ENDIF END_COMPORTEMENT
__________________
Try out my LBA1 maps: Desert Base Grobo invasion Sewerage try out my fan game demo Twinrunner 0.5 credits to ChaosFish for uploading the game! |
#17
|
||||
|
||||
Remember also that to use zones the actor must enter in the entire zone area according with its volume.
Good to know all this interest around LBA1 mod ![]()
__________________
LBA2Remake v0.4.0 released - open source re-implementation of the LBA 2 original engine for the web. [Play on Browser]|[Changes]|[Github] The Sacred Carrot website |
#18
|
||||
|
||||
For the door to be open, just look at an example in the original code for OPEN_DOOR /CLOSE_DOOR.
To make a character walk to a certain point you need a lot of steps. I won't detail much as Inventor, but here's some tips. 1. You need to create a Track point near the desk. 2. You need to create a label under Move script so you can trigger that label later. 3. In this label you will need to add POS_POINT track# 4. Also you may need to change actor animation according with what you want to do. 5. You need to make a STOP if you want to stop this label execution. (also note you may need to change animation before aswell) 6. At life script you must find a way to trigger the Label by using SET_TRACK label#. 7. Try and play the game :P
__________________
LBA2Remake v0.4.0 released - open source re-implementation of the LBA 2 original engine for the web. [Play on Browser]|[Changes]|[Github] The Sacred Carrot website |
#19
|
|||
|
|||
can somebody make this for me?
|
#20
|
||||
|
||||
Have you tried?
If not then do, and if you have any troubles tell us which ones.
__________________
LBA Image Creator project (image by leoboe! ![]() Get the Jump-Save-Bug graphically explained here |
#21
|
|||
|
|||
which is the function of the two script columns?
Last edited by gabandre; 2008-12-01 at 15:41. |
#22
|
||||
|
||||
Each actor in LBA has their own life and track -scripts.
Left column is for the life script, which is where you have your scripts to control when and how your actors will behave in game. This is for example to make a actor talk to the player, or attack the player if the player is close enough. Or to make a mushroom pop a bonus when the player collides with it. example: mushroom LIFE SCRIPT Code:
COMPORTEMENT main IF COL_OBJ 0 == <this actor id> GIVE_BONUS 0 SUICIDE ENDIF END_COMPORTEMENT END Track scripts are made of sets of animations and actions a actor will have under a label of a track script. This can be for example, which animations a soldier will play, and in which directions it will face, and to which tracks (points in the grid) the actor will walk to. example:soldier TRACK SCRIPT Code:
LABEL 0 ANIM 25 ANGLE <face towards 1st point> WAIT_ANIM ANIM 64 WAIT_ANIM ANIM 65 WAIT_ANIM LABEL 1 ANIM 1 GOTO_POINT <1st point> LABEL 2 ANIM 66 WAIT_NUM_ANIM 5 WAIT_NUM_ANIM 3 ANIM 0 ANGLE <face towards 2nd point> LABEL 3 ANIM 1 GOTO_POINT <2nd point> GOTO 0 LABEL 4 ANIM 17 STOP LABEL 5 ANIM 63 STOP LABEL 6 ANIM 67 STOP END For Life scripts, execution is looped in the current comportement all the time. (unless ended with 'END_LIFE' or such) Use ONEIF to execute a block only once if the if evaluates to true. For track scripts, execution depends on how you specify it in a label, it can be looped, stopped, and delayed etc. (Many of the track script functions make the track script wait, untill the function has done its job) If at the end of the label there is nothing telling on where to jump next, it will just continue to the next label. (in example, at end of label 0, it will just continue at label 1.. while at end of label 3, it will jump to label 0 because of the GOTO 0..) I might not have said everything 100% correct here, so correct me if I'm wrong as its easy to do so with there being so little documentation out there.. should be mostly right though ![]()
__________________
Try out my LBA1 maps: Desert Base Grobo invasion Sewerage try out my fan game demo Twinrunner 0.5 credits to ChaosFish for uploading the game! |
#23
|
|||
|
|||
hum... tnx
sorry, i dont understand english very well... |
#24
|
||||
|
||||
From what I remember, ONEIF will execute only once, no matter if the condition is trure or false (i.e. if the condition results to false at the time of checking, the code block will never be executed). But I haven't tested it thoroughly yet, so I may be wrong.
__________________
Emerald Moon Base projects: Little Big Architect v 1.2, Package Editor - v 0.11+, Text Editor 2 - v 2.3, Font Editor - v 2.03+ Technical stuff: LBA File Information Project LBA Prequel: The forum topic |
![]() |
Tags |
mod |
Thread Tools | |
|
|