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

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

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









Автор Сообщение
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
04-04-2010 22:59 GMT3 час. #1217813   
erlik, это конечно всё понятно. Но тут, насколько я понял Futura, стоит вопрос - "Что будет работать быстрее, вызов (как в твоём варианте) system_ini() и т.д., или создание собственного кода и обращение к нему?"


Не стань номинантом премии Дарвина.
Atrox
    
Посты: 983
Откуда:
Возраст:
04-04-2010 23:04 GMT3 час. #1217816   

# Gun12 :
5. Открыть файл acdc.pl, н**5001001a66cf24ce67c0**> 'se_stalker',[/code]
и после неё добавить строку :
[code]stalker_wolf => 'se_stalker',[/code]
6. Всё сохранить, собрать all.spawn, запустить игру и наслаждаться.



А где лежит файл - acdc.pl?

.


Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
04-04-2010 23:15 GMT3 час. #1217825   
Если ты скачал ACDC, то в папке "acdc".


Не стань номинантом премии Дарвина.
Atrox
    
Посты: 983
Откуда:
Возраст:
04-04-2010 23:17 GMT3 час. #1217831   

# Gun12 :
Если ты скачал ACDC, то в папке "acdc".



И что потом с ним делать? Он же отдельно вроде как... Может добавить куда? Или оставить где лежит? :-)

.

отредактировал(а) Atrox: 04-04-2010 23:22 GMT3 час.

Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
04-04-2010 23:31 GMT3 час. #1217843   
У меня так. Все файлы ACDC :
две папки "spawns" "stkutils" и файлы "acdc.pl", "ggtool.pl", "Компиляция.bat", "Декомпиляция.bat" лежат в папке gamedata\spawns вместе с all.spawn
Распакуй all.spawn
Измени секцию Волка
В acdc.pl добавь новую строчку и сохрани всё.
Запакуй all.spawn.


Не стань номинантом премии Дарвина.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
04-04-2010 23:35 GMT3 час. #1217845   
Gun12
ответ даст только проверка
local t = profile_timer()
t:start()
-- измеряемый код
local tt= t:stop()
news_manager.send_tip(db.actor, "Время выполнения кода :"..tostring(tt), 0, "default", 10000)

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

Оффтоп - в Си шарпе столько вариантов измерения времени выполнения кода - вплоть до наносекунд.:muzon:
ты кстати когда подключишься к нашей теме "Программирование на Си шарп" в разделе Хард энд Софт? :-)

отредактировал(а) erlik: 04-04-2010 23:39 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
04-04-2010 23:45 GMT3 час. #1217851   
erlik, да я с Lua никак не разберусь, а тут такой большой язык. Не знаю, хватит ли мне на него терпения.


Не стань номинантом премии Дарвина.
Atrox
    
Посты: 983
Откуда:
Возраст:
04-04-2010 23:59 GMT3 час. #1217862   

# Gun12 :
У меня так. Все файлы ACDC :
две папки "spawns" "stkutils" и файлы "acdc.pl", "ggtool.pl", "Компиляция.bat", "Декомпиляция.bat" лежат в папке gamedata\spawns вместе с all.spawn
Распакуй all.spawn
Измени секцию Волка
В acdc.pl добавь новую строчку и сохрани всё.
Запакуй all.spawn.



У меня не так, я по ридми делал:


"Прога acdc_10004_amk" - это компилятор/декомпилятор файла "all.spawn". Нужен для того, чтобы декомпилировать (преобразовать) сей файл в сырцы (файлы с исходным кодом).

Далее на пальцах:
1. Создаем где-нибудь пустую папку, например C: \temp
2. Копируем туда файлы: acdc_10004_amk.exe и all.spawn
3. Выполняем команду "cmd" (без ковычек), откроется консоль.
4. Выполняем команду "cd\", т.е выходим в корень системного диска.
5. Выполняем команду "cd C: \temp", т.е меняем рабочую папку на ту, где лежит "прога" и файл для декомпиляции
6. Выполняем команду "acdc_10004_amk -d all.spawn -o c: \temp" (просто пишем как здесь если папку такую же, temp, создали).
7. Смотрим на бегущие циферки и ждем. В папке temp должно появиться много *.ltx файлов. all.spawn из папки можно удалить.

