Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
      4. Frontier Pursuits
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. DLC
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
      7. The Diamond Casino Heist
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA SA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA VC Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. News

    2. Forum Support

    3. Site Suggestions

Barton Waterduck

The Mission Builder thread

Recommended Posts

PatrickW

Nice update barton,

 

I especially like the opcode-free option. Although I think the keywords would be a lot more readable if you would have inserted '_' between the words that consitute them.

 

I think Y-less idea would be great also, maybe a thing that you should consider is conditional compilation:

 

#define debug_mode 1#if debug_mode  Some debug-code outputting messages#endif

 

 

Another thing that would be very nice, and make the code that is written much more understandable is "named local variable"

e.g. things like

 

@my_car = buildcar #BANSHEE 10.0 10.0 20.0

 

For [email protected] and [email protected] you could fixed names like @time1 and @timer2, the otherones are simple mapped to [email protected]@. If in a thread/mission more than 16 local vars are used, you could issue a compile-error.

 

 

As I'm in a suggestion mood, how about adding a rotation-angle to your buildactor and buildcar macro's ?

 

 

 

Edited by PatrickW

Share this post


Link to post
Share on other sites
Barton Waterduck

 

I think the keywords would be a lot more readable if you would have inserted '_' between the words

Sure, except when you don't have them, you get less typing, and the '_' has a special function when you press F1 ("word binding" blush.gif ). Also, I just realized that with the new format in the keywords file, you can have the same keyword doing two things, either set stuff or read stuff, like if you use

 

carangle 0175carangle 0174 3

 

in the keywords file then it will read the car angle if you use

 

<variable> = carangle <car>

 

and set the car angle if you use

 

carangle <car> <variable>

 

What do you think ? Should keywords be more "complex" ?

 

 

maybe a thing that you should consider is conditional compilation:

Sounds extremely complex. confused.gif Customable macroes got too complex without that so its on the shelf for now anyway.

 

 

Another thing that would be very nice, and make the code that is written much more understandable is "named local variable"

Again, I like to keep things simple. The SA MB allows names in the local variables like this

 

@123Name

 

but that's because I changed the local variables in that MB to use '@123' instead of '[email protected]' and the way the parser is coded it ignores any trailing non-numerical characters used in parameters with local variables (except characters used with arrays).

 

I have some ideas about creating a variables file for local variables that the decompiler can use. Would be INSANE to name every single local variables used in all those missions though. nervous.gif The main part uses only about 30 (I keep forgetting) but the missions use... uh... dunno... 500+ ? turn.gif

 

 

As I'm in a suggestion mood, how about adding a rotation-angle to your buildactor and buildcar macro's ?

Yes, I guess you always need that angle.

 

Share this post


Link to post
Share on other sites
Y_Less

This is a question about the GTA3 editors. In this topic, it mentions the highest OpCodes in the PS2 and PC versions of the games, but the editor only goes up to the PS2 limit, is this a residual error from when the ini was first made and can it be updated?

Share this post


Link to post
Share on other sites
Barton Waterduck
This is a question about the GTA3 editors. In this topic, it mentions the highest OpCodes in the PS2 and PC versions of the games, but the editor only goes up to the PS2 limit, is this a residual error from when the ini was first made and can it be updated?

I think the limit in all the MB's are 0FFFh (and 8FFFh).

 

Share this post


Link to post
Share on other sites
Y_Less

I know, but I meant the OpCodes aren't there.

 

Edit: just checked the ini and they are there but commented out, and the extras arent in the OpCodes.txt file

Edited by Y_Less

Share this post


Link to post
Share on other sites
Barton Waterduck
I know, but I meant the OpCodes aren't there.

 

Edit: just checked the ini and they are there but commented out, and the extras arent in the OpCodes.txt file

And ?

Share this post


Link to post
Share on other sites
Barton Waterduck

Maby I should post about the update here too: notify.gif

 

Same version. Small update so...

 

This text is from the file "Creating actors post.txt" included with the Mission Builder v1.5 and later.

 

Creating a standard actor without specifying the angle:

 

$MyActor = buildactor 6 #pga at 0.0 0.0 0.0

 

 

Creating a standard actor with angle 180:

 

$MyActor = buildactor 6 #pga at 0.0 0.0 0.0 180.0

 

 

Creating a special actor without specifying the angle:

 

$MyActor = buildactor 4 1 "SPANDXA" at 0.0 0.0 0.0

 

 

Creating a special actor with angle 180:

 

$MyActor = buildactor 4 1 "SPANDXA" at 0.0 0.0 0.0 180.0

 

 

Formats:

 

<returned actor handle> = BUILDACTOR <group> <model> AT <x> <y> <z> [<angle>]<returned actor handle> = BUILDACTOR <group> <actor counter> "<model>" AT <x> <y> <z> [<angle>]

 

 

