Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

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

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

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

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

    2. Forum Support

    3. Suggestions

[REL] Sanny Builder


Seemann
 Share

Recommended Posts

 

Also, whats wrong with this code?

 

I use following syntax for defining the scripts:

 

define script  at 

 

so, write DEFINE SCRIPT PLAYER_PARACHUTE at @label

And never ever define the script AAA. It is compiled internally, don't mention it.

 

 

I have another request, something I thought of a long time ago but forgot about until I was browsing old LC topics earlier and found this one

 

Anyway, basically could you do as they did in that so when you compile and run the game, it goes straight into the game, no menus etc as they are very annoying. Don't know how it was done there but the source is available, and I don't know what the addresses are either, but meh.

 

hmm, it looks like all links are broken. Can you give me another ones?

 

Link to comment
Share on other sites

I'm not surprised, its a very old topic. I don't know of another version unfortunately, try PMing Luke, he made it so may still have the data.

Link to comment
Share on other sites

  • 3 weeks later...

The new version of SB has released - Sanny Builder 2.9

You can download it in same place as usually smile.gif

 

http://freewebs.com/sannybuilder

 

New features:

 

- now supporting high-level constructions, like WHILE, REPEAT, IF, IF-ELSE

- full supporting of enclosed loops

- added IN operator, for checking variable value in special interval

- added function alloc(), allowing to specify for a variable the specific address in memory

- various additional functions added (Inc, Dec, Mul and others)

- new comment style: //

- positions of markers and the cursor are remembered for the closed files

 

For more information see ReadMe.txt.

Link to comment
Share on other sites

Hi!

 

I my AV says your "Sanny Builder" is infected with "Win32/Hidrag" sneaky2.gificon13.gif

 

 

"Win32/Hidrag