Это и есть исходники. Их можно редактировать. После внесения нужных изменений необходимо скомпилировать all.spawn
Для этого надо выполнить команду "acdc_10004_amk -с all.ltx -o all.spawn"

Замечание.
Только вот тут нет пробела c: \ - я поставил, потому что движок форума иначе в смайлы преобразует.


У меня acdc.pl отдельно вообще. :-G

.


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
05-04-2010 00:09 GMT3 час. #1217867   
Gun12
Хватит. Месяц чтения какого нибудь пособия (а их море в отличие от пособий по lua) и тренировки в Визуал Студио Экспресс и сможешь писать приложения для домашнего компа.
Среда разработки - это просто конфетка - написать ошибочный код (в плане синтаксиса) практически нереально - во первых всплывающие подсказки по каждому методу с полным набором чего возвращают и каких аргументов требуют, во вторых - тотальный контроль правил синтаксиса с подчеркиванием любого неверного кода, в третьих - в логе ошибки которая выдается на экран при возникновении исключения во время исполнения пишется код ошибки, указание строчки вызвавшей исключение и возможная причина, в четвертых куча примеров в библиотеке MSDN на русском языке, в пятых можно ловить исключения программно (как все скопом так и по индивидуально с указанием имени исключения).
В общем для новичка подобная среда разработки - просто рай. К тому ж она бесплатная - и урезана в отличие от профессиональной версии совсем незначительно.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
05-04-2010 00:13 GMT3 час. #1217871   
c ACDC в .exe исполнении не работал. Пробуй в своём acdc.pl изменять.


Не стань номинантом премии Дарвина.
Atrox
    
Посты: 983
Откуда:
Возраст:
05-04-2010 03:13 GMT3 час. #1217888   
Gun12, а дай пожалуйста мне свою прогу, а то моя не запаковывает.
Расскажи, как пользоваться прогами отсюда, там есть как и у тебя, с такими же файлами как ты описал.
Но там нет ридми! А варианты, какие испробывал я, даже не распаковали.

А ты сможешь запаковать мой all.spawn? Я даю ссылку на распакованный:
all.spawn ПОЖАЛУЙСТА.

.


TYOPA
    
Посты: 129
Откуда:
Возраст: 27
05-04-2010 05:23 GMT3 час. #1217897   
Как зделать так, что с подстрелиным врагом говорить можно?


S.T.A.L.K.E.R. Secret of the Zone: Gunslinger's Story. Prologue - разработка.
BeeRsek
    
Посты: 1242
Откуда: Кемеровская обл, г.Новокузнецк
Возраст: 31
05-04-2010 09:22 GMT3 час. #1217929   
как сделать "полет камеры" по локации? Типа как на Агропроме...


"Все сложное - не нужно, все нужное - просто" (М. Калашников)

>> S.T.A.L.K.E.R. Secret of the Zone: Gunslinger's Story. Prologue
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
05-04-2010 10:15 GMT3 час. #1217941   

# TYOPA :
Как сделать так, что с подстреленным врагом говорить можно?



Я сам над этим думаю сейчас. Но мне подсказали хорошие люди, что есть волшебная строчка в xr_motivator.script из папки script:
if self.object:relation(db.actor) == game_object.enemy then
self.object:disable_talk()
else
self.object:enable_talk()
end

Если ее поменять на
self.object:enable_talk(),
то все, по идее, должно работать - раненый будет говорить с тобой.


И еще: наверное не у всех NPC есть такой разговор, и при старте диалога будет вылет. Тогда, по совету тех же добрых людей и моим наблюдениям, надо вписать в character_desc_название_локации.xml (из папки gamedata\config\gameplay) строчку о диалоге помощи каждому типу неписей.

