Joined: Wed Aug 08, 2012 9:25 pm Posts: 41
|
yeah you are right, while_exec helped a lot. you don't even have to check if the palyer is in a car. strange
PLAYER_PED p1 = (120.1, 120.5, 255.0) 19 0
MAP_ZONE copgang = ( 1000 , 0 , 0 , 0 , 1000 , 0 , 0 , 0 , 1000 , 0 , 1000 )
MAP_ZONE redgang = ( 1000 , 0 , 0 , 0 , 1000 , 0 , 0 , 0 , 1000 , 0 , 1000 )
CHAR_DATA char
ONSCREEN_COUNTER onscreen
counter stage =1
counter bots = 1
counter died = 0
counter wait =9
counter botwait =0
CHAR_DATA botgroup
wait_short:
DELAY_HERE ( 100 )
RETURN
LEVELSTART
ADD_ONSCREEN_COUNTER (onscreen, botwait )
ADD_ONSCREEN_COUNTER (onscreen, bots )
SET_AMBIENT_LEVEL ( 0.3, 3 )
SET_CHAR_MAX_RUNSPEED(p1, -0.06)
SET_GANG_INFO (copgang, -2, ELECTRO_GUN, ELECTRO_GUN, ELECTRO_GUN,
3, 0.0, 0.0, 0.0,
10, TANK, 24)
SET_GANG_INFO (redgang, -1, ROCKET_LAUNCHER, ROCKET_LAUNCHER, ROCKET_LAUNCHER,
1, 0.0, 0.0, 0.0,
10, FIRETRUK, -1)
SET_GANG_KILL_REACTION (redgang, copgang, 10)
SET_GANG_KILL_REACTION (copgang, redgang, 10)
ADD_GROUP_TO_CHARACTER(p1, 0)
SET_GROUP_TYPE(p1, CHAIN)
WHILE_EXEC(stage =1)
IF ( CHECK_CHARACTER_HEALTH ( p1 , 0 ))
//IF( ( (HAS_CHARACTER_DIED(p1)) OR (CHECK_WEAPON_TYPE_HIT_CHAR(p1,BY_ELECTRO_WEAPON)) )
// OR ( (IS_CHARACTER_IN_ANY_CAR(p1)) OR (CHECK_WEAPON_TYPE_HIT_CHAR(p1,BY_ROCKET_LAUNCHER)))
// )
IF(HAS_CHARACTER_DIED(p1 ))
//IF(died=0)
SET died =1
SET bots =0
SET botwait =0
//ENDIF
ELSE
IF(died =1)
// DESTROY_GROUP(p1)
ADD_GROUP_TO_CHARACTER(p1, 0)
SET died =0
SET bots =1
//GOSUB wait_short:
ENDIF
ENDIF
IF(bots =1)
++botwait
ENDIF
IF(botwait> =30)
IF(NOT(CHECK_NUMBER_ALIVE_IN_GROUP (p1, 10)) )
botgroup = CREATE_CHAR ( 125.1, 120.5, 255.0 ) 12 90 PSYCHO END
GIVE_WEAPON(botgroup, PISTOL)
//ADD_GROUP_TO_CHARACTER (botgroup,0)
ADD_EXISTING_CHAR_TO_GROUP (p1, botgroup )
ENDIF
SET botwait =0
ENDIF
ENDIF
ENDWHILE
LEVELENDParsed in 0.029 seconds, using GeSHi 1.0.8.10
now some multiplayer testing  edit: here is the updated (final) version. tested with two players, seems to work well so far.
PLAYER_PED p1 = (119.5, 116.5, 2.0) 0 0
PLAYER_PED p2 = (119.5, 117.5, 2.0) 1 0
PLAYER_PED p3 = (119.5, 118.5, 2.0) 2 0
PLAYER_PED p4 = (119.5, 119.5, 2.0) 3 0
PLAYER_PED p5 = (119.5, 120.5, 2.0) 4 0
PLAYER_PED p6 = (119.5, 121.5, 2.0) 5 0
MAP_ZONE copgang = ( 1000 , 0 , 0 , 0 , 1000 , 0 , 0 , 0 , 1000 , 0 , 1000 )
MAP_ZONE redgang = ( 1000 , 0 , 0 , 0 , 1000 , 0 , 0 , 0 , 1000 , 0 , 1000 )
CHAR_DATA p
CHAR_DATA char
counter stage =1
counter current_player =1
counter p_died = 0
counter p_botSpawnTime =0
counter p1_died = 0
counter p1_botSpawnTime =0
counter p2_died = 0
counter p2_botSpawnTime =0
counter p3_died = 0
counter p3_botSpawnTime =0
counter p4_died = 0
counter p4_botSpawnTime =0
counter p5_died = 0
counter p5_botSpawnTime =0
counter p6_died = 0
counter p6_botSpawnTime =0
CHAR_DATA botgroup
LEVELSTART
SET_AMBIENT_LEVEL (0.25, 0)
SET_SHADING_LEVEL (20)
SET_GANG_INFO (copgang, 1, ELECTRO_GUN, ELECTRO_GUN, ELECTRO_GUN,
3, 0.0, 0.0, 0.0,
10, TANK, 20)
SET_GANG_INFO (redgang, 26, ROCKET_LAUNCHER, ROCKET_LAUNCHER, ROCKET_LAUNCHER,
1, 0.0, 0.0, 0.0,
10, FIRETRUK, 11)
SET_GANG_KILL_REACTION (redgang, copgang, 10)
SET_GANG_KILL_REACTION (copgang, redgang, 10)
IF ( CHECK_CHARACTER_HEALTH ( p1 , 0 ))
ADD_GROUP_TO_CHARACTER(p1, 0)
ENDIF
IF ( CHECK_CHARACTER_HEALTH ( p2 , 0 ))
ADD_GROUP_TO_CHARACTER(p2, 0)
ENDIF
IF ( CHECK_CHARACTER_HEALTH ( p3 , 0 ))
ADD_GROUP_TO_CHARACTER(p3, 0)
ENDIF
IF ( CHECK_CHARACTER_HEALTH ( p4 , 0 ))
ADD_GROUP_TO_CHARACTER(p4, 0)
ENDIF
IF ( CHECK_CHARACTER_HEALTH ( p5 , 0 ))
ADD_GROUP_TO_CHARACTER(p5, 0)
ENDIF
IF ( CHECK_CHARACTER_HEALTH ( p6 , 0 ))
ADD_GROUP_TO_CHARACTER(p6, 0)
ENDIF
WHILE_EXEC(stage =1)
SET current_player =1
WHILE(current_player< 7)
IF(current_player =1)
SET p =(p1 +0)
SET p_died =(p1_died +0)
SET p_botSpawnTime =(p1_botSpawnTime +0)
ENDIF
IF(current_player =2)
SET p =(p2 +0)
SET p_died =(p2_died +0)
SET p_botSpawnTime =(p2_botSpawnTime +0)
ENDIF
IF(current_player =3)
SET p =(p3 +0)
SET p_died =(p3_died +0)
SET p_botSpawnTime =(p3_botSpawnTime +0)
ENDIF
IF(current_player =4)
SET p =(p4 +0)
SET p_died =(p4_died +0)
SET p_botSpawnTime =(p4_botSpawnTime +0)
ENDIF
IF(current_player =5)
SET p =(p5 +0)
SET p_died =(p5_died +0)
SET p_botSpawnTime =(p5_botSpawnTime +0)
ENDIF
IF(current_player =6)
SET p =(p6 +0)
SET p_died =(p6_died +0)
SET p_botSpawnTime =(p6_botSpawnTime +0)
ENDIF
IF ( CHECK_CHARACTER_HEALTH ( p , 0 ))
IF(HAS_CHARACTER_DIED(p ))
SET p_died =1
SET p_botSpawnTime =0
ELSE
IF(p_died =1)
ADD_GROUP_TO_CHARACTER(p, 0)
SET p_died =0
ENDIF
IF(p_died =0)
++p_botSpawnTime
ENDIF
IF(p_botSpawnTime> =30)
IF(NOT(CHECK_NUMBER_ALIVE_IN_GROUP (p, 10)) )
IF(current_player =1)
botgroup = CREATE_CHAR ( 122.5, 114.5, 2.0 ) 0 90 PSYCHO END
ENDIF
IF(current_player =2)
botgroup = CREATE_CHAR ( 123.5, 114.5, 2.0 ) 1 90 PSYCHO END
ENDIF
IF(current_player =3)
botgroup = CREATE_CHAR ( 124.5, 114.5, 2.0 ) 2 90 PSYCHO END
ENDIF
IF(current_player =4)
botgroup = CREATE_CHAR ( 125.5, 114.5, 2.0 ) 3 90 PSYCHO END
ENDIF
IF(current_player =5)
botgroup = CREATE_CHAR ( 126.5, 114.5, 2.0 ) 4 90 PSYCHO END
ENDIF
IF(current_player =6)
botgroup = CREATE_CHAR ( 127.1, 114.5, 2.0 ) 5 90 PSYCHO END
ENDIF
GIVE_WEAPON(botgroup, PISTOL)
ADD_EXISTING_CHAR_TO_GROUP (p, botgroup )
ENDIF
SET p_botSpawnTime =0
ENDIF
ENDIF
ENDIF
IF(current_player =1)
SET p1_died =(p_died +0)
SET p1_botSpawnTime =(p_botSpawnTime +0)
ENDIF
IF(current_player =2)
SET p2_died =(p_died +0)
SET p2_botSpawnTime =(p_botSpawnTime +0)
ENDIF
IF(current_player =3)
SET p3_died =(p_died +0)
SET p3_botSpawnTime =(p_botSpawnTime +0)
ENDIF
IF(current_player =4)
SET p4_died =(p_died +0)
SET p4_botSpawnTime =(p_botSpawnTime +0)
ENDIF
IF(current_player =5)
SET p5_died =(p_died +0)
SET p5_botSpawnTime =(p_botSpawnTime +0)
ENDIF
IF(current_player =6)
SET p6_died =(p_died +0)
SET p6_botSpawnTime =(p_botSpawnTime +0)
ENDIF
++current_player
ENDWHILE
ENDWHILE
LEVELENDParsed in 0.043 seconds, using GeSHi 1.0.8.10
|
|