Jump to content
Murarius

Ковыряемся в файлах ОП 2.1

Recommended Posts

Kakos    112

@skitalez_rus, шапка.

А конкретно, скачай файлик m_pseudodog.ltx из шапки и сравни со своим. Или тупо замени. Или могу свой скинуть. Нужно? У меня там только пси урон и рывки бошкой гг убраны. Цвет и тормоза я оставил.

 

P.S.: КАМАЗ - пушка! Перегнал с АТП и прыгаю по холмам от свалки до схрона и обратно. (схрон в углу карты, где то под складами). Заноса нет почти, с 0 до 100 секунды за 2. Только переворачивает бывает, но это не беда.

@Alexander_Vesker, шибко геморно. И работает вроде через эт самое.

@skitalez_rus, кайфолом мне гугл драйв подключать, так лови.

Скрытый текст

[m_pseudodog_e]:monster
SpaceRestrictionSection = space_restrictor,zone_mosquito_bald
Scheduled                 = on            ; option for ALife Simulator
Human                      = off            ; option for ALife Simulator
Health                     = 250            ; option for ALife Simulator
MinSpeed                 = 1.0            ; option for ALife Simulator
MaxSpeed                 = 1.5            ; option for ALife Simulator
going_speed              = 5.0                          ; option for ALife Simulator
current_level_going_speed    = 1;2    ; option for ALife Simulator
search_speed             = 1.5                       ; option for ALife Simulator
visual                = monsters\pseudodog\pseudodog
corpse_visual        = monsters\pseudodog\pseudodog_dead
icon                = ui_npc_monster_pseudodog
short_name            = Pseudodog
MaxHealthValue    = 250        ; range [0..200]
smart_terrain_choose_interval = 00:15:00

Spawn_Inventory_Item_Section = part_psevdodog_tail
Spawn_Inventory_Item_Probability = 0.7

ef_creature_type     = 21            ; option for evaluation functions
ef_weapon_type     = 3
ef_detector_type     = 1
panic_threshold         = 0.1

class    = SM_P_DOG                ; AI class

bone_torso         = bip01_spine1     ; bone name
bone_head         = bip01_head        ; bone name
bone_fire         = bip01_head        ; bone name
weapon_usage     = 0                    ; boolean

; Physics
ph_box0_center              = 0.0,  0.2,  0.0    ;0.0,  0.9,  0.0
ph_box0_size                  = 0.50, 0.4,  0.50    
ph_box1_center              = 0.0,  0.2,  0.0
ph_box1_size                  = 0.50, 0.4,  0.50
ph_crash_speed_min        = 100
ph_crash_speed_max        = 300
ph_collision_damage_factor = 0.1
ph_mass                          = 78    ; also it's the food

destroyed_vis_name  = dynamics\dead_body\skelet_crash_monster

ph_skeleton_airr_lin_factor       = -0.41 ;(изменно из-за того, что убрано домножение коэффициент 0.002 из кода)
ph_skeleton_airr_ang_factor       = -0.20 ;(изменно из-за того, что убрано домножение на коэффициент 0.3 из кода (0.0*0.3=0.0))
ph_skeleton_hinger_factor1        = 1.0 ;1.0 (изменно из-за того, что убрано домножение на коэффициент 5.0 из кода)
ph_skeleton_ddelay                   = 15.0 ;Время изменения значения трения в суставе с момента создания шелла, сек

ph_skel_fatal_impulse_factor      = 1.0
ph_after_death_velocity_factor    = 0.30
ph_skel_shot_up_factor                = 0.25

; Movement::Velocities & Acceleration
; speed factors            linear | angular_real | angular_path | min |  max
Velocity_Stand                = 0,            1.4,            1.4,        1,        1
Velocity_RunFwdNormal    = 6.6,        2.0,            2.0,        0.05,    1.0    
Velocity_RunFwdDamaged    = 4.3,          2.0,            2.0,        0.5,        1.0
Velocity_WalkFwdNormal    = 5.0,        2.0,            2.0,        0.1,        1.0
Velocity_WalkFwdDamaged = 2.2,        3.0,            3.0,        0.1,        2.2    
Velocity_Drag                = 0.6,        0.8,            0.8,        1,        1
Velocity_Steal                = 1.6,        3.0,            3.0,        1,        1

; acceleration
Accel_Generic        = 1.5
Accel_Calm        = 2.5
Accel_Aggressive    = 14.5

; Attack parameters
MinAttackDist        = 1.6    
MaxAttackDist        = 2.0
as_min_dist            = 1.0
as_step            = 0.2

Min_Satiety            = 0.95
Max_Satiety        = 1.0
distance_to_corpse    = 1.8
terrain                 = pseudodogs_terrain

Melee_Rotation_Factor    = 2.6