Хотя, возможно это не все, что надо сделать ради разговора с врагом.

PS: Люди, ну пишите грамотней, пожалуйста.

отредактировал(а) vhodnoylogin: 05-04-2010 11:12 GMT3 час.

Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
BeeRsek
    
Посты: 1242
Откуда: Кемеровская обл, г.Новокузнецк
Возраст: 31
05-04-2010 11:06 GMT3 час. #1217966   
vhodnoylogin

Я сам над этим думаю сейчас. Но мне подсказали хорошие люди, что есть волшебная строчка в xr_motivator.script из папки script:
if self.object:relation(db.actor) == game_object.enemy then
self.object:disable_talk()
else
self.object:enable_talk()
end

Если ее поменять на
self.object:enable_talk(),
то все, по идее, должно работать - раненый будет говорить с тобой.


И еще: наверное не у всех NPC есть такой разговор, и при старте диалога будет вылет. Тогда, по совету тех же добрых людей и моим наблюдениям, надо вписать в character_desc_название_локации.xml (из папки gamedata\config\gameplay) строчку о диалоге помощи каждому типу неписей.


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


"Все сложное - не нужно, все нужное - просто" (М. Калашников)

>> S.T.A.L.K.E.R. Secret of the Zone: Gunslinger's Story. Prologue
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
05-04-2010 11:15 GMT3 час. #1217973   

# BeeRsek :
vhodnoylogin

Я сам над этим думаю сейчас. Но мне подсказали хорошие люди, что есть волшебная строчка в xr_motivator.script из папки script:
if self.object:relation(db.actor) == game_object.enemy then
self.object:disable_talk()
else
self.object:enable_talk()
end

Если ее поменять на
self.object:enable_talk(),
то все, по идее, должно работать - раненый будет говорить с тобой.


И еще: наверное не у всех NPC есть такой разговор, и при старте диалога будет вылет. Тогда, по совету тех же добрых людей и моим наблюдениям, надо вписать в character_desc_название_локации.xml (из папки gamedata\config\gameplay) строчку о диалоге помощи каждому типу неписей.


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



Знаю,
function actor_neutral(actor, npc)
npc:set_relation(game_object.neutral, actor)
end



Ставь это на фразу ГГ и несись меняет к тебе отношение. Кстати, функцию я знаю, а вот как ее применить - нет. Делись знанием, как поставить функцию на фразу (не обязательно ГГ)?


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
05-04-2010 11:16 GMT3 час. #1217975   
BeeRsek
Чтоб изменить отношение поставь на фразу ГГ вызов этой функции:
xr_effects.actor_friend - это для друга.
для врага:
xr_effects.actor_enemy
Для нейтрала:
xr_effects.actor_neutral
Это функции из файла xr_effects.script, ставь их на экшен в диалоге, на фразу НПС.


vhodnoylogin
Здесь примерно посередине есть значения тегов. Там почитай, я по этой статье и научился полноценные диалоги писать
_http://stalkerin.gameru.net/wiki/index.php/Создание_диалогов_(полный_обзор)

отредактировал(а) Сталкер Монолита: 05-04-2010 11:20 GMT3 час.

И все мы ждем чего-то. Работа - дом - работа ©
Atrox
    
Посты: 983
Откуда:
Возраст:
05-04-2010 14:55 GMT3 час. #1218162   
Gun12 , программа при запаковке all.spawn ругается на вносимые изменения:
unknown section 'stalker_wolf' at c:\Temp\acdc_10004_amk.exe line 2714, l
ine 28478.
Но, если изменения не вносить, то всё пакуется на раз. Где косяк?

А есть еще способы обессмертить Волка?


# Futura :
Atrox
-- определяем нпс по сиду. Сид берётся\пишется в файле game_story_ids.ltx (\config\) У Волка например сид будет 006.
local npc = level_object_by_sid( номер сида )
-- ставим бессмертие (условно, от действия kill() он конечно сдохнет). Тоже можно провернуть и для ГГ.
npc.health = 1

