Quantcast

Jump to content

» «
Photo

How to disable scripts?

7 replies to this topic
Dr. John
  • Dr. John

    Women and Wine

  • Members
  • Joined: 31 Dec 2011
  • India

#1

Posted 30 April 2012 - 11:55 AM

I made another script and I am sure it will crash in missions so I was thinking how can I disable my script in missions so that the user doesn't gets any crashes?

Bad.boy!
  • Bad.boy!

    SA modder

  • Feroci Racing
  • Joined: 20 Jun 2010
  • None

#2

Posted 30 April 2012 - 12:02 PM

You have to edit your script. Check if $ONMISSION is one and disable your script until $ONMISSION is zero.

Ashwin.Star
  • Ashwin.Star

    Back for Next ♪♫

  • Members
  • Joined: 14 Nov 2010
  • India

#3

Posted 30 April 2012 - 01:43 PM

as bad.boY said
make your script to be stuck in a loop while on you are in a mission
CODE

:0
wait 0
if
$ONMISSION == 0
jf @0
//// your script ////

this code can be changed according to the need of Script

Dr. John
  • Dr. John

    Women and Wine

  • Members
  • Joined: 31 Dec 2011
  • India

#4

Posted 30 April 2012 - 01:51 PM

Should I put it above ////--------MAIN-------//// line or below?

Frank.s
  • Frank.s

    PingPang

  • Feroci Racing
  • Joined: 15 Apr 2008
  • None

#5

Posted 30 April 2012 - 01:56 PM Edited by Frank.s, 30 April 2012 - 01:58 PM.

Read some basic scripting tutorials before trying to do things that you don't understand.
If you did, then you'd know the layout of a scm file and you'd know that from top to bottom it goes:

Definitions
-
Main
-
All standard threads
-
Mission threads
-
External scripts.

Dr. John
  • Dr. John

    Women and Wine

  • Members
  • Joined: 31 Dec 2011
  • India

#6

Posted 30 April 2012 - 02:12 PM

No, guys. The script isn't disabling. I am worried about mission Snail Trail. confused.gif

Here's the layout:

CODE
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000:

:0
wait 0
if
$ONMISSION == 0
jf @0

thread 'TRAIN'
12@ = 0
33@ = 0

:TRAIN_25
wait 0
if
  Player.Defined($PLAYER_CHAR)
else_jump @TRAIN_25
if
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere -1982.125 -594.5937 25.7206 radius 100.5 100.5 50.5
else_jump @TRAIN_129
if
 12@ == 0
else_jump @TRAIN_179
12@ = 1
06D7: enable_train_traffic 0
jump @TRAIN_237

:TRAIN_129
if
 12@ == 1
else_jump @TRAIN_25
12@ = 0
06D7: enable_train_traffic 0
07BE: remove_references_to_train 1@
07BE: remove_references_to_train 2@
wait 0
jump @TRAIN_25

:TRAIN_179
if and
 12@ == 1
 33@ > 5300
else_jump @TRAIN_25
06D7: enable_train_traffic 0
07BE: remove_references_to_train 1@
07BE: remove_references_to_train 2@
12@ = 0
wait 0
jump @TRAIN_25