Share this post


Link to post
Share on other sites
Y_Less

OK, I have another request for the mission builder:

 

Block quotes.

 

Cheerrs.

Share this post


Link to post
Share on other sites
PatrickW

Barton,

 

I have a serious issue with your V1.5 version of the mission builder,

as it won't compile the code of my latest version of the marina carpark mod.

 

 

:cp_get_array 0004: $temp = 180010: $temp *= $cp_array_index0008: $temp += ££cp_get_array_table jump $temp

 

It this piece of code, it does't recognize the $temp behind the "jump" opcode as a global var, but instead issues the error message that is can't find label "$temp".

 

So before assuming that an argument is a label, you should first check wether it starts with a '$' and thus is a global var. You should probably also check wether it ends with a '@' and thus is a local.

 

 

Please fix.... catspider.gif

Share this post


Link to post
Share on other sites
Barton Waterduck

 

Barton,

 

I have a serious issue with your V1.5 version of the mission builder,

as it won't compile the code of my latest version of the marina carpark mod.

 

 

:cp_get_array 0004: $temp = 180010: $temp *= $cp_array_index0008: $temp += ££cp_get_array_table jump $temp

 

It this piece of code, it does't recognize the $temp behind the "jump" opcode as a global var, but instead issues the error message that is can't find label "$temp".

 

So before assuming that an argument is a label, you should first check wether it starts with a '$' and thus is a global var. You should probably also check wether it ends with a '@' and thus is a local.

 

 

Please fix....  catspider.gif

After 30 minutes of typing, I got to this conclusion:

 

The compiler does not recognice this possibillity and messes up. Needs fixing. Thanks.

 

edit (after even more thinking): I' not sure exactly what to do with this problem. It is in a way handled with that error you got there. I don't think I should add general support for coding jumps with variables without specifying opcodes because it would slow down the hole compiler for something that is for highly advanced coders only anyway. I think I will just change the readme instead. The easy fix would ofcourse be:

 

:cp_get_array 0004: $temp = 180010: $temp *= $cp_array_index0008: $temp += ££cp_get_array_table 0002: jump $temp

 

 

edit 3: uh, why opcode 0010 ? I would use 0068. The math system would use 0068 (I just checked to be sure). I hope this would work. blink.gif

 

:cp_get_array $temp = 18int $temp *= $cp_array_index  ; or use integer $temp *= $cp_array_index0008: $temp += ££cp_get_array_table; should be correct0002: jump $temp

 

 

edit again, modified readme:

 

4.12.1  Using variables in jump instructions

 

You can use variables with jump instructions. This is however NOT

recommended if you want your scm files to be readable if they are

decompiled by others. You can't just recompile decompiled files

using variables with jump instructions without first manually

changing the decompiled code.

 

!!  Using opcodes is required when coding jumps with variables. !!

 

To set up a global variable with a jump, use a code like this:

 

0004: $<global variable> = <data type for local or global jump><label>

...

(any code to alter the global variable goes here)

...

0002: jump $<global variable>

 

Edited by Barton Waterduck

Share this post


Link to post
Share on other sites
PatrickW

I can live with that...... an opcode before the jump in these exceptional cases should not be a problem.

 

BTW: The reason you give against the use of variable jump addresses is not valid in my opinion: If the author cares about people who would like to recompile their code, than they should distribute the documented source-code with their mod, or at least make it available for download.

 

Share this post


Link to post
Share on other sites
Barton Waterduck

confused.gif

 

 

0129: @436_sdriver_TORINO = create_actor  4 #SPECIAL04 in_car @437_WASHING driverseat

 

Decompiled code, SA MB, descriptions on local vars generated automatically, example shows direct access to local variable 436, automatic handling of local vars (like '@abc') in progress... but it seems it will be available in missions only. cryani.gif (because the MB does not currently keep track of threads)

 

 

BTW:  The reason you give against the use of variable jump addresses is not valid in my opinion: If the author cares about people who would like to recompile their code, than they should distribute the documented source-code with their mod, or at least make it available for download.

 

 

New readme:

 

4.12.1  Using variables in jump instructions

 

You can use variables with jump instructions. If a scm file containing

variables with jump instructions is decompiled, the decompiled jump

instruction will be replaced by the original address of the original label.

If the decompiled code is changed before it's recompiled, the jump

instruction in the recompiled code will point to an invalid address.

If you release your codes to the public and you want people to be

able to modify your codes, you will need to include the source code

to such scm files.

 

!!  Using opcodes is required when coding jumps with variables. !!

 

To set up a global variable with a jump, use a code like this:

 

0004: $<global variable> = <data type for local or global jump><label>

...

(any code to alter the global variable goes here)

...

0002: jump $<global variable>

 