Всё это дописываешь в апдейт актора (в bind_stalker, в конец функции actor_binder:update(delta))
Хотя можно и фастколом (fastcall()), дабы биндер не захламлять :-)



Прочитал. Теперь буду пытаться осмыслить. :prankster: А где это вообще копать?

.


Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
05-04-2010 15:01 GMT3 час. #1218168   
Atrox
Осмысляй... там написано что и куда копипастить. :ye)


Atrox
    
Посты: 983
Откуда:
Возраст:
05-04-2010 15:17 GMT3 час. #1218194   
Futura , ну файл я нашел, да, Волк 006. А куда чего писать? :-G

.


TYOPA
    
Посты: 129
Откуда:
Возраст: 27
05-04-2010 17:06 GMT3 час. #1218390   
Подскжите пожалуйста можно ли создать пистолет транквилизатор.

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

vhodnoylogin я меня нет этой строчки.:gamer:

отредактировал(а) TYOPA: 05-04-2010 17:10 GMT3 час.

S.T.A.L.K.E.R. Secret of the Zone: Gunslinger's Story. Prologue - разработка.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
05-04-2010 17:12 GMT3 час. #1218398   
vhodnoylogin

волшебная строчка в xr_motivator.script из папки script:
if self.object:relation(db.actor) == game_object.enemy then
self.object:disable_talk()


не в xr_motivator.script, а в xr_wounded.script
там же нужно прописать диалог о помощи тем категориям сталкерам у которых его нет.Cмотрите функцию function init_wounded() -
у зомби и монолита в строчке def.help_dialog стоит nil
а у прочих def.help_dialog= "dm_help_wounded_medkit_dialog" --это и есть диалог о помощи
То есть если захотите давать аптечку монолитовцам нужно им прописать этот диалог.
Еще стоит поставить true в строчке def.use_medkit = false
которая разрешает\запрещает NPC использовать аптечку, когда ему ее дают.
Также указать этот диалог о помощи в профилях NPC в gamedata\config\gameplay (хотя здесь надо\не надо точно не знаю)

Для смены отношения с вражеского на дружеское нужно изменить дефолтовую функцию transfer_medkit(first_speaker, second_speaker) в файле dialogs.script
там прописана смена отношения только если чувак не враг
меняем строчку
if second_speaker:relation(first_speaker) ~= game_object.enemy then
second_speaker:set_relation(game_object.friend, first_speaker)
на
if (second_speaker:relation(first_speaker) == game_object.enemy or second_speaker:relation(first_speaker) == game_object.neutral) then
second_speaker:set_relation(game_object.friend, first_speaker)
и получаем смену отношения даже если ГГ враг.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
05-04-2010 18:26 GMT3 час. #1218468   

не в xr_motivator.script, а в xr_wounded.script


Так вот где ошибка, что-то я не очень понял твое письмо тогда. Elrik можешь еще раз тогда написать то, что ты писал мне в личку: там как раз ты писал о смене отношения к ГГ. Там еще была твоя функция на смену отношения через диалог, универсальная.
Хотя... можешь не писать, если не хочешь утруждаться. Но было бы приятней еще раз получить утерянное.


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
borG1
    
Посты: 1
Откуда: Кингисепп
Возраст:
05-04-2010 18:55 GMT3 час. #1218510   
други мои растолкуйте чайнику как обратно запаковать после распаковки и редактирования файла gamedata.db0 и чем и надо ли. система win 7

ссори если не в тему 3 дня по форуму шныряю нечего не надыбал:lok5)&P

отредактировал(а) borG1: 05-04-2010 19:03 GMT3 час.

vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
05-04-2010 19:25 GMT3 час. #1218545   

# borG1 :
други мои растолкуйте чайнику как обратно запаковать после распаковки и редактирования файла gamedata.db0 и чем и надо ли. система win 7

ссори если не в тему 3 дня по форуму шныряю нечего не надыбал:lok5)&P




