erlik
У меня просто задумка, сделать когда актор берёт объект, появляются кабаны. Просто именно от позиции актора тут нужно указывать.
Спасибо что пояснил. :-) Вопрос #2:
Вот в игре есть спот, им ещё ферма выделяется. Так вот, эта метка указывает на объект или рекистор (поправте если неправильно)?
Слушай, а у тебя нет никаких моделей (типа вояк или ещё что-то)
и как сделать чтобы предмет использовался только когда весит на поясе???
В моём случаи этот предмет разгрузка.
отредактировал(а) Николай ФеНиКс: 18-03-2010 18:19 GMT3 час.
Вопрос #4:
Мне когда-то singapur22 отвечал в какую функцию в файле bind_stalker.script нужно ставить проверку на предмет в инвертаре. Не подскажите ли какая это функция, а то я тогда не сохранил, а сейчас искать, так вообще ничего не найти.
опять 125...
та же история упал кирпич НПС помер и воля:
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: ...w of chernobyl\gamedata\scripts\death_manager.script:139: attempt to index field '?' (a nil value)
добавлено спустя 3 минут
как найти эту 139 строчку???
считать влом...=)
лень даже.
добавлено спустя 3 минут
всё кажется понял
отредактировал(а) Николай ФеНиКс: 18-03-2010 18:35 GMT3 час.
Николай ФеНиКс блокнотом пользоваться не умеешь?(ктрл+г)
добавлено спустя 4 минут
Вот в игре есть спот, им ещё ферма выделяется. Так вот, эта метка указывает на объект или рекистор (поправте если неправильно)?
скорее всего гулаг...ну или объект
Мне когда-то singapur22 отвечал в какую функцию в файле bind_stalker.script нужно ставить проверку на предмет в инвертаре. Не подскажите ли какая это функция, а то я тогда не сохранил, а сейчас искать, так вообще ничего не найти.
drop\take записывать надо, а вообще проверка на объект делается методом db.actor:object и биндер актора к этому отношения не имеет(конечно смотря что нужно)
отредактировал(а) Struck: 18-03-2010 18:54 GMT3 час. Снова в строю.
Николай ФеНиКс
А в Notepad++ все строчки помечены числами.
моделей нет.
проверка предмета на поясе не простая штука - нужно делать итерацию всего инвентаря, а затем как то отсекать то что находится в рюкзаке. готового метода для пояса не существует.
Сталкер Монолита
зачем в бинд сталкере если проверка делается простым
if db.actor:object("объект") then
а в function actor_binder:on_item_drop (obj) отслеживается выбрасывание предмета из инвентаря
либо в function actor_binder:on_item_take (obj) его подбор в инвентарь.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
т.е. много писанины и толку мало...???
ладно тогда как сделать чтобы разгрузка работала нормально?
А то используешь и из инвентаря не выйти пока не закроешь разгрузку.
добавлено спустя 27 секунд
Struck
да вроде как умел...&P
отредактировал(а) Николай ФеНиКс: 18-03-2010 19:01 GMT3 час.
Николай ФеНиКс
не знаю что у тебя в строчке 139 - у меня там стоит определение кол-ва предметов для спавна в труп
local number = math.ceil(math.random(count_by_level[k].min, count_by_level[k].max))
причем предварительно там определяется группировка NPC которому надо лут заспавнить
- и если у тебя вылетает на этом моменте значит не так вписал свой ранг в таблицы статистики.
Не понял что за разгрузка и что она делает...
можно ведь обойтись без проверки есть ли предмет на поясе если делать активацию нужного тебе действия на момент использования самого предмета.
в общем не понял я тебя...
проверка использования предмета
local item= nil
ставим вызов на апдейт
function use()
if item and type(item) == "number" then
if not level.object_by_id(item) then
активация чего надо
спавним обратно
alife():create("объект", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
end
item = nil
end
if itemand type(item) == "userdata" then
item = item:id()
else
item = nil
end
end
--эту функцию вызываем из функции дропа в бинд сталкере имя_файла.drop_item(obj)
function drop_item(obj)
if obj:section() == "наш предмет" then
item = obj
end
end
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik если делать разгрузку, гораздо лучше выйдет через картинку Николай ФеНиКс а ты что именно хочешь сделать?...то есть "если в разгрузку засовываешь всё барахло то оно юзается, или нет"
Struck
ничего не надо засовывать в разгрузку...
её используешь просто и весь вес распределяется, например в под распределение попадают аптечки бинты и стволы.
вот и всё.
всё это работает, но из инвентаря не выйти... приходится выходить и из разгрузки.
добавлено спустя 1 минуту
FLIKER
...переходы на локации...
это и есть Level changer's!!!
я больше не знаю какие переходы существуют на локациях.
добавлено спустя 3 минут
Struck
походу я разобрался!=)
объекты просто напросто не юзались, они были не прописаны!&P
ну как всегда стоило только натолкнуть на мысль...
отредактировал(а) Николай ФеНиКс: 19-03-2010 17:39 GMT3 час.
Итак, назрел вопрос: Как правильно и лучше всего подробно прописать НПС логику, шоб он ходил между двумя точками и никуда с поста не девался, а другому неписю, чтоб он сидел у костра и наоборот ничего не делал, а сидел и глушил водку. Заранее благодарю! Но пожалуйста - опишите поподробнее, а то я тут нуб нубом, тока начал в модмейкерстве разбираться &P
добавлено спустя 1 час 30 минут
Вопрос номер 2: Я спавню своего чувака, в общем, всё получается, бла бла бла... Вот тока у них у всех - мания тупизма. Каждый мой заспавненный на Кордоне НПС считает своим долгом надо мной поиздеваться и через весь Кордон, где бы он ни находился, бежать в деревню новичков в домик, куда потом забегает Толик после того, как его вылечишь. Что делать?:-(
добавлено спустя 27 минут
Так, вопрос отпадает, я разобрался - всё из-за гулагов. Если их спавнить в других лагерях, то они всё равно ходят туда, где по идее могут стоять сталкеры. Но тогда зреет вопрос - как делать свои гулаги и прописывать места, где бы мои чуваки стояли?
отредактировал(а) Rot 999: 20-03-2010 22:05 GMT3 час.
Mak1 Версия игры какая?
Диск не обизателен нон сиди джля этого есть.
На все версии могу дать.У меня игра тож лицензионныя и есть еще все патчи официальные и нон сиди к ним.Так что пиши в личьку ссылки дам.
if htime == 1 and level.get_weather("default") then
db.actor:hit(h2)
db.actor:hit(h2a)
end
if htime == 12 and level.get_weather("default") then
db.actor:hit(h1)
end
if htime == 16 and level.get_weather("default") then
db.actor:hit(h1)
end
if htime == 17 and level.get_weather("default") then
db.actor:hit(h2)
db.actor:hit(h2a)
end
end
функция как бы предназначена для дождя... ну хим. дождь. и радиационный дождь...
Николай ФеНиКс
потому что ты получаешь погоду(к тому же неправильно), а не проверяешь какая она есть на данный момент.
у метода get_weather() (если буквально перевести - получить погоду) - вообще нет аргументов так как он возвращает текущую погоду. (Судя по lua_help)
то есть проверку надо делаеть так
if level.get_weather()=="default" then
действие
("default" - имя погоды - другие имена - stancia, radar,yantar,surge_day и т.д.)
Впрочем насчет метода не уверен так как он нигде не используется в геймдате.Вместо него парсится секция в погодном конфиге .
а для тебя лучше сделать изменение погоды методом set_weather(string)
level.set_weather("rain") и получишь дождь в указанное в скрипте время.
ЗЫ: вместо if ....then
end
if ....then
end
правильней использовать конструкцию
if ...then
elseif ....then
elseif ....then
меньше end-ов будет так как закрывать условный оператор elseif (также если - выполняется если не выполняется предыдущее условие ) не нужно. В конце можно поставить прописать действие для того случая когда не выполняется ни одно из условий действие пишется после оператора else (также - выполняет действие когда не выполняется ни одно из условий в скрипте).
отредактировал(а) erlik: 21-03-2010 14:33 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Дождевой Я не поня точно что именно ты имееш в виду. Версия лицензионки какая плюс все патчи их там сколько гдето 10 вроде так. А наверно ты имел в виду АМК, Арсенал, Sca,Зона поражения и т.д Так? Игде личька?
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.