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

» Подробно
» Сегодня


Привет, Гость!

Ник


Пароль


Запомнить?




» Добавить в избранное

» Сделать стартовой

Главная
Форум
Обзор игры
Мир Зоны
Файлы
Галерея
Разное






Форумы > Архив > Склад > Вопросы и ответы (старое по 29.01.11)

Страница 1 из 561234 »Последняя
Быстрый переход:


 

Автор Сообщение
dm.dav23
[20] Сталкер
Онлайн статус=0  Профиль    



Закон суров

Посты: 3690
Откуда: Н.Новгород
Занятие: Строительство АЭС
Возраст: 41

22-05-2013
29-01-2011 18:52 GMT3 часа #1385455   Split

Сообщение было успешно отредактировано Geralt of Rivia (29-01-2011 18:52 GMT3 часа, назад)

userbar
TheDoktor
[20] Сталкер
Онлайн статус=0  Профиль    



Вернулся...

Посты: 3820
Откуда: Керчь
Занятие: MotoGP
Возраст: 37

26-10-2012
18-11-2010 23:05 GMT3 часа #1385467   Split
У меня проблема с долговцем, которого спасает Пуля, не помню как там его. Я не могу с ним поговорить, а он вечно куда то целится со своей беретты, даже когда прибегает на блокпост долга. Как эту каку исправить?
P.S. я ничего не менял, глюк "пришёл" из OGSM'а.


userbar
RENTGEN_4444
[1] Странник
Онлайн статус=0  Профиль    




Посты: 48
Откуда:
Занятие:
Возраст:

18-11-2010 23:10 GMT3 часа #1385471   Split
Вот такой вопросик-как изменить группировку нпс?Мне надо из одиночки сделать бандита(через диалог).


Дробитель
[1] Странник
Онлайн статус=0  Профиль    




Посты: 22
Откуда:
Занятие:
Возраст:

18-11-2010 23:17 GMT3 часа #1385474   Split
Я уже задавал вопрос, но как сделать "Новости зоны"?
Немного подробнее опишу:
Нашел я в АМК 1.4.1. вот такие файлы:
amk_death_lists
amk_modders
amk_dolg
amk_freedom
amk_names_lists
amk_news_lists
amk_uniq_news_lists
news_data
news_main
news_manager
Там указаны смерти, диалоги и разные "Бла-бла-бла" короче чат
Я понял, что их нужно где-то прописывать, но где?
З.Ы.Не предлагать установить АМК, я хочу внедрить в другой мод этот "чат"


Ma$ter
[1] Странник
Онлайн статус=0  Профиль    




Посты: 477
Откуда: Tamboff
Занятие: Мотоциклы, программирование
Возраст:

26-06-2011
18-11-2010 23:34 GMT3 часа #1385482   Split
Дробитель
http://narod.ru/disk/22401797000/news.7z.html
Инструкция:http://www.amk-team.ru/forum/index.php?s=&showtopic=8986&view=findpost&p=406090
Сорри что на украинском
Или можно взять новости отсюда - http://www.amk-team.ru/forum/index.php?showtopic=8986#entry374420
Правда новости от АМК 1.2
RENTGEN_4444
function ваше_название_функции(actor, npc)
if npc:character_community() ~= "(сюда пишем название группировки куда хотите вступить" then
npc:set_character_community("пишем сюда еще раз группировку в которую хотите вступить", 0, 0)
end
end


Дробитель
[1] Странник
Онлайн статус=0  Профиль    




Посты: 22
Откуда:
Занятие:
Возраст:

18-11-2010 23:40 GMT3 часа #1385484   Split
Ma$ter
Ниче, у меня и 1.2. есть
Вообщем спасибо


Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

19-11-2010 00:54 GMT3 часа #1385492   Split
Дробитель
СтОит выбирать себе задачку по силам и навыкам.
Ты хочешь портировать в 'свой' мод одну и самых трудоемких 'фенечек' из АМК-мода.
Если у тебя нет навыков по совмещению скриптовых модов, то подобная задачка тебе сейчас НЕ по силам, а объяснять тебе многочисленные места/шаги по 'где/как/чего' - врядли кто возьмется.
Тем более на твое "где прописывать", никто не ответит, т.к. что у тебя за 'другой мод' - только тебе ведомо.
Перечисленные тобою файлы, во-первых, не единый "чат", а два: "обычный" (работает из amk_mod.script - новости не зависят от игры) и "интерактивный" (news_main и news_data - содержание новостей зависит от игры/прохождения). Во-вторых, используют и другие файлы из AMK-мода, используя сторонние функции.
Если у тебя нет достаточного опыта и навыков по скриптам игры (что скорее всего судя по заданному вопросу), то или ищи на просторах инета (пмнится было что-то кусочно-выделенное) или ищи знакомого скриптера ...

