Пользователей: 0
Гостей: 708
Всего: 708

» Подробно
Привет, гость!








Автор Сообщение
Dietrich2009
    
Посты: 219
Откуда: Kiev
Возраст: 15
16-07-2010 21:25 GMT3 час. #1293346   
VITOSSSSS function wpn_toz ()
alife():create("wpn_toz",vector():set(Координаты),1542,2799)
end


MOD: The Story of a Stalker.
Подробнее в журнале
Vitоs
    
Посты: 467
Откуда: Колхоз :D
Возраст: 28
16-07-2010 21:35 GMT3 час. #1293353   
А кaк отключить у НПС ''глaз нa зaтылкe''.


...Я мeдлeнно схожу с умa...
GOLDERY
    
Посты: 67
Откуда:
Возраст: 35
16-07-2010 21:37 GMT3 час. #1293357   
VITOSSSSS скачать можешь тут же на Сталкер портале Stels mod а можешь редактировать характеристки в ltx


Текстурщик......Со стажем)))) в Журнале посмотри мои работы...Не забудь коментарии))
Dietrich2009
    
Посты: 219
Откуда: Kiev
Возраст: 15
16-07-2010 22:00 GMT3 час. #1293378   
VITOSSSSS config\creatures\m_stalker.ltx
[stalker_vision_danger]
min_view_distance = 0.7 ; коэффициент, который множится на eye_range, в зависимости от угла
max_view_distance = 1.0 ; коэффициент, который множится на eye_range, в зависимости от угла
visibility_threshold = 120.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.4 ; 0.25


MOD: The Story of a Stalker.
Подробнее в журнале
Колотун
    
Посты: 62
Откуда:
Возраст: 30
17-07-2010 01:36 GMT3 час. #1293469   
КerYa
А вот с файлом death_manager поподробнее можно? Что ты там такого прописал?

добавлено спустя 3 часа 28 минут

Чуваки! Как или с помощью какой проги можно "сфотать" иконку нового оружия?
Поставить как я знаю а сфотать?

добавлено спустя 3 минут