:TRAIN_237
01EB: set_traffic_density_multiplier_to 10000.0
Model.Load(#FREIGHT)
Model.Load(#FREIFLAT)
Model.Load(#STREAK)
Model.Load(#STREAKC)
wait 0
if or
  not Model.Available(#FREIGHT)
  not Model.Available(#FREIFLAT)
  not Model.Available(#STREAK)
  not Model.Available(#STREAKC)
else_jump @TRAIN_306
jump @TRAIN_237

:TRAIN_306
06D8: 2@ = create_train_at -1981.207 -474.4401 25.7109 type 12 direction 0
06DC: set_train 2@ acc 60.0
06DD: set_train 2@ speed 70.0
wait 0
06D7: enable_train_traffic 0
06D8: 1@ = create_train_at -1979.603 -678.1725 27.759 type 12 direction 1
06DC: set_train 1@ acc 60.0
06DD: set_train 1@ speed 70.0
33@ = 0
Model.Destroy(#FREIGHT)
Model.Destroy(#FREIFLAT)
Model.Destroy(#STREAK)
Model.Destroy(#STREAKC)
jump @TRAIN_25


Bad.boy!
  • Bad.boy!

    SA modder

  • Feroci Racing
  • Joined: 20 Jun 2010
  • None

#7

Posted 30 April 2012 - 03:49 PM

Don't decompile your scripts if you have to source code.
Use this:
CODE
:TRAIN_25
0001: wait 0 ms
00D6: if
0256:   player $PLAYER_CHAR defined
004D: jump_if_false @TRAIN_25
if
00FE:   actor $PLAYER_ACTOR  0 (in-sphere)near_point -1982.1246 -594.5937 25.7206 radius  100.5  100.5  50.5
004D: jump_if_false @TRAIN_136
00D6: if
0039:   12@ == 0
004D: jump_if_false @TRAIN_222
if
$ONMISSION == 0
jf @TRAIN_25
0006: 12@ = 1
//00BC: show_text_highpriority GXT 'FEM_ON' time 3000 flag 1  // ON
06D7: enable_train_traffic 0
0002: jump @TRAIN_248

Dr. John
  • Dr. John

    Women and Wine

  • Members
  • Joined: 31 Dec 2011
  • India

#8

Posted 30 April 2012 - 04:06 PM

I tested it with the mission and I got a crash. So, I edited the script a bit and placed that opcode after Player_CHAR

CODE
{$VERSION 3.1.0027}
{$CLEO .cs}

thread 'TRAIN'
12@ = 0
33@ = 0

:TRAIN_25
wait 0
if
 Player.Defined($PLAYER_CHAR)
else_jump @TRAIN_25
if
$ONMISSION == 0
jf @TRAIN_25
if
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere -1982.125 -594.5937 25.7206 radius 100.5 100.5 50.5
else_jump @TRAIN_129
if
12@ == 0
else_jump @TRAIN_179
12@ = 1
06D7: enable_train_traffic 0
jump @TRAIN_237

:TRAIN_129
if
12@ == 1
else_jump @TRAIN_25
12@ = 0
06D7: enable_train_traffic 0
07BE: remove_references_to_train 1@
07BE: remove_references_to_train 2@
wait 0
jump @TRAIN_25

:TRAIN_179
if and
12@ == 1
33@ > 5300
else_jump @TRAIN_25
06D7: enable_train_traffic 0
07BE: remove_references_to_train 1@
07BE: remove_references_to_train 2@
12@ = 0
wait 0
jump @TRAIN_25

:TRAIN_237
Model.Load(#FREIGHT)
Model.Load(#FREIFLAT)
Model.Load(#STREAK)
Model.Load(#STREAKC)
wait 0
if or
 not Model.Available(#FREIGHT)
 not Model.Available(#FREIFLAT)
 not Model.Available(#STREAK)
 not Model.Available(#STREAKC)
else_jump @TRAIN_306
jump @TRAIN_237

:TRAIN_306
06D8: 2@ = create_train_at -1981.207 -474.4401 25.7109 type 12 direction 0
06DC: set_train 2@ acc 60.0
06DD: set_train 2@ speed 70.0
wait 0
06D7: enable_train_traffic 0
06D8: 1@ = create_train_at -1979.603 -678.1725 27.759 type 12 direction 1
06DC: set_train 1@ acc 60.0
06DD: set_train 1@ speed 70.0
33@ = 0
Model.Destroy(#FREIGHT)
Model.Destroy(#FREIFLAT)
Model.Destroy(#STREAK)
Model.Destroy(#STREAKC)
jump @TRAIN_25


And now it's working well. smile.gif Thanks to all.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users