[Fixed]Mission always crashes when passed

Anything to do with GTA1/GTA2 modding (tools, scripts and more).
Post Reply
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

[Fixed]Mission always crashes when passed

Post by CarThief »

For some reason no matter what i tried so far, this mission keeps crashing the moment it has passed. I've tried a different citera for passing the mission, changing the code of how the mission ends and the cleanup part as well. But to no avail. When the player fails the mission it will not crash, despite using the same cleanup code. I must be either missing something or there's possibily something going on with GTA2's mission control functions or main script, possibily. But so far i am perfectly capable of doing any of the other missions in the same map.

Edit: Seems DISPLAY_MESSAGE was using a wrong kind of message by accident. Fixed now.

Mission wsd_zb1
[mis]//Zaibatsu mission

//Mission declares. And most of all, COUNTERS.
CAR_DATA ZB1_Truck
CAR_DATA ZB1_Truckdata //For when finding one on the street.
CAR_DATA ZB1_Tanker
CHAR_DATA ZB1_Guard1
CHAR_DATA ZB1_Guard2
CHAR_DATA ZB1_Guard3
CHAR_DATA ZB1_Guard4
ARROW_DATA ZB1_Arrow
ARROW_DATA ZB1_GreenArrow
ARROW_DATA ZB1_DataArrow
COUNTER ZB1_Progress = 0
COUNTER ZB1_Stolen = 0
COUNTER ZB1_Broken = 0
COUNTER ZB1_TruckType = 0
COUNTER ZB1_Talk = 0
COUNTER ZB1_Talk2 = 0
COUNTER ZB1_Talk3 = 0
COUNTER ZB1_Ready = 0
COUNTER ZB1_Spotted1 = 0
COUNTER ZB1_Spotted2 = 0
COUNTER ZB1_Found = 0
COUNTER ZB1_Passed = 0
COUNTER ZB1_Failed = 0

FORWARD ZB1_Cleanup: //Dont make this the first command in a mission. Try to keep it below Declares.

ZB1_Main:

EXEC
//Setup criticals beforehand.
SET Global_OnMission = 1
SET MissionLoop = 1
STOP_PHONE (Global_ZaibatsuPhone1) //Needed for Blue Phones ONLY.

//Mission stuff between this and WHILE_EXEC.