Fantom2323
Спасибо за помощь но с логикой тоже не помогло:-(
потом как нить соберусь с мыслями и сделаю этого торговца от и до!

отредактировал(а) Колотун: 17-07-2010 05:08 GMT3 час.

lehapark39
    
Посты: 17
Откуда: Заволжск
Возраст: 31
17-07-2010 06:57 GMT3 час. #1293535   
чуваки помогите плиз хочу сделать чтоб можно было у торговцев деньги в долг брать , как в амк можно вытащить метку и рюкзак , как мне поставить метку на карте на какого нить персонажа или просто в любом месте на карте!!!


Дайте мне нож, бутылку водки и я порежу всю зону на куски!!!
Vitоs
    
Посты: 467
Откуда: Колхоз :D
Возраст: 28
17-07-2010 09:48 GMT3 час. #1293589   
Пaрни подскaжитe кaк зaспaвнить чeрeз скрипт кровососa нa Кордонe.


...Я мeдлeнно схожу с умa...
Dietrich2009
    
Посты: 219
Откуда: Kiev
Возраст: 15
17-07-2010 10:08 GMT3 час. #1293594   
VITOSSSSS function spawn_krovossos ()
alife():create("m_bloodsucker_e",vector():set(Координаты),1542,2799)
end


MOD: The Story of a Stalker.
Подробнее в журнале
КerYa
    
Посты: 131
Откуда: Евпатория
Возраст: 123
17-07-2010 10:45 GMT3 час. #1293614   
Вот Колотун:
Файл game relations
[game_relations]

;реальное разделение на группы репутаций на шкалы

rating = novice, 300, experienced, 600, veteran, 900, master

monster_rating = weak, 400, normal, 800, strong

reputation = terrible, -1000, very_bad, -150, bad, -50, neutral, 50, good, 150, very_good, 1000, excellent



;шкалы для вывода названий вместо чисел

;рейтингов, репутаций и благосклонности в интерфейсе

rating_names = novice, 300, experienced, 600, veteran, 900, master

reputation_names = terrible, -1000, very_bad, -150, bad, -50, neutral, 50, good, 150, very_good, 1000, excellent

goodwill_names = enemy, -400, indifferent, 500, friendly



;пороговые значения для отношения персонажей

attitude_neutal_threshold = -400 ;когда attitude меньше значения, то выставляется ALife::eRelationEnemy

attitude_friend_threshold = 500 ;когда attitude меньше значения, то выставляется ALife::eRelationNeutral, иначе ALife::eRelationFriend



;константы, которые присвоят скриптовые функции set_relation для personal goodwill

goodwill_enemy = -1000

goodwill_neutal = 0

goodwill_friend = 1000



;названия группировок

communities = actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, military, 7, killer, 8, ecolog, 9, dolg, 10, freedom, 11, bandit, 12, zombied, 13, stranger, 14, trader, 15, arena_enemy, 16, dark_stalker, 17





; отношение персонажа к актеру (или другому NPC) вычисляется по формуле

; attitude = personal_goodwill + //личное отношение персонажа к актеру (если раньше не встречались, то 0)

; community_goodwill + //отношение группировки персонажа лично к актеру (если раньше контактов не было, то 0)

; community_to_community + //отношение группировки персонажа к группировке актера из [communities_relations]

; reputation_goodwill + //отношение репутации персонажа к репутации актера из [reputation_relations]

; rank_goodwill //отношение ранга персонажа к рангу актера из [rank_relations]



[communities_relations]

; |actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg |freedom|bandit |zombied|strange|trader |arena_enemy|greh|clear_sky|clear_sky|dark_stalker

;=================================================================================================================================

actor = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -50, 0

actor_dolg = 0, 0, 0, 0, -5000, -500, -5000, 5000, 600, -5000, -5000, -5000, 0, 0, -50, 0

actor_freedom = 0, 0, 0, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, -50, 0



stalker = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -50, 0

monolith = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, 5000, 5000, -5000, 0, -50, 0

military = -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, -5000, -5000, -5000, 0, 0, -50, 0

killer = -5000, -5000, 0, -5000, -5000, -5000, 5000, -5000, -5000, -5000, 0, -5000, -5000, 0, -50, 0

ecolog = 0, 600, -5000, 0, -5000, 1000, -5000, 5000, 500, -5000, -500, -5000, 0, 0, 0 , 0

dolg = 0, 600, -5000, 0, -5000, -500, -5000, 5000, 5000, -5000, -5000, -5000, 0, 0, 0 , 0

freedom = 0, -5000, 600, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, 0 , 0

bandit = -5000, -5000, 0, -5000, -5000, -500, 0, -5000, -5000, 0, 0, -5000, -5000, 0, -50, 00, 0

zombied = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -50, 0

stranger = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -500, -5000, 0, 0, 0 , 0

trader = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , 0

arena_enemy = -5000, -5000, -5000, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, 0, 0 , 0

dark_stalker = 0, 0, 0, 0, -7600, -8000, -9000, 0, 0, 0, -9000, -90000, 0, 0, 0, 60000



[rank_relations]

; novice, experienced, veteran, master

;================================================================

novice = 0, 0, 0, 0

experienced = 0, 0, 0, 0

veteran = 0, 0, 0, 0

master = 0, 0, 0, 0







[reputation_relations]

; terrible, very_bad, bad, neutral, good, very_good, excellent

;================================================================

terrible = 0, 0, 0, 0, 0, 0, 0

very_bad = 0, 0, 0, 0, 0, 0, 0

bad = 0, 0, 0, 0, 0, 0, 0

neutral = 0, 0, 0, 0, 0, 0, 0

good = 0, 0, 0, 0, 0, 0, 0

very_good = 0, 0, 0, 0, 0, 0, 0

excellent = 0, 0, 0, 0, 0, 0, 0





;

; очки рейтинга и репутации начисляемые за определенные действия

;



;коэффициенты "сочувствия" группировок

;после воздействия на одного из членов группировки

;goodwill его распространится на остальных членов группировки

;с определенным коэффициентом

[communities_sympathy]

dark_stalker = 0.0

actor = 0.0

actor_dolg = 0.0

actor_freedom = 0.0

stalker = 0.0

monolith = 0.0

military = 0.0

killer = 0.0

ecolog = 0.0

dolg = 0.1

freedom = 0.1

bandit = 0.0

zombied = 0.0

trader = 0.0

stranger = 0.0

arena_enemy = 0.0



;

;очки рейтинга, получаемые за убийство персонажа

;с определенным статусом

[rank_kill_points]

novice = 0

experienced = 0

veteran = 0

master = 0



;очки рейтинга, репутации и доброжелательности начисляемые

;в зависимости от совершенного действия

[action_points]

personal_goodwill_limits = -1000, 1000

community_goodwill_limits = -3000, 1000

;-------------------------------------------------------

free_friend_attack_goodwill = -2500

free_neutral_attack_goodwill = -1000

free_enemy_attack_goodwill = 0



danger_friend_attack_goodwill = -200

danger_neutral_attack_goodwill = -200

danger_enemy_attack_goodwill = 0



free_friend_attack_reputation = -20

free_neutral_attack_reputation = -10

free_enemy_attack_reputation = 0



danger_friend_attack_reputation = 0

danger_neutral_attack_reputation = 0

danger_enemy_attack_reputation = 0

;--------------------------------------------------

;(с) мин. время через которое снова будет зарегистрировано

;сообщение об атаке на персонажа, и соответственно вычтеся attack_goodwill и attack_reputation

;(работает аналогично и при помощи другим персонажам в бою)

min_attack_delta_time = 3



friend_kill_goodwill = -1000

neutral_kill_goodwill = -1000

enemy_kill_goodwill = 0

community_member_kill_goodwill = -1000



;убийство члена группировки отражается на отношении

;группировки (умножается на communities_sympathy)



friend_kill_reputation = -40

neutral_kill_reputation = -15

enemy_kill_reputation = 0



;

; помощь актера персонажу во время боя

;

fight_remember_time = 10 ;(c) время которое про драку будет помнить реестр



friend_fight_help_goodwill = 200

neutral_fight_help_goodwill = 200

enemy_fight_help_goodwill = 0



friend_fight_help_reputation = 10

neutral_fight_help_reputation = 10

enemy_fight_help_reputation = 0



;свойства, которые изменяются у сталкеров в

;зависимости от их ранга

;коэффициенты линейно интерполируются для рангов от 0 (novice) до 100 (experienced)









[ranks_properties]

immunities_novice_k = 1.0

immunities_experienced_k = 1.0



visibility_novice_k = 1

visibility_experienced_k = 1



dispersion_novice_k = 1.0

dispersion_experienced_k = 0.1





; диапазон изменения рангов при регистрации в новом смарт террейне

[smart_terrain_rank_change]

min = 1

max = 30



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; for monsters

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



[monster_communities]

;номера team которые присваиваются соответствующим видам

;255 - команда не задается

communities = actor, 255, human, 255, arena_monstr, 39, boar, 40, bloodsucker, 41, flesh, 42, dog, 43, pseudodog, 44, cat, 45, chimera, 46, giant, 47, zombie, 48, burer, 49, controller, 50, poltergeist, 51, snork, 52, fracture, 53, bird, 54, rat, 55, tushkano, 56



[monster_relations]

; [1] друг, [0] нейтрал, [-1] враг, [-2] злейший враг

; actor,human,arena_monstr, boar, bloodsucker, flesh, dog, pseudodog, cat, chimera, giant, zombie, burer, controller, poltergeist, snork, fracture, bird, rat, tushkano

;==========================================================================================================================================================================

actor = 1, 1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1

human = 0 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1

arena_monstr= -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

boar = -2, -2, 0, 1, -1, 0, -1, -1, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0, 0, 0

bloodsucker = -2, -2, 0, -1, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

flesh = -2, -1, 0, 0, -1, 1, -1, -1, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0, 0, 0

dog = -2, -1, 0, -1, 0, -1, 1, 0, 0, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0

pseudodog = -2, -1, 0, -1, 0, -1, 0, 1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0

cat = -2, -1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

chimera = -2, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

giant = -2, -1, 0, -1, 0, -1, -1, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0

zombie = -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0

burer = -2, -2, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0

controller = -2, -2, 0, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0

poltergeist = -2, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0

snork = -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0

fracture = -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0

bird = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0

rat = -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0

tushkano = -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1


Файл death manager


--' Ключем является группировка персонажа. Значением является таблица, содержашая имена секций предметов.
local item_by_community = {}

--' Зависимости в спауне предметов. Предмет спауниться только если есть хотя бы один из зависимых.
local item_dependence = {}

--' Множители и минимаксы для выпадения вещей в зависимости от уровня
local mul_by_level = {}
local count_by_level = {}

--' Предметы, которые нельзя удалять (квестовые например)
local always_keep_item = {}

--' Предметы, относящиеся к патронам. Их надо спаунить другим методом.
local ammo_sections = {}

local death_ini = ini_file("misc\\death_generic.ltx")


function init_drop_settings()
local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith", "arena_enemy", "actor_dolg" , "dark_stalker" }

for k,v in pairs(community_list) do
--' Необходимо заполнить таблицу
item_by_community[v] = {}
if death_ini:section_exist(v) then
local n = death_ini:line_count(v)
local id, value = "", ""
for i=0,n-1 do
result, id, value = death_ini:r_line(v,i,"","")
item_by_community[v][id] = 100*tonumber(value)
end
end
end

--' Заполняем таблицу зависимостей
local n = death_ini:line_count("item_dependence")
local id, value = "", ""
for i=0,n-1 do
result, id, value = death_ini:r_line("item_dependence",i,"","")
item_dependence[id] = {}
local vvv = parse_names(value)
for k,v in pairs(vvv) do
item_dependence[id][v] = true
end
end

--' Множители и минимаксы для выпадения вещей в зависимости от уровня
local level_name = level.name()

if not death_ini:section_exist(level_name) then
level_name = "default"
end

local n = death_ini:line_count(level_name)
local id, value = "", ""
for i=0,n-1 do
result, id, value = death_ini:r_line(level_name,i,"","")
mul_by_level[id] = tonumber(value)
end

local item_count_section = "item_count_" .. level.get_game_difficulty()
local n = death_ini:line_count(item_count_section)
for i=0,n-1 do
result, id, value = death_ini:r_line(item_count_section,i,"","")
--' Нужно распарсить value в два значения
local t = parse_nums(value)
if t[1] == nil then
abort("Error on [death_ini] declaration. Section [%s], line [%s]", item_count_section, tostring(id))
end
local min = t[1]
local max = t[2]
if max == nil then
max = min
end

if mul_by_level[id] == nil then
mul_by_level[id] = 0
end

min = tonumber(min) * mul_by_level[id]
max = tonumber(max) * mul_by_level[id]

count_by_level[id] = {min = min, max = max}
end

--' Предметы, которые нельзя удалять (квестовые например)
local n = death_ini:line_count("keep_items")
for i=0,n-1 do
result, id, value = death_ini:r_line("keep_items",i,"","")
if value == "true" then
always_keep_item[id] = true
end
end

--' Предметы, относящиеся к патронам. Их надо спаунить другим методом.
ammo_sections = {}
local n = death_ini:line_count("ammo_sections")
local id, value = "", ""
for i=0,n-1 do
result, id, value = death_ini:r_line("ammo_sections",i,"","")
ammo_sections[id] = true
end
end



class "drop_manager"
function drop_manager:__init(npc)
self.npc = npc
self.dropped = false
end
function drop_manager:save(packet)
packet:w_bool(self.dropped)
end
function drop_manager:load(packet)
self.dropped = packet:r_bool()
end
function drop_manager:create_release_item()
if self.dropped == true then
return
end
self.dropped = true

--' Запускаем итератор на удаление предметов
self.npc:iterate_inventory(keep_item, self.npc)


--' Проверка на отсутствие спауна лута
local ini = self.npc:spawn_ini()

if ini and ini:section_exist("dont_spawn_loot") then
return
end

--' Доспавниваем необходимое количество итемов:
--' Необходимо составить список объектов которые могут быть заспавнены для персонажа
local spawn_items = item_by_community[self.npc:character_community()]
for k,v in pairs(spawn_items) do
--' По каждому объекту необходимо получить зависимости
if check_item_dependence(self.npc, k) == true then
--' По каждому объекту необходимо получить количество
local number = math.ceil(math.random(count_by_level[k].min, count_by_level[k].max))
--' Необходимо заспавнить нужное количество.
create_items(self.npc, k, number, v)
end
end
end

--' Функция вызывается для каждого предмета, если вернет false то предмет удалится.
function keep_item(npc, item)
local section = item:section()

if section == "bolt" then
return
end

if always_keep_item[section] == true then
return
end

local item_id = item:id()
local item_in_slot = npc:item_in_slot(1)
if item_in_slot ~= nil and
item_in_slot:id() == item_id
then
item:unload_magazine()
--' Тут надо уменьшить кондишн оружия
item:set_condition((math.random(15)+75)/100)
return
end
item_in_slot = npc:item_in_slot(2)
if item_in_slot ~= nil and
item_in_slot:id() == item_id
then
item:unload_magazine()
--' Тут надо уменьшить кондишн оружия
item:set_condition((math.random(15)+75)/100)
return
end
npc:mark_item_dropped(item)
alife():release(alife():object(item:id()), true)
end

--' Функция спавнит необходимое число предметов
function create_items(npc, section, number, rnd)
--'printf("create %s of %s", tostring(number), tostring(section))
if ammo_sections[section] == true then
if number > 0 then
se_respawn.create_ammo(section,
npc:position(),
npc:level_vertex_id(),
npc:game_vertex_id(),
npc:id(),
number)
end
else
for i=1,number do
--' Проверяем вероятность появить каждый объект в отдельности
if math.random(100) <= rnd then
alife():create(section,
npc:position(),
npc:level_vertex_id(),
npc:game_vertex_id(),
npc:id())
end
end
end
end


--' Функция проверяет есть ли хоть один из зависимых объектов у персонажа
function check_item_dependence(npc, section)
if item_dependence[section] == nil then
return true
end

local d_flag = true
for k,v in pairs(item_dependence[section]) do
local obj = npc:object(k)
if obj ~= nil and npc:marked_dropped(obj) ~= true then
return true
end
d_flag = false
end

return d_flag
end

добавлено спустя 12 минут


Парни, какой фал отвечает за насзвание клавиш в игре.

отредактировал(а) Cos: 18-07-2010 15:54 GMT3 час.

СВОБОДА вперет!!!!!
СВОБОДА!!!!!
СВОБОДУ не остановить!!!!!
СВОБОДУ ВСЕМ ДАРОМ!!!!!!
Hola kost - Лысый вождь
Hеrhelyafan - так говорят испанцы
Проблемы Вождя - Народ не волнуют
Ленин сбежа
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
17-07-2010 11:48 GMT3 час. #1293663   
КerYa
Спрячь свою бодягу под спойлер.

Парни, какой фал отвечает за насзвание клавиш в игре.

Конкретней вопрос ставь, хрен поймёшь какое название имеешь ввиду. user.ltx посмотри.


Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
17-07-2010 20:13 GMT3 час. #1294161   
Колотун
Хватит мучать логику. Давай лучше пом**50036ea8aab1bb10eeba**[2217]
...
section_name = stalker
...[/code]
Заметь, stalker.
Всех торговцев брать не буду, для простоты понимания посмотри какая секция у того же Петренко?
А секция называется
[code]section_name = stalker_trader
[/code]
Смотрим файл m_stalker.ltx. Там есть две интересные для тебя записи.
Вот что записано для секции stalker:
[code][stalker]:common_ph_friction_params_on_npc_death
...
can_select_items = on
...
use_single_item_rule = on
...
[/code]
А вот что для секции stalker_trader :
[code][stalker_trader]:stalker
...
use_single_item_rule = off
can_select_items = off[/code]
Делай выводы.:mailpishu:


Не стань номинантом премии Дарвина.
sevitov_yura
    
Посты: 79
Откуда: Брест
Возраст: 30
17-07-2010 20:52 GMT3 час. #1294197   
подскажите, как сделать проверку попадания солнечного света на ГГ?


Колотун
    
Посты: 62
Откуда:
Возраст: 30
18-07-2010 05:22 GMT3 час. #1294462   
КerYa
Зачем нужно было писать такой длинный отчет по всем файлам, когда я попросил только файл death_manager!
Ну да ладно! В death_manager у тебя вроде все в порядке прописал новую группировку.

А вот интересен мне еще один файл который ты возможно упустил - это xr_statistic.script


Чтобы при убийстве непися новой группировки игра не вылетала в xr_statistic.script,

после строки:

zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,

пишешь

dark_stalker_novice = 1, dark_stalker_experienced = 2, dark_stalker_veteran = 3, dark_stalker_master = 4,


Попробуй должно помочь!
P.S. Когда пишешь что то объемное кидай все под спойлер!

добавлено спустя 7 минут

Gun12
Спасибо огромное! Я этого даже не приметил! Хотя...
была такая мысля заменить секцию. Но потом подумал, что вряд ли это поможет так как я окончательно его снес! Буду нового делать именно так и поступлю! Уверен это обязательно поможет!:ye)