Edited by Barton Waterduck

Share this post


Link to post
Share on other sites
Y_Less
Right, yet another thing. Could you fix the if compiler so it accepts 'if 7' and 'if 27' as they do work ingame (don't know about higher ones) as currently I have to disenable the if checker to compile some code and it is a bit annoying, as if there are other broken ifs, I won't know about them. Cheers.

Share this post


Link to post
Share on other sites
Craig Kostelecky

I'd also like to request that 8 conditionals be accepted by the if checker. I can't think of any reason why it is not allowed in the newer builders.

Share this post


Link to post
Share on other sites
Tecate

Here's a suggestion.

 

When doing a find search, add an option to continue searching from the beginning of the code.

 

The opcode with kung fu stance is actually an aiming command. Give your ninja man a gun and see for yourself.

Share this post


Link to post
Share on other sites
PatrickW

One of the most annoying thing in MB's F1 opcode search mechanism ( which is exceptionally helpfull most of the time), is that when you press F1 multiple times, to jump through all the matching opcodes, the search isn't performed on the same word as the first time, but with the word it has found the previous time.

 

Say I want to find an opcode containing the word 'object', the first couple of times this works ok, until you arrive at an opcode which contains 'objects'. When the F1 key is pressed again, we 're now searching for 'objects', while plain 'object' is this skipped.

I think it would be much better that concecutive F1-searches ( without any other keys inbetween) would be using the original search-string.

 

Share this post


Link to post
Share on other sites
Y_Less

Yes, I agree hugely, that is a bloody pain. Also run non-case-sensitive searches. Alot of the time I do my coding be typing 00d6, then pressing F1 to fil in the rest of the code, but in the mission builder if is 00D6, and it is case sensitive so it doesn't find the OpCode.

 

Do you think Barton even reads this to reject these ideas?

Share this post


Link to post
Share on other sites
hellfish
One of the most annoying thing in MB's F1 opcode search mechanism ( which is exceptionally helpfull most of the time), is that when you press F1 multiple times, to jump through all the matching opcodes, the search isn't performed on the same word as the first time, but with the word it has found the previous time.

 

Say I want to find an opcode containing the word 'object', the first couple of times this works ok, until you arrive at an opcode which contains 'objects'. When the F1 key is pressed again, we 're now searching for 'objects', while plain 'object' is this skipped.

I think it would be much better that concecutive F1-searches ( without any other keys inbetween) would be using the original search-string.

 

If you erase the unrelated letters, it will continue the original search. It's still a major pain, but I learned a few opcodes I didn't know that way.

Share this post


Link to post
Share on other sites
Y_Less
I just stick a couple of surrounding spaces in, much quicker but still a pain.

Share this post


Link to post
Share on other sites
Zera

I wonder if it's possible to park the Andromada in the game using the Mission Builder?

Share this post


Link to post
Share on other sites
Seemann

2 PatrickW & all

 

you can use this tool to search opcodes you need

 

Opcode Search Tool

 

this tool uses only two files: opcodes.txt & keywords.txt

so, just copy these files in the OST's folder and run it

or copy OST in the folder of builder.

 

 

Share this post


Link to post
Share on other sites
PatrickW
2 PatrickW & all

 

you can use this tool to search opcodes you need

 

Opcode Search Tool

 

this tool uses only two files: opcodes.txt & keywords.txt

so, just copy these files in the OST's folder and run it

or copy OST in the folder of builder.

From the description this looks likes a very handy tool. It doesn't work yet for me sadly. I put the content of the zipfile in a seperate directory, and copied the keywords.txt and opcodes.txt files to it.

But still no opcodes turn up when I enter a simple search expression like "player".

I also tried to copy the content of the zip file to the builder install dir, but with the same effect.

 

What versionof builder did you test this with?

Could it be that I need some additional files?

 

 

 

Share this post


Link to post
Share on other sites
Seemann

Could it be that I need some additional files?

 

no, you only need "opcodes.txt" that is included in the complement of builder, and it contains all opcodes that

 

are used by builder. so, this file has the same format in all versions that I know.

 

 

###################################################Opcodes and functions used with conditional checks.( example:if..(contitional function)jump_if_false )###################################################002A:    0 >= $8FB ;; integer values0023:    0.0 >  [email protected] ;; floating-point values

 

etc...

 

i tested this tool with vmb 1.5; gta3mb 5.0; samb 0.33

 

try this

i have included opcodes.txt and keywords.txt from vmb 1.5. so, just run it.

 

and look at this picture. it shows tool in work.

Share this post


Link to post
Share on other sites
DexX

/* @ Barton, if you still read this topic - is there some limitation in your mission builder, that wont read any cars in the default.ide, past vicechee / id 237?

 

i wanted to add some of the new vehiclesin my default.ide, which use the numbers 237, 238, and 239, and your mission builder wont read any of them, no matter what i do, just generating an error message instead sad.gif */

Share this post


Link to post
Share on other sites
Barton Waterduck

I don't read much any more. Been thinking about not releasing anything more and not give any support either. The reason is that I love the game myself but it's just too violent and "big" for some people (and kids) and I just don't think the right people (like little kids) are playing it. Too many school shootouts, too much gang/gangster mentality (even in Norway and the last time I looked, we didn't even have any ghettos blink.gif And they all look american blink.gif The talk, the walk, the clothes, you name it), basically no limits to anything. And they made this game for kids so... I've taken down all the builders. Kinda pointless I guess... I just need to get away from it all.

 

