Народ подскажите как быть и что надо исправить:
когда я в файле esc_spawn.script:
function spawn_zombies6( position, total )
local zombie_index
local new_pos, x_offset, z_offset
logf("start adding zombies")
for zombie_index=1, total do
x_offset = math.random(40)-20
z_offset = math.random(40)-20
if( x_offset < 2 and x_offset > -2 ) then
x_offset = -2
end
if( z_offset < 2 and z_offset > -2 ) then
z_offset = -2
end
--' Relative to the player position
new_pos = position
new_pos.x = new_pos.x + x_offset
new_pos.z = new_pos.z + z_offset
new_pos.y = new_pos.y + 5
alife():create("flesh_v_strong",
new_pos,
194227 ,
168 )
logf("zombie created")
end
end
function flesh_bridge( actor, npc )
logf("flesh_bridge() called")
--'После получения спецзадания у Сидоровича за мостом спаунятся сильнaя плоть
local spawn_point = vector():set( -76.0403, 2.1315, 214.7514 )
spawn_zombies6( spawn_point, math.random(30) )
logf("flesh_bridge() completed")
end
пишу за место flesh_v_strong - zombie_v_strong (появляются 30 зомби ивсе норм идет)
то доходя до Свалки при загрузки быстрого сохр. вылетает с ошибкой:
Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:614: attempt to concatenate field '?' (a nil value)
Помогите чем можете - это последнее что осталось сделать для хорошего мода......
#Artos :...
А стОит ли тревожить all.spawn без особой нужды?...
Письменное изложение собственных мыслей не всегда соостветствует таковым.
Что и проявляется в неправильном понимании окружающими.
Извиняюсь. Это результат стабильной тройки по русскому языку и литературе.
Я и врагу не пожелал бы писать логику в алл.спавн.
Спрашивал про этот файл по той причине, что если вводить нового перса в гулаг, нужно изменить вместимость смарта.
А знаниями, позволяющими сделать это скриптовым способом, я (как ни печально) не владею.
Хочу сделать что бы Псевдогиганта было очень сложно убить, хотябы обойм пять в него разрядить. Я прописываю ему Health просто огромный, а он как убивался с одной обоймы, так и убивается. Че я не так делаю?
Я – хозяин своей судьбы, но только судьба знает, где закончится мой путь.
snake 666
Едва ли дело в этом конкретном скрипте. Если он спавнит нормально - значит с ним все норм.
что находится в строчке 614 файла bind_stalker твоего мода?
Если такой строчки там вообще нет - (что я и подозреваю) - то есть большая вероятность что проблема в том что в твоем моде были использованы файлы от одного патча, а игра тестируется\играется на другом. У меня так было - на 4 четвертом патче скрипты работают(файлы с оригинала с геймдаты распакованной игры на 4 патче) , а на пятом или шестом уже нет - тоже был вылет либо при перезагрузке либо сохранке - и в логе указание на несуществующую строчку в одном из файлов.
TheDoktor
а иммунитеты кто менять будет в секции [giant_immunities]?
Также в секции [m_giant_damage] указаны имена костей и в первом ряду параметров указаны коэффициенты на которые умножается хит при попадании в данную кость - там стоят единички в основном (в оригинале) - отсюда простая математика - еcли хит равен 1 то умноженный на единицу он так и остается равен 1 , а если 1x0,5 то имеем в итоге 0.5 - сила хита уменьшается вдвое, а значит здоровье особи вдвое меньше подвергается ущербу. Третий ряд параметров - коэффициенты для изменения силы кровотечения - можно не трогать.
alejko666
вызови чистильщика локаций :-)
PS был такой скрипт у камрада singapur22 - но он его вроде как удалил из своего журнала.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
TheDoktor
в файле gamedata\config\creatures\m_giant.ltx
есть его иммунитет ко всему
[giant_immunities]
burn_immunity = 0.3 ;коэффициенты иммунитета
strike_immunity = 0.3
shock_immunity = 0.3
wound_immunity = 0.01 ;0.1 ;0.30 ;1.0
radiation_immunity = 0.01
telepatic_immunity = 1.0
chemical_burn_immunity = 0.05
explosion_immunity = 0.3
fire_wound_immunity = 0.05
добавлено спустя 7 минут
(немножко похвастаюсь)
в игре есть три тпа потронов 9.18
я восстановил третий тип В)
кто пробовал?
добавлено спустя 5 минут
еще вопрос:
в игре есть два типа FN2000
1 FN2000 которую вы все видели на ЧАЭС
2 FN2000 какогото старого обзазца, такой нигде нет.
дело вот в чем: я восстановил старую FN2000! но есть одна проблема: когда ее беру в руки она выглядит так же как и новая модель, а если в чужих руках или на земле лежит-выглядит как старая модель...
как исправить вид новой в руках на старую???
отредактировал(а) alejko666: 29-04-2010 11:40 GMT3 час.
Я и врагу не пожелал бы писать логику в алл.спавн.
А на мой взгляд прописать логику для чего угодно в АллСпавн гораздо удобнее чем ковырять несколько файлов.
Например: Камрад Сингапур22, написал скрипт, который позволяет создавать из различных элементов аномалий свою собственную и спавнить через скрипт. Так вот. Я в целях эксперимента прописал просто логику в АллСпавн и что... Результат тот же, но без использования скрипта Сингапура22 и прописывания в Ltx файлах.
Так что АллСпавн разрабами предуман не зря. Конечно это настоящий геморой если делать мод и выпускать его версиии 0,01 потом 0,02 и т.д., а так очень даже удобная вещь.
И на тему, что удобней скрипт или АллСпавн я могу привести много примеров что АллСпавн на много удобней.
--------------------------------------------------------------------------------------------------------------------------------------- У меня вопрос по таймерам. Знаю уже обсужналось много раз. Насколько я понимаю таймер должен постоянно апдейтиться в Бинд_сталкере, но возникает необходимость зделать задержку в моем случае до взрыва.
Вот что у меня выходит.
------Подрыв бомбы по таймеру-------------------------
local obj_id = 0
local pos = 0
local boom_obj = 0
--local time0 = 0
local tim_af = level.get_time_minutes()
local sch_af = 0
function test1() --Ставим в Бинд-сталкер
if tim_af ~= level.get_time_minutes() then
if sch_af == 5 then -- Спавн через столько минут игрового времени
this.spawn_bobm()
sch_af = 0
else
sch_af = sch_af + 1
end
tim_af = level.get_time_minutes()
end
end
function spawn_bobm()
local pos = db.actor:position()
local dir = db.actor:direction()
pos = pos:add(dir:mul(2)) ---- растояние спауна (подрыва)
local objbomb = alife():create("bomba", pos, db.actor:level_vertex_id(), db.actor:game_vertex_id())
obj_id = objbomb.id -- id объекта после создания
news_manager.send_tip(db.actor, "Спавним бомбу", 0, nil, 5000)
-------
time_delay = time_global()
if time_global() - time_delay > 10000 then -- задержка
news_manager.send_tip(db.actor, "Детонируем бомбу", 0, nil, 5000)
----
local boom_obj = level.object_by_id(obj_id)
pos = boom_obj:position()
local h = hit()
h.direction = vector():set(0,0,0)
h.impulse = 10
h.draftsman = boom_obj
h.power = 10
h.type = hit.fire_wound
boom_obj:hit(h) -- \взрываем бомбу
end
time_delay = 0
-------
end
--\ функции сохранения значений переменных
function save_variable(p)
p:w_u16(obj_id)
end
function load_variable(r)
obj_id = r:r_u16()
end
Как сделать так что бы бомба взорвалась через 10 секунд после спауна. Знаю можно сделать отдельный таймер и тоже биндить его, но этот вариант не совсем подходит.
alejko666
Ты в конфиге писал какую модель ХУДа использовать?
Если да, то я даже не знаю...
___________________________________
А теперь вопрос: я надыбал худ и модель губной гармошки можно сделать чтобы от первого лица играть, надо только каким то способом это осуществить. как мыслите, если по аналогии с оружием, работать будет?
отредактировал(а) Germess: 29-04-2010 12:58 GMT3 час. МАГАЗИНЧИК Гермеса в моем журнале - оружие на выбор!
на счет гармошки нэнаю... если есть худ то это не значит что она будет работать так же как и оружие. скорее всего:залезаеш в рюкзак, двойной клик по гармошке, и свистиш... или же нужно еще один слот для гармошки (или нож выкинь-гармошку поставь)
А теперь вопрос: я надыбал худ и модель губной гармошки можно сделать чтобы от первого лица играть, надо только каким то способом это осуществить. как мыслите, если по аналогии с оружием, работать будет?
alejko666
скрипт по чистке локаций то я нашел - только там увы убираются лишь трупы.
А вот как это с оружием сделать - есть теоретический вариант - по таймеру запускать скрипт проверки всех 65 тысяч объектов игры - и **50016ea8aab1bb10eeba**
отредактировал(а) erlik: 29-04-2010 13:10 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
это зничит: чтобы очистить всеоружие лево-надо перезайти в игру???
:prankster:
так дело не пойдет...
а что если попробовать тот же убиральщик трупов использовать на оружии с определенными id (в данном случае с 65535)
blackraven6 Это подозрительно странно. Я не компилил новую локацию. Я в OGSE пробовал всунуть новый пак локаций, SMP 1, и что интересно, то что в любой другой мод идет без проблем. Т.е будь АМК, или что, новые локации работают. А тут, точки перехода всунул, game.graph положил, кстате его в ОГСЕ нет, поэтому почему вылет... Я ХЗ
alejko666
ты сначала это проверь - грузишь игру и смотришь - если гор оружия нет - значит работает.
Когда оно снова накопится - по мере игры, то при новом запуске опять удалится.
Таймер делать мне пока неохота...
а тот скрипт нужно конкретно переделывать под оружие (позже попробую).
так что проверь этот сначала - так как если метод alife():release(obj, true) не работает на серверных объектах (в этом случае будет вылет) то придется писать его только под клиентские - которые в онлайне находятся.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Сеня Психопат
1 как вступил на армейские склады-подождеш пока долг троих свободовцев перестреляет. потом с ними договоришься что ты типа нече не видел... бежиш вк свободе, главному доложиш что там-то отрят долга,-потом соберетса команда из свободовцев и ты вместе с ними. пойдете долговцев валить (тебе их валить необязательно-можеш просто сходить посмотреть чтобы долг выдох) когда вернешься после боя с долгом к свободе, то еще через пару или одно задание, главарь предложет тебевступить в их банду. вот и все!
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.