; Entity Conditions
satiety_v             = 0.0001    ;0.01        ;скорость уменьшения сытости со временем
radiation_v             = 0.00001    ;0.004        ;скорость уменьшения радиации
satiety_power_v     = 0.005        ;0.01        ;увеличение силы при уменьшении сытости 
satiety_health_v     = 0.00001    ;0.03        ;увеличение здоровья при уменьшении сытости 
satiety_critical         = -1.0        ;0.25        ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться
radiation_health_v     = 0.01        ;0.006        ;уменьшение здоровья при воздействии радиации
morale_v            = 0.1                    ;скорость восстановления морали
health_hit_part         = 0.8        ;0.8            ;процент хита, уходящий на отнимание здоровья
power_hit_part         = 1.0        ;0.9            ;процент хита, уходящий на отнимание силы
psy_health_v         = 0.1                    ;скорость восстановления psy-здоровья

immunities_sect        = pseudodog_immunities

;открытые раны
bleeding_v                = 0.04                    ;потеря крови при номинальной ране в секунду
wound_incarnation_v    = 0.04                    ;крутизна кривой заживления (какой процент раны останется после заживления в игровую секунду)
min_wound_size        = 0.01

sleep_health         = 1.0        ;1.5
sleep_power         = 1.0        ;1.5
sleep_satiety         = 1.0        ;0.8
sleep_radiation     = 1.0        ;1.1
sleep_psy_health     = 1.0

eat_freq            = 5.0
eat_slice            = 0.01
eat_slice_weight    = 10.0
satiety_threshold    = 0.5        ; below this value monster fill hunger

; Sounds and sound parameters
sound_idle                = monsters\pseudodog\pdog_idle_      
sound_eat                = monsters\pseudodog\pdog_chew_      
sound_aggressive        = monsters\pseudodog\pdog_aggression_  
sound_attack_hit        = monsters\pseudodog\pdog_attack_
sound_take_damage    = monsters\pseudodog\pdog_hurt_      
sound_die                = monsters\pseudodog\pdog_death_     
sound_bkgnd            = monsters\biting\def_
sound_threaten            = monsters\pseudodog\pdog_threaten_ 
sound_landing            = monsters\biting\def_
sound_steal            = monsters\biting\def_
sound_panic            = monsters\dog\hit_
sound_growling            = monsters\biting\def_
sound_psy_attack        = monsters\pseudodog\psy_attack_
sound_die_in_anomaly    = monsters\pseudodog\pdog_death_

idle_sound_delay            = 92000
eat_sound_delay            = 3000
attack_sound_delay        = 28500

sound_distant_idle            = monsters\pseudodog\pdog_idle_
distant_idle_sound_delay    = 80000
distant_idle_sound_range    = 100.0    

SoundThreshold     = 0.05        ; range [0..1]
max_hear_dist         = 60

; Vision
eye_fov            = 110    ;150
eye_range            = 60    ;100
min_view_distance           = 0.4            ; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance             = 1.0            ; коэффициент, который множится на eye_range, в зависимости от угла
visibility_threshold             = 100.0            ; значение, при достижении суммой которого объект считается видимым
always_visible_distance     = 0.2
time_quant                    = 0.001
decrease_value            = 0.01            ; значение, на которое уменьшается вес, если объект попал в фрустум, но отсёкся по каким-то причинам
velocity_factor                     = 0.5
luminocity_factor            = 0.5             ; фактор освещения (только для Актёра)
transparency_threshold        = 0.25

; Morale
Morale_Hit_Quant                    = 0.1
Morale_Attack_Success_Quant        = 0.1
Morale_Take_Heart_Speed        = 0.1
Morale_Despondent_Speed        = 0.1
Morale_Stable_Speed                = 0.01
Morale_Despondent_Threashold    = 0.5

; Jump Parameters
jump_delay                    = 3000
jump_factor                    = 2.5
jump_ground_trace_range    = 1.0
jump_hit_trace_range        = 2.0
jump_build_line_distance    = 1.0
jump_min_distance            = 4.0 
jump_max_distance            = 8.0
jump_max_angle            = 0.2
jump_max_height            = 3.5

; Other Stuff (refactoring needed)
DamagedThreshold            = 0.2
critical_wound_threshold        = -1
critical_wound_decrease_quant    = 0.

material                = creatures\medium
squad_attack_algorithm = 1

attack_effector            = m_pseudodog_attack_effector
damage                = m_pseudodog_damage
attack_params            = m_pseudodog_attack_params
step_params            = m_pseudodog_step_params

LegsCount                 = 4
anger_hunger_threshold = 0.1
anger_loud_threshold     = 0.7

;species of monster
species                = pseudodog
rank                    = 0
spec_rank                = weak
community                = pseudodog

[m_pseudodog_attack_params]
;    anim            | time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |    Field of hit_test  (left,right, top, bottom) |    Test Dist
;Bite
stand_attack_0    =          0.35,        0.30,        80,        0.0, 1.0, 1.0,        -1.0, 1.0, -1.0, 1.0,        2.5
;Jump attack
run_jamp_1        =        0.55,        0.40,        100,      0.0, 1.0, 4.0,         -1.8, 1.8, -1.8, 1.8,        1.0

;===========================================================================
; SPECIAL EFFECTORS
;===========================================================================
[m_pseudodog_attack_effector]
duality_h        = 0.01
duality_v        = 0.01
blur                = 0.01
gray            = 0.5
noise_intensity     = 0.0
noise_grain        = 1
noise_fps        = 30
color_base        = 0.65,0.15,0.1
color_gray        = 0.333,0.333,0.333
color_add        = 0,0,0
time            = 0.3
time_attack        = 0.05        ; fade in
time_release    = 0.25        ; fade out