RENTGEN_4444
Даже в оригинальной игре есть 'перевод игрока' в другую группировку (Долг, Свободу).
Почему ленишься посмотреть САМ в уже имеющемся под рукою материале?
Загляни в оригинальный 'dialogs.script' и найдя еомментарий от разрабов "-- Community" поизучай функции проверки актора в группировке и перевод его в нее (например: 'actor_set_dolg()').

TheDoktor
Подобные баги неписей ('молчалки-неотвечалки') - имеют корни в логике неписей.
Хочешь исправлять - изучай логику для конкретного непися и правь ее.
Задачка далеко не из простых. Во-первых, как обычно без всех исходных материалов, влияющих на логику/выбор логики, из твоего мода не обойтись. Во-вторых, без общих и частных знаний 'как и что' в логике неписей - ты только сторонним читателем будешь, а кто-то должен будет тебе написать/разжевать.
Советую поштудировань материалы на вики на эту тему и уже с неким багажем знаний вернуться к вопросу.
Подсказка по частному случаю: ищи в сторону параметра 'meet' (т.е. условий когда неписю (не)запрещено болтать).

Сообщение было успешно отредактировано Artos (19-11-2010 00:54 GMT3 часа, назад)

batment
[1] Странник
Онлайн статус=0  Профиль    




Посты: 267
Откуда: Киев
Занятие: модификация ЗП, спорт, музыка
Возраст: 29

03-02-2011
19-11-2010 01:29 GMT3 часа #1385544   Split
делал по статье
---------------------------"Звук при съедании предмета,(ов) (BSF assemblage)"-------------------------
Код:
local eat = nil

function use_med() - это надо ставить на всем знакомый актор апдейт
if eat and type(eat) == 'number' then
if not level.object_by_id( eat ) then
local snd_obj = xr_sound.get_safe_sound_object([[пишем путь до звука]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
end
eat = nil
end

if eat and type(eat) == 'userdata' then
eat = eat:id()
else
eat = nil
end
end

function drop_med(obj) - это надо ставить на on_item_drop (obj)
local obj_sect = obj:section()
if obj_sect == 'предмет1' or obj_sect == 'предмет2' or obj_sect == 'предмет3' then - здесь пишем итемы
eat = obj
end
end

Но тут в функции я показал пример с множеством предметов, а если у нас допустим только один предмет, то пишем так:
Код:
function drop_med(obj) - это надо ставить на on_item_drop (obj)
local obj_sect = obj:section()
if obj_sect == 'предмет1' then - здесь пишем итемы
eat = obj
end
end


после этого вылет
вот мой bind_stalker
function init (obj)
xr_motivator.AddToMotivator(obj)
end

function actor_init (npc)
npc:bind_object(actor_binder(npc))
end

lasthealth = 0
lasttime = 0
post_process = 0
local weapon_hide = false
----------------------------------------------------------------------------------------------------------------------
class "actor_binder" (object_binder)
----------------------------------------------------------------------------------------------------------------------
function actor_binder:__init (obj) super(obj)
self.bCheckStart = false
self.weather_manager = level_weathers.WeatherManager()
self.actor_detector = xr_detector.actor_detector()
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:net_spawn(data)
printf("actor net spawn")

level.show_indicators()

self.bCheckStart = true
self.weapon_hide = false -- спрятано или нет оружие при разговоре.
weapon_hide = false -- устанавливаем глобальный дефолтовый флаг.

if object_binder.net_spawn(self,data) == false then
return false
end

db.add_actor(self.object)

if self.st.disable_input_time == nil then
level.enable_input()
end

self.weather_manager:reset()
-- game_stats.initialize ()

if(actor_stats.add_to_ranking~=nil)then
actor_stats.add_to_ranking(self.object:id())
end

--' Загружаем настройки дропа
death_manager.init_drop_settings()

return true
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:net_destroy()
if(actor_stats.remove_from_ranking~=nil)then
actor_stats.remove_from_ranking(self.object:id())
end
-- game_stats.shutdown ()
db.del_actor(self.object)

sr_light.clean_up ()

self.object:set_callback(callback.inventory_info, nil)
self.object:set_callback(callback.article_info, nil)
self.object:set_callback(callback.on_item_take, nil)
self.object:set_callback(callback.on_item_drop, nil)
--self.object:set_callback(callback.actor_sleep, nil)
self.object:set_callback(callback.task_state, nil)
self.object:set_callback(callback.level_border_enter, nil)
self.object:set_callback(callback.level_border_exit, nil)
self.object:set_callback(callback.take_item_from_box, nil)

if sr_psy_antenna.psy_antenna then
sr_psy_antenna.psy_antenna:destroy()
sr_psy_antenna.psy_antenna = false
end

xr_sound.stop_all_sound_object()

object_binder.net_destroy(self)
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:reinit()
object_binder.reinit(self)

local npc_id = self.object:id()

db.storage[npc_id] = { }

self.st = db.storage[npc_id]
self.st.pstor = nil

self.next_restrictors_update_time = -10000

self.object:set_callback(callback.inventory_info, self.info_callback, self)
self.object:set_callback(callback.article_info, self.article_callback, self)
self.object:set_callback(callback.on_item_take, self.on_item_take, self)
self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)
self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats
--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)
self.object:set_callback(callback.task_state, self.task_callback, self)
--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)
self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)
self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)
self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:take_item_from_box(box, item)
local story_id = box:story_id()
if story_id == nil then
return
end