ZB1_Truck = CREATE_CAR (147.5, 165.5, 2.0) 14 0 TRUKCAB2 END
ZB1_Truckdata = CREATE_CAR (3.5, 208.5, 5.0) 1 0 TRUKCAB1 END // Placeholder.
POINT_ARROW_AT(ZB1_GreenArrow, ZB1_Truck)
SET_ARROW_COLOUR(ZB1_GreenArrow, GREEN)
ZB1_Guard1 = CREATE_CHAR (144.5, 170.5, 2.0) 1 90 CRIMINAL_TYPE1 END
ADD_PATROL_POINT (zb1_guard1, 148.5, 170.5, 2.0)
ADD_PATROL_POINT (zb1_guard1, 148.5, 171.5, 2.0)
ADD_PATROL_POINT (zb1_guard1, 148.5, 170.5, 2.0)
ADD_PATROL_POINT (zb1_guard1, 144.5, 170.5, 2.0)
ZB1_Guard2 = CREATE_CHAR (145.5, 166.5, 2.0) 1 90 CRIMINAL_TYPE1 END
ADD_PATROL_POINT (zb1_guard2, 151.5, 166.5, 2.0)
ADD_PATROL_POINT (zb1_guard2, 151.5, 164.5, 2.0)
ADD_PATROL_POINT (zb1_guard2, 153.5, 164.5, 2.0)
ADD_PATROL_POINT (zb1_guard2, 151.5, 164.5, 2.0)
ADD_PATROL_POINT (zb1_guard2, 151.5, 166.5, 2.0)
ADD_PATROL_POINT (zb1_guard2, 145.5, 166.5, 2.0)
GIVE_WEAPON(ZB1_Guard1, PISTOL)
GIVE_WEAPON(ZB1_Guard2, PISTOL)
SET_CHAR_THREAT_SEARCH(ZB1_Guard1, LINE_OF_SIGHT_PLAYER_ONLY)
SET_CHAR_THREAT_SEARCH(ZB1_Guard2, LINE_OF_SIGHT_PLAYER_ONLY)
SET_CHAR_THREAT_REACTION(ZB1_Guard1, REACT_AS_NORMAL)
SET_CHAR_THREAT_REACTION(ZB1_Guard2, REACT_AS_NORMAL)
ZB1_Tanker = CREATE_CAR (9.7, 14.5, 2.0) -1 90 TANKER END
POINT_ARROW_AT(ZB1_Arrow, ZB1_Tanker)
ZB1_Guard3 = CREATE_CHAR (6.5, 11.5, 2.0) 1 270 CRIMINAL_TYPE2 END
ADD_PATROL_POINT (zb1_guard3, 5.5, 11.5, 2.0)
ADD_PATROL_POINT (zb1_guard3, 5.5, 14.5, 2.0)
ADD_PATROL_POINT (zb1_guard3, 8.5, 14.5, 2.0)
ADD_PATROL_POINT (zb1_guard3, 5.5, 14.5, 2.0)
ADD_PATROL_POINT (zb1_guard3, 5.5, 11.5, 2.0)
ADD_PATROL_POINT (zb1_guard3, 6.5, 11.5, 2.0)
ADD_PATROL_POINT (zb1_guard3, 6.5, 10.5, 2.0)
ADD_PATROL_POINT (zb1_guard3, 6.5, 11.5, 2.0)
ZB1_Guard4 = CREATE_CHAR (9.80, 13.7, 2.0) 1 270 CRIMINAL_TYPE2 END
GIVE_WEAPON(ZB1_Guard3, PISTOL)
GIVE_WEAPON(ZB1_Guard4, PISTOL)
SET_CHAR_THREAT_SEARCH(ZB1_Guard3, LINE_OF_SIGHT_PLAYER_ONLY)
SET_CHAR_THREAT_SEARCH(ZB1_Guard4, LINE_OF_SIGHT_PLAYER_ONLY)
SET_CHAR_THREAT_REACTION(ZB1_Guard3, REACT_AS_NORMAL)
SET_CHAR_THREAT_REACTION(ZB1_Guard4, REACT_AS_NORMAL)
DISPLAY_MESSAGE (1134) //PILLS HERE!
DISPLAY_BRIEF_NOW (1132) //Go steal drugs.
DISPLAY_BRIEF_SOON(1133) //They are in a Tanker. Find a truckcab.
DISPLAY_BRIEF(1150) //Mind the guards.
ENDEXEC

WHILE_EXEC(MissionLoop = 1)

DO_NOWT //Just in case.

//Guard stuff.

IF(ZB1_Spotted1 = 0)
IF((HAS_CHAR_SPOTTED_PLAYER(ZB1_Guard1)) OR (HAS_CHAR_SPOTTED_PLAYER(ZB1_Guard2)))
SET ZB1_Spotted1 = 1
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1135) //n!We got an intruder!
IF(NOT(HAS_CHARACTER_DIED(ZB1_Guard1)))
SET_CHAR_THREAT_SEARCH(ZB1_Guard1, AREA)
SET_CHAR_OBJECTIVE(ZB1_Guard1, KILL_CHAR_ON_FOOT, Player1)
ENDIF
IF(NOT(HAS_CHARACTER_DIED(ZB1_Guard2)))
SET_CHAR_THREAT_SEARCH(ZB1_Guard2, AREA)
SET_CHAR_OBJECTIVE(ZB1_Guard2, KILL_CHAR_ON_FOOT, Player1)
ENDIF
ENDIF
ENDIF

IF(ZB1_Spotted2 = 0)
IF((HAS_CHAR_SPOTTED_PLAYER(ZB1_Guard3)) OR (HAS_CHAR_SPOTTED_PLAYER(ZB1_Guard4)))
SET ZB1_Spotted2 = 1
ALTER_WANTED_LEVEL_NO_DROP(Player1, 1)
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1137) //n!You're not allowed in here!
IF(NOT(HAS_CHARACTER_DIED(ZB1_Guard3)))
SET_CHAR_THREAT_SEARCH(ZB1_Guard3, AREA)
SET_CHAR_OBJECTIVE(ZB1_Guard3, KILL_CHAR_ON_FOOT, Player1)
ENDIF
IF(NOT(HAS_CHARACTER_DIED(ZB1_Guard4)))
SET_CHAR_THREAT_SEARCH(ZB1_Guard4, AREA)
SET_CHAR_OBJECTIVE(ZB1_Guard4, KILL_CHAR_ON_FOOT, Player1)
ENDIF
ENDIF
ENDIF

