{$CLEO .cs} { by DK'22 (DK22Pac) Vol-GTA.com } const getPedBonePosition = 0x5E4280 BONE_RIGHTHAND = 0x19 RAINY_COUNTRYSIDE = 0x10 RAINY_SF = 8 DYN_WINE_BIG = 0x60F CJ_BEER_B_1 = 0x608 CJ_PINT_GLASS = 0x60A CJ_BEER_B_2 = 0x607 DYN_WINE_BOUNCE = 0x5F0 DYN_WINE_BREAK = 0x5ED DYN_WINE_03 = 0x5E8 DYN_WINE_1 = 0x5CF DYN_BEER_1 = 0x5CE CJ_BEAR_BOTTLE = 0x5CC end 0AF0: 25@ = get_int_from_ini_file "cleo\umbr.ini" section "ID" key "Umbr1" // umbr1.dff 0AF0: 26@ = get_int_from_ini_file "cleo\umbr.ini" section "ID" key "Umbr2" // umbr2.dff // Main loop while true wait 0 if not player.Defined(0) then goto @CLEAN // Got to the next iteration end if or 0741: actor $PLAYER_ACTOR busted actor.Dead($PLAYER_ACTOR) then goto @CLEAN end if 0ADC: test_cheat "UMBRELLA" then 0ACA: show_text_box "Umbrella Mod(xD) by DK22Pac & LostMC. Vol-GTA.com, 2011" end 077E: get_active_interior_to 27@ if 27@ <> 0 // If in interior then goto @CLEAN end actor.StorePos($player_actor, 0@, 1@, 2@) 0A8D: 4@ = read_memory 0xC81320 size 2 virtual_protect false // Get the weather ID if or 4@ == RAINY_SF 4@ == RAINY_COUNTRYSIDE then if 84EE: not animation "UMBRELLA" loaded then 04ED: load_animation "UMBRELLA" while 84EE: not animation "UMBRELLA" loaded wait 0 end end if 0AE1: 3@ = random_actor_near_point 0@ 1@ 2@ in_radius 2000.0 find_next false pass_deads true then repeat 0A96: 15@ = actor 3@ struct inc(15@, 0x544) 0A8D: 16@ = read_memory 15@ size 4 virtual_protect false if 16@ == 123.0 // fake value then continue // Go to the next iteration end 0A96: 15@ = actor 3@ struct inc(15@, 0x58C) // Pointer to current/last car 0A8D: 15@ = read_memory 15@ size 4 virtual_protect false if or actor.Driving(3@) 0965: actor 3@ swimming 0818: actor 3@ in_air 02E0: actor 3@ aggressive 0597: actor 3@ crouching 15@ > 0 // WasInCar then continue // Go to the next iteration end if and 8611: not actor 3@ performing_animation "WALK_CIVI" 8611: not actor 3@ performing_animation "WALK_FAT" 8611: not actor 3@ performing_animation "WALK_FATOLD" 8611: not actor 3@ performing_animation "WALK_GANG1" 8611: not actor 3@ performing_animation "WALK_GANG2" 8611: not actor 3@ performing_animation "WALK_OLD" 8611: not actor 3@ performing_animation "WALK_PLAYER" then if and 8611: not actor 3@ performing_animation "WALK_SHUFFLE" 8611: not actor 3@ performing_animation "WALK_START" 8611: not actor 3@ performing_animation "SPRINT_PANIC" 8611: not actor 3@ performing_animation "WOMAN_IDLESTANCE" 8611: not actor 3@ performing_animation "WOMAN_RUN" 8611: not actor 3@ performing_animation "WOMAN_RUNBUSY" 8611: not actor 3@ performing_animation "WOMAN_RUNFATOLD" then if and 8611: not actor 3@ performing_animation "WOMAN_RUNPANIC" 8611: not actor 3@ performing_animation "XPRESSSCRATCH" 8611: not actor 3@ performing_animation "WOMAN_WALKBUSY" 8611: not actor 3@ performing_animation "WOMAN_WALKFATOLD" 8611: not actor 3@ performing_animation "WOMAN_WALKOLD" 8611: not actor 3@ performing_animation "WOMAN_WALKPRO" 8611: not actor 3@ performing_animation "WOMAN_WALKNORM" then if and 8611: not actor 3@ performing_animation "SPRINT_CIVI" 8611: not actor 3@ performing_animation "RUN_STOPR" 8611: not actor 3@ performing_animation "RUN_STOP" 8611: not actor 3@ performing_animation "RUN_PLAYER" 8611: not actor 3@ performing_animation "RUN_OLD" 8611: not actor 3@ performing_animation "RUN_GANG1" 8611: not actor 3@ performing_animation "RUN_FATOLD" then if and 8611: not actor 3@ performing_animation "RUN_FAT" 8611: not actor 3@ performing_animation "RUN_CIVI" 8611: not actor 3@ performing_animation "ROADCROSS" 8611: not actor 3@ performing_animation "ROADCROSS_FEMALE" 8611: not actor 3@ performing_animation "ROADCROSS_GANG" 8611: not actor 3@ performing_animation "ROADCROSS_OLD" 8611: not actor 3@ performing_animation "IDLESTANCE" then if and 8611: not actor 3@ performing_animation "SPRINT_CIVI" 8611: not actor 3@ performing_animation "IDLE_TIRED" 8611: not actor 3@ performing_animation "IDLE_TAXI" 8611: not actor 3@ performing_animation "IDLE_STANCE" 8611: not actor 3@ performing_animation "IDLE_HBHB" 8611: not actor 3@ performing_animation "IDLE_GANG1" 8611: not actor 3@ performing_animation "IDLE_CHAT" then if and 8611: not actor 3@ performing_animation "IDLESTANCE_FAT" 8611: not actor 3@ performing_animation "IDLESTANCE_OLD" then continue // Go to the next iteration end end end end end end end for 18@ = 1 to 0x2E if 0491: actor 3@ has_weapon 18@ then 16@ = true // HasWeapon flag break end end 089F: get_actor 3@ pedtype_to 19@ var 18@: int 19@: int end for 18@ = 0x11 to 0x1F if 19@ == 18@ then 17@ = true // Pedtype flag break end end if or 0A32: actor 3@ on_turret_of_car 09DE: actor 3@ entering_car 8184: not actor 3@ health >= 1 17@ == true // Pedtype flag 16@ == true // HasWeapon flag then 17@ = false 16@ = false continue // Go to the next iteration end if 03A3: actor 3@ male then 24@ = 0 // Index of array else // If female 24@ = 1 // Index of array end if not model.Available(25@(24@,2i)) then model.Load(25@(24@,2i)) while not model.Available(25@(24@,2i)) wait 0 end 31@ = true // Flag to destroy model end 0A96: 15@ = actor 3@ struct 0AC7: 9@ = var 11@ offset 0AA6: call getPedBonePosition 15@ 3 0 1 0x19 9@ object.Create(14@, 25@(24@,2i), 10@, 11@, 12@) 0382: set_object 14@ collision_detection false 070A: AS_actor 3@ attach_to_object 14@ offset 0.0 0.0 0.0 on_bone 6 0x10 perform_animation "UMBR_HOLD" IFP_file "UMBRELLA" time -1 if 31@ == true // Checking the flag then model.Destroy(25@(24@,2i)) end 31@ = false 0A96: 15@ = actor 3@ struct inc(15@, 0x544) 0A8C: write_memory 15@ size 4 value 123.0 virtual_protect true // fake value actor.RemoveReferences(3@) object.RemoveReferences(14@) until 8AE1: not 3@ = random_actor_near_point 0@ 1@ 2@ in_radius 2000.0 find_next true pass_deads true end else :CLEAN if 0AE1: 3@ = random_actor_near_point 0@ 1@ 2@ in_radius 2000.0 find_next false pass_deads false then repeat 0A96: 15@ = actor 3@ struct 0AC7: 9@ = var 11@ offset 0AA6: call getPedBonePosition 15@ 3 0 1 0x19 9@ if 0AE3: 30@ = random_object_near_point 11@ 12@ 13@ in_radius 0.2 find_next false then if or 09CC: object 30@ model_is 25@ // umbr1.dff 09CC: object 30@ model_is 26@ // umbr2.dff then object.Destroy(30@) 0687: clear_actor 3@ task 0A96: 15@ = actor 3@ struct inc(15@, 0x544) 0A8C: write_memory 15@ size 4 value 100.0 virtual_protect true end end until 8AE1: not 3@ = random_actor_near_point 0@ 1@ 2@ in_radius 2000.0 find_next true pass_deads false if 04EE: animation "UMBRELLA" loaded then 04EF: release_animation "UMBRELLA" end else if 04EE: animation "UMBRELLA" loaded then 04EF: release_animation "UMBRELLA" end end end end