Еще раз огромное спасибо!

отредактировал(а) Колотун: 18-07-2010 05:29 GMT3 час.

Byurrer
    
Посты: 82
Откуда: А зачем?
Возраст: 32
18-07-2010 05:35 GMT3 час. #1294463   
Как заспавнить мертвого НПС или моба? (через скрипт) Как я понял мертвый НПС это офлайн а живой онлайн, так?


project S.I.P
Колотун
    
Посты: 62
Откуда:
Возраст: 30
18-07-2010 08:47 GMT3 час. #1294540   
Никто не знает этого лога опять же при создании торговца:

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...shadow of chernobyl\gamedata\scripts\xr_logic.script:868: bad argument #1 to 'gfind' (string expected, got nil)


Byurrer
    
Посты: 82
Откуда: А зачем?
Возраст: 32
18-07-2010 09:32 GMT3 час. #1294553   
Колотун этот лог значит что: shadow of chernobyl\gamedata\scripts\xr_logic.script в этом скрипте на 868 строчке аргумент 'gfind' не получил никакое зн**50316ea8aab1bb10eeba**

отредактировал(а) Byurrer: 18-07-2010 09:47 GMT3 час.

project S.I.P
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
18-07-2010 09:51 GMT3 час. #1294567   
Byurrer
Неправильно понял, хотя тебе 2 раз**50016ea8aab1bb10eeba** = alife():create(...)
npc.health = 0[/code]
Трупом станет не мгновенно, но для глаза незаметно.
Если он не дальше 150 метров (дальность устанавливается в alife.ltx, switch_distance) от тебя, то в онлайне.
Ты имеешь ввиду вывести список названий итемов из рюкзака в окно?