//End of guard stuff.

IF((ZB1_Found = 0) AND (IS_CHARACTER_IN_CAR(Player1, ZB1_Truck)))
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1138) //Good, you found it. Get that Tanker!
REMOVE_ARROW(ZB1_GreenArrow)
SET ZB1_Found = 1
ENDIF

IF((IS_CHARACTER_IN_MODEL(Player1, TRUKCAB1)) OR (IS_CHARACTER_IN_MODEL(Player1, TRUKCAB2)))
IF(NOT(IS_CHARACTER_IN_CAR(Player1, ZB1_Truck)))
IF(NOT(IS_CHARACTER_IN_CAR(Player1, ZB1_Truckdata)))
//IF(ZB1_Stolen = 1)
//REMOVE_ARROW(ZB1_DataArrow)
//ENDIF
IF(ZB1_Stolen = 0)
SET ZB1_Stolen = 1
ENDIF
STORE_CAR_CHARACTER_IS_IN(Player1, ZB1_Truckdata)
SET ZB1_Progress = 1
IF(ZB1_Talk2 = 0)
SET ZB1_Talk2 = 1
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1149) //Good, you found one off the streets. Get that tanker!
ENDIF
ENDIF
ENDIF
ENDIF

IF(ZB1_Stolen = 1) //Find another one!
IF(IS_CAR_WRECKED(ZB1_Truckdata))
SET ZB1_Stolen = 0
//REMOVE_ARROW(ZB1_DataArrow)
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1139) //Great job breaking it. Get a new one.
ENDIF
ENDIF

IF(ZB1_Broken = 0) // This one isnt going to be replaced.
IF(IS_CAR_WRECKED(ZB1_Truck))
REMOVE_ARROW(ZB1_Arrow)
SET ZB1_Broken = 1
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1140) //Great. Now you gotta steal one off the streets.
ENDIF
ENDIF

IF((ZB1_Progress = 0) OR (ZB1_Progress = 1))
IF(IS_TRAILER_ATTACHED(ZB1_Truck, ZB1_Tanker))
SET ZB1_Progress = 2
SET ZB1_TruckType = 1
IF(ZB1_Talk3 = 0)
SET ZB1_Talk3 = 1
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1141) //Good, bring it back with the Tanker attached.
ENDIF
REMOVE_ARROW(ZB1_Arrow)
POINT_ARROW_AT(ZB1_Arrow, 104.5, 103.5, 2.0)
ENDIF
ENDIF

IF((ZB1_Progress = 0) OR (ZB1_Progress = 1))
IF(IS_TRAILER_ATTACHED(ZB1_Truckdata, ZB1_Tanker))
SET ZB1_Progress = 2
SET ZB1_TruckType = 2
IF(ZB1_Talk3 = 0)
SET ZB1_Talk3 = 1
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1141) //Good, bring it back with the tanker attached.
ENDIF
IF(ZB1_Broken = 1)
DISPLAY_BRIEF_SOON(1142) //And dont break this one.
ENDIF
REMOVE_ARROW(ZB1_Arrow)
POINT_ARROW_AT(ZB1_Arrow, 104.5, 103.5, 2.0)
ENDIF
ENDIF

IF(ZB1_Progress = 2)
IF(ZB1_TruckType = 1)
IF(NOT(IS_TRAILER_ATTACHED(ZB1_Truck, ZB1_Tanker)))
REMOVE_ARROW(ZB1_Arrow)
SET ZB1_TruckType = 3 //Set to none.
POINT_ARROW_AT(ZB1_Arrow, ZB1_Tanker)
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1143) //Attach that tanker again!
ENDIF
ENDIF
ENDIF

IF(ZB1_Progress = 2)
IF(ZB1_TruckType = 2)
IF(NOT(IS_TRAILER_ATTACHED(ZB1_Truckdata, ZB1_Tanker)))
REMOVE_ARROW(ZB1_Arrow)
POINT_ARROW_AT(ZB1_Arrow, ZB1_Tanker)
SET ZB1_TruckType = 3
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1143) //Attach that tanker again!
ENDIF
ENDIF
ENDIF

