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

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

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









Автор Сообщение
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
18-12-2010 13:40 GMT3 час. #1399877   
Хочу спросить у мастеров - как лучше создать НПС? Создать секцию в спавне и потом ее по получению инфопоршня спавнить, или просто скриптом заспавнить. А то мне нужно заспавнить много НПС в одном месте и я вот думаю как сделать лучше


Знание assembler, C/C++, Pascal, Lua.
Struck
    
Посты: 1946
Откуда:
Возраст:
18-12-2010 14:22 GMT3 час. #1399904   
Ma$ter если рядом нет стен и кривого террейна то лучше спавни от одной точки с рандомным расстоянием, а если есть стены или горки/ямы то тогда по кординатам лучше


Снова в строю.

l
scripilov
    
Посты: 1
Откуда: сыктывкар
Возраст: 30
18-12-2010 15:12 GMT3 час. #1399923   
привет всем!!!
позырьте видео про сталкер можт че интересное узнаете...ссылочки вот...
http://turbobit.net/fmkss0mlgipc.html
http://turbobit.net/cqazvg2n1fsd.html
http://turbobit.net/hzczuhutbycz.html
http://turbobit.net/4xj0nsf3aowi.html
http://turbobit.net/wc4v9b5y5rul.html
http://turbobit.net/6cjhr2bbkvle.html
Любительское видео, которое вы ещё точно не видели. Только сделали его...прошу к горяченькому...


999Geka666
    
Посты: 89
Откуда: Ижевск
Возраст: 34
18-12-2010 15:49 GMT3 час. #1399951   
На нового перса поставил квест, но при нажатии на разговор с ним - происходит вылет
Вот лог:
FATAL ERROR

[error]Expression : next_phrase_node
[error]Function : CPhraseDialog::AddPhrase
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\PhraseDialog.cpp
[error]Line : 288
[error]Description : 2

Подскажите в чем дело:-(


С понедельника не пью.... со следующего....
Soble
    
Посты: 80
Откуда: от верблюда
Возраст:
18-12-2010 15:54 GMT3 час. #1399953   
999Geka666 посмотри в character_desc_*.xml
какие у него диалоги. убери все старые.
либо ты сам писал ему диалог и что то намудрил. я не знаю. ))





отредактировал(а) Soble: 18-12-2010 15:59 GMT3 час.

Смотри журнал
Черт бы побрал эту Зону, нигде от нее спасения нет. Куда ни
пойдешь, с кем ни заговоришь - Зона, Зона, Зона...
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
18-12-2010 15:55 GMT3 час. #1399955   
999Geka666, переведи с английского в переводчике. Посмотри свой диалог - у тебя там ошибка.


Хочешь работать нормально, работай один!
Mutantt33
    
Посты: 246
Откуда: МО
Возраст: 34
18-12-2010 16:08 GMT3 час. #1399966   
Народ, как считаете, возможно ли организовать подмену модели в момент изменения работ в гулаге?
вообще,**5001b67681f3126adde4**r2@esc_lager]
path_main = sleep2
meet = meet@lager

[logic@esc_lager_sleeper3]
active = sleeper3@esc_lager
какая-то команда = вызов функции

[sleeper3@esc_lager]
path_main = sleep3
meet = meet@lager[/code]

Так вот тут, где "какая-то команда", мне интересно, есть ли какие-то команды, после которых можно собственно делать вызов функции из скрипта?

(Хочу попробовать сделать, чтобы научить НПС на ночь или когда они идут к костру снимать каски, рюкзаки, противогазы).


Веду стримы по STALKER - ссылка у меня в профиле! Заходи, брат.
Нажми чтобы скачать мой Add-on for S.T.A.L.K.E.R.
Soble
    
Посты: 80
Откуда: от верблюда
Возраст:
18-12-2010 16:24 GMT3 час. #1399975   
Mister Blonde

можно ли из логики гулага сделать вызов какой либо скриптовой функции?

Можно

например
on_info = %=функция%



отредактировал(а) Soble: 18-12-2010 16:39 GMT3 час.

Смотри журнал
Черт бы побрал эту Зону, нигде от нее спасения нет. Куда ни
пойдешь, с кем ни заговоришь - Зона, Зона, Зона...
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
18-12-2010 16:29 GMT3 час. #1399979   
Mister Blonde

...вызов какой либо скриптовой функции