treasure_manager.take_item_from_box(box, story_id)
--[[
local respawner = se_respawn.get_respawner_by_parent(story_id)
if respawner == nil then
return
end

--' Необходимо уменьшить счетчик в респавнере
respawner:remove_spawned(item:id())

local smart_terrain = db.strn_by_respawn[respawner:name()]
if smart_terrain == nil then
return
end

local npc = smart_terrain.gulag:get_nearest_online_obj(db.actor:position())
if npc ~= nil then
xr_sound.set_sound_play(npc, "reac_box")
xr_gulag.setGulagEnemy(smart_terrain:name() , db.actor)
end
]]
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:level_border_enter(npc, info_id)
self.actor_detector:actor_enter()
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:level_border_exit(npc, info_id)
self.actor_detector:actor_exit()
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:info_callback(npc, info_id)
printf("*INFO*: npc='%s' id='%s'", npc:name(), info_id)
--' Сюжет
level_tasks.proceed(self.object)
-- Отметки на карте
level_tasks.process_info_portion(info_id)
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:on_trade (item, sell_bye, money)
if sell_bye == true then
game_stats.money_trade_update (money)
else
game_stats.money_trade_update (-money)
end
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:article_callback(npc, group, name)
--printf("article_callback [%s][%s]", group, name)
if device().precache_frame >1 then return end

if group == "Diary" then
news_manager.send_encyclopedy("diary", group)
else
news_manager.send_encyclopedy("encyclopedy", group)
end
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:on_item_take (obj)
level_tasks.proceed(self.object)
--game_stats.update_take_item (obj, self.object)
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:on_item_drop (obj)
level_tasks.proceed(self.object)
--game_stats.update_drop_item (obj, self.object)
function drop_med(obj)
local obj_sect = obj:section()
if obj_sect == 'conserva' then
eat = obj
end
end

end
----------------------------------------------------------------------------------------------------------------------

function actor_binder:task_callback(_task, _objective, _state)
task_manager.task_callback(_task:get_id(), _objective:get_idx(), _state)
if _objective:get_idx() == 0 then
if _state == task.fail then
news_manager.send_task(db.actor, "fail", _task, _objective)
elseif _state == task.completed then
task_manager.reward_by_task(_task)
news_manager.send_task(db.actor, "complete", _task, _objective)
else
news_manager.send_task(db.actor, "new", _task, _objective)
end
else
if _task:get_objective(0):get_state() == task.in_progress then
news_manager.send_task(db.actor, "update", _task, _objective)
end
end
end

----------------------------------------------------------------------------------------------------------------------
function actor_binder:map_location_added_callback(spot_type_str, object_id)
if (false==app_ready()) or (device().precache_frame>1) then return end
--'news_manager.send_task(db.actor, "new")
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:update(delta)
object_binder.update(self, delta)