; camera effects
ce_time                = 0.45 ;time 
ce_amplitude        = -15.0 
ce_period_number    = 2.0 
ce_power            = 1.0 ;0.7 ; power 

;===========================================================================
; Step Events
;===========================================================================
[m_pseudodog_step_params] ;               left             right            right           left
;    anim                    cycles |    time1 | power1 |    time2 | power2 | time3 | power3 | time4     | power4 |
stand_walk_fwd_0        =       1,        0.1,      1,          0.34,    1,         0.6,     1,            0.84,        1
stand_walk_dmg_0        =       1,        0.2,      1,          0.25,    1,         0.5,     1,            0.7,            1
stand_run_0            =    1,        0.1,      1,          0.3,      1,         0.5,     1,            0.55,        1
stand_run_dmg_0        =    1,        0.2,      1,          0.25,    1,         0.7,     1,            0.75,        1
stand_drag_0            =    1,        0.2,      1,          0.25,    1,         0.7,     1,            0.75,        1

;===========================================================================
; IMMUNITIES
;===========================================================================
[pseudodog_immunities]
burn_immunity             = 1.0
strike_immunity             = 0.5
shock_immunity         = 0.5
wound_immunity         = 0.5
radiation_immunity         = 0.0
telepatic_immunity         = 1.0
chemical_burn_immunity = 0.8
explosion_immunity     = 0.4
fire_wound_immunity      = 0.5

;=================================================================================
; PSEUDO-DOG Damage
;=================================================================================
[m_Pseudodog_damage]
;bone_name         = <hit_scale>,-1,<wound_scale>
;<hit_scale>    - коэфф. изменения хита (уменьшения здоровья) 
;<wound_scale>    - коэфф. изменения величины открытой раны

default                = 0.3, -1, 0.1
bip01_pelvis         = 1.0, -1, 0.1
bip01_spine         = 0.6, -1, 0.1
bip01_spine1         = 0.8, -1, 0.1
bip01_neck         = 1.2, -1, 1.5
bip01_head         = 2.5, -1, 0.3, 10

;=================================================================================
; PSEUDO-DOG Terrain
;=================================================================================
[pseudodogs_terrain]
    255,000,255,255

; WEAK PROFILE
[pseudodog_weak]:m_pseudodog_e
visual                = monsters\pseudodog\pseudodog
icon                = ui_npc_monster_pseudodog
short_name            = pseudodog_weak
panic_threshold        = 0.5
rank                = 0
immunities_sect        = pseudodog_immunities_weak
attack_params        = pseudodog_attack_params_weak
spec_rank            = weak
community            = pseudodog

[pseudodog_immunities_weak]
burn_immunity            = 1.0
strike_immunity            = 1.0
shock_immunity            = 1.0
wound_immunity        = 0.1
radiation_immunity        = 0.0
telepatic_immunity        = 1.0
chemical_burn_immunity = 1.0
explosion_immunity        = 0.5
fire_wound_immunity    = 0.5

[pseudodog_attack_params_weak]
;    anim            | time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |    Field of hit_test  (left,right, top, bottom) |    Test Dist
;Bite
stand_attack_0    =          0.45,        0.50,            100,        0.0, 1.0, 1.0,         -1.0, 1.0, -1.0, 1.0,                1.6
;Jump attack
run_jamp_1        =        0.55,        0.70,            220,        0.0, 1.0, 4.0,         -1.8, 1.8, -1.8, 1.8,                1.0

; NORMAL PROFILE
[pseudodog_normal]:m_pseudodog_e
visual                = monsters\pseudodog\pseudodog
icon                = ui_npc_monster_pseudodog
short_name            = pseudodog_normal
panic_threshold        = 0.2
rank                = 401
immunities_sect        = pseudodog_immunities_normal
attack_params        = pseudodog_attack_params_normal
spec_rank            = normal
community            = pseudodog

[pseudodog_immunities_normal]
burn_immunity            = 1.0
strike_immunity            = 1.0
shock_immunity            = 1.0
wound_immunity        = 0.1
radiation_immunity        = 0.0
telepatic_immunity        = 1.0
chemical_burn_immunity = 1.0
explosion_immunity        = 0.5
fire_wound_immunity    = 0.4

[pseudodog_attack_params_normal]
;    anim            | time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |    Field of hit_test  (left,right, top, bottom) |    Test Dist
;Bite
stand_attack_0    =          0.45,        0.60,            100,        0.0, 1.0, 1.0,         -1.0, 1.0, -1.0, 1.0,                1.6
;Jump attack
run_jamp_1        =        0.55,        0.80,            260,        0.0, 1.0, 4.0,         -1.8, 1.8, -1.8, 1.8,                1.0

