Пользователей: 2
Гостей: 1504
Всего: 1506

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

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









Автор Сообщение
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
01-07-2010 14:58 GMT3 час. #1281869   
Николай ФеНиКс
У него и твой вариант сработал - то бишь получается что проверка
string.find(obj:name(),"bomba") тоже проходит для объекта с секционным именем "bomba" - просто при спавне скриптом его бомбе значит присваивается name в виде bomba_набор_цифр(айди то бишь)
а функция string.find определяет что в имени объекта есть подстрока "bomba" и возвращает true.
Но все равно цикл тут лишний - айдиш

отредактировал(а) erlik: 01-07-2010 15:17 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
01-07-2010 15:05 GMT3 час. #1281876   
Странно, но работает то


Новые фишки для сталкера(см. журнал)
Fantom2323
    
Посты: 778
Откуда: 25 RUS
Возраст: 29
01-07-2010 15:58 GMT3 час. #1281908   
Вопрос: Как делать цепочки однотипных квестов?

Пример: Добавил волку квест, после его выполнения я не могу сделать так чтобы появился другой квест такого же типа.

Там чето с поршнями мутить надо? Я в поршенах не очень. Помогите кто может.

erlik
Ыыы пост перепостил. Ну я и дурак! Сообщение уже пишу не по теме. :-G


Новый проект в разработке, ищи в моём журнале.
В теории - всё легко, а вот на деле - гораздо сложнее.
AAAAKKK
    
Посты: 65
Откуда: Кострома
Возраст: 47
01-07-2010 18:55 GMT3 час. #1282055   

karavan

29-06-2010 23:39 GMT

Люди, подскажите пожалуйста, для регистрации скрипта с гулагами достаточно прописать своё название в файле xr_gulag.script в таблицу level_gulags или надо еще в каком-то файле прописывать?

И еще есть новые локации и на них планируюется создание гулагов, надо ли (обязательно ли) прописывать новый уровень в файле xr_gulag.script в таблице level_groups ?


Еше файл smart_terain.script
тут

--[[ подходит ли объект гулагу?
1) если объект не согласен сюда идти, то smart terrain его не возьмёт
2) если объект согласен идти куда угодно, то проверить, есть ли ещё места, подходит ли он гулагу,
подходит ли он хоть на одну работу
3) если объект согласен идти только в этот смарт, то принимаем даже если нету места (он вытеснит кого-то), проверить,
подходит ли он гулагу, подходит ли он хоть на одну работу
]]
local level_groups = {
l01_escape = "group1",
l02_garbage = "group1",
l03_agroprom = "group1",
l03u_agr_underground = "group1",
l04_darkvalley = "group1",
l04u_labx18 = "group1",
l05_bar = "group1",
l06_Rostok = "group1",
l07_military = "group1",
l08_yantar = "group1",
l08u_brainlab = "group1",
l10_radar = "group1",
l10u_bunker = "group1",
l11_pripyat = "group1",
l12_stancia = "group3",
l12u_sarcofag = "group3",
l12u_control_monolith = "group3",
l12_stancia_2 = "group3"
}


файлы gulag task и smart terain preset.ltx
должны быть связанны точки графа разных локаций

ЗЫ В последнем дополнении к паку локации из зова имеют по ОДНОМУ гейм вертексу на всю локу 8-(


Зацикленный лагерь в журнале.
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
01-07-2010 20:56 GMT3 час. #1282168   
Братья сталкеры, помогите!
Где и как напи


Хочешь работать нормально, работай один!
karavan
    
Посты: 940
Откуда:
Возраст:
01-07-2010 23:32 GMT3 час. #1282233   
AAAAKKK Спасибо за информацию.
Да конечно в новых дополнениях к мап паку не все так как хотелось бы.
Ты случайно не в курсе как настроить АИ переходы (и возможно ли их настроить) между локациями?
Про програму создающую АИ переходы знаю, только вот НПС не как не хочет переходить с локации на локацию. Честно сказать складывается впечетление что на новых локах движение в оффлайне не возможно.

Товарищи кто знает как проверить есть ли движение в оффлайне на локации или нету? Какие параметры и файлы за это отвечают?


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
02-07-2010 07:20 GMT3 час. #1282275   

# Fantom2323 :
Вопрос: Как делать цепочки однотипных квестов?

Пример: Добавил волку квест, после его выполнения я не могу сделать так чтобы появился другой квест такого же типа.

Там чето с поршнями мутить надо? Я в поршенах не очень. Помогите кто может.




info_portion
поршни)