отредактировал(а) Darien Fx: 18-07-2010 11:20 GMT3 час.

Byurrer
    
Посты: 82
Откуда: А зачем?
Возраст: 32
18-07-2010 10:02 GMT3 час. #1294575   
Darien Fx спасибо! Попробую! Тогда если НПС виден (в любом состоянии) то он онлайн если же не виден то офлайн?

добавлено спустя 19 минут

Darien Fx ясно! Еще раз спасибо вроде понял!

добавлено спустя 9 минут

Вот еще вопрос: вот создал свое окно а как в него вывести весь инвентарь?

отредактировал(а) Byurrer: 18-07-2010 10:30 GMT3 час.

project S.I.P
Чувак на болоте
    
Посты: 87
Откуда: Волгодонск
Возраст:
18-07-2010 12:02 GMT3 час. #1294721   
Люди помогите скачал локу Припять из ЗП с вашего сайта а он вылетает с логом что ему нужны деревья. Из какой задницы я ему эти деревья достану?!?!?!??!?!!


Byurrer
    
Посты: 82
Откуда: А зачем?
Возраст: 32
18-07-2010 12:54 GMT3 час. #1294769   
Darien Fx ну можно и так, но вот я щас делаю апгред оружия (по реалистичным параметрам мне его один мастер военного дела дал) дак вот я хочу чтоб можно было открыть инвентарь полностью со всеми вещами!


