Difference between revisions of "Grand Theft Auto: San Andreas/Game Mechanics and Glitches/Phonecalls"

From SDA Knowledge Base

Jump to: navigation, search
(List of Calls)
(List of Calls)
Line 29: Line 29:
 
* MOB_GF (150)
 
* MOB_GF (150)
  
In the table the number behind the thread name is the order the calls are checked in that thread, which means you receive calls with a smaller number first if several are available. It doesn't necessarily mean that the calls will actually come in that order, since that depends on which ones are unlocked.
+
Each thread checks if the prerequisites for calls are met every x ms independantly from eachother. This means that if calls from different threads are available, calls can come in a somewhat random order, although threads that are checked more often probably have a higher chance of getting in first.
 +
 
 +
In the table the number behind the thread name (e.g. MOB_RAN(3)) is the order the calls are checked in that thread, which means you receive calls with a smaller number first if several are available. It doesn't necessarily mean that the calls will actually come in that order, since that depends on which ones are unlocked.
  
 
This list is not necessarily complete (the MOB_GF thread hasn't been added yet). The prerequisites and results info of a call may not be entirely complete (which would basicially require posting the code in here), but the relevant stuff should mostly be in there.
 
This list is not necessarily complete (the MOB_GF thread hasn't been added yet). The prerequisites and results info of a call may not be entirely complete (which would basicially require posting the code in here), but the relevant stuff should mostly be in there.

Revision as of 21:38, 18 November 2015

Phonecalls are triggered after certain events (often finishing a certain mission).

There are two different kinds of phonecalls:

  • High-priorty calls have a recall delay of 20s before Badlands and 15s after finishing the mission Badlands. These calls are usually ones that unlock missions (Most Threads).
  • Low-priority calls have a recall delay of 60s. These calls include e.g. the Catalina troll calls after CJ parts ways with her (MOB_RAN Thread).

The delay counts from the last time the game considered you busy, this includes being on a mission, receiving a phonecall, cancelling a ringing phone. So for example a high-priority call might come 15s after you finished the last mission or 15s after you last cancelled a call. Even though you can't receive phonecalls when you have a wanted level, it doesn't count towards the delay, so you can receive a phonecall directly after you loose your wanted stars.

Answering/Cancelling phonecalls

The ringing phone counts as a small mission, setting $ONMISISON=1, which means you can't start any missions. Once the call is finished (either because you cancelled it or you accepted and finished it), it will set $ONMISSION=0 again.

You can cancel calls by shooting or getting into a vehicle, which will set $ONMISSION=0 after about 1.6 seconds (timed from between the "Press TAB to answer phone" dialog disappearing to mission markers re-appearing on the map, counted frames on video). So the effective delay after you cancelled a phonecall will be 16.6/21.6/61.6 seconds after you performed the action to cancel (e.g. shooting).

Holding Calls

Holding Action (default TAB) will hold a ringing phonecall until you let go of Action. This way you can keep it ringing even when going into an interior (even though it might not actually be audibly ringing anymore). You can also use weapons while doing this, which would normally cancel the call. You can't actually answer it in an interior, but you can carry it through one and then answer it in an environment where you can, e.g. outdoors or in a cutscene.

You can also hold phonecalls in vehicles by keeping AltFire pressed as long as you are in a vehicle. You have to keep Action pressed as long as you are on foot, including the get in/out animations, but not if you are completely in a vehicle. So you should press Action and AltFire during the get in/out animations and can then let go of one of them accordingly. It might be safer to bind Action/AltFire to one key though, which is possible because one is for on foot and the other for vehicles. This way you only need to keep one button pressed during the entire time you want to hold a phonecall, including driving vehicles.

List of Calls

The following threads, which are started/stopped as the game progresses, are used to check for different groups of phonecalls (check delay in ms):

  • MOB_LA1 (90)
  • MOB_CAT (120)
  • MOB_SF (150)
  • MOB_VEG (180)
  • MOB_LA2 (250)
  • MOB_RAN (1000)
  • MOB_GF (150)

Each thread checks if the prerequisites for calls are met every x ms independantly from eachother. This means that if calls from different threads are available, calls can come in a somewhat random order, although threads that are checked more often probably have a higher chance of getting in first.

In the table the number behind the thread name (e.g. MOB_RAN(3)) is the order the calls are checked in that thread, which means you receive calls with a smaller number first if several are available. It doesn't necessarily mean that the calls will actually come in that order, since that depends on which ones are unlocked.

This list is not necessarily complete (the MOB_GF thread hasn't been added yet). The prerequisites and results info of a call may not be entirely complete (which would basicially require posting the code in here), but the relevant stuff should mostly be in there.

ID From Quote Prerequisite Call Unlocks/Info Thread
11 Kendl "Loser!" Lowrider Race Failed MOB_RAN(1)
14 Big Smoke "Yo Carl, it's Smoke." $MISSION_RUNNING_DOG_FAILED == 1 and $SMOKE_TOTAL_PASSED_MISSIONS == 1 and $STAT_FAT >= 500.0 MOB_RAN(2)
1 Catalina "PIG!" $WUZIMU_TOTAL_PASSED_MISSIONS > 1 (after Ran Fa Li) MOB_RAN(3)
2 Catalina "Tiny-balled idiota!" $TORENO_TOTAL_PASSED_MISSIONS > 5 MOB_RAN(4)
3 Catalina "I know it's you, you stinking perro!" $CASINO_TOTAL_PASSED_MISSIONS > 5 MOB_RAN(5)
4 Catalina "Hello, Claude, baby." $MANSION_TOTAL_PASSED_MISSIONS > 2 MOB_RAN(6)
5 Catalina "Yes, Claude, faster, harder, DEEPER!" $RIOT_TOTAL_PASSED_MISSIONS > 4 MOB_RAN(7)
44 Toreno "Hey, how's the flying coming along?" $FLIGHT_SCHOOL_BRIEF_PLAYED == 1, $MISSION_LEARNING_TO_FLY_PASSED == 0 MOB_RAN(8)
45 Toreno "Beat your fears, focus your mind and learn to fly." $FLIGHT_SCHOOL_BRIEF_PLAYED == 1, $MISSION_LEARNING_TO_FLY_PASSED == 0, $1373 == 1(call 44 taken) MOB_RAN(9)
46 Toreno "Carl, learn to fly." $FLIGHT_SCHOOL_BRIEF_PLAYED == 1, $MISSION_LEARNING_TO_FLY_PASSED == 0, $1374 == 1(call 45 taken) MOB_RAN(10)
54-69 Loanshark "Hey, Mr. Johnson. Just a friendly reminder that you owe me money." $CURRENT_TOWN_NUMBER == 3, not Player.Money($PLAYER_CHAR) > -499 MOB_RAN(11)
19 Sweet "Thought I'd explain some shit." $INTRO_TOTAL_PASSED_MISSIONS > 0, 2 > $SWEET_TOTAL_PASSED_MISSIONS, $HELP_GROOVE_SHOWN == 3 MOB_LA1(1)
9 Crash "Carl, it's officer Hernandez" $SWEET_TOTAL_PASSED_MISSIONS > 0 MOB_LA1(2)
6 OGLoc "Hey CJ, word up, G!" $OG_LOC_TOTAL_PASSED_MISSIONS == 4 and ($TIME_HOURS >= 20 or 6 > $TIME_HOURS) MOB_LA1(3)
20 Sweet "There's a gym I go to a couple of blocks out from the Grove." $SWEET_TOTAL_PASSED_MISSIONS > 2, 450.0 > $STAT_FAT Gym MOB_LA1(4)
21 Sweet "So I put a little weight on, but...." $SWEET_TOTAL_PASSED_MISSIONS > 2, $STAT_FAT >= 450.0 Gym MOB_LA1(4)
12 Crash "Officer Tenpenny. How'd you get my number?" $OG_LOC_TOTAL_PASSED_MISSIONS > 1 Create @CRASH Thread and Mission Marker MOB_LA1(5)
7 Cesar "What's up homie? It's Cesar Vialpando cabron, que honda?" $SWEET_TOTAL_PASSED_MISSIONS > 6 Create @CESAR Thread and Marker MOB_LA1(6)
18 Sweet "Whattup, Sweet?" $SWEET_TOTAL_PASSED_MISSIONS > 6, $CRASH_LS_TOTAL_PASSED_MISSIONS > 0 MOB_LA1(7)
8 Cesar "My cousin. Really intense, holmes. Trust me." $MISSION_BADLANDS_PASSED > 0 Create @CAT Thread and Catalina Marker MOB_CAT(1)
24 Sweet "Don't worry bro, I ain't gonna leave you in there." $MISSION_BADLANDS_PASSED > 0 MOB_CAT(2)
15 The Truth "You know me. This is The Truth." $TRUTH_TOTAL_PASSED_MISSIONS == 0, $CATALINA_TOTAL_PASSED_MISSIONS == 1 Create @TRU Thread, Marker MOB_CAT(3)
0 Catalina "Get your ass up here, now!" $CATALINA_TOTAL_PASSED_MISSIONS == 3 MOB_CAT(4)
10 Cesar "Just get a fast car and meet me and Kendl just south of Montgomery." $CATALINA_TOTAL_PASSED_MISSIONS > 1 and $CESAR_TOTAL_PASSED_MISSIONS == 0 Create @BCESAR Thread and Badlands Race Marker MOB_CAT(5)
16 The Truth "Prank caller! Prank caller!" $CATALINA_TOTAL_PASSED_MISSIONS > 3, $CESAR_TOTAL_PASSED_MISSIONS > 9 Mission Marker, set_max_wanted_level_to 5 MOB_CAT(6)


34 Woozie "I own a little betting shop in Chinatown." $SYNDICATE_TOTAL_PASSED_MISSIONS > 2 Starts @WUZI Thread MOB_SF(1)
29 Zero "Sorry, Carl, are you busy?" $GARAGE_TOTAL_PASSED_MISSIONS > 0 (after Wear Flowers) Create @BUY2 Thread, Zero Asset available to buy MOB_SF(2)
30 Zero "Carl! It's Zero!" $GARAGE_TOTAL_PASSED_MISSIONS > 0, $ZERO_RCSHOP_BOUGHT == 1 Create @ZERO Thread, Mission Marker MOB_SF(3)
31 Jethro "Driving school? Man, exactly what you trying to say, man?" $GARAGE_TOTAL_PASSED_MISSIONS > 1 (after Deconstruction) Create @TRACE, @BSCHOO, @BIKES Threads, Mission Markers MOB_SF(4)
32 Jethro "There's an unofficial street racing club in San Fierro." $MISSION_BACK_TO_SCHOOL_PASSED == 1, $TORENO_TOTAL_PASSED_MISSIONS > 3 Street Races MOB_SF(5)
33 Jethro "Now there's a showroom round the block that's come up for sale" $1404 == 1 (Monster Call Taken), $MISSION_BACK_TO_SCHOOL_PASSED == 1 Create @BUY1 Thread (Wang Cars) MOB_SF(6)
41 Toreno "This is a friend of yours." $SYNDICATE_TOTAL_PASSED_MISSIONS == 10 Create @DESERT Thread and Toreno Marker, creates Toreno Savepickup MOB_SF(7)
42 Toreno "Son, get back to the ranch and I'll explain everything." $TORENO_TOTAL_PASSED_MISSIONS > 0 (after Monster) Highjack Mission Marker MOB_SF(8)
43 Toreno "Here. Now. Don't screw around." $TORENO_TOTAL_PASSED_MISSIONS > 1 (after Highjack) Interdiction MOB_SF(9)
35 Woozie "It's the Four Dragons Casino in Las Venturas." $MISSION_LEARNING_TO_FLY_PASSED > 0 Restart Thread @MOB_VEG, Casino Savepoint, Garage.Activate('VECMOD'), Create @LITCAS Thread MOB_SF(10)
17 The Truth "Carl. It's me. The Truth. We got a date with destiny, man" $TORENO_TOTAL_PASSED_MISSIONS > 7 Mission Marker MOB_VEG(1)
13 Crash "Carl! You get that dossier?" $CASINO_TOTAL_PASSED_MISSIONS > 7 and $598 > 0 (after Misappropriation) High Noon MOB_VEG(2)
47 Paul "Awright, Carl - it's me, Paulo." $CASINO_TOTAL_PASSED_MISSIONS > 3 Mission Marker/Unlock (Intensive Care) MOB_VEG(3)
48 Rosenberg "He's taken over Caligula's!" $CASINO_TOTAL_PASSED_MISSIONS > 6 Mission Marker/Unlock (Freefall) MOB_VEG(4)
49 Rosenberg "You've hung us out to dry, I know it!" $CASINO_TOTAL_PASSED_MISSIONS > 7, $598 > 1(after High Noon), $599 > 0(Madd Dogg), $TORENO_TOTAL_PASSED_MISSIONS > 8 Mission Marker/Unlock (Saint Mark's Bistro) MOB_VEG(5)
53 Millie "Millie, girl, you will NOT regret this!" $HEIST_TOTAL_PASSED_MISSIONS > 1, not test $390 bit 1, $STAT_PROGRESS_WITH_MILLIE >= 35 Create Keycard Pickup MOB_VEG(6)
39 Woozie? "It's Millie, she's dumped me." $HEIST_TOTAL_PASSED_MISSIONS > 1, not test $390 bit 1, $GIRL_PROGRESS[5] == -100 Create Keycard Pickup, create_thread @KEYCARD MOB_VEG(7)
40 Woozie? "It's Millie, she's dead." $HEIST_TOTAL_PASSED_MISSIONS > 1, not test $390 bit 1, $GIRL_PROGRESS[5] == -999
36 Woozie? "You get that pass key yet?" $HEIST_TOTAL_PASSED_MISSIONS > 4, $37 == 0, $1384 == 0 MOB_VEG(8)
51 Leone "You won't be hearing from Mr. Rosenberg again." $CASINO_TOTAL_PASSED_MISSIONS > 8, $HEIST_TOTAL_PASSED_MISSIONS != 6 MOB_VEG(9)
38 Woozie? "Are we doing this heist or are you going soft on me again." $CASINO_TOTAL_PASSED_MISSIONS > 8, $1384 == 0 Mission Marker MOB_VEG(10)
37 Woozie? "Get back to the Four Dragons and we can get on with this thing!" $CASINO_TOTAL_PASSED_MISSIONS > 8,
$37 == 1(Keycard acquired)
Mission Marker MOB_VEG(11)
52 Leone "You two-bit, backstabbing, piece of eggplant shit!" $HEIST_TOTAL_PASSED_MISSIONS > 5 MOB_VEG(12)


50 Rosenberg "Fucking amazing!" $MANSION_TOTAL_PASSED_MISSIONS > 0 Mission Marker (Vertical Bird) MOB_LA2(1)
25 Sweet "Carl, what's up? It's your brother." $CASINO_TOTAL_PASSED_MISSIONS > 2, 2 > $MANSION_TOTAL_PASSED_MISSIONS MOB_LA2(2)
22 Sweet "CJ, I been thinking." $RIOT_TOTAL_PASSED_MISSIONS > 1 Gang Territories MOB_LA2(3)
23 Sweet "Hey wassup, you find Smoke?" $RIOT_TOTAL_PASSED_MISSIONS > 1, $GS_GANG_TURF_CONTROLLED > 34 End of the Line MOB_LA2(4)
Personal tools