Это флажки, используются игрой для проверки условий, например при создании диалогов.

Для использования, их надо сначало обьявить :
сначало обьявить файл содержащий требуемый info_portion
..\config\system.ltx в секция [info_portions]
(можно использовать уже обявленный файл)

а затем а в файле
..\config\gameplay\info_"имя файла".xml
обьявить конкретный info_portion


!!! Для создания своих info_portion, рекомендую выносить их в свой файл, чтобы он не пересекался с другии модами

..


ТИПЫ

- объявляет задание (идентификатор задания id содержится внутри тэга )




СВОЙСТВА

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

ПРИМЕР - Создание неповторяющегося диалога


Привет!
1
2


Скажи 'А'.
my_info_portion
my_info_portion
11


'А'


Скажи 'Б'
my_info_portion
21


'Б'


РЕЗУЛЬТАТ

Первый диалог:
- Привет!
- Скажи 'А'
- 'А'

Все последующие диалоги:
- Привет!
- Скажи 'Б'
- 'Б'

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

Хотя имхо лучше юзать для создания линейки квестов, структуру типового квеста. Ведь в его теле есть условия появления, которое почемуто всегда закоментировано, например у того же Волка:

;condlist = {+esc_serious_talk}

насколько я понимаю это и есть проверка возникновеня квеста через поршень. Соответственно через эту элементарную конструкцию, можно легко замутить линейку квестов.

Правдо я пока не понял как через тело типового квеста их выдавать? Мож кто присоветует, чёнить)

отредактировал(а) Alex-San: 02-07-2010 07:29 GMT3 час.

Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
02-07-2010 08:05 GMT3 час. #1282285   
Вобщем так, стоячего НПСа сделать легко, правда после того как к нему с диалогом обратился он не будет смотреть в тот путь который ему прописал, а будет смотреть в сторону куда бы он дальше бы пошел если бы путь не окончился. Ну так вот, как сделать так чтобы он смотрел куда надо и чтоб он сидел наземле? Я сам не могу допереть, сажите плиз.


xxx5
    
Посты: 124
Откуда:
Возраст: 30
02-07-2010 09:19 GMT3 час. #1282327   
Что нужно сделать, чтобы при использовании какого нибудь предмета например батона, колбасы, водки был звук? Как в ЗОВ Припяти.


Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
02-07-2010 10:27 GMT3 час. #1282380   


Новые фишки для сталкера(см. журнал)
g-side
    
Посты: 25
Откуда:
Возраст:
02-07-2010 11:31 GMT3 час. #1282445   
люди такой вопрос, как изменить предметы на локацие
к примеру: убрать аксу и пм на на кардоне на блокпосте?

и как сделать так что бы на автоматы можно было вешать разные оптики?


ДатчикХабара
    
Посты: 558
Откуда: Saratov
Возраст:
02-07-2010 12:56 GMT3 час. #1282485   
Люди поставил на апдейт свою функцию.
Вот она:

------------------------------------------------------------
local dead_mess = "Тут твоя могила сталкер."
local zdorovie = db.actor.health
------------------------------------------------------------
--\Актёр трагически погиб.
function dead_actor()
if zdorovie <= 0.1 then
news_manager.send_tip(nil, "Тут твоя могила сталкер",1, "stalker", 10000)
end
end

Функция категорически отказывается работать.
В чём дело?:-)


Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
02-07-2010 13:04 GMT3 час. #1282489   
ДатчикХабара
попробуй:
--\Актёр трагически погиб.
function dead_actor()
get_console():execute("function_start_test_bla_bla_bla_bla")
if db.actor.health < 0.1 then
get_console():execute("Proverka_proshla_test_bla_bla_bla_bla")
news_manager.send_tip(db.actor, "Ты уже почти труп:)", nil, nil, 30000)
get_console():execute("Function_fin_test_bla_bla_bla_bla")
end
end

Если функция не сработает, то закрой игру, найди файл с твоим логом, и посмотри до куда функция сработала. И запустилась ли она вообще