project S.I.P
БаЛаБоЛ
    
Посты: 5062
Откуда: Промышленный район нанотехнологий
Возраст: 31
18-07-2010 13:52 GMT3 час. #1294803   
Какое значение поставить в wound_incarnation_v, чтобы здоровье регенерировалось как-то так:

Хотел анимацию плавно сделать, да как-то не получилось..


P.S. в конфиге actor.LTX такая строчка есть..


:>=
Саня Стрелок
    
Посты: 130
Откуда: Нижний Новгород
Возраст: 29
18-07-2010 15:36 GMT3 час. #1294887   
Ребят, вопрос у меня имеется. Как сделать так, чтобы в начале игры, после видеоролика, игра начиналась с эффекта головокружения (типа как перед сном в лабораториях).


Я вернулся в мир "Сталкера", чтобы сделать то, что так дано задумал - мод, соизмеримый с полноценной игрой! (19.05.13)
aqraccy
    
Посты: 1454
Откуда: из Обломовки я.
Возраст: 29
18-07-2010 16:40 GMT3 час. #1294934   
Здрасьте,

Вопрос по скриптам. Хочу написать скрипт, чтобы при выкидывании постолета из рук (кнопочкой "g" иди из инвентаря командой "Выбросить"), при условии, что у ГГ есть еще один пистолет, то он брал новый пистолет в руки автоматически.