; STRONG PROFILE
[pseudodog_strong]:m_pseudodog_e
visual                = monsters\pseudodog\pseudodog_grey
corpse_visual        = monsters\pseudodog\pseudodog_grey_dead
icon                = ui_npc_monster_pseudodog_grey
short_name            = pseudodog_strong
panic_threshold        = 0.05
rank                = 801
immunities_sect        = pseudodog_immunities_strong
attack_params        = pseudodog_attack_params_strong
spec_rank            = strong
community            = pseudodog

[pseudodog_immunities_strong]
burn_immunity            = 1.0
strike_immunity            = 1.0
shock_immunity            = 1.0
wound_immunity        = 0.07
radiation_immunity        = 0.0
telepatic_immunity        = 1.0
chemical_burn_immunity = 1.0
explosion_immunity        = 0.5
fire_wound_immunity    = 0.3

[pseudodog_attack_params_strong]
;    anim            | time[0..1] | hit_power | impulse | impulse_dir (x,y,z)  |    Field of hit_test  (left,right, top, bottom) |    Test Dist
;Bite
stand_attack_0    =          0.45,        0.70,            120,        0.0, 1.0, 1.0,         -1.0, 1.0, -1.0, 1.0,                    1.6
;Jump attack
run_jamp_1        =        0.55,        0.90,            300,        0.0, 1.0, 4.0,         -1.8, 1.8, -1.8, 1.8,                    1.0

; PSEUDODOG BIG
[pseudodog_big]:pseudodog_strong
visual                = monsters\pseudodog\pseudodog_big
corpse_visual        = monsters\pseudodog\pseudodog_big
icon                = ui_npc_monster_pseudodog_big
short_name            = pseudodog_big
immunities_sect        = pseudodog_immunities_big

[pseudodog_immunities_big]
burn_immunity            = 0.02
strike_immunity            = 0.05
shock_immunity            = 0.25
wound_immunity        = 0.07
radiation_immunity        = 0.0
telepatic_immunity        = 0.1
chemical_burn_immunity = 0.02
explosion_immunity        = 0.1
fire_wound_immunity    = 0.06

; CUSTOM PROFILES
[pseudodog_arena]:pseudodog_strong
visual                = monsters\pseudodog\pseudodog_grey
icon                = ui_npc_monster_pseudodog_grey
panic_threshold        = 0.05
species            = arena_monstr

;-- PSY DOG
[psy_dog_aura_effector]
duality_h        = 0.00
duality_v        = 0.00
blur                = 10
gray            = 0.0
noise_intensity = 10.0
noise_grain        = 1
noise_fps        = 25
color_base        = 0.9,0.9,1.0
color_gray        = 0.33,0.330,0.33
color_add        = 0.00,0.00,0.015

[psy_dog]:pseudodog_strong
visual            = monsters\pseudodog\pseudodog_grey
icon            = ui_npc_monster_pseudodog_grey
short_name        = psy_dog
class                  = SM_DOG_P

aura_effector            = psy_dog_aura_effector
Min_Phantoms_Count    = 4
Max_Phantoms_Count    = 6
Time_Phantom_Appear = 4000

[psy_dog_radar]:psy_dog
Min_Phantoms_Count    = 6
Max_Phantoms_Count    = 8

;-- PSY DOG PHANTOM
;====================================================
; Appear Effector
;====================================================
[psy_dog_phantom_appear_effector]
duality_h        = 0.028        ;0.31
duality_v        = 0.028        ;0.31
blur                = 0.00
gray            = 0    ;0.5
noise_intensity    = 1
noise_grain        = 0.1
noise_fps        = 50
color_base        = 0.5,0.5,0.5                ;0.1,0.15,0.4
color_gray        = 0.333,0.333,0.333        ;0.333,0.333,0.333
color_add        = 0.00,0.00,0.00
time            = 0.5        ;1.5
time_attack        = 0.05        ;0.5        ; fade in
time_release    = 0.3                ; fade out

; camera effects
ce_time                = 0.2    ;1.5
ce_amplitude        = 1.0
ce_period_number    = 2.0
ce_power            = 0.3     ;0.7

;=====================================================
; Base Definition
;=====================================================
[psy_dog_phantom]:pseudodog_weak
visual        = monsters\pseudodog\pseudodog_grey
icon        = ui_npc_monster_pseudodog_grey
class             = SM_DOG_F
hit_type     = telepatic

;jump_delay            = 3000
;jump_factor            = 3
;jump_min_distance        = 4.0 
;jump_max_distance    = 10.0
;jump_max_angle        = 0.2

attack_params            = m_pseudodog_attack_params
appear_effector            = psy_dog_phantom_appear_effector
particles_appear        = monsters\pseudo_phantom_birth_00
particles_disappear    = monsters\pseudo_phantom_death_00
;======================================================

; КВЕСТОВАЯ ПСИ-СОБАКА САХАРОВА
[psydog_saharov]:psy_dog
visual = monsters\pseudodog\pseudodogfrend
panic_threshold            = 0.01
Min_Phantoms_Count    = 10
Max_Phantoms_Count    = 12
Time_Phantom_Appear = 3000
attack_params        = pseudodog_attack_params_weak
immunities_sect        = pseudodog_immunities_big
custom_data         = scripts\monsters\psydog_saharov.ltx