Знание assembler, C/C++, Pascal, Lua.
ДатчикХабара
    
Посты: 558
Откуда: Saratov
Возраст:
02-07-2010 13:31 GMT3 час. #1282504   
Ma$ter
Дело в том,если ставишь вот так:
if zdorovie >= 0.1 then
,то сообщения бесконечно отсылаются(потому-что здоровье гг больше 10)
А мне надо сделать,как только гг подох так ему пишут "Меченный трагически погиб,теперь на этом месте будет его могила и сталкеры обязательно будут приходить и поминать старого гринго."


333Серый333
    
Посты: 19
Откуда: Азов
Возраст: 27
02-07-2010 13:36 GMT3 час. #1282508   
подскажите плиз, как добавлять новую броню???


Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
02-07-2010 13:41 GMT3 час. #1282514   
333Серый333

Сталкер вики еще не закрыли, ЖМИ.

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

ДатчикХабара
**5001c54314580bda8be6**= db.actor.health
if zdorovie <= 0.1 then
news_manager.send_tip(nil, "Тут твоя могила сталкер",1, "stalker", 10000)
stope = true
end
end[/code]

Я на других функциях пробовал так, но не пашет.Поэтому у меня вопрос к знающим людям, как можно остановить функцию подобного типа, что указана выше.Вроде делал по аналогии, а функция, как условие выполнится, беспрерывно выполняет действие.:-G.Я слышал о каких-то флагах-триггерах, но пример их использования так и не удалось увидеть..

отредактировал(а) Stalk15: 02-07-2010 13:49 GMT3 час.

Новые фишки для сталкера(см. журнал)
karavan
    
Посты: 940
Откуда:
Возраст:
02-07-2010 14:17 GMT3 час. #1282530   
Как сделать проверки:
Если НПС на локации Кордон?
Если текущая локация НПС отличается от локации ГГ?
При условии, что Айди НПС уже известен, например Волк - 006.


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
02-07-2010 14:18 GMT3 час. #1282531   
ДатчикХабара
Ну а ты попробывал как я написал? Попробуй, я потом доработую функцию


Знание assembler, C/C++, Pascal, Lua.
ДатчикХабара
    
Посты: 558
Откуда: Saratov
Возраст:
02-07-2010 14:19 GMT3 час. #1282532   
Ma$ter
Пока локой занят.Чуток попозже попробую.


g-side
    
Посты: 25
Откуда:
Возраст:
02-07-2010 14:45 GMT3 час. #1282546   
люди такой вопрос, как изменить предметы на локацие
к примеру: убрать аксу и пм на на кардоне на блокпосте?

и как сделать так что бы на автоматы можно было вешать разные оптики?


Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
02-07-2010 14:48 GMT3 час. #1282549   
karavan
На счет первого: Хм ...Я в скриптах 0(или 1:-)), но ...этож вроде легк**5001c54314580bda8be6** return true
else
return false
end
end
[/code]

Проверяет, находится ли Волк на локации Кордон.

-----------------------------------------------------------------------------------------------------
А на счет второго чет не могу понять, что тебе всетаки нужно проверить:-G

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

g-side
В АСДС нужно найти твой ПМ и аксу и просто удалить(воспользуйся пойском, например, в Notepad++)/

В конфиге твоего автомата ищешь строку scope_name и пишешь в нее прицелы, которые ты хочешь надевать.


ПЭ.ЭС:

444 поста :prankster:....:sarcastic:




-------------------------------------------------------------------------------------------------------

g-side
ACDC - это весьма полезная утилита, позволяющая редактировать файл спавна all.spawn.

отредактировал(а) Stalk15: 02-07-2010 15:39 GMT3 час.

Новые фишки для сталкера(см. журнал)
g-side
    
Посты: 25
Откуда:
Возраст:
02-07-2010 15:13 GMT3 час. #1282562   
извеняюсь а где это АСДС?


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
02-07-2010 15:46 GMT3 час. #1282585   
Stalk15 , ДатчикХаб**5001c54314580bda8be6** end
else
stope = false -- восстанавливаем флаг для апдейта если здоровье норм
end
end
[/code]

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