Гугл в помощь!...
А вот и ссылки:
_http://stalkerin.gameru.net/modules.php?name=Downloads&d_op=viewdownload&cid=22&orderby=dateA Может там найдешь (2е сообщение).
_http://forum.stk-world.ru/viewtopic.php?f=25&t=217




Кстати, люди, посмотрите эту ссыль: _http://forum.stk-world.ru/viewtopic.php?f=25&t=217


Там внизу чемодан модостроителя для всех Сталкеров. Кто-нибудь может сказать, хороши ли они?


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
Atrox
    
Посты: 983
Откуда:
Возраст:
05-04-2010 19:31 GMT3 час. #1218551   
Господа, ну обьясните пожалуйста, по понятнее, как же всё таки обессмертить Волка?
Мне уже писали что этот вопрос уже обсосан сотню раз, но ведь тем и лучше, можно ограничиться ссылкой на толковое разъяснение.
Сколько раз тут надо задать вопрос, что бы получить ответ?

.


vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
05-04-2010 20:05 GMT3 час. #1218635   

# Atrox :
Господа, ну обьясните пожалуйста, по понятнее, как же всё таки обессмертить Волка?
Мне уже писали что этот вопрос уже обсосан сотню раз, но ведь тем и лучше, можно ограничиться ссылкой на толковое разъяснение.
Сколько раз тут надо задать вопрос, что бы получить ответ?



По этой же теме.
npc = level.object_by_id(obj:id()) Вот это, насколько я понимаю (поправьте, если не так), определяет, кто или что будет фигурировать в функции, в данном случае - NPC. Там есть id(), возможно (говорю ВОЗМОЖНО, ибо сам не знаю) это отвечает за то, какой непись будет фигурировать в функции. Если написать id(006) (это сид Волка), то будет ли переменная npc - Волком?
Если это так, то я знаю, как сделать бессмертие.

Ну и соответствующие вопросы:
1) так ли это, как я написал? Если нет, то поправьте.
2) как узнать сид непися?


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
05-04-2010 20:17 GMT3 час. #1218670   
vhodnoylogin
1) Нет, не правильно. id непися получается либо получением этого самого id по имени НПС вот так:
local npc = level.object_by_id("esc_wolf")
Либо перебором вообще всех существующих id вот так:
local npc
for i = 1, 65535 do
-- естественно тут надо писать всякие проверки на то, точно ли это НПС
npc = level.object_by_id(i)
end


2) В файле gamedata\config\game_story_ids.ltx. Там же можно зарегать свой.

отредактировал(а) Futura: 05-04-2010 20:34 GMT3 час.

Atrox
    
Посты: 983
Откуда:
Возраст:
05-04-2010 20:19 GMT3 час. #1218675   
vhodnoylogin , а где эта строчка находится: npc = level.object_by_id(obj:id()) в каком файле?
Если тебе хоть расскажут, ты расскажешь мне?

.


vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
05-04-2010 20:41 GMT3 час. #1218716   
Ну, короче, судя по написанному добрым человеком (Futura), то вот эту строчку
local npc = level.object_by_id("esc_wolf")
надо**5001001a66cf24ce67c0**nded.is_wounded(npc)) then
return
end
if (npc.health>0) then
npc.health=1
end
end[/code]
Вот эта функция должна (не знаю, не пробовал) восстанавливать здоровье Волку, однако возможен такой исход: если убить с первого раза - умрет. Тогда можно еще и вот что дописать:
if (npc.health<0) then
npc.health=1
end

Не знаю, не пробовал. Возможен вылет, возможно воскрешение....

И вообще, можно тут посмотреть, или тут

А может просто:
function get_wound(obj)
local npc = level.object_by_id("esc_wolf")
if (xr_wounded.is_wounded(npc)) then
return
end
npc.health=1

Самому интересно. Знаешь, как "подключать" свои скрипты? Данное творение г-на Elrika надо засовывать в функцию function motivator_binder:hit_callback в файле xr_motivator.


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!


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


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

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