[dog_frendly]:pseudodog_strong
visual                = monsters\pseudodog\pseudodogfrend
corpse_visual        = monsters\pseudodog\pseudodogfrend_dead
icon                = ui_npc_monster_pseudodog_grey
species            = dogfrend
rank                = 801
spec_rank            = strong
community            = dogfrend
panic_threshold        = 0.0
immunities_sect        = pseudodogfrend_immunities_strong

; ДРУЖОК ДОКТОРА
[dogfrend]:pseudodog_strong
visual                = monsters\pseudodog\pseudodogfrend
corpse_visual        = monsters\pseudodog\pseudodogfrend_dead
icon                = ui_npc_monster_pseudodog_grey
species            = dogfrend
rank                = 801
spec_rank            = strong
community            = dogfrend
custom_data         = scripts\monsters\dogfrend.ltx
panic_threshold        = 0.0
immunities_sect        = pseudodogfrend_immunities_strong

[pseudodogfrend_immunities_strong]
burn_immunity            = 0.0
strike_immunity            = 0.0
shock_immunity            = 0.0
wound_immunity        = 0.0
radiation_immunity        = 0.0
telepatic_immunity        = 0.0
chemical_burn_immunity = 0.0
explosion_immunity        = 0.0
fire_wound_immunity    = 0.0

; КРЫСОВОЛК - ВОЛКОДАВ (автор - Greshnik13rs) 
[volkodav]:pseudodog_strong
visual             = monsters\pseudodog\volkodav
icon             = ui_npc_monster_volkodav
short_name        = volkodav
immunities_sect     = pseudodog_immunities_big

Spawn_Inventory_Item_Section = part_fang_wolf
Spawn_Inventory_Item_Probability = 0.7

MinAttackDist        = 1.0
MaxAttackDist        = 3.3
Velocity_RunFwdNormal    = 7.5, 3.0, 3.0, 0.05, 1.0
Velocity_RunFwdDamaged    = 5.7, 3.0, 3.0, 0.5, 1.0

sound_idle                = monsters\volkodav\volkodav_idle_
sound_eat                = monsters\volkodav\volkodav_eat_
sound_aggressive        = monsters\volkodav\volkodav_aggressive_
sound_attack_hit        = monsters\volkodav\volkodav_attack_
sound_die                = monsters\volkodav\volkodav_die_
sound_threaten            = monsters\volkodav\volkodav_aggressive_
sound_panic            = monsters\rat\rat_pain_
sound_die_in_anomaly    = monsters\volkodav\volkodav_die_
sound_distant_idle        = monsters\volkodav\volkodav_idle_ 

; ВОЛК  (автор - Greshnik13rs)
[dog_wolf]:pseudodog_strong
visual            = monsters\dog\wolf
icon            = ui_npc_monster_dog_wolf
short_name        = dog_wolf
immunities_sect     = dog_immunities_habaruch

Spawn_Inventory_Item_Section = part_fang_wolf
Spawn_Inventory_Item_Probability = 0.7
MinAttackDist        = 0.8
MaxAttackDist        = 3.0
jump_min_distance        = 4.0
jump_max_distance        = 5.0
jump_max_height        = 2.5

Тряски нету, звук и цвет есть (Да ладно, тебя это серьёзно парит? Ну пожелтел экран, да и ПЁС с ним) 70% шанс выпадания хвоста. Можешь убрать, там поле Spawn_Inventory_Item_Probability значение от 0 до 1

Edited by Kakos
  • Thanks 2

Share this post


Link to post
Share on other sites
Dennis_Chikin    3,602

@IIIGooGLuKIII,  Когда-то, в более другой теме, писали именно про то, какие фрагменты кода, как и для чего следует изменить.

Но, тема НА СТОЛЬКО всем мешала, что в итоге все-таки пришлось закрыть.

Хотя да, на мой взгляд, все эти "сборники правок" более чем бессмысленны, особенно с учетом того, что накатив такой "сборник" - тут же накатывают "новый патч".

 

@Alexander_Vesker, От меня что требуется? С нуля заново переписать мод? У меня для этого более другой есть, и там есть чем заняться, хотя все работает, и никаких айвенгов там никто не убивает за их отсутствием. Более того, исправления всех сцен в ТД для соли выкладывались 8 лет назад, ни тогда, ни за все это время они оказались никому не нужны, за исключением требований все это удалить, как нарушающие аффтырьские права всех, кого попало. Не собираюсь делать все заново, и не обязан.

 

Кстати, да, если уж на столько припекло - game_relations.ltx, attitude_neutal_threshold = -9900,

0 для human на всех строках и столбцах в [monster_relations], и получаем щасте, потом вертаем взад.

 

Аналогично - с "переставшим работать" котиком в неизвестно каких сборках для неизвестно чего, особенно со всякими "озвучками" и прочим блэкджеком. Идем на ютубю на сами-знаете какой канал, и видим, что таки работает. Код был выложен, все расписано. Не знаю, что еще надо.

 

Edited by Dennis_Chikin

Share this post


Link to post
Share on other sites
Dennis_Chikin    3,602
2 часа назад, Alexander_Vesker сказал:

как помирить квад долга и можно как то удалить рестрикторы в ТД где остановка перед входом в лабу х-18.

Проблема в том, что я понятия не имею, кого там надо с кем мирить и зачем.

 

Что касается рестрикторов - смотрим на карте по меткам, как называются, и удаляем обычным

local obj = alife():object( "имя" )

if obj then alife():release( obj, true ) end

желательно - находясь на другой локации.

Опять же не представляю, зачем это надо и что получится в результате. Например, может получиться как с той антенной Кленова или еще нечто в том же духе. Проверяйте.

 

И вот код для убиения врагов, ПОКА ЕЩЕ независимый от всех правок и патчей:

Скрытый текст

 


function kill_em_all()
	local actor = db.actor()
	if not actor then return end	-- еще не загрузилась игра

	local max_dist = 70 * 70	-- 70 - максимальная дистанция, за которой не трогаем

	local t = {}

	for k, v in pairs( {	-- вписываем классы
		clsid.bloodsucker_s,
		clsid.boar_s,
		clsid.dog_s,
		clsid.flesh_s,
		clsid.pseudodog_s,
		clsid.burer_s,
		clsid.cat_s,
		clsid.chimera_s,
		clsid.controller_s,
		clsid.fracture_s,
		clsid.poltergeist_s,
		clsid.gigant_s,
		clsid.zombie_s,
		clsid.snork_s,
		clsid.tushkano_s,
		clsid.psy_dog_s,

		clsid.script_stalker,
		} ) do t[v] = true	-- заполняем так на случай, если кто-то переименует
	end

	local t_exlusive = {	-- часть имени, с которым не трогаем
	"controller_mini",
	"quest_venom",
	"boar_child",
	"chimera_quest",
	"dog_quest",
	"kontrik_electro",
	"cat_quest",
	"tank_zasada",
	"quest_karlito",
	}

	local pos = actor:position()

	for k, v in pairs( db.creatures ) do	-- что есть в онлайне
		if t[v:clsid()]	-- подходит по классу
		  and v:alive()	-- живое
		  and ( ( v:story_id() == 4294967296 ) or ( v:story_id() == -1 ) )	-- не уникальное
		  and v:position():distance_to_sqr( pos ) < max_dist	-- подходит по расстоянию
		then
			for ii, vv in ipairs( t_exlusive ) do	-- не в исключениях
				if string.find( v:name(), vv ) then v = false; break end
			end

			if v then	-- прошло все проверки
				if v:clsid() == clsid.script_stalker then	-- непись
					if v:relation( actor ) == game_object.enemy then	-- враг
						v:kill( actor )	-- убиваем
					end
				else v:kill( actor )	-- монстр, убиваем
				end
			end
		end
	end
end

 

Впрочем, подозреваю, что таким он и пару часов не останется. Я в людей верю - найдут, как сделать нерабочим.

Edited by Dennis_Chikin
  • Полезно 2

Share this post


Link to post
Share on other sites
volkodav37    64

Кто подскажет как спавн монстров и НПС на локациях пореже сделать, а то локу зачистишь, через пару минут возвращаешься а там опять толпы бегают.

Добавлено JAPAN,

@volkodav37

  Спавн уменьшить (Скрыть)

Вот совет от многоуважаемого Stariy

"

есть в файле se_respawn.script такие строки  

        -- частый респаун
        idle_time:setHMSms( math.random(10, 12), 0, 0, 0)
    else
        -- стандартный респаун
        idle_time:setHMSms( math.random(20, 24), 0, 0, 0)

 

Попробуй изменить 20, 24 на например 30, 36 "


volkodav37.gif

Share this post


Link to post
Share on other sites
Nightshade2    140

Изменил у себя в cycle_task.script

function CCycleTask:has_cond_target(task_desc)
	local cnt = db.actor:ruck_item_condition_count(task_desc.target,task_desc.target_cond[1]/1000 ,task_desc.target_cond[2]/10)
	--' Смотрим, сколько у нас есть подходящего
	return cnt >= task_desc.target_count
end

и

function CCycleTask:out_cond_target(task_desc)
	local target_items = {}
	--' Смотрим, что у нас есть подходящего
	db.actor:iterate_inventory_simple(function (item) 
		if item:section() == task_desc.target --and between(item:condition()*100, task_desc.target_cond[1], task_desc.target_cond[2]) 
		then
			table.insert(target_items, {id = item:id(), cond = item:condition()})
		end
	end)

После этого по всем, даже уже взятым заданиям, неписи берут предметы с любым износом

Edited by Nightshade2
  • Полезно 2

Share this post


Link to post
Share on other sites
Dennis_Chikin    3,602

@Nightshade2,     if true then ...

вообще-то

Пусть меняют, что хотят.

 

Хотя да,  я уверен, что в следующих патчах и еще половину команд вырежут, чтобы только поорать про "читеров криворуких".

"stranger"  - ну, не заметил, что его там было, вписал еще раз. Это то самое, которое "мир с бандитами" и прочими Химерами.

arhara_dialog.friend_community() и тому подобное.

 