karavan
Для того чтобы узнать где (на какой локации) находится NPC можно сделать так:
узнаешь геймвертекс своего NPC, желательно предварительно проверить в онлайне NPC или оффлайне и только потом в зависимости от результата применять к нему либо клиентский метод либо серверное свойство для получения геймвертекса (какие - сам должен знать)
для проверки онлайн\оффлайн есть метод is_object_online (object_id)
далее используешь нижеприведенные методы:

game_graph():vertex(*gvid*):level_id()
возвращает числовой идентификатор уровня по гейм вертексу

alife():level_name(*level_id*)
возвращает имя уровня по его числовому идентификатору.

отредактировал(а) erlik: 02-07-2010 16:09 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
karavan
    
Посты: 940
Откуда:
Возраст:
02-07-2010 16:15 GMT3 час. #1282596   
erlik Спасибо, попробую так.

Еще вопрос:
Как можно получить Айди НПС через диалог (так сказать Айди НПС собеседника) и вынести его в таблицу, для того что бы потом, например, его удалить, этого НПС по его Айди?

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

Или как из этой функции, полученый Айди обьекта, вынести в отдельную таблицу?

function Dictanse_check_up()
if not Dictanse then Dictanse = 3 end
local PositionActor = db.actor:position() --/ позиция ГГ (вычисляем 1-раз)
local actor = db.actor
local function Compare(id) --/ внутренняя локальная функция сравнения
local npc = level.object_by_id(id)
if npc and IsStalker(npc) and npc:alive() and npc.health > 0.1 then
if npc:position():distance_to(PositionActor) <= Dictanse then
news_manager.send_tip(db.actor, "кто-то близко от ГГ", 0, "default", 8000)

end
end
end

if obj_id then --/ если задан id конкретного сталкера
Compare(obj_id)
else --/ иначе перебираем всех на локации
for id=1,65534 do
Compare(id)
end
end
end


отредактировал(а) karavan: 02-07-2010 16:48 GMT3 час.

Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
333Серый333
    
Посты: 19
Откуда: Азов
Возраст: 27
02-07-2010 16:21 GMT3 час. #1282600   
когда происходит ошибка то как узнать из-за чего она произошла???


Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
02-07-2010 17:00 GMT3 час. #1282620   
2 333Серый333

лог ошибки пишется в файл -

"C:\Documents and Settings\All Users\Документы\STALKER-SHOC\logs"

После строки FATAL ERROR, код и место глюка


g-side
    
Посты: 25
Откуда:
Возраст:
02-07-2010 17:01 GMT3 час. #1282621   
а не подскажите где можно скачать acdc?


Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
02-07-2010 17:06 GMT3 час. #1282624   

# g-side :
извеняюсь а где это АСДС?



например тут
http://stalkerin.gameru.net/
там вообще дофига всего, вообще эт основной и стареёший модерский ресурс имхо.


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
02-07-2010 17:36 GMT3 час. #1282650   
karavan
Объявляешь пустую таблицу
local Tab ={}
в скрипте в нужном месте кидаешь айди в таблицу
table.insert(Tab, id) -- айди будут значениями таблицы расположенными в математическом порядке начиная с индекса 1. Итерацию можно делать как через числовой for так и через ipairs.
или Tab[id] = true - в этом случае айди будут ключами таблицы. Итерация такой таблицы возможна только через pairs
или третий способ (никем не применяемый в сталкере - потому что мало кто lua знает :-))
rawset(Tab,ключ,значение) -- произвольный ключ и произвольное значение.

Айди из диалога - через аргументы в скобках (первый спикер, второй спикер)
каждый параметр - это юзердата объекта - применяешь к юзердате метод id() и получаешь айди.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
karavan
    
Посты: 940
Откуда:
Возраст:
02-07-2010 18:44 GMT3 час. #1282682   
erlik Спасибо, помогло.
А как сохранить Айди удаляемого НПС? Пробую вот так не получается что то.


local Tab_del = {}
local Tab = {}
function release_npc() -- Удаляем НПС по полученому Айди
for k,v in pairs(Tab_del) do
local obj = alife():object(v)
if obj then
table.insert(Tab, obj.id)
news_manager.send_tip(db.actor, "Удаляю НПС по Айди", 0, "default", 8000)
alife():release(obj , true)
end
end
end


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)


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


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

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