It`s parasitic Win32 infector that infects files with exe extension.

 

When the worm is launched it copies itself as svchost.exe in to Windows directory and registers as PowerManager in RunServices key in Windows Registry. Then it searches and infects .EXE files on all accessible drives."

 

 

What AV do you run?? ... I was going to try it .... but!!

 

 

Djorn

 

Link to comment
Share on other sites

I can assure you that is not their fault, if your copy has a virus it got there off your system, the download is clean.

Link to comment
Share on other sites

Rotflmfao!! colgate.gif

 

I didn't sugest that it was maliciously put there! .... But that dosen't change the fact it is there!!

I downloaded it from there home site (not mirror), and the only instance of this virous

on my PC is in their "SannyBuilder29.rar" devil.gif

 

I never run an executalbe without scanning it first. And don't you think it is better to let

them know about it than not to??

 

Djorn

Link to comment
Share on other sites

 

I my AV says your "Sanny Builder" is infected with "Win32/Hidrag"

 

0_0 Dawn, WHAT? wow.gifwow.gif Oh, wtf, what else virus??? wow.gif

I assure you that did not think at all to thrust there any virus anyway, so i immediately I shall check up archive, excuse for any inconveniences... confused.gif

Probably a problem of that at me at itself the computer is infected with this sh*t, AV's at me are not installed.... damn, wtf...

Link to comment
Share on other sites

No problems man!

 

I was looking forward to trying the editor, i just thought i would let you know

so that you can check it out.

 

i will download your next version

 

Djorn

Link to comment
Share on other sites

Well, huh, i'm redownloaded the archive, try again. I have checked up new archive and all files of the program with the freshest AV, and any viruses it was not found out. Once again I remind, that to me even in a head would not come to fill in archive a virus anyway. On my computer it was really found Win32/Hidrag, now all ok, thank you for report. I assure, that in SB is not present, was not and will be never contain any viruses anyway, do not worry and safely download. wink.gif

Link to comment
Share on other sites

Hi Xiein!

 

when i load a main.scm i downloaded , it works fine in my game ... but

says that the .scm is bigger tahn it should be and Sanny Builder corrupts it?

because it can't rebuild it , even without modifyin' it!!

 

Main size 209947 b.

Max: 200000 b.

Largest Mission: 68439 b.

 

Largest script: 35122b.

 

 

 

do you want a copy of the .scm so you can see it?

as i can not see anywhere to change these settings in the program!?

 

Thanxs Djorn

Link to comment
Share on other sites

 

when i load a main.scm i downloaded

Hmm, what the main.scm file you use and where you downloaded it?

At compilation of an original GTASA main.scm file SB says that MAIN size is the 194123 bytes. whatsthat.gif

 

In general, the MAIN limit in 200000 bytes is easily overcome by means of removal of a part of a code in separate threads, as fair as i know...

Link to comment
Share on other sites

Hi Xiein!

 

The .scm file is "SACS_+_SANGA_by_Opius" which is bigger than 200000 without editing it.

it works great in the game, .. but when i try to recompile .... even withou editing it it dosen't work,

as far as i can see it is because Sanny Builder has that set as a limit (as it works fine in game) .

 

So i was wondering it there was a way of changing that? as i want to have Opius's SACS (car spawner)

in my own custom .scm! Everything else i tried to do with other custom .scm's worked in Sanny Builder, ...

but they where still within the 200000 size range!

 

I would be greatful i you could help me with this!?

 

Thanxs Djorn

Link to comment
Share on other sites

 

when i try to recompile .... even withou editing it it dosen't work

What really happens? Game crashes?

Anyway, there are no any limits of the source file, and SB should work just fine with any file sizes. And it does not set any limits in SCM.

 

Link to comment
Share on other sites

 

What really happens? Game crashes?

 

Always comes up with "Error (31)" label not found.

but each time it says that a different label is missing??

it is confusing ... but all other .SCM scripts i have edited

thus far do work!!

 

here's a link to it

 

http://www.gtagarage.com/mods/show.php?id=39

 

i'm just wonderin' why it won't recompile this .SCM after it decompiles it.

 

Note: SAMB 0.33 => can't recompile it either, i jsut tried it!. it gives an erro about

the labels too.

 

Anyway .. it's not a big issue. But i was wonderin why? If i find any others that do it

i'll let ya know.

 

Djorn

Edited by Djorn
Link to comment
Share on other sites

That SCM has always caused problems with people, I'm not sure why, not had a chance to look at it, but I wouldn't be surprised if it was something like he's using variable jumps or something else advanced.

Link to comment
Share on other sites

That SCM has always caused problems with people, I'm not sure why, not had a chance to look at it, but I wouldn't be surprised if it was something like he's using variable jumps or something else advanced.

Hey Y?

 

Is there a way to manualy compile .SCM file (& what tool dose Rockstar use)

 

If that's the only way to have some of these thing s to work i am willing to try to

do it all manually!

 

Djorn

 

Link to comment
Share on other sites

random_download

Umm... OK, but compiling it manually will take a while tounge.gif

SCM is like this:

TParameter = {

ParameterType: Byte;

Parameter: Varies, read below

}

 

TOpcode = {

opcode: Word;

array of TParameter;

}

 

Then parameter types go like:

01: 32-bit int

02: global var

03: local var

04: 8-bit int

05: 16-bit int

06: 4-byte float

 

SA:

07: int/float global array

08: int/float local array

09: 8-byte string

0a: global var 8-byte string

0b: local var 8-byte string

0c: 8-byte string global array

0d: 8-byte string local array

0e: variable-length string

10: global var variable-length string

11: local var variable-length string

12: variable-length string global array

13: variable-length string local array

 

The array parameter is like:

Word: the variable

Word: Index

Byte: Array size

Byte: DataType

 

DataTypes:

00 = any/local, int

01 = any/local, float

02 = any/local, 8-byte string

03 = any/local, variable-length string

80 = any/global, int

81 = any/global, float

82 = any/global, 8-byte string

83 = any/global, variable-length string

 

Phew tounge.gif

 

Link to comment
Share on other sites

 

then parameter types go like:

01: 32-bit int

02: global var

03: local var

04: 8-bit int

05: 16-bit int

06: 4-byte float

 

Also there is parameter type 0, that is used in opcodes with various number of parameters (like 004f: create_thread). this means the end of opcode. wink.gif

Link to comment
Share on other sites

@Random_Download => thanks for that man, i have tried to write the .scm i hex but i am having trouble (i will keep trying) my Hex edititing to date has been editing save states, no cd cracks and some trainers . I obviouly need to learn more to completely write the .SCM in hex!

 

@Xiein => if there is anyway you know of to get past the 200,000 bye restriction please let me know!?!? I was talking to Craig yesterday about it but he said he didn't think it was possible :-(

 

hey Seemann!

 

could you tell me please whats wrong with this code? (i changed it to suite Sann Builder, and also opened an .scm wich is an original .scm except for this code)

 

 

===============================================================================

004F: create_thread ££SNKCHP_1

 

 

CODE

 

:SNKCHP_1

03A4: name_thread 'SNKCHP'

0247: request_model #WMYMECH

0518: $BUY_ASSET_CHPSHP = create_available_asset_pickup 'PROP_3' at 1643.525 -1525.051 13.55889 price 10000; Press ~k~~PED_ANSWER_PHONE~ to buy this property.

0570: $ASSET_CHPSHP_RDR = create_asset_radar_marker_with_icon 31 at 1643.525 -1525.051 13.55889

018B: show_on_radar $ASSET_CHPSHP_RDR 2

0038: @11 == 0;; integer values

038B: load_requested_models

 

:SNKCHP_7

0001: wait 5000 ms

00D6: if 0

0214: pickup $BUY_ASSET_CHPSHP picked_up

004D: jump_if_false ££SNKCHP_7

0164: disable_marker $ASSET_CHPSHP_RDR

0215: destroy_pickup $BUY_ASSET_CHPSHP

01B4: set_player $PLAYER_CHAR frozen_state 0

02A3: toggle_widescreen 1

04CE: $10948 = create_icon_marker_without_sphere 55 at 1643.52 -1525.051 13.55889

015F: set_camera_position 1643.03 -1537.819 13.57026 0.0 0.0 0.0

0160: point_camera 1643.525 -1525.051 13.55889 2

0394: play_music 2

00BA: text_styled 'BUYPRO' 5000 ms 2; Property bought!

0001: wait 4000 ms

02A3: toggle_widescreen 0 (off)

0373: set_camera_directly_behind_player

02EB: restore_camera_with_jumpcut

01B4: set_player $PLAYER_CHAR frozen_state 1 (unfrozen)

 

:SNKCHP_21

00D6: if 1

8248: NOT model #WMYMECH available

004D: jump_if_false ££SNKCHP_26

0001: wait 0 ms

0002: jump ££SNKCHP_21

 

 

:SNKCHP_26

0001: wait 100 ms

009A: @37 = create_actor 24 #WMYMECH at 1637.585 -1521.857 13.49873

0173: set_actor @37 z_angle_to 180.0

02A9: set_actor @37 immune_to_nonplayer 1

0001: wait 300 ms

04D7: lock_actor @37 in_current_position 1

0249: release_model @37

014B: $1988 = init_parked_car_generator #TOWTRUCK -1 -1 1 alarm 0 door_lock 0 0 10000 at 1627.333 -1526.865 13.61872 angle 229.3771

014C: set_parked_car_generator $1988 cars_to_generate_to 101

 

:SNKCHP_35

00D6: if 1

0101: actor $PLAYER_ACTOR stopped_near_point 1637.605 -1523.018 13.45889 radius 1.2 1.2 2.0 sphere 1

004D: jump_if_false ££SNKCHP_39

01E3: text_1number_styled 'NUMBER' $carcount 5000 ms 2; ~1~

 

:SNKCHP_39

00D6: if 0

80FE: NOT actor $PLAYER_ACTOR 0 ()near_point 1643.525 -1525.051 13.55889 radius 250.0 250.0 250.0

004D: jump_if_false ££SNKCHP_44

0004: @10 = 1;; integer values

004D: jump_if_false ££SNKCHP_44

 

:SNKCHP_44

0038: $carcount == 0;; integer values

0001: wait 0 ms

00D6: if 1

0038: $ON_MISSION == 0;; integer values

00DF: actor $PLAYER_ACTOR driving

004D: jump_if_false ££SNKCHP_35

00D6: if 0

0038: @11 == 0;; integer values

004D: jump_if_false ££SNKCHP_53

 

:SNKCHP_53

0004: @11 = 1;; integer values

00D6: if 2

0103: actor $PLAYER_ACTOR stopped_near_point_in_car 1643.525 -1525.051 13.55889 radius 4.0 4.0 4.0 sphere 1

83B0: NOT garage 'MUL_LAN' door_open

0038: @11 == 1;; integer values

004D: jump_if_false ££SNKCHP_35

0360: open_garage 'MUL_LAN'

0811: @0 = actor $PLAYER_ACTOR car

00AB: put_car @0 at 1643.525 -1528.051 13.55889

0175: set_car @0 z_angle_to 0.0

01B4: set_player $PLAYER_CHAR frozen_state 0 (frozen)

015F: set_camera_position 1643.03 -1537.819 13.57026 0.0 0.0 0.0

0158: camera_on_vehicle @0 15 2

0001: wait 2000 ms

0615: @114

05B9: unknown_action_sequence -1 1000

05D1: unknown_action_sequence -1 @0 1643.425 -1512.051 13.55889 7.0 0 0 3

0633: unknown_action_sequence -1

0616: @114

0618: $PLAYER_ACTOR @114

061B: @114

062E: $PLAYER_ACTOR 1560 @105

0001: wait 3000 ms

0361: close_garage 'MUL_LAN'

0001: wait 500 ms

016A: fade 0 () 500 ms

0001: wait 500 ms

03E6: remove_text_box

016A: fade 1 (back) 500 ms

0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 1643.525 -1525.051 13.49873

0441: @1 = car @0 model

0227: @3 = car @0 health

00A6: destroy_car @0

01C3: remove_references_to_car @0;; Like turning a car into any random car

01B4: set_player $PLAYER_CHAR frozen_state 1 (unfrozen)

0373: set_camera_directly_behind_player

02EB: restore_camera_with_jumpcut

00D6: if 0

0028: $carcount >= 49;; integer values

004D: jump_if_false ££SNKCHP_94

0002: jump ££SNKCHP_101

 

:SNKCHP_94

0109: player $PLAYER_CHAR money += 100

01E3: text_1number_styled 'IE30' 100 5000 ms 1; Earnings~N~~w~$~1~

010D: set_player $PLAYER_CHAR wanted_level_to @10

0008: @10 += 1;; integer values

0008: $carcount += 1;; integer values

0004: @11 = 0;; integer values

0002: jump ££SNKCHP_35

 

:SNKCHP_101

09E1: @1 @2

0016: @3 /= 100;; integer values

0068: @2 *= @3;; integer values

0016: @2 /= 10;; integer values

0016: @2 /= 10;; integer values

0109: player $PLAYER_CHAR money += @2

01E3: text_1number_styled 'IE30' @2 5000 ms 1; Earnings~N~~w~$~1~

0008: $carcount += 1;; integer values

0008: @10 += 1;; integer values

0002: jump ££SNKCHP_35

===============================================================================

 

After getting it in .SCM format and Decompiling with Sanny Builder (wich is way faster than SMB)

it gives me this when i try to Recompile Unedited?!?!?

 

"Error (21) Local variable 37 is out of range. In threads max variable is [email protected]"

Edited by Djorn
Link to comment
Share on other sites

 

You can only use local variables up to @33 (@32 and @33 are timers btw), it was fairly obvious from the error.

Thanks Y-Less!!

 

I tought that about the "[email protected]" error ... but was wondering why [email protected] & [email protected] actully worked in the game? must be the editor only supports upto "[email protected]" but the games dose , bummer.

 

Thanks for the info about [email protected] & [email protected] being timers, as i originaly replaced [email protected] & [email protected] with [email protected] & [email protected] to try and get Sanny Builder to compile it!

 

Chop shop works like a charm now lol

 

Thanks :-)

 

Link to comment
Share on other sites

  • 2 weeks later...

Seeman next time you release can you make the builder automaticly copy each coord to text because its really difficult to exit and paste the coords each time especially if you're trying to get multiple coords.

Edited by BBumper
Link to comment
Share on other sites

  • 2 months later...
spaceeinstein

 

...Nevermind. I was using version 2.9....

 

Edited by spaceeinstein
Link to comment
Share on other sites

Which version of SB you using? I'm tried to decompile your 1.6 mod's scm and it seems that all ok...

 

Probably, you using old version, try fresh release 2.9f at here

Edited by Xieîn
Link to comment
Share on other sites

  • 2 months later...

Just a minor thing I noticed, in the readme in the data types part you missed the '@' symbols from the list. I also only just found out VC is supported, I am definately going to be using this now. Cheers for this guys.

Link to comment
Share on other sites

 

Just a minor thing I noticed, in the readme in the data types part you missed the '@' symbols from the list.

Oh.. biggrin.gif Really) Thx. Btw VC and GTA3 are supported since version 2.6 wink.gif

 

I also want to inform all that Sanny Builder 3.0 is in active development now. Here is list of main planning features:

 

- new compiler written from ground became faster and allows to use multiline, full complex expressions with anything and also true high-level constructions

- class system has been improved and classes now are cover almost all opcodes

- it is still possible to combine among themselves high-level syntax and simple BW's syntax or write missions entirely like in MBs

- numerous changes in IDE of program, making coding process more pleasantly and easier

- various useful build-in tools, browsers and editors

- huge CHM help which in addition have big mission tutorials and full classes/oprs reference

- and many many other

 

Possible time of release: June 2006

I shall try to keep you informed smile.gif

 

 

 

 

Link to comment
Share on other sites

Could you add support for integer jumps? I currently have to define a local as an integer then jump to the local to get round the compiler. Do you also think you could add support for #define style constants so you could do:

 

 

#define MY_CONSTANT 4 + 3

 

 

then do:

 

 

0004: $my_var = MY_CONSTANT

 

 

and have it compile as 7 (like normal constants)

 

and if so do you think you could also add label support in as well, I'm working on something using ASM and I want to be able to place it anywhere in the file, using the HEX construct, while still maintaining relative jumps. The position will obviously be set at compile but I don't know where it is, so basically I want to be able to do something like:

 

 

E8 0A 00 00 00

 

 

Which is a relative call, jumping 10 bytes, but like this:

 

 

#define REL_JUMP (jump_pos - call_pos):call_posE8 REL_JUMP// some stuff:jump_pos

 

 

I know this is a bit beyond the standard scope of SCM modding and will likely be used by very few people, but it could be very useful for certain mods in the future, cheers, although #defines could be useful for other people.

 

Or will this tool be open source ever so I could try add it?

 

Cheers.

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
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

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