P.S. Кстати, я бы, в целях "борьбы с читерами" еще бы и все буквы во всех операторах  LUA местами переставил - благо, прецедент с перестановкой местами всех аргументов в функциях и изменением типа аргументов в более другом моде уже был - чтобы сделать несовместимым код с кодом того, у кого собственно и был взят.

 

  • Like 2

Share this post


Link to post
Share on other sites
oggycoc    2

У кого есть правка от красного экрана x17?

Добавлено JAPAN,

у шапки темы есть.

Добавлено JAPAN,

@oggycoc

  buusty_dialog.script (Скрыть)

 level.store_ppe_effect("fire_hit.ppe", 2010, true,true) 

поменяй на

 level.store_ppe_effect("fire_hit.ppe", 2010, false,false)

Share this post


Link to post
Share on other sites
Kakos    112

Написал тут правку на ПРОПИСЫВАНИЕ ПОРШНЕЙ ВМЕСТО ПОКУПКИ КВЕСТОВЫХ ПРЕДМЕТОВ В МЕНЮ

 

Опечаток в названии прописываемого поршня не переваривает. Не знаю как сделать проверку валидности поршня. При неверном имени выкидывает [error]Line          : 128         ERROR Infoportion [shit] not found in configs!

 

Вот это

Скрытый текст

-- ТОЛКАЛКА ПОРШНЕЙ
function buy_quest_item()
    if not game_is_running() then return end
    local buy_item = ui_mm_opt_creator.getter_user_param("buy_item","nil")
    
        disable_info("mm_opt")
        give_info(buy_item)

        console:execute("buy_item ".."nil")

end

вставить вместо всей функции function buy_quest_item(). От имени до начала следующей функции. Файл ui_mm_opt_add.script по адресу \gamedata\scripts\ui

 

@JAPAN, Я не знаю как. Там Караван делал и у него наверняка, для совместимости, с исходными файлами игры связь минимальная, кроме того он делал некий интерфейс, и, наверняка, уже к нему свои функции привязывал. Здесь же привязка к исходному интерфейсу (и вообще просто удалил всё, что не нужно и написал одну строчку, лол).

Я, конечно, могу файлик готовый скинуть, но совместимость? Если в этом файле что то критичное поменяют, то игра падать будет при новых патчах. А так, для любых версий. Берёшь свой файл - copy-paste-profit

Edited by Kakos
Добавлено JAPAN,

это сложно всё, проще может порезать каравановский спавнер и оставить там только поршни?  

  • Полезно 1

Share this post


Link to post
Share on other sites
Digins    1
33 минуты назад, mason888 сказал:

как называются аккумуляторы для различных экзоскелетов

У меня есть такие:

ekza_akkumul
akkumulytor
acumm

дальше ищем по аналогии.

И да, список лута нужен.

Share this post


Link to post
Share on other sites
tihik    255

@Vasya Glotov, в конфигах нужного оружия правишь параметр: slot = 0. При этом оружие не должно быть в оружейном слоте, иначе будет вылет.

Скрытый текст

scripts\binders\ bind_actor.script

--monster_parts.on_part_take(obj)

 

  • Полезно 1

Найди покой в своей душе, всё остальное само найдёт тебя.

Share this post


Link to post
Share on other sites
Kakos    112

@tihik, прикольно. Только забавно, как ты будешь митинг зомби разгонять с пистолета? Как в RE?:biggrin:

Без хорошей дубинки никак. ХОТЯ, идея. Можно оружию прописать урон вместо wound (или как там огнестрельный называется) на strike. Параметр hit_type. Наверное.

Насколько я понял, у всех нпс, включая мутантов, имунитет к урону типа "удар" низкий.

Тогда пистолеты или любая лабуда, хоть огнемёт, будет дамаг типа кувалды наносить (с ремаркой на велечину)

Но в этом смысла особо нет, можно просто hit_power = 99999.

@tihik, ну ты гришь не по душе тебе холодное оружие, тебе горячее подавай:biggrin:

Edited by Kakos
  • Haha 2

Share this post


Link to post
Share on other sites
nPu3PaK1997    2

Раньше была правка на время выброса ЧАЭС на 2 часа, где она? Куда пропала? Может кто нибудь сделать или скинуть?

Добавлено lexa.3012,

config\scripts\aes\aes_start_death_timer.ltx

start_value = 3600000 --пару нулей допиши

Share this post


Link to post
Share on other sites
Kakos    112

Прописывание поршней вместо покупки предметов в опциях.

https://yadi.sk/d/UbEoDooGcysA0w

Там же полный список поршней (в файле, в игре смысла его делать нет)

 

Проверку на валидность введёного поршня прикрутил, теперь не выкидывает.

 

Вопрос к знатокам: встроенный уборщик мусора удаляет же таблицу поршней после выхода из функции поиска? Там 5к строк, в отдельный файл вынести не смог. По идее, ссылок на неё не остаётся, но я не знаю. Этот язык вообще название имеет? Или это просто си c изменённым синтаксисом и свистелками?

 

А нахзачем разрабы дырку в заборе у ворот со двора в сторону саркофага на чаэс1 заделали?

Edited by Kakos
  • Like 2

Share this post