а про оверрайд on_info ={условие}%=имя_функции% или on_info = %=имя_функции% мы конечно ничего не слышали?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Deathdoor
    
Посты: 906
Откуда: Москва
Возраст: 47
18-12-2010 16:31 GMT3 час. #1399980   

# Arist :
потому как ерунду пишите
Это кастом_дата для живых НПС.

вы по прежнему упорствуете в своих заблуждениях.

мертвый сталкер отличается от живого всего одной строкой health = 0

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


# Arist :
erlik
Работает.Постараюсь быть внимательней.


как нетрудна заметить то, что написал erlik ничем не отличается от того, что написал я. как говорится, не на той стороне провода проблему ищите :sarcastic:

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


# Дядя Вадя :
Deathdoor ты правильно понял я хочу поменять экзу. Как мне это сделать?


1. если вам нужно оставить лицо Волка, то нужно переделывать модель
2. если нужно просто поставить вместо волка модель непися в экзе, то в файле character_desc_escape.xml (вроде так) в строке visual относящейся к Волку, приписываете путь до модели непися в экзе

отредактировал(а) Deathdoor: 18-12-2010 16:37 GMT3 час.

До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
999Geka666
    
Посты: 89
Откуда: Ижевск
Возраст: 34
18-12-2010 17:41 GMT3 час. #1400025   
Извиняюсь, но я все равно несмог найти ошибку в диалогах, пользовался инструкцией с сайта wiki "Создание квеста(полный разбор)", перепроверил своё творение с их инструкцией потом еще сам перепроверил, все вроде бы нормально, но вылетает при разговоре с неписем(((((
Может кто нить сможет посмотреть и подсказать в чем ошибка?


С понедельника не пью.... со следующего....
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
18-12-2010 17:54 GMT3 час. #1400031   
999Geka666
У тебя отсутствует секция 2. То есть:
У тебя есть диалог который начинается так:

...........................................
2 --ссылка на другую секцию(или как это называется)

А секции

...........................................

У тебя нет. Поэтому и вылет такой :)


Знание assembler, C/C++, Pascal, Lua.
Arist
    
Посты: 310
Откуда: Москва
Возраст:
18-12-2010 17:58 GMT3 час. #1400033   
Deathdoor

мертвый сталкер отличается от живого всего одной строкой health = 0

Возможно,но мертвяка я спавнил только а alife,как предмет,и он спавнился,а живого,как я думаю,надо обязательно прописывать и в way.Ну и с моим уровнем знаний,меня лучше всего ткнуть носом в простой пример.


999Geka666
    
Посты: 89
Откуда: Ижевск
Возраст: 34
18-12-2010 19:01 GMT3 час. #1400058   
Ma$ter нет, я проверил, там стоит на своих местах везде где должна

добавлено спустя 32 секунд


test_kvest_start


test_kvest_dialog_0
11


test_kvest_dialog_1
test_kvest_start


test_kvest_dialog_11
1
2


test_kvest_dialog_2




test_kvest_done
test_kvest_have
escape_dialog.have_kpk


test_kvest_dialog_done_0
1


test_kvest_dialog_done_1
escape_dialog.money_give_test
test_kvest_done
escape_dialog.give_kpk_to_sidor




test_kvest_have
test_kvest_start


test_kvest_dialog_npc_0
1


test_kvest_dialog_npc_1
test_kvest_have
escape_dialog.give_kpk_to_actor
2

test_kvest_dialog_npc_2
dialogs.break_dialog




отредактировал(а) 999Geka666: 18-12-2010 19:01 GMT3 час.

С понедельника не пью.... со следующего....
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
18-12-2010 19:21 GMT3 час. #1400066   
Ну семен семеныч.

test_kvest_dialog_npc_2
dialogs.break_dialog


Зачем два раза ? Чтобы наверняка закрылось:)? Один тут нужен.


Знание assembler, C/C++, Pascal, Lua.
999Geka666
    
Посты: 89
Откуда: Ижевск
Возраст: 34
18-12-2010 19:25 GMT3 час. #1400068   
без второго игра вообще не запускается в самом начале


С понедельника не пью.... со следующего....
Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
18-12-2010 19:42 GMT3 час. #1400080   
999Geka666
А перед разве не надо ставить)


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
18-12-2010 19:46 GMT3 час. #1400084   
999Geka666
Вот так выглядит правильно от

отредактировал(а) erlik: 18-12-2010 20:03 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
999Geka666
    
Посты: 89
Откуда: Ижевск
Возраст: 34
18-12-2010 19:58 GMT3 час. #1400089   
Спасиб всем, я уж с помощью Alex-San добился того чего хотел, кста, для сталкера я и пользуюсь Notepad++


С понедельника не пью.... со следующего....
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
18-12-2010 19:59 GMT3 час. #1400091   

# Struck :... если рядом нет стен и кривого террейна то лучше спавни от одной точки с рандомным расстоянием, а если есть стены или горки/ямы то тогда по кординатам лучше


Позволю себе не согласиться с тобой.
Моё мнение - по координатам.
И при чем в правильной дирекции.
Во-первых экономится время процессора на "поворачивамие" НПС в нужную точку, затем перемещение до неё (занимание места работы).
Во-вторых (например при загрузке того же сейва) не наблюдается ситуации, когда все появляются в одной точке и начинают идти к месту работы.
В некоторых (не буду указывать пальцем) модах это сплошь и рядом.
Некрасиво получатся, товариСЧи.

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


# 999Geka666 :...кста, для сталкера я и пользуюсь Notepad++


А если будешь пользоваться SсiТЕ, то будет ещё легче.

отредактировал(а) Gun12: 18-12-2010 20:20 GMT3 час.

Не стань номинантом премии Дарвина.
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
18-12-2010 20:48 GMT3 час. #1400117   
Вообще то я спрашивал про то как быстрей заспавнить много НПС: через секцию в спавне или через скрипт. Никто таких исследований не проводил?


Знание assembler, C/C++, Pascal, Lua.
999Geka666
    
Посты: 89
Откуда: Ижевск
Возраст: 34
18-12-2010 20:51 GMT3 час. #1400120   
Ma$ter
Сначала создадим тестовый скрипт например kfs.script,
пишем:
Вот как должно получиться:
function main()
spawn_npc()
end

function spawn_npc()
local spawn_point1 = vector():set(-226.2, -20.3, -158.4)
local obj = alife():create("esc_bandit_respawn_1",spawn_point1,28485, 48)
end

Теперь необходимо включить наш скрипт заходим в bind_stalker.script
где расположено: death_manager.init_drop_settings()
Под ней вводим нашу функцию kfs.main() где kfs это имя скрипта который мы назвали,
так всё теперь запускаем игру и смотрим.
Что бы расположить сразу несколько npc или монстров
просто под сторчкой делaйте несколькo копий вот так:
local obj = alife():create("esc_bandit_respawn_1",spawn_point1,28485, 48)
local obj = alife():create("esc_bandit_respawn_1",spawn_point1,28485, 48)
local obj = alife():create("esc_bandit_respawn_1",spawn_point1,28485, 48)
local obj = alife():create("esc_bandit_respawn_2",spawn_point1,28485, 48)
local obj = alife():create("esc_bandit_respawn_2",spawn_point1,28485, 48)


С понедельника не пью.... со следующего....
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
18-12-2010 20:59 GMT3 час. #1400126   

# Ma$ter :
Вообще то я спрашивал про то как быстрей заспавнить много НПС

Я не хочу казаться сильно заумным, но для каждого есть своя (пусть будет по-твоему) "быстрота"
Мне легче скриптом, тем кто не разбирается в скриптах - быстрее в олл.спавне.
Так что тут всё по Эйнштейну - относительно.
999Geka666
Я не стал читать весь скрипт, т.к. (я не знаю откуда ты это "содрал"), но на Luа так писать - это плохой тон. Лично я бы сказал больше... но чревато по правилам форума.
Я не спорю, может быть это всё (ИМХО безобразие) и работает, но... Работа работе рознь.

отредактировал(а) Gun12: 18-12-2010 21:10 GMT3 час.

Не стань номинантом премии Дарвина.
Mutantt33
    
Посты: 246
Откуда: МО
Возраст: 34
18-12-2010 21:14 GMT3 час. #1400135   
Как вставить в награду за один из боёв арены предмет (прописаны **5001b67681f3126adde4**fe_info("bar_arena_fight_5_weakened") then
m = 6000
else
m = 4000
end
[/code]


Веду стримы по STALKER - ссылка у меня в профиле! Заходи, брат.
Нажми чтобы скачать мой Add-on for S.T.A.L.K.E.R.
Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
18-12-2010 22:01 GMT3 час. #1400148   

# Gun12 :

# Ma$ter :
Вообще то я спрашивал про то как быстрей заспавнить много НПС

Я не хочу казаться сильно заумным, но для каждого есть своя (пусть будет по-твоему) "быстрота"
Мне легче скриптом, тем кто не разбирается в скриптах - быстрее в олл.спавне.
Так что тут всё по Эйнштейну - относительно.



Переведу. Какой спавн движок быстрее выполняет, скрипт или олспауном?
Имхо скритовом спавне движка всегда ощутимо вдупливает, к сожалению( Хотя скриптом мне больше нравится. Ковыряение олспавна - зло, мещающее совмещение модесрких фич.


Artos
    
Посты: 4176
Откуда:
Возраст: 65
18-12-2010 23:04 GMT3 час. #1400191   
Ma$ter, Alex-San
Можно ли сравнить скорость паровоза, автомобиля иль самолета?
Теоритически можно, но для че**5017b67681f3126adde4** sim = alife()
for i=1,5 do
sim:create("esc_bandit_respawn_1",spawn_point1,28485, 48)
end[/code] - может меньше 'вдупливать будет'?! ;-)

Из практики - в Симбионе во время выброса скриптом удаляются и спавнятся сотни аномалий ... для игрока это ощущается как почти незаметный лаг (время спавна ~0.3 sec).


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Deathdoor
    
Посты: 906
Откуда: Москва
Возраст: 47
18-12-2010 23:05 GMT3 час. #1400192   

# Arist :
Возможно,но мертвяка я спавнил только а alife,как предмет,и он спавнился,а живого,как я думаю,надо обязательно прописывать и в way.

ничего этого не нужно. Даже живому необязательно вей прописывать. Он заспавнится и сам пойдёт куда захочет. Все эти хитрости с логикой (вейпоинты нужны только для неё) необходимы только для сюжетных неписей и тех, которых вы хотите заставить что-то специально делать. Для обычного "ходока" достаточно самого факта спавна с минимуом записей :-)


До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
18-12-2010 23:33 GMT3 час. #1400214   

# Artos :
Ну а если у кого-то при скриптовом спавне 'ощутимо вдупливает' - то писать нужно крипты головою, а не ...


Обьясню вопрос подробнее, для пишущих головой а не рукам. При спавне через диалог, игра ощутимо вдупливает. Такая же фигня и у разрабов, например при сдаче квесту Лису по его защите от собак, эт когда Лис отсёгивает 1.5 тыр и выдаёт нычку в грузовике смерти. Хотя это и единственный пример в оригинале, но всё таки он есть.
Имхо это из того что спавн происходит в онлайне.


Artos
    
Посты: 4176
Откуда:
Возраст: 65
19-12-2010 00:18 GMT3 час. #1400248   
Alex-San
Разьясню еще раз, для думающих руками, а не головою:

1. Сам спавн (скриптом иль на старте из алл.спавна) - процедура ввода в игру объекта с некими параметрами. Объект спанится само собою в офф-лайне, т.е. на сервере!
Далее - если объект в он-лайне (должен быть переведен в него), то в соответствии с его конфигами/логикой и пр. игра объект активизирует. С самим способом спавна это никак не связано, если не считать координат/дирекции спавна и некоторых второстепенностей.
Т.о. активизация объекта в он-лайне (и временные затраты на это) практически одинаково присуща всем объектам, независимо от способа спавна.

2. Приведенный пример 'лагания при спавне скриптом в онлайне' ничего не имеет общего к спавну скриптом.
  а) Собаки, спавнящиеся при сдаче квеста Лису - как раз прописаны и спавнятся 'из алл.спавна'. Логика их гулага, держащая их в оф-лайне и активизирующая их при выдаче инфопоршня 'из диалога' никак не относится к 'спавну скриптом'.
  б) Из диалога выполняется кучка прекондишенов и соответственно действий - они то (их активность) и дают некоторый лаг.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
19-12-2010 00:59 GMT3 час. #1400271   
Mister Blonde

Как вставить в награду за один из боёв арены предмет (прописаны деньги)**5001b67681f3126adde4** then
даем предмет
end

и соответственно там, где надо в переменную m писать нужный предмет.
[/code]


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"


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


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

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