Вот попытался набросать что-то типа (xD). Некоторые строки могут быть неправильными, т.к не на своем компе, пишу команды по памяти, но основные момент учтены.

В общем в bind_stalker.script написал колбэк (вроде так называется) на свой мод, чтобы работал всегда.

Прописал строку aqra_mod:aqra_update(delta) (куда именно я знаю, но за неимением сталкера, сделаю этот шаг позже. Если что не так, просьба исправить.

Дальше сам скрипт:

local aqra = 0

function aqra.update(delta)
aqra = 1
if aqra == 1 then aqra_mod
end
end

function aqra_mod()
local pistol = db.actor:item_in_slot(2)
return pistol ~= nill and db.actor:object("table") ~= nill

local table = {
"wpn_pm"
"wpn_pb"
"wpn_beretta"
"wpn_hpsa"
"wpn_fort"
}

if true then -- я нупка в скриптах, можно ли так, я не знаю. В общем здесь нужна команда, чтобы в слот пистоля вставился один из пистолов из таблы "table".

local pistol_change = math.random(table.getn(table))

--Здесь нужна команда чтобы переменная "pistol_change" встал в слот пистолета. Просьба помочь!

end
end
end
end



.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.

Я — Обломов.

.
Artos
    
Посты: 4176
Откуда:
Возраст: 66
18-07-2010 18:18 GMT3 час. #1294987   
aqraccy
1. Чтобы не нагружать игру излишними вызовами, удобнее вставить твою проверку в 'on_item_drop' (function actor_binder:on_item_drop (obj)). Т.о. твоя проверка будет вызываться только при потере какого-либо предмета актором.

2. Проверив потерю именно пистолета (например по class_id для потерянного obj), и проверив наличие какого-либо пистолета (например из таблицы или итерацией инвентаря) у актора - выбрать(запомнить) желаемый пистолет.

3. Вставить выбранный пистолет в слот можно, удалив его у актора и заспавнив его обратно в рюкзак актора. Пистолет автоматом встанет в пустой слот.

Прим: При вызове из апдейта актора - при любом выкладывании предмета из пистолетного слота (т.е. слот пустой) у тебя будет автоматом вкладываться в слот имеющийся ... Тебе это надо?

отредактировал(а) Artos: 18-07-2010 18:30 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
aqraccy
    
Посты: 1454
Откуда: из Обломовки я.
Возраст: 29
18-07-2010 18:37 GMT3 час. #1295004   
Artos

Да, именно так. Это может пригодиться во время затяжной перестрелки. Например я сижу за укрытием, опрокинутой колонной например. Стреляю из Автомата, патроны кончились, беру пистолет, патроны кончились. У меня есть запасной, но пока я его вытащу, пройдет уйма времени. Да и нажать клавишу i при этом удерживая Shift + C, да плюс мышью выбрать пистолет... В общем было бы удобно.

Как я уже говорил, скрипты я особо не умею писать. Если не трудно, напиши примерный текст кода. Если не трудно)