Link to post
Share on other sites
Mehdeck    0

Народ, писали сюда, поиском воспользовался - не нашёл, хотя было...

Какой там параметр за "длину рук" гг отвечает?

Добавлено JAPAN,

@Mehdeck, в system.ltx параметр take_dist = (рекомендую не более 2.5)

Share this post


Link to post
Share on other sites
Begemooto    7
2 часа назад, Александр Сабен сказал:

в сборке от санчеза, есть файл который делает супер прыжок не вверх. а в перед, кто может подсказать как увеличить эту дистанцию

В шапке в мелких правках есть прыжок на 30 и 5 метров попробуй. А если у тебя скрипт ui_main_menu занят другими правками то найди эту секцию в правке и вставь в свой скрипт в конце.

elseif dik == DIK_keys.DIK_SPACE then
                        db.actor:set_actor_position(device().cam_pos:add(device().cam_dir:mul(5.0)))
                get_console():execute("main_menu off")
                
                elseif dik == DIK_keys.DIK_E then
                        db.actor:set_actor_position(device().cam_pos:add(device().cam_dir:mul(30.0)))
                get_console():execute("main_menu off")

Share this post


Link to post
Share on other sites
2 часа назад, кирилл колесников сказал:

Всем привет!! Где-то тут гуляла правка на циклические задания, а найти никак не могу. Может скинет кто-нибудь?

cycle_task.script self.task_time = 0 -- (с) время выполнения всех заданий, 2 недели self.idle_time = 24*9000 -- (игровые часы) время между выдачами задания повторно, 5 игровых дней

 

 

Мне так сказали сделать. Всё хорошо. Времени выполнения нет

  • Like 2

Share this post


Link to post
Share on other sites
Чукот    227
9 часов назад, kubutum сказал:

правка, позволяющая менять ассортимент и цены у торговцев?

Привет! Правку можно сделать самому, торговцы не зависят от патчей, только соблюдай все пути в распакованной gamedata к папкам как они должны быть.

Скрытый текст

gamedata-config-trade

Здесь все торговцы

[trader_generic_buy] - это цена покупки

[trader_start_sell] - цена продажи

[trader_after_fabric_sell] - есть секции после определённого события, это после спасения Шустрого. Так же и других торговцев есть другие секции после выполнения каких либо заданий.

[supplies_start]

[supplies_after_fabric] - Это уже товар, здесь указывается сколько штук, и шанс выпадения.

Не у всех торговцев одинаковые секции по названиям

[freedom_sell_after_pavlik] - это у Скряги после стукача Павлика когда с ним разберёмся.

Ничего сложного на самом деле здесь нет, пробуй и всё получится.

 

  • Thanks 1
  • Согласен 2

Всем Привет с Чукотки

Share this post


Link to post
Share on other sites
VAT    9

Если вдруг понадобится - Мириться с Шерстюком.

Правка была выложена ан STALKER GAMERS, ник Andewil

Скрытый текст

Мириться с Шерстюком.

 

В gamedata\scripts\ui_main_menu.script

ищем строку:

--elseif dik == DIK_keys.DIK_M then self:matants()

вместо нее пишем:

elseif dik == DIK_keys.DIK_M then
npc_drug()

 

Далее в самый конец файла добавляем:

function npc_drug() -- Делаем непися другом
local npc = level_object_by_sid(9506) -- ( ... ) сюда писать story_id из алл.спавна. 9506 - это Шерстюк.
if npc and npc:alive() then
npc:set_relation(game_object.friend, db.actor)
end
end

 

Вызов из главного меню игры клавишей М.


Но лучше, в случае с Шерстюком, не делать его другом, а просто избавиться от его злопамятности.

 

В том же ui_main_menu.script

 

ищем строку:

--elseif dik == DIK_keys.DIK_M then self:matants()

вместо нее пишем:

elseif dik == DIK_keys.DIK_M then
db.actor:disable_info_portion( "sherstuk_enemy" )

Вызов из главного меню игры клавишей М


Я  же в ui_main_menu.script ставил после -

 

function main_menu:OnKeyboard(dik, keyboard_action)  --virtual function
                       CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
--                    local bind = dik_to_bind(dik)
    
                      if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
                        if dik == DIK_keys.DIK_ESCAPE then
                         if game_is_running() then
                          ui_mm_opt_add.check_options()
                            console:execute("main_menu off")

                               archievements.mm_opt()

                end


                elseif dik == DIK_keys.DIK_S then
                self:OnButton_load_spawn()


                elseif dik == DIK_keys.DIK_L then

                self:OnButton_last_save()

               

                elseif dik == DIK_keys.DIK_Q then
                 self:OnMessageQuitWin()

 

                        (ВОТ СЮДА!!!)

 

Только что попробывал - Все Отлично

 

Добавлено JAPAN,

 А для Сяка такого нету?) Ибо он мне врагом стал.

В мирилке вместо  9506 напишите 9501- это Сяк.

  • Like 1

Боюсь я,батюшка,что ты зубом цыкать станешь.

Не стану я зубом цыкать-я спать буду...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


AMK-Team.ru

×
×
  • Create New...