IF((ZB1_Progress = 2) AND (ZB1_TruckType = 3))
IF(IS_TRAILER_ATTACHED(ZB1_Truck, ZB1_Tanker))
REMOVE_ARROW(ZB1_Arrow)
POINT_ARROW_AT(ZB1_Arrow, 104.5, 103.5, 2.0)
SET ZB1_TruckType = 1
ENDIF
ENDIF

IF((ZB1_Progress = 2) AND (ZB1_TruckType = 3))
IF(IS_TRAILER_ATTACHED(ZB1_Truckdata, ZB1_Tanker))
REMOVE_ARROW(ZB1_Arrow)
POINT_ARROW_AT(ZB1_Arrow, 104.5, 103.5, 2.0)
SET ZB1_TruckType = 2
ENDIF
ENDIF

IF((ZB1_Progress = 2) AND (IS_CAR_IN_BLOCK(ZB1_Tanker, 104.5, 103.5, 2.0, 1.0, 1.0)))
//IF((ZB1_TruckType = 1) OR (ZB1_TruckType = 2))
//
IF(NOT(ZB1_TruckType = 3))
//IF(CHECK_CAR_SPEED(ZB1_Truck, 0))
REMOVE_ARROW(ZB1_Arrow)
SET ZB1_Ready = 1
IF(ZB1_Talk = 0)
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1144) //Good, leave it here and exit the car.
SET ZB1_Talk = 1
ENDIF
ENDIF
ENDIF

IF(ZB1_Ready = 1)
IF(NOT(IS_CAR_IN_BLOCK(ZB1_Tanker, 104.5, 103.5, 2.0, 1.0, 1.0)))
SET ZB1_Ready = 0
POINT_ARROW_AT(ZB1_Arrow, 104.5, 103.5, 2.0)
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1148) //Wrong spot. Put it at the arrow!
ENDIF
ENDIF

IF((ZB1_Progress = 2) AND (ZB1_Ready = 1))//
IF(ZB1_TruckType = 1)
IF(NOT(IS_CHARACTER_IN_CAR(Player1, ZB1_Truck)))
//CHANGE_CAR_LOCK(ZB1_Truck, LOCKOUT_PLAYER)
SET ZB1_Passed = 1
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1146) //Well done.
DISPLAY_MESSAGE(1024) //JOB COMPLETE!
ADD_SCORE(Player1, 10000)
CLEAR_WANTED_LEVEL(Player1)
RETURN
ENDIF
ENDIF
//-
DO_NOWT
//-
IF(ZB1_TruckType = 2)
IF(NOT(IS_CHARACTER_IN_CAR(Player1, ZB1_Truckdata)))
//CHANGE_CAR_LOCK(ZB1_Truckdata, LOCKOUT_PLAYER)
SET ZB1_Passed = 1
CLEAR_ALL_BRIEFS()
DISPLAY_BRIEF_NOW(1146) //Well done.
DISPLAY_MESSAGE(1024) //JOB COMPLETE!
ADD_SCORE(Player1, 10000)
CLEAR_WANTED_LEVEL(Player1)
RETURN
ENDIF
ENDIF
ENDIF //End of check.

//FAILED STATES!

IF(IS_CAR_WRECKED(ZB1_Tanker))
CLEAR_ALL_BRIEFS()
DISPLAY_MESSAGE (1125) //JOB FAILED!
DISPLAY_BRIEF_NOW(1147) //You blew it!
SET ZB1_Failed = 1
RETURN
ENDIF

IF(HAS_CHAR_BEEN_ARRESTED(Player1))
DISPLAY_MESSAGE (1125) //JOB FAILED!
SET ZB1_Failed = 1
RETURN
ENDIF

IF(HAS_CHARACTER_DIED(Player1))
DISPLAY_MESSAGE (1125) //JOB FAILED!
SET ZB1_Failed = 1
RETURN
ENDIF

ENDWHILE

RETURN

//-----------------------------------CLEAN UP--------------------------------------

ZB1_Cleanup:

IF(ZB1_Passed = 1)
IF(Mission_ZB1Status = 0)
++Global_MissionsPassed
ENDIF
SET Mission_ZB1Status = 1 //Important for repeatable missions.
ENABLE_THREAD_TRIGGER(ZB1SubThread)
SET Global_OnMission = 0
SET MissionLoop = 0
//STOP_PHONE_RINGING (Global_WhateverPhone) // - Pick one.
//SET_PHONE_DEAD (Global_WhateverPhone)
ANSWER_PHONE (Player1, Global_ZaibatsuPhone1, -1)
ENDIF

IF(ZB1_Failed = 1)
ENABLE_THREAD_TRIGGER(ZB1SubThread)
SET Global_OnMission = 0
SET MissionLoop = 0
ANSWER_PHONE (Player1, Global_ZaibatsuPhone1, -1)
ENDIF

IF((ZB1_TruckType = 1) AND (ZB1_Broken = 0))
CHANGE_CAR_LOCK(ZB1_Truck, LOCKOUT_PLAYER)
ENDIF
IF((ZB1_TruckType = 2) AND (ZB1_Stolen = 1))
CHANGE_CAR_LOCK(ZB1_Truckdata, LOCKOUT_PLAYER)
ENDIF
REMOVE_ARROW(ZB1_Arrow)
REMOVE_ARROW(ZB1_GreenArrow)
REMOVE_ARROW(ZB1_DataArrow)
SET Global_OnMission = 0 //Makes the main script know a mission is no longer in progress.
SET Global_MissionFinished = 1 //Notifies the main script a mission ended!
SET MissionLoop = 0
SET ZB1_Progress = 0
SET ZB1_Stolen = 0
SET ZB1_Broken = 0
SET ZB1_TruckType = 0
SET ZB1_Talk = 0
SET ZB1_Talk3 = 0
SET ZB1_Ready = 0
SET ZB1_Spotted1 = 0
SET ZB1_Spotted2 = 0
SET ZB1_Passed = 0
SET ZB1_Failed = 0

MISSION_HAS_FINISHED()

RETURN

MISSIONSTART

GOSUB ZB1_Main:
GOSUB ZB1_Cleanup:

MISSIONEND[/mis]
If need be i can put up the main script as well but all the mission files use the same routine when it comes to shutting down save for the odd removal of arrows, objects and different counters being set to 0, and in the main script its all the same routine for each mission as well, so im not sure if that would help...

So yeah, anyone got an idea how to make it stop crashing all the damn time when it's passed? And the passed code is identical (save for different counters) to other mission's passed code, so i dont think thats it.

Edit: I'll go ahead and upload the file itself aswell with minor changes, such as adding a space before comments as apparently that screws up some of the newer editors, think i'll just stick with mis pad, though.
Attachments
wsd_zb1.mis
More friendly to newer script editors compared to the one shown above.
(10.47 KiB) Downloaded 559 times
Last edited by CarThief on 16 Aug 2012, 13:25, edited 1 time in total.
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: Mission always crashes when passed

Post by CarThief »

Man GTA2 is still being bullshit about this. Figured it might be the way i handled the ZB1_Truckdata car data file by making one and overwriting it later when a truckcab is stolen, and thus changing it so it wont need the beforehand created car anymore and checks if one is stolen via a counter, but to no avail.

All i can think of now is that one of the commands itself is making the script somehow unstable, as IS_CHAR_IN_ZONE kinda proved in another topic, although whatever it is this time, its not causing a direct crash instantly.
Hm, anyone have the slightest idea what might cause it? Perhaps consider it a challenge, why, if anyone with some experience (and trustworthy) feels up to it i could send the critical files or just all of it so they can mess with it till it works, or atleast find out the cause.

All thats left to try now is to see if ending the mission in any other non-failure way works out.
User avatar
Sektor
Boss
Boss
Posts: 1423
Joined: 04 Mar 2008, 06:51
GH nick: Sektor
Location: GTAMP.com
Contact:

Re: Mission always crashes when passed

Post by Sektor »

Process of elimination. If you sent it to me, I'd just comment out everything until it didn't crash and then uncomment until it did crash.
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Mission always crashes when passed

Post by BenMillard »

