To jest legenda o stalkerze samotniku, pełnym odwagi, sprytu, umiejętności w walce który stanął sam jeden do walki przeciw tym którzy nękają wolnych stalkerów...
Sam przeciw wszystkim, jedyny prawy i sprawiedliwy... ostatni sprawiedliwy.
------------------------------------------------------------------------------------------------
-- Func: Surprise.
------------------------------------------------------------------------------------------------
function surprise()
local dirs = {
vector():set(1, 0, 0),
vector():set(1, 0, 1),
vector():set(0, 0, 1),
vector():set(-1, 0, 1),
vector():set(-1, 0, 0),
vector():set(-1, 0, -1),
vector():set(0, 0, -1),
vector():set(1, 0, -1)
}
local lvid = db.actor:level_vertex_id();
local gvid = db.actor:game_vertex_id();
level.add_pp_effector("teleport.ppe", 2006, false);
if danger > 100 then --actor death
if best_enemy == nil then sim_create("bloodsucker_redhunter", db.actor:position(), lvid, gvid); --spawn default mutant
else sim_create(best_enemy:section(), db.actor:position(), lvid, gvid); end --spawn the nearest enemy
db.actor:kill(db.actor);
return;
end
if danger * 10 >= math.random(1, 1000) then --mutants spawn
if best_enemy == nil then --mutants not near actor
for i = 1, 2 do
local dir = dirs[math.random(1, #dirs)];
local start_point_id = level.vertex_in_direction(lvid, dir, math.random(15,20));
local sobj = sim_create("bloodsucker_redhunter", level.vertex_position(start_point_id), start_point_id, gvid); --spawn
end
elseif best_enemy:alive() then --nearby to actor
local amount = math.random(1,2);
if mutants[get_clsid(best_enemy)] then
amount = mutants[get_clsid(best_enemy)];
end
for i = 1, amount do
local dir = dirs[math.random(1, #dirs)];
local start_point_id = level.vertex_in_direction(lvid, dir, math.random(15,20));
local sobj = sim_create(best_enemy:section(), level.vertex_position(start_point_id), start_point_id, gvid); --spawn
-- atmdebug.logf("surprise => "..best_enemy:section().." : "..sobj:section_name());
end
else --corpse
local amount = 2;
local mutant = "bloodsucker_redhunter"; --default mutant
if mutants[get_clsid(best_enemy)] then
mutant = best_enemy:section(); --the nearest enemy
amount = mutants[get_clsid(best_enemy)];
end
for i = 1, amount do
local dir = dirs[math.random(1, #dirs)];
local start_point_id = level.vertex_in_direction(lvid, dir, math.random(15,20));
local sobj = sim_create(mutant, level.vertex_position(start_point_id), start_point_id, gvid); --spawn
-- atmdebug.logf("surprise => "..mutant.." : "..sobj:section_name());
end
end
end
end
if danger > 100 then --actor death
if best_enemy == nil then sim_create("bloodsucker_redhunter", db.actor:position(), lvid, gvid); --spawn default mutant
else sim_create(best_enemy:section(), db.actor:position(), lvid, gvid); end --spawn the nearest enemy
db.actor:kill(db.actor);
return;
end
------------------------------------------------------------------------------------------------
-- Func: Activation of sleep.
------------------------------------------------------------------------------------------------
function sleep_stop()
sleep_activ = false;
[b]surprise();[/b]
--level.set_time_factor(system_ini():r_float("alife","time_factor"));
local weather_manager = level_weathers.get_weather_manager();
weather_manager:reset(); --reset weather
special_loner_trader.reduce_time(slept_time)
xr_surge_hide.reduce_surge_interval(slept_time)
hunger_rest.reduce_tire(slept_time)
slept_time = nil
set_wake_dir()
xr_effects.enable_ui()
--level.add_cam_effector("camera_effects\\empty.anm", 160608, false)
level.add_pp_effector("peace_unfade.ppe", 160608, false)
level.add_cam_effector("camera_effects\\prison_1.anm", 25, false, "")
level.add_cam_effector("camera_effects\\hit_back_left.anm", 26, false, "")
end
-- surprise();
smoq2 napisał(a):@ Cromm - Nie widzę problemu, jednak niewiele jest miejsc do chowania się poza bazami czy innymi punktami które zazwyczaj są okupywane. Czy rzeczywiście musimy być tak hiperdokładni? Pomysł dobry, ale nie wiem czy chce mi się ślęczeć godzinami nad działaniem śpiwora. Jak dla mnie to ważne, że działa dokładniej a nie, że po nastawieniu spania na 8h gracz śpi 24.
smoq2 napisał(a):@ Kudłaty - Tak, to ten mod śpiwora, jednak po miliardzie obróbek.
smoq2 napisał(a):@ nuclear_twister - Otwórz sim_combat.script i znajdź taki segment kodu:
- Kod: Zaznacz wszystko
if string.find(my_squad.squad_id,"defenders") ~= nil then
local task = task_manager.get_task_manager():get_tasks_by_smart(my_squad.smart_id)
if bind_heli.active_helis[attacker_id] == nil and task == nil then
local npc = db.storage[victim_id].object
npc.health = 20
end
end
i usuń linijkę:
Powinno zadziałać
[actor_immunities_gd_novice]
burn_immunity = 0.25
strike_immunity = 0.25
shock_immunity = 0.25
wound_immunity = 0.25
radiation_immunity = 0.25
telepatic_immunity = 0.25
chemical_burn_immunity = 0.25
explosion_immunity = 0.25
fire_wound_immunity = 0.25
[actor_immunities_gd_stalker]
burn_immunity = 0.50
strike_immunity = 0.50
shock_immunity = 0.50
wound_immunity = 0.50
radiation_immunity = 0.50
telepatic_immunity = 0.50
chemical_burn_immunity = 0.50
explosion_immunity = 0.50
fire_wound_immunity = 0.50
[actor_immunities_gd_veteran]
burn_immunity = 0.75
strike_immunity = 0.75
shock_immunity = 0.75
wound_immunity = 0.75
radiation_immunity = 0.75
telepatic_immunity = 0.75
chemical_burn_immunity = 0.75
explosion_immunity = 0.75
fire_wound_immunity = 0.75
[actor_immunities_gd_master]
burn_immunity = 1.0
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 1.0
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity = 1.0
[hud_cursor]
cross_length = 0.001;
min_radius = 0.0;
max_radius = 1.0;
radius_lerp_speed = 0.08;
cross_color = 0.7,0.7,0.7,0.5;
disp_scale = 0.08;
Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
Line : 180
Description : <no expression>
Arguments : LUA error: ....t.a.l.k.e.r. - clear sky\gamedata\scripts\_g.script:979: bad argument #2 to 'format' (string expected, got nil)
Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 4 gości