-- DEBUG slowdown
-- slowdown.update()

local time = time_global()

game_stats.update (delta, self.object)

-- апдейт погоды
self.weather_manager:update()

-- апдейт схемы детектора
self.actor_detector:update()

-- апдейт звуковой схемы актера
xr_sound.update_actor()

--' Проверка потери жизни
--[[
if self.object.health - lasthealth > 0.001 or
self.object.health - lasthealth < -0.001 then
printf("%f | %f", self.object.health, self.object.health - lasthealth, game.time() - lasttime)
lasthealth = self.object.health
lasttime = game.time()
end
]]
-- Обновление отключения ввода с клавиатуры.
if self.st.disable_input_time ~= nil and
game.get_game_time():diffSec(self.st.disable_input_time) >= self.st.disable_input_idle
then
level.enable_input()
self.st.disable_input_time = nil
end
-- Обновление сна с переносом чувака в указанную позицию
if self.st.sleep_relocate_time ~= nil and
game.get_game_time():diffSec(self.st.sleep_relocate_time) >= self.st.sleep_relocate_idle
then
self.object:set_actor_position(self.st.sleep_relocate_point)
local dir = self.st.sleep_relocate_point:sub(self.st.sleep_relocate_look)
self.object:set_actor_direction(dir:getH())
self.st.sleep_relocate_time = nil
end

-- Апдейт прятание оружия игрока во время диалога
if weapon_hide == true or self.object:is_talking() then
if self.weapon_hide == false then
self.object:hide_weapon()
self.weapon_hide = true
end
else
if self.weapon_hide == true then
self.object:restore_weapon()
self.weapon_hide = false
end
end

-- обновление рестрикторов, которые под логикой, срабатывает через интервалы времени
if self.next_restrictors_update_time < time then
bind_restrictor.actor_update(delta)

self.next_restrictors_update_time = time + 200

task_manager.actor_update()
end

-- обновление постпроцессов
if post_process ~= 0 then
if post_process:update () == true then
post_process = 0
end
end

-- обновление пси-антенны
if sr_psy_antenna.psy_antenna then
sr_psy_antenna.psy_antenna:update(delta)
end

--' Вывод сообщения о большой радиации
if self.object.radiation >= 0.7 then
local hud = get_hud()
local custom_static = hud:GetCustomStatic("cs_radiation_danger")
if custom_static == nil then
hud:AddCustomStatic("cs_radiation_danger", true)
hud:GetCustomStatic("cs_radiation_danger"):wnd():SetTextST("st_radiation_danger")
end
else
local hud = get_hud()
local custom_static = hud:GetCustomStatic("cs_radiation_danger")
if custom_static ~= nil then
hud:RemoveCustomStatic("cs_radiation_danger")
end
end



if self.bCheckStart then
printf("SET DEFAULT INFOS")

if not has_alife_info("storyline_actor_start") and
(level.name() == "l01_escape")
then
self.object:give_info_portion("storyline_actor_start")
_G.g_start_avi = true
printf("*AVI* RUN START AVI")
end

-- if not has_alife_info("encyclopedy") then
-- self.object:give_info_portion("encyclopedy")
-- end

if not has_alife_info("global_dialogs") then
self.object:give_info_portion("global_dialogs")
end

if not has_alife_info("level_changer_icons") then
self.object:give_info_portion("level_changer_icons")
end

level_tasks.add_lchanger_location()

self.bCheckStart = false
end

local eat = nil

function use_med()
if eat and type(eat) == 'number' then
if not level.object_by_id( eat ) then
local snd_obj = xr_sound.get_safe_sound_object(sounds\monsters\drink_1)
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
end
eat = nil
end

if eat and type(eat) == 'userdata' then
eat = eat:id()
else
eat = nil
end
end

end

----------------------------------------------------------------------------------------------------------------------
function actor_binder:save(packet)
printf("actor_binder:save(): self.object:name()='%s'", self.object:name())
object_binder.save(self, packet)

--' Сохраняем данные об отключенном вводе
if self.st.disable_input_time == nil then
packet:w_bool(false)
else
packer:w_bool(true)
utils.w_CTime(packet, self.st.disable_input_time)
end

xr_logic.pstor_save_all(self.object, packet)
self.weather_manager:save(packet)