Anyway, yes, there is a limit to what the builder reads from the 'default.ide'. It's not a problem, just replace the '#<name>' with the number it represent, like:

 

0247: request_model 238; check if model loaded00A5: $MyNewCar = create_car 238 at  0.0  0.0  0.0

 

 

edit: And the searching feature had an update in v1.5. It's no longer case sensitive, meaning it works with stuff like cReAte_cAr, 00a5, 00Fe...

 

Edited by Barton Waterduck

Share this post


Link to post
Share on other sites
steve-m

 

I don't read much any more. Been thinking about not releasing anything more and not give any support either. The reason is that I love the game myself but it's just too violent and "big" for some people (and kids) and I just don't think the right people (like little kids) are playing it. Too many school shootouts, too much gang/gangster mentality (even in Norway and the last time I looked, we didn't even have any ghettos blink.gif And they all look american blink.gif The talk, the walk, the clothes, you name it), basically no limits to anything. And they made this game for kids so... I've taken down all the builders. Kinda pointless I guess... I just need to get away from it all.

But Barton... You don't help anyone with this decission. It's not your fault that children play the game, and you can't do anything against it. By taking down your builders you just put the modding community at a disadvantage. Do you really think those kids taking GTA serious and going on rampages in schools ever used your tools and now stop playing GTA because of you taking them down? It's a whole different target group... confused.gif

Share this post


Link to post
Share on other sites
Craig Kostelecky

And if you stopped, there would be no change in the number of psycho kids that are in the world. If it were true that violent games causes real life violence (which is easily debatable) the fact that there's tools made to modify the game doesn't change anything.

 

Please don't stop Barton. If anything, your programs might stop one kid from getting in trouble (because he or she gets addicted to reprogramming video games instead of causing trouble)

Share this post


Link to post
Share on other sites
Barton Waterduck

Mods makes games last longer. That simple really. I don't want to be part of making this game last longer. Sorry bout that. It's a personal thing. Like a personal problem I've had for a pretty long time now. It's nothing new. I've hinted about it several times in the past. I will probably create my own mods but I have no reason to release them. I'm not proud of anything I've done for GTA. I still remember what I felt the first time I did a kill frenzy in GTA 1. I thought it was way "over the top" and I didn't like it at all.

 

sorry.

 

Share this post


Link to post
Share on other sites
DexX

/* I think your focusing on the wrong side of the issue barton, i think alot of people do. Many people focus on the few who get affected by the game, and do things they shouldn't (shootings and whatnot). What they don't mention is the other 95% of the people who play the game with no problems at all, and are perfectly normal.

As far as the age is concerned, the game is marketed towards adults, despite its cartoonish look sometimes. If 'kids' happen to be playing and modding it, thats the parents fault for buying it for them, or the store's fault for selling it to a minor. It is not however your fault in any way. And all mods extend the life of the game, not just your builder. but i digress.

 

we can't *make* you stay, but i do think you should atleast keep the tools you've already made up. Of course if you don't go anywhere, its even less of an issue wink.gif */

Share this post


Link to post
Share on other sites
Barton Waterduck
/* I think your focusing on the wrong side of the issue barton, i think alot of people do. Many people focus on the few who get affected by the game, and do things they shouldn't (shootings and whatnot). What they don't mention is the other 95% of the people who play the game with no problems at all, and are perfectly normal.

As far as the age is concerned, the game is marketed towards adults, despite its cartoonish look sometimes. If 'kids' happen to be playing and modding it, thats the parents fault for buying it for them, or the store's fault for selling it to a minor. It is not however your fault in any way. And all mods extend the life of the game, not just your builder. but i digress.

 

we can't *make* you stay, but i do think you should atleast keep the tools you've already made up. Of course if you don't go anywhere, its even less of an issue wink.gif */

lol, you don't think 5% is enough ? I didn't say I was going anywhere, I'm just not releasing anything or helping anybody with anything. I will just become one of those annoying guys doing nothing. wink.gif

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • 2 Users Currently Viewing
    0 members, 0 Anonymous, 2 Guests

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.