Results 1 to 3 of 3
  1. #1
    Rampant_uterus's Avatar
    Join Date
    Sep 2008
    Gender
    male
    Posts
    644
    Reputation
    7
    Thanks
    136

    Been afk long time, just updated to Pirates iphlpapi.dll - crashing ingame

    Not sure why i'm crashing, no real way to find out? Does the .dll put out a log or something?

    Here's what i've been running (no new updates since a few months - but I did update the dougbenham's latest "interaction through wall in any direction" from pastebin just now)

    Code:
    -- Free job purchase
    function MoneyManager:get_cost_of_premium_contract(job_id, difficulty) return 0 end
    
    -- Spawning Jobs 
    -- job_id: "branchbank_cash_prof", etc
    -- difficulty: "easy" *Easy*, "normal" *Normal*, "hard" *Hard*, "overkill" *Very Hard*, "overkill_145" *Overkill*
    function add_job(job_id, difficulty)
    	local difficulty_id = tweak_data:difficulty_to_index( difficulty )
    	table.insert( managers.crimenet._presets, { job_id = job_id, difficulty_id = difficulty_id, difficulty = difficulty, chance = 1 } )
    	managers.crimenet._MAX_ACTIVE_JOBS = managers.crimenet._MAX_ACTIVE_JOBS + 1
    end
    
    -- _NEW_JOB_MIN_TIME/_NEW_JOB_MAX_TIME are a better alternative to managers.crimenet._debug_mass_spawning
    managers.crimenet._NEW_JOB_MIN_TIME = 0
    managers.crimenet._NEW_JOB_MAX_TIME = 0
    managers.crimenet._presets = { }
    managers.crimenet._active_jobs = { }
    managers.crimenet._MAX_ACTIVE_JOBS = 0
    add_job("welcome_to_the_jungle_prof", "overkill_145")
    add_job("framing_frame_prof", "overkill_145")
    add_job("branchbank_prof", "overkill_145")
    add_job("ukrainian_job_prof", "overkill_145")
    add_job("watchdogs_prof", "overkill_145")
    add_job("alex_prof", "overkill_145")
    add_job("firestarter_prof", "overkill_145")
    add_job("nightclub_prof", "overkill_145")
    add_job("branchbank_gold_prof", "overkill_145")
    add_job("family", "overkill_145")
    
    managers.player:player_unit():camera()._camera_object:set_fov(90)
    
    function PlayerStandard:_check_action_weapon_gadget( t, input ) 
    local new_fov = 0
    local new_sens = false
    	if input.btn_weapon_gadget_press then
    		if self._equipped_unit:base()._gadget_on then
    		new_fov = 90 -- desired FOV without zoom goes here
    		new_sens = false
    		else
    		new_fov = 20 -- zoom FOV goes here
    		new_sens = true
    		end
    		if self._equipped_unit:base().toggle_gadget then
    			if self._equipped_unit:base():has_gadget() then
    				self._equipped_unit:base():toggle_gadget()
    				self._unit:network():send( "set_weapon_gadget_state", self._equipped_unit:base()._gadget_on )
    				self._camera_unit:base():set_fov_instant( new_fov )
    				managers.menu:set_mouse_sensitivity( new_sens )
    			end
    		end
    	end
    end
    
    if not _alwaysMessiah then _alwaysMessiah = CopDamage.damage_bullet end
    function CopDamage:damage_bullet( attack_data )
    	local result = _alwaysMessiah(self, attack_data)
    	if result.type == "death" and attack_data.attacker_unit == managers.player:player_unit() and attack_data.attacker_unit:character_damage():bleed_out() then
    		attack_data.attacker_unit:character_damage():revive( true )
    	end
    	return result
    end
    
    -- Don't taze me bro
    function PlayerTased:enter( state_data, enter_data )
    	PlayerTased.super.enter( self, state_data, enter_data )
    	self._next_shock = Application:time() + 10
    	self._taser_value = 1
    	self._recover_delayed_clbk = "PlayerTased_recover_delayed_clbk"
    	managers.enemy:add_delayed_clbk( self._recover_delayed_clbk, callback( self, self, "clbk_exit_to_std" ), Application:time() )
    end
    
    -- Super jump (when running, you jump 1.5x high)
    function PlayerStandard:_perform_jump(jump_vec)
    	local v = math.UP * 470
    	if self._running then
    		v = math.UP * 470 * 1.3
    	end
    	self._unit:mover():set_velocity( v )
    end
    
    function PlayerDamage:damage_fall( data )
    end
    
    -- disable drillhax ********************************
    if _oldJamming then 
    	TimerGui._set_jamming_values = _oldJamming
    	_oldJamming = nil
    end
    
    if _oldStart then 
    	TimerGui.start = _oldStart
    	_oldStart = nil
    end
    
    -- Allow restart on pro jobs
    if not _oldIsProfessional then _oldIsProfessional = JobManager.is_current_job_professional end
    if not _newIsProfessional then _newIsProfessional = function(self) return false end end
    if not _lobbyStateEnter then _lobbyStateEnter = IngameLobbyMenuState.at_enter end
    function IngameLobbyMenuState:at_enter()
        JobManager.is_current_job_professional = _newIsProfessional
        _lobbyStateEnter(self)
        JobManager.is_current_job_professional = _oldIsProfessional
    end
    if not _lobbyContinue then _lobbyContinue = GameOverState.continue end
    function GameOverState:continue()
        JobManager.is_current_job_professional = _newIsProfessional
        _lobbyContinue(self)
        JobManager.is_current_job_professional = _oldIsProfessional
    end
    if not _lobbyShutDownNetwork then _lobbyShutDownNetwork = GameOverState._shut_down_network end
    function GameOverState:_shut_down_network( ... )
        JobManager.is_current_job_professional = _newIsProfessional
        _lobbyShutDownNetwork(self, ...)
        JobManager.is_current_job_professional = _oldIsProfessional
    end
    if not _lobbyLoadStartMenu then _lobbyLoadStartMenu = GameOverState._load_start_menu end
    function GameOverState:_load_start_menu( ... )
        JobManager.is_current_job_professional = _newIsProfessional
        _lobbyLoadStartMenu(self, ...)
        JobManager.is_current_job_professional = _oldIsProfessional
    end
    if not _lobbySetBtnText then _lobbySetBtnText = GameOverState._set_continue_button_text end
    function GameOverState:_set_continue_button_text()
        JobManager.is_current_job_professional = _newIsProfessional
        _lobbySetBtnText(self)
        JobManager.is_current_job_professional = _oldIsProfessional
    end
    function MenuCallbackHandler:singleplayer_restart() return true end
    
    local player = managers.player:player_unit()
    
    if managers.hud then
    	managers.hud:show_hint( { text = "Proceed to the Objective." } )
    end
    
    -- Small loot value multiplier (extra jewelry cash value in jewelry store, deposit boxes in bank heist, etc)
    if not _uvSmallLoot then _uvSmallLoot = PlayerManager.upgrade_value end 
    function PlayerManager:upgrade_value( category, upgrade, default ) 
        if category == "player" and upgrade == "small_loot_multiplier" then 
            return 50
        else 
            return _uvSmallLoot(self, category, upgrade, default) 
        end 
    end
    if not _uvlSmallLoot then _uvlSmallLoot = PlayerManager.upgrade_value_by_level end 
    function PlayerManager:upgrade_value_by_level( category, upgrade, level, default ) 
        if category == "player" and upgrade == "small_loot_multiplier" then 
            return 10
        else 
            return _uvlSmallLoot(self, category, upgrade, level, default) 
        end 
    end
    
    -- COLORSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    -- Mark enemies
    function setEnemyColor(unit)
        local enemyType = unit:base()._tweak_table
        local color, target_color
        
        -- Civilians | Green
        if enemyType == "civilian" or enemyType == "civilian_female" then
            color = Vector3( 0.1687, 0.5529, 0 )
            target_color = Vector3( 0.1688, 0.5529, 0 )
        -- Taser | Blue
        elseif enemyType == "taser" then
            color = Vector3(0, 0.3804, 0.6235)
            target_color = Vector3(0.001, 0.3804, 0.6235)
        -- Shield | Orange
        elseif enemyType == "shield" then
            color = Vector3(1, 0.5, 0)
            target_color = Vector3(1.001, 0.5, 0)
        -- Tank | Yellow
        elseif enemyType == "tank" then
            color = Vector3(1, 1, 0)
            target_color = Vector3(1.001, 1, 0)
        -- Sniper | Pink
        elseif enemyType == "sniper" then
            color = Vector3(1, 0.35, 0.35)
            target_color = Vector3(1.001, 0.35, 0.35)
        -- Cop/unknown | Purple
        else
            color = Vector3(0.5216, 0, 0.5529)
            target_color = Vector3(0.5217, 0, 0.5529)
        end
        
        -- Set colors
        managers.game_play_central._enemy_contour_units[unit:key()].color = color
        managers.game_play_central._enemy_contour_units[unit:key()].target_color = target_color
    end
    function mark_enemies()
        local units = World:find_units_quick( "all", 3, 16, 21, managers.slot:get_mask( "enemies" ) )
        for i,unit in ipairs( units ) do
            if not unit:brain() or not unit:brain()._logic_data or
               not unit:brain()._logic_data.objective or
               (unit:brain()._logic_data.objective.type ~= "surrender" and 
                unit:brain()._logic_data.objective.type ~= "follow") then
                      if tweak_data.character[ unit:base()._tweak_table ].silent_priority_shout then
                          managers.game_play_central:add_enemy_contour( unit, true )
                    setEnemyColor(unit)
                      elseif unit:character_damage().on_marked_state then
                          managers.game_play_central:add_enemy_contour( unit, false )
                    setEnemyColor(unit)
                      end
            end
        end
    
        for u_key, unit in pairs( managers.groupai:state()._security_cameras ) do
            managers.game_play_central:add_marked_contour_unit( unit )
            managers.network:session():send_to_peers_synched( "mark_contour_unit", unit )
        end
    end
    function UnitNetworkHandler:mark_enemy( unit, marking_strength, sender ) end
    
    if managers.hud then -- Check if in-game, otherwise, GameSetup class isn't prepared yet and code fails
        if not _gameUpdate then _gameUpdate = GameSetup.update end
        do
            local _gameUpdateLastMark
            function GameSetup:update( t, dt )
                _gameUpdate(self, t, dt)
            
                if not _gameUpdateLastMark or t - _gameUpdateLastMark > 4 then
                    _gameUpdateLastMark = t
                    mark_enemies()
                end
            end
        end
    end
    -- COLORSSSSSSSSSSSSSSSSSSSSSSSSSSe489057tsioafoasdfSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS*S*S*S*S**S*S*S*S**S*S*S*S
    
    -- Force specific escape ("escape_cafe", "escape_park", "escape_street", "escape_overpass", "escape_garage", "escape_overpass_night")
    if not _setInterrupt then _setInterrupt = JobManager.set_next_interupt_stage end
    function JobManager:set_next_interupt_stage( interrupt )
    	_setInterrupt(self, "escape_garage")
    end
    
    -- Make cameras not trigger the alarm
    function SecurityCamera:_sound_the_alarm( detected_unit ) end
    
    -- Makes guards & people in general stop calling the cops **************************************************************
    -- function GroupAIStateBase:on_police_called( called_reason ) end
    
    -- Unlimited messiah charges (self-revive)
    function PlayerDamage:consume_messiah_charge() return true end
    function PlayerDamage:got_messiah_charges() return true end
    
    -- Infinite ECM jammer battery
    function ECMJammerBase:update( unit, t, dt )
    	self._battery_life = self._max_battery_life
    end
    
    -- Unlimited doctor bag uses
    function DoctorBagBase:_take( unit )
    	unit:character_damage():recover_health() -- replenish()
    	return 0
    end
    
    -- No flashbangs
    function CoreEnvironmentControllerManager:set_flashbang( flashbang_pos, line_of_sight, travel_dis, linear_dis ) end
    
    -- No hit disorientation
    function CoreEnvironmentControllerManager:hit_feedback_front() end
    function CoreEnvironmentControllerManager:hit_feedback_back() end
    function CoreEnvironmentControllerManager:hit_feedback_right() end
    function CoreEnvironmentControllerManager:hit_feedback_left() end
    function CoreEnvironmentControllerManager:hit_feedback_up() end
    function CoreEnvironmentControllerManager:hit_feedback_down() end
    
    -- 100% Armor piercing
    if not _uvArmorPierce then _uvArmorPierce = PlayerManager.upgrade_value end 
    function PlayerManager:upgrade_value( category, upgrade, default ) 
        if category == "weapon" and upgrade == "armor_piercing_chance" then
            return 1
        elseif category == "weapon" and upgrade == "armor_piercing_chance_silencer" then
            return 1
        else
            return _uvArmorPierce(self, category, upgrade, default) 
        end
    end
    
    -- Long timer for defusing C4 on Rats Day 3
    tweak_data.interaction.c4_diffusible.timer = 4000
    tweak_data.player.put_on_mask_time = 2
    
    -- No bag pickup cooldown *!@*(&!^#*(&^!@(*#&^(!@&*#^(*&^@#*&^@*(&#^*(@&#^*(@&^#)*FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
    function PlayerManager:carry_blocked_by_cooldown() return false end -- Remove cooldown between picking up bags
    -- function PlayerManager:is_carrying() return false end
    -- BaseInteractionExt.can_carry = function() return true end
    Application:debug( "has_category_upgrade:sync_interacted: peer upgrade checks out,", peer )
    
    -- Stops civs from reporting you
    function CivilianLogicFlee.clbk_chk_call_the_police( ignore_this, data ) end
    
    -- Stops police from saying they are calling the police all the time
    function CopLogicArrest._say_call_the_police( data, my_data ) end
    
    -- Prevents panic buttons
    if not _actionRequest then _actionRequest = CopMovement.action_request end
    function CopMovement:action_request( action_desc )
        -- action_desc.variant == "cmf_so_press_alarm_wall": civilian in Bank Heist pressing panic button, etc
        -- action_desc.variant == "cmf_so_press_alarm_table": tellers in Bank Heist pressing panic button, etc
        -- action_desc.variant == "cmf_so_call_police": civilians calling the police
        -- action_desc.variant == "arrest_call": cops saying they are calling the police
        
        return _actionRequest(self, action_desc)
    end
    
    NewRaycastWeaponBase.recoil_multiplier = function(self) return .5 end
    NewRaycastWeaponBase.reload_speed_multiplier = function(self) return 3.5 end
    NewRaycastWeaponBase._get_spread = function(self) return 1.2 end
    PlayerStandard._can_run_directional = function(self) return true end
    PlayerStandard._can_stand = function(self) return true end
    PlayerMovement.is_stamina_drained = function(self) return false end
    function PlayerMovement:_change_stamina( value ) end
    PlayerStandard._get_swap_speed_multiplier = function(self) return 5 end
    function PlayerManager:carry_blocked_by_cooldown() return false end
    PlayerManager.body_armor_movement_penalty = function(self) return 1 end -- TURN OFF FOR MP **********
    
    function PlayerManager:has_category_upgrade( category, upgrade)
        if category == "player" and (upgrade == "civ_harmless_melee" or upgrade == "civ_harmless_bullets") then return false end
        return true -- Other upgrades (eg. Joker)
    end
    PlayerManager.chk_minion_limit_reached = function(self) return false end
    
    -- 100% Dodge
    if not _uvDodge then _uvDodge = PlayerManager.upgrade_value end 
    function PlayerManager:upgrade_value( category, upgrade, default ) 
    	if category == "player" and upgrade == "passive_dodge_chance" then
    		return 0.59
    	else
    		return _uvDodge(self, category, upgrade, default) 
    	end
    end
    
    -- Full map Intimidate civs w/ noise!!  AHA
    if not _uvAura then _uvAura = PlayerManager.upgrade_value end 
    function PlayerManager:upgrade_value( category, upgrade, default ) 
    	if category == "player" and upgrade == "intimidate_aura" then
    		return 30000
    	else
    		return _uvAura(self, category, upgrade, default) 
    	end
    end
    
    -- INTERACTION DISTANCE WOOOOT
    function BaseInteractionExt:interact_distance()
        if self.tweak_data == "access_camera" or tostring(self._unit:name()) == "Idstring(@ID14f05c3d9ebb44b6@)" or self.tweak_data == "trip_mine" or self.tweak_data == "invisible_interaction_open" or self.tweak_data == "stn_int_place_camera" or self.tweak_data == "hud_int_pickup_asset" or self.tweak_data == "shaped_sharge" or self.tweak_data == "pickup_keycard" or self.tweak_data == "burning_money" or self.tweak_data == "stash_planks" or self.tweak_data == "stash_planks_pickup" then
            return self._tweak_data.interact_distance or tweak_data.interaction.INTERACT_DISTANCE
        end
        return 20000 -- default is 200
    end
    
    -- MASTERRRRR INTIMIDATOR
    -- Unlimited [500 actually, but who cares] & instant intimidations
    if not _upgradeValueIntimidate then _upgradeValueIntimidate = PlayerManager.upgrade_value end 
    function PlayerManager:upgrade_value( category, upgrade, default ) 
       if category == "player" and upgrade == "convert_enemies" then
    	return true
       elseif category == "player" and upgrade == "player_assets_cost_multiplier" then
    	return true
       elseif category == "player" and upgrade == "player_additional_assets" then
    	return true
       elseif category == "player" and upgrade == "player_drill_speed_multiplier1" then
    	return true
       elseif category == "player" and upgrade == "player_drill_speed_multiplier2" then
    	return true
       elseif category == "player" and upgrade == "player_drill_alert" then
    	return true
       elseif category == "player" and upgrade == "intimidate_range_mul" then
    	return 50
       elseif category == "player" and upgrade == "player_silent_drill" then
    	return true
       elseif category == "player" and upgrade == "drill_autorepair" then
    	return 1
       elseif category == "player" and upgrade == "temporary_combat_medic_damage_multiplier1" then
    	return true
       elseif category == "player" and upgrade == "doctor_bag_amount_increase1" then
    	return true
       elseif category == "player" and upgrade == "player_pistol_revive_from_bleed_out_1" then
    	return true
       elseif category == "player" and upgrade == "player_pistol_revive_from_bleed_out_2" then
    	return true
       elseif category == "player" and upgrade == "temporary_no_ammo_cost_1" then
    	return true
       elseif category == "player" and upgrade == "temporary_no_ammo_cost_2" then
    	return true
       elseif category == "player" and upgrade == "ammo_bag_ammo_increase1" then
    	return true
       elseif category == "player" and upgrade == "player_revive_health_boost" then
    	return true
       elseif category == "player" and upgrade == "player_civ_calming_alerts" then
    	return true
       elseif category == "player" and upgrade == "player_civ_intimidation_mul" then
    	return true
       elseif category == "player" and upgrade == "player_buy_cost_multiplier_1" then
    	return true
       elseif category == "player" and upgrade == "player_buy_cost_multiplier_2" then
    	return true
       elseif category == "player" and upgrade == "cable_tie_quantity" then
    	return 5
       elseif category == "player" and upgrade == "pistol_damage_multiplier" then
    	return true
       elseif category == "player" and upgrade == "player_revive_health_boost" then
    	return true
       elseif category == "player" and upgrade == "corpse_dispose" then
    	return true
       elseif category == "player" and upgrade == "team_xp_multiplier" then
    	return true
       elseif category == "player" and upgrade == "player_taser_self_shock" then
    	return true
       elseif category == "player" and upgrade == "player_silent_kill" then
    	return true
       elseif category == "player" and upgrade == "weapon_passive_swap_speed_multiplier_2" then
    	return true
       elseif category == "player" and upgrade == "move_spread_multiplier" then
    	return 0
       elseif category == "weapon" and upgrade == "weapon_clip_ammo_increase_1" then
    	return true
       elseif category == "player" and upgrade == "player_passive_loot_drop_multiplier" then
    	return true
       elseif category == "player" and upgrade == "player_loot_drop_multiplier_1" then
    	return true
       elseif category == "player" and upgrade == "player_loot_drop_multiplier_2" then
    	return true
       elseif category == "player" and upgrade == "damage_shake_multiplier" then
    	return 0
       elseif category == "player" and upgrade == "player_damage_dampener" then
    	return true
       elseif category == "player" and upgrade == "weapon_silencer_damage_multiplier_1" then
    	return true
       elseif category == "player" and upgrade == "weapon_silencer_damage_multiplier_2" then
    	return true
       elseif category == "player" and upgrade == "player_overkill_all_weapons" then
    	return true
       elseif category == "player" and upgrade == "shotgun_enter_steelsight_speed_multiplier" then
    	return true
       elseif category == "player" and upgrade == "smg_enter_steelsight_speed_multiplier" then
    	return true
       elseif category == "player" and upgrade == "run_dodge_chance" then
    	return 1
       elseif category == "player" and upgrade == "weapon_silencer_enter_steelsight_speed_multiplier" then
    	return true
       elseif category == "player" and upgrade == "player_additional_lives_1" then
    	return true
       elseif category == "player" and upgrade == "player_cheat_death_chance" then
    	return true
       elseif category == "player" and upgrade == "convert_enemies_max_minions" then
    	return 500
       elseif category == "player" and upgrade == "convert_enemies_health_multiplier" then   
    	return 0.25
       elseif category == "player" and upgrade == "convert_enemies_damage_multiplier" then
    	return 4.5
       elseif category == "player" and upgrade == "health_multiplier" then
    	return 5
       elseif category == "player" and upgrade == "armor_multiplier" then
    	return 4
       elseif category == "player" and upgrade == "passive_damage_multiplier" then
    	return 3
       elseif category == "player" and upgrade == "team_stamina_multiplier" then
    	return 4
       elseif category == "player" and upgrade == "melee_damage_multiplier" then
    	return 25
       elseif category == "player" and upgrade == "pick_up_ammo_multiplier" then
    	return 3
       elseif category == "player" and upgrade == "bleed_out_health_multiplier" then
    	return 5
       elseif category == "weapon" and upgrade == "headshot_damage_multiplier" then
    	return 5
       else 
    	return _upgradeValueIntimidate(self, category, upgrade, default) 
    	end 
    end
    if not _onIntimidated then _onIntimidated = CopLogicIdle.on_intimidated end
    function CopLogicIdle.on_intimidated( data, amount, aggressor_unit )
        CopLogicIdle._surrender( data, amount )
        return true
    end
    CopLogicAttack.on_intimidated = CopLogicIdle.on_intimidated
    CopLogicArrest.on_intimidated = CopLogicIdle.on_intimidated
    CopLogicSniper.on_intimidated = CopLogicIdle.on_intimidated
    
    -- Setup logic for shields to be able to be intimidated
    CopBrain._logic_variants.shield.intimidated = CopLogicIntimidated
    if not _onIIntimidated then _onIIntimidated = CopLogicIntimidated.on_intimidated end
    function CopLogicIntimidated.on_intimidated( data, amount, aggressor_unit ) 
        -- If shield we skip animations, go straight to conversion & spawn a new shield since it was destroyed during intimidation
        if data.unit:base()._tweak_table == "shield" then
            CopLogicIntimidated._do_tied( data, aggressor_unit )
            CopInventory._chk_spawn_shield( data.unit:inventory(), nil )
        else
            _onIIntimidated(data, amount, aggressor_unit)
        end
    end
    
    -- Setup a proper sniper-rifle for snipers (100% accuracy, no spread)
    CopBrain._logic_variants.sniper = clone( CopBrain._logic_variants.security )
    CopBrain._logic_variants.sniper.attack = CopLogicSniper
    if not _onSniperEnter then _onSniperEnter = CopLogicSniper.enter end
    function CopLogicSniper.enter( data, new_logic_name, enter_params )
        if data.unit:brain()._logic_data and data.unit:brain()._logic_data.objective and data.unit:brain()._logic_data.objective.type == "follow" then
            data.char_tweak.weapon[ data.unit:inventory():equipped_unit():base():weapon_tweak_data().usage ] = tweak_data.character.presets.weapon.sniper.m4
            data.char_tweak.weapon[ data.unit:inventory():equipped_unit():base():weapon_tweak_data().usage ].spread = 0
            -- Get dat 100% accuracy
            for distance=1, 3 do
                for interpolate=1,2 do
                    data.char_tweak.weapon[ data.unit:inventory():equipped_unit():base():weapon_tweak_data().usage ].FALLOFF[distance].acc[interpolate] = 1
                end
            end
        end
        _onSniperEnter(data, new_logic_name, enter_params)
    end
    -- MASTERRRRRR INTIMIDATOR END
    
    BaseInteractionExt._has_required_upgrade = function(self) return true end
    BaseInteractionExt.can_interact = function(self, player) return true end
    
    -- Carry mods (throwing distance, movement speed, jumping, running)
    local car_arr = { 'being', 'mega_heavy', 'heavy', 'medium', 'light', 'coke_light' }
    for i, name in ipairs(car_arr) do
        tweak_data.carry.types[ name ].throw_distance_multiplier = 1
        tweak_data.carry.types[ name ].jump_modifier = 1
        tweak_data.carry.types[ name ].can_run = true
    end
    
    -- Instant deploy for your equipped GEAR
    PlayerManager.selected_equipment_deploy_timer = function(self) return 0.5 end
    
    -- Instant interaction (except for pagers because it doesn't work so well when you are client on multiplayer)
    if not _getTimer then _getTimer = BaseInteractionExt._get_timer end
    function BaseInteractionExt:_get_timer()
    	if self.tweak_data == "corpse_alarm_pager" then
    	return 5 -- if pagers don't work properly (eg. when you're a client in multiplayer) use 'return _getTimer(self)' instead.
    	elseif self.tweak_data == "shaped_sharge" then
    	return 1.9 -- this is you planting on a door
    	elseif self.tweak_data == "revive" then
    	return 3 -- reviving speed unto teammates
    	elseif self.tweak_data == "c4_diffusible" then
    	return 2 -- this is you defusing c4 on rats
    	elseif self.tweak_data == "corpse_dispose" then
    	return 1.4
    	elseif self.tweak_data == "pick_lock_hard_no_skill" then
    	return 0
    	end
    	return 0.1
    end
    
    -- Perfect Pagers
    function GroupAIStateBase:on_successful_alarm_pager_bluff() end
    
    -- PLAYER BUFFS
    managers.player:player_unit():character_damage():replenish()
    
    -- Infinite saw
    if not _fireSaw then _fireSaw = SawWeaponBase.fire end
    function SawWeaponBase:fire( from_pos, direction, dmg_mul, shoot_player, spread_mul, autohit_mul, suppr_mul, target_unit )
        local result = _fireSaw( self, from_pos, direction, dmg_mul, shoot_player, spread_mul, autohit_mul, suppr_mul, target_unit )
    
        if managers.player:player_unit() == self._setup.user_unit then
            self.set_ammo(self, 1.0)
        end
    
        return result
    end
    
    -- Infinite cable ties
    function PlayerManager:remove_special( name ) end
    
    -- No cash penalty for killing civillians
    function MoneyManager.get_civilian_deduction() return 0 end
    function MoneyManager.civilian_killed() return end
    MoneyManager.get_civilian_deduction = function(self) return 0 end
    
    -- Allow interaction with anything (ECM jammers, picking locks, deploying shaped charges, etc)
    function BaseInteractionExt:_has_required_upgrade() return true end
    -- function BaseInteractionExt:_has_required_deployable() return true end
    function BaseInteractionExt:can_interact(player) return true end
    function PlayerManager:has_category_upgrade( category, upgrade) return true end -- Other upgrades (eg. Joker)
    function PlayerManager:carry_blocked_by_cooldown() return false end -- Remove cooldown between picking up bags
    
    -- Infinite sentry ammo, no recoil, left the weapon spread in because sentries have a tough time killing if they shoot in one spot
    function SentryGunWeapon:fire( blanks, expend_ammo )
        local fire_obj = self._effect_align[ self._interleaving_fire ]
        local from_pos = fire_obj:position()
        local direction = fire_obj:rotation():y()
        mvector3.spread( direction, tweak_data.weapon[ self._name_id ].SPREAD * self._spread_mul )
        World:effect_manager():spawn( self._muzzle_effect_table[ self._interleaving_fire ] ) -- , normal = col_ray.normal } )
        if self._use_shell_ejection_effect then
            World:effect_manager():spawn( self._shell_ejection_effect_table ) 
        end
        local ray_res = self:_fire_raycast( from_pos, direction, blanks )
        if self._alert_events and ray_res.rays then
            RaycastWeaponBase._check_alert( self, ray_res.rays, from_pos, direction, self._unit )
        end
        return ray_res
    end
    
    -- Sentry god mode
    function SentryGunDamage:damage_bullet( attack_data ) end
    
    -- Interact through walls
    function ObjectInteractionManager:interact( player )
    	if( alive( self._active_object ) ) then
    		local interacted,timer = self._active_object:interaction():interact_start( player )
    		if timer then
    			self._active_object_locked_data = true
    		end
    		return interacted or interacted == nil or false, timer, self._active_object
    	end
    	return false
    end
    local mvec1 = Vector3()
    function ObjectInteractionManager:_update_targeted( player_pos, player_unit )
    	local mvec3_dis = mvector3.distance
    	--clean out far away objects
    	if( #self._close_objects > 0 ) then
    		for k, v in pairs( self._close_objects ) do
    			if( alive( v ) and v:interaction():active() ) then
    				if mvec3_dis( player_pos, v:interaction():interact_position() ) > v:interaction():interact_distance() then
    					table.remove( self._close_objects, k )
    				end
    			else
    				table.remove( self._close_objects, k )
    			end
    		end
    	end
    	
    	--check for new objects
    	for i = 1, self._close_freq, 1 do
    		if( self._close_index >= self._interactive_count ) then
    			self._close_index = 1
    		else
    			self._close_index = self._close_index + 1
    		end
    		
    		local obj = self._interactive_objects[ self._close_index ]
    		if( alive(obj) and obj:interaction():active() and not self:_in_close_list( obj ) ) then
    			if( mvec3_dis(player_pos, obj:interaction():interact_position()) <= obj:interaction():interact_distance()  ) then
    				table.insert( self._close_objects, obj )
    			end
    		end
    	end
    	
    	-- local locked = self._active_object_locked_data and alive( self._active_object )
    	local locked = false
    	if self._active_object_locked_data then
    		if not alive( self._active_object ) or not self._active_object:interaction():active() then
    			self._active_object_locked_data = nil	
    		else
    			-- print( "dist", mvec3_dis(player_pos, self._active_object:interaction():interact_position()) )
    			-- locked = ( mvec3_dis(player_pos, self._active_object:interaction():interact_position()) - self._active_object_locked_data.distance ) < 20
    			locked = ( mvec3_dis(player_pos, self._active_object:interaction():interact_position()) <= self._active_object:interaction():interact_distance() )
    		end
    	end
    			
    	if locked then
    		return
    	end
    	
    	local last_active = self._active_object
    	local blocked = player_unit:movement():object_interaction_blocked()
    	if( #self._close_objects > 0 ) and not blocked then
    		--find the one the player is looking at
    		local active_obj = nil
    		local current_dot = 0.9
    				
    		local player_fwd = player_unit:camera():forward()
    		local camera_pos = player_unit:camera():position()
    		for k, v in pairs( self._close_objects ) do
    			if( alive( v ) ) then
    				mvector3.set( mvec1, v:interaction():interact_position() )
    				mvector3.subtract( mvec1, camera_pos )
    				mvector3.normalize( mvec1 )
    				local dot = mvector3.dot( player_fwd, mvec1 )
    				if( dot > current_dot ) then
    					current_dot = dot
    					active_obj = v
    				end
    			end
    		end
    		
    		if( active_obj and self._active_object ~= active_obj ) then
    			if alive( self._active_object ) then
    				self._active_object:interaction():unselect()
    			end
    			if not active_obj:interaction():selected( player_unit ) then
    				active_obj = nil
    			end
    		end
    		self._active_object = active_obj
    	else
    		self._active_object = nil
    	end
    	
    	--unselect the last one
    	if( alive( last_active ) ) then
    		if( not self._active_object ) then
    			self._active_object = nil
    			last_active:interaction():unselect()
    		end
    	end
    end
    any quick pointers? Or i'll have to just quit -_-

  2. #2
    OldMop's Avatar
    Join Date
    Oct 2010
    Gender
    male
    Posts
    289
    Reputation
    10
    Thanks
    19
    My Mood
    Relaxed
    your script works, it's something with the iphlpapi.dll because I get game crashes quite commonly as well

  3. #3
    Rampant_uterus's Avatar
    Join Date
    Sep 2008
    Gender
    male
    Posts
    644
    Reputation
    7
    Thanks
    136
    i just updated to the 1.0.3v .dll available here on the forum -_- oh poo. I'm amazed the whole cheat in general isn't patched yet. Lol @ overkill... fail devs. Gfacetek doing 10x worse though, them facckers. i hate warface right now.

Similar Threads

  1. Been a long time lurker and long time fan of MPGH!
    By The408 in forum Member Introduction & Return
    Replies: 15
    Last Post: 02-19-2012, 11:10 AM
  2. [Solved] Been a long time
    By Fusion131 in forum Vindictus Help
    Replies: 1
    Last Post: 12-10-2011, 02:11 PM
  3. It's Been a long Time.
    By Melodia in forum Call of Duty Black Ops Discussions
    Replies: 29
    Last Post: 03-25-2011, 07:36 PM
  4. been a long time
    By joefus in forum Showroom
    Replies: 8
    Last Post: 10-30-2010, 07:14 PM
  5. Been a LONG timee....
    By hakop313 in forum Combat Arms Help
    Replies: 0
    Last Post: 06-27-2010, 03:15 PM