sr_psy_antenna.save( packet )
task_manager.save(packet)
self.actor_detector:save(packet)
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:load(reader)
printf("actor_binder:load(): self.object:name()='%s'", self.object:name())
object_binder.load(self, reader)
printf("actor_binder:object_binder.load(): self.object:name()='%s'", self.object:name())

if reader:r_eof() then
abort("SAVE FILE IS CORRUPT")
end

local stored_input_time = reader:r_u8()
if stored_input_time == true then
self.st.disable_input_time = utils.r_CTime(reader)
end

xr_logic.pstor_load_all(self.object, reader)
self.weather_manager:load(reader)

sr_psy_antenna.load(reader)
task_manager.load(reader)
self.actor_detector:load(reader)
end
----------------------------------------------------------------------------------------------------------------------

--старт префетча звуков
--if string.find(command_line(), "-noprefetch") == nil then
-- sound_prefetch.prefetch_sounds()
--end


-- Weapon functions
function hide_weapon()
weapon_hide = true
end
function restore_weapon()
weapon_hide = false
end

// this is test for section iteration
/**
local function test_section_iteration(file_name, section_name)
printf ("file : %s",file_name)
printf ("section : %s",section_name)

local file = ini_file(file_name)
local n = file:line_count(section_name)
printf ("lines : %d",n)

local id, value = "", "", result
for i=0,n-1 do
result, id, value = file:r_line(section_name,i,"","")
printf ("line %d : %s = %s",i,id,value)
end
end

test_section_iteration("system.ltx","space_restrictor")
/**/



что там непровильного ?


erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
19-11-2010 02:01 GMT3 часа #1385560   Split
batment
Сильно сомневаюсь Artos будет тебе это разжевывать(и будет кстати правильно с его стороны), но дабы ты в который раз не заполнял топик подобными элементарными вопросами отвечу\подскажу за него:
нужно вписывать в тело методов bind_stalker.script не сами функции, а только их вызов:
имя_файла.use_med() -- в метод апдейта
и имя_файла.drop_med(obj) -- в каллбек на дроп
а сами функции положи в любой скриптовый файл (свой или уже имеющийся).
В вызове функций вместо строчки имя_файла укажи имя файла куда положил функции.
И еще путь до звука указан неверно:
1)папку sounds указывать не нужно - указывается путь относительно ее.
2) путь до файлов указывается через двойной слеш+кавычки. (либо - при одном слеше - нужно вместо кавычек использовать двойные квадратные скобки).