Огромное спасибо за отзыв!


.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.

Я — Обломов.

.
waran
    
Посты: 99
Откуда: за кордоном
Возраст: 47
18-07-2010 18:45 GMT3 час. #1295014   
Кто подскажет : как "прикрутить" звук ( ogg ешку) сервомоторов к экзоскелету при хождении ГГ в нём?
при беге конечно же звук (т.к. идёт нагрузка) должен меняться .


XP SP3/AMD Athlon64 X2 6000+, MSI K9A2 CF-F 790X, MSI (Retail) GTX 260 OC 896MB, Память 2 DDR по 2Гб 800 МГц Dual Channel

S.T.A.L.K.E.R. v.1.0006 + SIMBION RC11+Fix2+110222
Artos
    
Посты: 4176
Откуда:
Возраст: 66
18-07-2010 19:09 GMT3 час. #1295042   
aqraccy
То, для чего ты затеял - по сути чит. :-(
в 'bind_sta**50016ea8aab1bb10eeba** ...
aqra.update(obj)
end[/code]
в 'aqra.script' вставляем что-то типа:[code]function update(oItem)
if obj and isWeapon(obj) then --/ проверка потери именно оружия
if not db.actor:item_in_slot(2) then --/ проверка пустого пистолетного слота
--/ итерация по списку пистолетных секций
for k,v in pairs({"wpn_pm","wpn_pb","wpn_beretta","wpn_hpsa","wpn_fort"}) do
if db.actor:object(v) then --/ проверка имеет ли данный пистолет
local obj_se = alife():jbject(db.actor:object(v):id) --/ серверный объект
if obj_se then
alife():release(obj_se, true) --/ удаляем
alife():create(v, db.actor:positiom(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) --/ спавним в рюкзак актору
end
end
end
end
end
end[/code]
Естественно НЕ проверял на оЧепятки и на корректность...


waran
А в чем загвоздка?
Проверяешь в апдейте актора надетость именно экзы и запускаешь периодически проигрыш нужного звука ...

отредактировал(а) Artos: 18-07-2010 19:24 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
aqraccy
    
Посты: 1454
Откуда: из Обломовки я.
Возраст: 29
18-07-2010 19:16 GMT3 час. #1295056   
Artos

Огромное спасибо! Буду проверять.

А почему чит?


.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.

Я — Обломов.

.
Artos
    
Посты: 4176
Откуда:
Возраст: 66
18-07-2010 19:21 GMT3 час. #1295066   
aqraccy
Неписи и так безмозглы, и экономя время актора на обязательных для реальной ситуации операциях (достать из рюкзака запасное оружие), ты их еще более делаешь уязвимыми ...

Любые изменения, искусственно облегчающие прохождение игры - чит.


P.S. Кобура - это и есть пистолетный слот. Не может быть в руках пистолет и в кобуре - запасной!
'Разгрузка' - это уже иное ...
Раз ставил сам точность НПС 95%, вроде как усложняя игру, то ... странновато выглядит 'облегчение' от рутинных операций.
Ну да это уже - на вкус и цвет ... Не вижу повода для флуда.
Хм, Сяк еще не сделал NLC6, а к моду уже аддоны ваяют ... :-)


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
aqraccy
    
Посты: 1454
Откуда: из Обломовки я.
Возраст: 29
18-07-2010 19:23 GMT3 час. #1295072   
Artos

У меня просто стоит вероятность попадания НПС 95%. Это и есть их мозги :). А пистолет запасной у меня в кобуре на бедре)

Кстати видел NLC 6 разгрузку. Так вот можно сделать так, чтобы если положить запасной пугач, то тогда бы срабатывал мой апдейт, точнее твой. :) Тогда по честному!


Но ведь можно носить две кобуры. Или в карман класть.


А мы люди такие)

отредактировал(а) aqraccy: 18-07-2010 19:35 GMT3 час.

.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.

Я — Обломов.

.


Форумы Архив » Свалка Вопросы и ответы (ТЧ по 11.09.10)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2025 «Stalker-Portal.ru»