Expanding on the snippet located on the
first page by Pyro, I implemented a way for multiple users to enter vehicles and allow users to enter their vehicle using it. I came across a few weird bugs which I can't pinpoint on whats causing it. The script itself may need to be optimized, but it works non the less.
Some of the bugs of the script are wanted players being a passenger in the car causes the police to pull the driver out, Then the police get in a crash the game, Some random weirdness of players randomly getting into ped driven cars, and the various crashes from entering a single user car which vary to game crashing to my computer freezing.
[syntax=mis]
COUNTER p1_driving=0
COUNTER p2_driving=0
COUNTER p3_driving=0
COUNTER p4_driving=0
COUNTER p5_driving=0
COUNTER p6_driving=0
COUNTER p1_signal=0
COUNTER p2_signal=0
COUNTER p3_signal=0
COUNTER p4_signal=0
COUNTER p5_signal=0
COUNTER p6_signal=0
COUNTER p1_calling=0
COUNTER p2_calling=0
COUNTER p3_calling=0
COUNTER p4_calling=0
COUNTER p5_calling=0
COUNTER p6_calling=0
COUNTER riding=1
WHILE_EXEC(riding=1)
IF ( CHECK_CHARACTER_HEALTH(p1, 0) )
GIVE_WEAPON ( p1, ELECTRO_BATON )
IF ( IS_CHARACTER_IN_ANY_CAR(p1) )
STORE_CAR_CHARACTER_IS_IN(p1, p1_car)
IF ( IS_CHAR_PRESSING_HORN(p1) )
SET p1_calling=1
ELSE
SET p1_calling=0
ENDIF
SET p1_driving=1
ELSE
IF ( CHECK_CHAR_CURR_WEAPON(p1 , ELECTRO_BATON) )
SET p1_signal=1
ELSE
SET p1_signal=0
ENDIF
SET p1_driving=0
ENDIF
ENDIF
IF ( CHECK_CHARACTER_HEALTH(p2, 0) )
GIVE_WEAPON ( p2, ELECTRO_BATON )
IF ( IS_CHARACTER_IN_ANY_CAR(p2) )
STORE_CAR_CHARACTER_IS_IN(p2, p2_car)
IF ( IS_CHAR_PRESSING_HORN(p2) )
SET p2_calling=1
ELSE
SET p2_calling=0
ENDIF
SET p2_driving=1
ELSE
IF ( CHECK_CHAR_CURR_WEAPON(p2 , ELECTRO_BATON) )
SET p2_signal=1
ELSE
SET p2_signal=0
ENDIF
SET p2_driving=0
ENDIF
ENDIF
IF ( CHECK_CHARACTER_HEALTH(p3, 0) )
GIVE_WEAPON ( p3, ELECTRO_BATON )
IF ( IS_CHARACTER_IN_ANY_CAR(p3) )
STORE_CAR_CHARACTER_IS_IN(p3, p3_car)
IF ( IS_CHAR_PRESSING_HORN(p3) )
SET p3_calling=1
ELSE
SET p3_calling=0
ENDIF
SET p3_driving=1
ELSE
IF ( CHECK_CHAR_CURR_WEAPON(p3 , ELECTRO_BATON) )
SET p3_signal=1
ELSE
SET p3_signal=0
ENDIF
SET p3_driving=0
ENDIF
ENDIF
IF ( CHECK_CHARACTER_HEALTH(p4, 0) )
GIVE_WEAPON ( p4, ELECTRO_BATON )
IF ( IS_CHARACTER_IN_ANY_CAR(p4) )
STORE_CAR_CHARACTER_IS_IN(p4, p4_car)
IF ( IS_CHAR_PRESSING_HORN(p4) )
SET p4_calling=1
ELSE
SET p4_calling=0
ENDIF
SET p4_driving=1
ELSE
IF ( CHECK_CHAR_CURR_WEAPON(p4 , ELECTRO_BATON) )
SET p4_signal=1
ELSE
SET p4_signal=0
ENDIF
SET p4_driving=0
ENDIF
ENDIF
IF ( CHECK_CHARACTER_HEALTH(p5, 0) )
GIVE_WEAPON ( p5, ELECTRO_BATON )
IF ( IS_CHARACTER_IN_ANY_CAR(p5) )
STORE_CAR_CHARACTER_IS_IN(p5, p5_car)
IF ( IS_CHAR_PRESSING_HORN(p5) )
SET p5_calling=1
ELSE
SET p5_calling=0
ENDIF
SET p5_driving=1
ELSE
IF ( CHECK_CHAR_CURR_WEAPON(p5 , ELECTRO_BATON) )
SET p5_signal=1
ELSE
SET p5_signal=0
ENDIF
SET p5_driving=0
ENDIF
ENDIF
IF ( CHECK_CHARACTER_HEALTH(p6, 0) )
GIVE_WEAPON ( p6, ELECTRO_BATON )
IF ( IS_CHARACTER_IN_ANY_CAR(p6) )
STORE_CAR_CHARACTER_IS_IN(p6, p6_car)
IF ( IS_CHAR_PRESSING_HORN(p6) )
SET p6_calling=1
ELSE
SET p6_calling=0
ENDIF
SET p6_driving=1
ELSE
IF ( CHECK_CHAR_CURR_WEAPON(p6 , ELECTRO_BATON) )
SET p6_signal=1
ELSE
SET p6_signal=0
ENDIF
SET p6_driving=0
ENDIF
ENDIF
IF ( ( p1_driving = 1 ) AND ( p1_calling = 1 ) )
if ( (p1_signal = 1) and (p1_driving=0) )
SET_CHAR_OBJECTIVE ( p1 , ENTER_CAR_AS_PASSENGER , p1_car )
SET p1_driving=1
ENDIF
if ( (p2_signal = 1) and (p2_driving=0) )
SET_CHAR_OBJECTIVE ( p2 , ENTER_CAR_AS_PASSENGER , p1_car )
SET p2_driving=1
ENDIF
if ( (p3_signal = 1) and (p3_driving=0) )
SET_CHAR_OBJECTIVE ( p3 , ENTER_CAR_AS_PASSENGER , p1_car )
SET p3_driving=1
ENDIF
if ( (p4_signal = 1) and (p4_driving=0) )
SET_CHAR_OBJECTIVE ( p4 , ENTER_CAR_AS_PASSENGER , p1_car )
SET p4_driving=1
ENDIF
if ( (p5_signal = 1) and (p5_driving=0) )
SET_CHAR_OBJECTIVE ( p5 , ENTER_CAR_AS_PASSENGER , p1_car )
SET p5_driving=1
ENDIF
if ( (p6_signal = 1) and (p6_driving=0) )
SET_CHAR_OBJECTIVE ( p6 , ENTER_CAR_AS_PASSENGER , p1_car )
SET p6_driving=1
ENDIF
ENDIF
IF ( ( p2_driving = 1 ) AND ( p2_calling = 1 ) )
if ( (p1_signal = 1) and (p1_driving=0) )
SET_CHAR_OBJECTIVE ( p1 , ENTER_CAR_AS_PASSENGER , p2_car )
SET p1_driving=1
ENDIF
if ( (p2_signal = 1) and (p2_driving=0) )
SET_CHAR_OBJECTIVE ( p2 , ENTER_CAR_AS_PASSENGER , p2_car )
SET p2_driving=1
ENDIF
if ( (p3_signal = 1) and (p3_driving=0) )
SET_CHAR_OBJECTIVE ( p3 , ENTER_CAR_AS_PASSENGER , p2_car )
SET p3_driving=1
ENDIF
if ( (p4_signal = 1) and (p4_driving=0) )
SET_CHAR_OBJECTIVE ( p4 , ENTER_CAR_AS_PASSENGER , p2_car )
SET p4_driving=1
ENDIF
if ( (p5_signal = 1) and (p5_driving=0) )
SET_CHAR_OBJECTIVE ( p5 , ENTER_CAR_AS_PASSENGER , p2_car )
SET p5_driving=1
ENDIF
if ( (p6_signal = 1) and (p6_driving=0) )
SET_CHAR_OBJECTIVE ( p6 , ENTER_CAR_AS_PASSENGER , p2_car )
SET p6_driving=1
ENDIF
ENDIF
IF ( ( p3_driving = 1 ) AND ( p3_calling = 1 ) )
if ( (p1_signal = 1) and (p1_driving=0) )
SET_CHAR_OBJECTIVE ( p1 , ENTER_CAR_AS_PASSENGER , p3_car )
SET p1_driving=1
ENDIF
if ( (p2_signal = 1) and (p2_driving=0) )
SET_CHAR_OBJECTIVE ( p2 , ENTER_CAR_AS_PASSENGER , p3_car )
SET p2_driving=1
ENDIF
if ( (p3_signal = 1) and (p3_driving=0) )
SET_CHAR_OBJECTIVE ( p3 , ENTER_CAR_AS_PASSENGER , p3_car )
SET p3_driving=1
ENDIF
if ( (p4_signal = 1) and (p4_driving=0) )
SET_CHAR_OBJECTIVE ( p4 , ENTER_CAR_AS_PASSENGER , p3_car )
SET p4_driving=1
ENDIF
if ( (p5_signal = 1) and (p5_driving=0) )
SET_CHAR_OBJECTIVE ( p5 , ENTER_CAR_AS_PASSENGER , p3_car )
SET p5_driving=1
ENDIF
if ( (p6_signal = 1) and (p6_driving=0) )
SET_CHAR_OBJECTIVE ( p6 , ENTER_CAR_AS_PASSENGER , p3_car )
SET p6_driving=1
ENDIF
ENDIF
IF ( ( p4_driving = 1 ) AND ( p4_calling = 1 ) )
if ( (p1_signal = 1) and (p1_driving=0) )
SET_CHAR_OBJECTIVE ( p1 , ENTER_CAR_AS_PASSENGER , p4_car )
SET p1_driving=1
ENDIF
if ( (p2_signal = 1) and (p2_driving=0) )
SET_CHAR_OBJECTIVE ( p2 , ENTER_CAR_AS_PASSENGER , p4_car )
SET p2_driving=1
ENDIF
if ( (p3_signal = 1) and (p3_driving=0) )
SET_CHAR_OBJECTIVE ( p3 , ENTER_CAR_AS_PASSENGER , p4_car )
SET p3_driving=1
ENDIF
if ( (p4_signal = 1) and (p4_driving=0) )
SET_CHAR_OBJECTIVE ( p4 , ENTER_CAR_AS_PASSENGER , p4_car )
SET p4_driving=1
ENDIF
if ( (p5_signal = 1) and (p5_driving=0) )
SET_CHAR_OBJECTIVE ( p5 , ENTER_CAR_AS_PASSENGER , p4_car )
SET p5_driving=1
ENDIF
if ( (p6_signal = 1) and (p6_driving=0) )
SET_CHAR_OBJECTIVE ( p6 , ENTER_CAR_AS_PASSENGER , p4_car )
SET p6_driving=1
ENDIF
ENDIF
IF ( ( p5_driving = 1 ) AND ( p5_calling = 1 ) )
if ( (p1_signal = 1) and (p1_driving=0) )
SET_CHAR_OBJECTIVE ( p1 , ENTER_CAR_AS_PASSENGER , p5_car )
SET p1_driving=1
ENDIF
if ( (p2_signal = 1) and (p2_driving=0) )
SET_CHAR_OBJECTIVE ( p2 , ENTER_CAR_AS_PASSENGER , p5_car )
SET p2_driving=1
ENDIF
if ( (p3_signal = 1) and (p3_driving=0) )
SET_CHAR_OBJECTIVE ( p3 , ENTER_CAR_AS_PASSENGER , p5_car )
SET p3_driving=1
ENDIF
if ( (p4_signal = 1) and (p4_driving=0) )
SET_CHAR_OBJECTIVE ( p4 , ENTER_CAR_AS_PASSENGER , p5_car )
SET p4_driving=1
ENDIF
if ( (p5_signal = 1) and (p5_driving=0) )
SET_CHAR_OBJECTIVE ( p5 , ENTER_CAR_AS_PASSENGER , p5_car )
SET p5_driving=1
ENDIF
if ( (p6_signal = 1) and (p6_driving=0) )
SET_CHAR_OBJECTIVE ( p6 , ENTER_CAR_AS_PASSENGER , p5_car )
SET p6_driving=1
ENDIF
ENDIF
IF ( ( p6_driving = 1 ) AND ( p6_calling = 1 ) )
if ( (p1_signal = 1) and (p1_driving=0) )
SET_CHAR_OBJECTIVE ( p1 , ENTER_CAR_AS_PASSENGER , p6_car )
SET p1_driving=1
ENDIF
if ( (p2_signal = 1) and (p2_driving=0) )
SET_CHAR_OBJECTIVE ( p2 , ENTER_CAR_AS_PASSENGER , p6_car )
SET p2_driving=1
ENDIF
if ( (p3_signal = 1) and (p3_driving=0) )
SET_CHAR_OBJECTIVE ( p3 , ENTER_CAR_AS_PASSENGER , p6_car )
SET p3_driving=1
ENDIF
if ( (p4_signal = 1) and (p4_driving=0) )
SET_CHAR_OBJECTIVE ( p4 , ENTER_CAR_AS_PASSENGER , p6_car )
SET p4_driving=1
ENDIF
if ( (p5_signal = 1) and (p5_driving=0) )
SET_CHAR_OBJECTIVE ( p5 , ENTER_CAR_AS_PASSENGER , p6_car )
SET p5_driving=1
ENDIF
if ( (p6_signal = 1) and (p6_driving=0) )
SET_CHAR_OBJECTIVE ( p6 , ENTER_CAR_AS_PASSENGER , p6_car )
SET p6_driving=1
ENDIF
ENDIF
SET riding=0
ENDWHILE
[/syntax]