PS: Как можно изучать С++ (сужу по подписи на твоей аве)- далеко непростой кстати язык с огромным числом библиотек, классов, методов((сужу по изученному мной в базовой версии его родственнику C#)- не разобравшись в таких основополагающих вещах как вызов функции, тело функции, аргументы функции, операторы функции? Неужели книжка создателя lua - камрада Роберта Иерусалимского настолько тяжела, что ее даже руки взять страшно...
Вопрос само собой риторический.

PPS: В топике ушедшем в архив я кстати дал другой вариант отслеживания использования предмета - более простой. Для кого интересно?
Вопрос опять же риторический.


batment
[1] Странник
Онлайн статус=0  Профиль    




Посты: 267
Откуда: Киев
Занятие: модификация ЗП, спорт, музыка
Возраст: 29

03-02-2011
19-11-2010 03:15 GMT3 часа #1385569   Split
звук не проигрывается


Alex-San
[1] Banned
Онлайн статус=0  Профиль    




Посты: 1016
Откуда:
Занятие:
Возраст: 50

11-07-2010
19-11-2010 12:03 GMT3 часа #1385610   Split
Цитата
# batment :
звук не проигрывается


Эт у тя со статьи эрлика? Я тож её нашёл когда звук сьедания искал) Но ещё не пробовал.

ЗЫ. Кстати ты с анимацией доразабрался? А то я завис там(


Vich2010
[1] Странник
Онлайн статус=0  Профиль    




Посты: 46
Откуда:
Занятие: Много чем
Возраст: 46

19-11-2010 12:06 GMT3 часа #1385611   Split
Artos Привет.Подскажи в каких файлах прописана одна(любая) люкация из ТЧ.Хочу в свой мод вставить.


erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
19-11-2010 12:48 GMT3 часа #1385624   Split
Alex-San
Это не моя статья - а код из сборки Struck'a BSF assemblage. Использованный там вариант отслеживания использования предмета(хотя и является рабочим при условии его применения с умомом - его автор singapur22) - тем не менее слегка устарел. Более простой пример я приводил на последней странице прошлого темы.


Zhekcon
[1] Странник
Онлайн статус=0  Профиль    




Посты: 127
Откуда:
Занятие:
Возраст: 39

19-11-2010 15:00 GMT3 часа #1385628   Split
Подскажите пожалуйсто. Что неправельно в этих строках?
Перекрестие прицела заменено на курсор(который у бинокля).
if device().fov<67 then
if string.find(db.actor:active_item():section(),"wpn_") and get_hud():GetCustomStatic("old_cursor") then
get_hud():RemoveCustomStatic("old_cursor")
end
else
if not get_hud():GetCustomStatic("old_cursor") then get_hud():AddCustomStatic("old_cursor") end
end
Игра вылетает при смерти ГГ и ссылается на эту строку:
if string.find(db.actor:active_item():section(),"wpn_") and get_hud():GetCustomStatic("old_cursor") then
Зарание спасибо.


erlik большое спасибо, помогло.

Сообщение было успешно отредактировано Zhekcon (19-11-2010 15:00 GMT3 часа, назад)

erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
19-11-2010 14:30 GMT3 часа #1385648   Split
Zhekcon
Попробуй добавить проверку на наличие в игре живого эктора
if db.actor and db.actor:alive() and device().fov<67 then


SkyLoader
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 755
Откуда: Москва
Занятие:
Возраст:

09-09-2011
19-11-2010 16:08 GMT3 часа #1385652   Split
erlik, возвращаясь к чьему-то вопросу про изменение имени ГГ. Можно же воспользоваться твоей статьей про переименовывание файлов. Сделать 2 файла: с оригинальным именем и измененным. После диалога их подменить.


Хм... ясно. Ну в диалогах можно не использовать имя Меченого - убрать.

Сообщение было успешно отредактировано SkyLoader (19-11-2010 16:08 GMT3 часа, назад)

erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
19-11-2010 15:48 GMT3 часа #1385658   Split
SkyLoader
Ну во первых файлов, где используется имя Меченого - вагон и маленькая тележка (одних только диалогов, где упоминается в тексте имя Меченый несколько десятков - как ты представляешь их перезапись\подмену - делать копии каждого файла?), а во вторых подмена - я об этом писал - ничего не дает, конфигурационые параметры (да и диалоги наверно тоже - впрочем не проверял) во время игры считываются не из самих файлов, а из памяти куда они загружаются туда при старте новой игры. После перезагрузки игры с сейва идет обращение не к конфигурационным файлам, а к данным записанным в сейвы с их последующей загрузкой в память.
Простая проверка чтением во время игры параметров через методы класса ini_file() показал, что чтение идет вовсе не из самого текстового файла - в папке у меня лежал подменный файл с новыми параметрами, результат же его якобы чтения выдал значение дефолтного параметра. И для предмета по прежнему использовались настройки из дефолтного файла.


Dima 0020
[1] Странник
Онлайн статус=0  Профиль    




Посты: 208
Откуда: Забайкальский край
Занятие: Граф.редакторы
Возраст: 29

12-02-2011
19-11-2010 18:26 GMT3 часа #1385745   Split
Ребята помогите!
Мне нужны коды для Исполнителя желании, для одного дела, кто знает, напишите,


Спасибо заранее!


новиков сергей
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 413
Откуда: Москва
Занятие: Спорт, программинг( С++, Python), Юриспруденция
Возраст:

10-10-2010
19-11-2010 18:53 GMT3 часа #1385757   Split
Dima 0020 кодов на сталкер не существует.


userbar
batment
[1] Странник
Онлайн статус=0  Профиль    




Посты: 267
Откуда: Киев
Занятие: модификация ЗП, спорт, музыка
Возраст: 29

03-02-2011
19-11-2010 19:50 GMT3 часа #1385776   Split
Цитата
и имя_файла.drop_med(obj) -- в каллбек на дроп


имеется ввиду в function actor_binder:on_item_drop (obj)
?


RENTGEN_4444
[1] Странник
Онлайн статус=0  Профиль    




Посты: 48
Откуда:
Занятие:
Возраст:

19-11-2010 19:51 GMT3 часа #1385777   Split
А можно как-нибудь изменять конфиги(и желательно на время)игры через скрипт?Например когда актор пьет таблетку,он начинает быстро бегать и высоко прыгать.


Gun12
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 773
Откуда: СССР
Занятие: Всё, что заставляет напрягать серое вещество
Возраст: 51

19-11-2010 20:13 GMT3 часа #1385786   Split
RENTGEN_4444
Ответ на твой вопрос находится на этой странице (ещё "горячее" - в посте Erlik-а).
Совсем обленились!


новиков сергей
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 413
Откуда: Москва
Занятие: Спорт, программинг( С++, Python), Юриспруденция
Возраст:

10-10-2010
19-11-2010 20:44 GMT3 часа #1385806   Split
batment написано же, имя файла. Логично, наверное, что это имя файла, в котором лежит скрипт?


userbar
RENTGEN_4444
[1] Странник
Онлайн статус=0  Профиль    




Посты: 48
Откуда:
Занятие:
Возраст:

19-11-2010 20:48 GMT3 часа #1385809   Split
Если бы я увидел в посте erlik'a то что мне нужно,я бы не задал такой вопрос.Мне бы поточнее объяснить.


Gun12
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 773
Откуда: СССР
Занятие: Всё, что заставляет напрягать серое вещество
Возраст: 51

19-11-2010 21:03 GMT3 часа #1385812   Split
Цитата
# erlik :...конфигурационые параметры...во время игры считываются не из самих файлов, а из памяти куда они загружаются туда при старте новой игры. После перезагрузки игры с сейва идет обращение не к конфигурационным файлам, а к данным записанным в сейвы с их последующей загрузкой в память.


Что тут не понятного?
На всякий случай скажу - НЕТ, НЕЛЬЗЯ.
Хотя в принципе-то можно, но для этого нужно переписать память.
Того, кто это сможет сделать не знаю.
Лично я занимаюсь Luа. Это высокоуровневый язык программирования.
Для реализации того, о чем я сказал необходимо знать ассемблер как минимум.


batment
[1] Странник
Онлайн статус=0  Профиль    




Посты: 267
Откуда: Киев
Занятие: модификация ЗП, спорт, музыка
Возраст: 29

03-02-2011
19-11-2010 21:07 GMT3 часа #1385819   Split
новиков сергей
я спрашиваю где эта строчка должна быть в bind_stalker'e


erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
19-11-2010 21:08 GMT3 часа #1385821   Split
RENTGEN_4444
Цитата
А можно как-нибудь изменять конфиги(и желательно на время)игры через скрипт?

Смотря какие. Если параметр пишется в нет пакет объекта - тогда можно попробовать, если знать как с ним работать. Считать\перазаписать\перевести объект в онлайн\оффлайн.
Или если есть специальные методы для изменения значения конкретного параметра.
Например динамически изменить скорость течения времени в игре(параметр из файла alife) -можно.
Высоту прыжка ГГ\скорость передвижения - практически нет. Вариантов реализации не существует.

batment
Да. В on_item_drop (obj).


batment
[1] Странник
Онлайн статус=0  Профиль    




Посты: 267
Откуда: Киев
Занятие: модификация ЗП, спорт, музыка
Возраст: 29

03-02-2011
19-11-2010 21:51 GMT3 часа #1385850   Split
а теперь вообще вылетает с логом мол
LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:217: attempt to index global 'xr_havka_sound' (a nil value)

хотя раньше этого не было


Дмитрий-Ган
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1
Откуда: Екатеринбург
Занятие:
Возраст: 28

19-11-2010 22:35 GMT3 часа #1385871   Split
Люди сори может не в тему, но вопрос небольшой! есть ли какая-нибудь модификация которая добавляет ТОЛЬКО спальный мешок без других нововведений? желательно на версию 1.0004rus


новиков сергей
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 413
Откуда: Москва
Занятие: Спорт, программинг( С++, Python), Юриспруденция
Возраст:

10-10-2010
20-11-2010 00:08 GMT3 часа #1385918   Split
Дмитрий-Ган Так сложно в поисковик вставить название?
Первая же ссылка в яндексе: http://stalker.filefront.com/file/ABC_Sleeping_Bag_Mod;82029


userbar


Форумы > Архив > Склад > Вопросы и ответы (старое по 29.01.11)

Страница 1 из 561234 »Последняя


Эта тема закрыта, публикация новых сообщений недоступна.



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

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