Really, I would like to help but have too much to do already.
CarThief wrote:[...] this mission keeps crashing the moment it has passed.
First thing I'd try is, as Sektor suggested, comment out a huge chunk and see if it works. Specifically, comment out this line (if GTA2 allows that):

[mis]// GOSUB ZB1_Main:[/mis]
If that runs, put it back.

Then try commenting out the other GOSUB - that should make it crash the 2nd time but if it passes the first time, it means the cleanup portion is at fault.

Here is a section of cleanup code which is unique to completing the mission - could try commenting this out:
[mis]/*
IF(ZB1_Passed = 1)
IF(Mission_ZB1Status = 0)
++Global_MissionsPassed
ENDIF
SET Mission_ZB1Status = 1 //Important for repeatable missions.
ENABLE_THREAD_TRIGGER(ZB1SubThread)
SET Global_OnMission = 0
SET MissionLoop = 0
//STOP_PHONE_RINGING (Global_WhateverPhone) // - Pick one.
//SET_PHONE_DEAD (Global_WhateverPhone)
ANSWER_PHONE (Player1, Global_ZaibatsuPhone1, -1)
ENDIF
*/[/mis]
I like your use of blank lines between logical, bite-sized sections of code. Sadly the forum lost your indents. You might try pasting into a text editor and replacing TAB character with double SPACE characters, then paste into your first message again?
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: Mission always crashes when passed

Post by CarThief »

Well i've done some intensive trial and error commenting and uncommenting and found the cause, though its certainly quite unusual.
It would seem DISPLAY_MESSAGE(1124) that is "JOB COMPLETE" crashed the mission, every single time when called. Dont know why though, it works perfectly fine in my other missions, perhaps i overused it and its crashing due to being used too much or something?
I've changed the number to 1950 that uses the same message which is built into e.gxt, but its not making any sound when called, unfortunately.

I wonder if its a problem specific to this mission only or all future missions as i got like 15 or so missions installed into the main script right now, strangely it had no issue using the 1125 "JOB FAILED" message though. Despite that popping up more often due to the many fail states a mission can have. I'm pretty sure GTA2's districts had roughly 7 missions per gang that would end up at around 21 missions minimally though, and thats far beyond the amount i made so far.

Not sure what you mean with indents, though if after all this you're still interested in looking at the script i've put a .mis file as an attachment in the main post that had some edits to make it new-editor-friendly unless both are messed up somehow. Using space to keep the code apart in neat blocks seems like common sense to me. :P Though im too lazy to move them to the right depending on the amount of IF blocks going on in that area, but marking them with a comment always helped for me.

Thanks for the help i suppose, only tiny issue now is to find a way to play the job complete/failed sound while using that message, if possible. Though i should probaly get some sleep first by now.
BenMillard
Immortal
Posts: 889
Joined: 16 May 2009, 06:14
GH nick: BenMillard
Location: London, UK
Contact:

Re: Mission always crashes when passed

Post by BenMillard »

Yes, my list of messages that play a sound says 1124 is "JOB COMPLETE" and so does your most recent message.

But your code in the first message says 1024. :shock:

Code: Select all

[1024] r!The Red player has just finished all their laps!
[1124] JOB COMPLETE!
So the crash might be due to the text being too long or it using the special code for a gang figurehead... not tested but hope the ideas help.

(The order of your *_BRIEF and *_MESSAGE commands for "JOB COMPLETE" are different to the "JOB FAILED" parts of your code. That shouldn't cause a crash, though.)
CarThief
Hitman
Hitman
Posts: 108
Joined: 19 May 2012, 18:12
GH nick: CarThief
Location: Holland, AKA The Netherlands

Re: Mission always crashes when passed

Post by CarThief »

Hm, never noticed that the message had a wrong number, damn GTA2 and its picky behaviour to make one in a million of script lines make the whole thing just come crashing down. Well thanks for that observation, pretty unusual happening there, as i ussually just copy/paste these messages or do them by muscle memory, ah good old human error...

The different layout shouldnt be a problem as far as im aware, atleast GTA2 isnt THAT picky. :P
Well this thing should be completely fixed by now, hope the next issue to stall me wont take half as long, as this took days to eventually figure out. But now i know to look out for faulty messages as well, just one more thing to add to the ever so large checklist when fixing GTA2 bugs/crashes. :P
Post Reply