Парни какого х**а:ary() он не стоит на своём грёбанном месте, бегает блин больше чем обычные! (не знаю может быть он когда воюет- должен двигаться, но изначально я его спавнил чётко на вышке, по непонятным причинам на вышке (вышка маленькая зелёненькая) он не заспавнился, а заспавнился под ней- на базе возле барака, и когда я туда попал он начал сражаться и при этом ходил вообщем) Сингапур, посмотри пожалуйста, на предыдущих страницах я выложил скрины, там 5 скринов, скажи, всё привильно?:-) (ссори, что надоедаю с одним и тем же)
вот это еще поправь в логике
combat_ignore = combat_ignore --\ видимо стерлось буковка
кстати это без разницы куда ставить - обычно в самый верх либо в конец пишут
[smart_terrains]
none = true
и еще - сходи ка ты на вики на stalkerin.gameru.net
вот по этой ссылке
http://stalkerin.gameru.net/wiki/index.php/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
и там поройся в базе знаний - статьи в конце концов для кого пишутся?
singapur22
решил все таки откликнуться на просьбы народа о мобе-друге? :-)
Сложная однако работа...
...а я тут пытаюсь из неписей камикадзе сделать (без эвалюаторов) - спавню им после тотальной проверки по айди и расстояний до ГГ динамит в рюкзак , потом хитую -- но ниче не происходит.
одному неписю заспавнить (через обычную функцию) получается (не считая странного вылета после взрыва :-), а вот так как я хочу - никак.
И вопрос - можно делать выборку по айди только объектов на данном уровне(или так оно и происходит?) + из них выбирать айди только 5-10 случайных сталкеров, а потом им уже спавнить.
Это чтобы без проверки на расстояние обойтись.
вот таким методом пытаюсь сделать
local time_delay = 0
local time_delay2 = 0
local sobj_id = 0
local flag_boom = false
local flag_boom2 = false
function kamikadze()
if not flag_boom then
local actor = db.actor
local apos = actor:position()
for i= 1,65534 do
local obj = level.object_by_id(i)
if obj and IsStalker(obj) and
obj:relation(actor) == game_object.enemy and obj:alive() then
if obj:position():distance_to_sqr(apos) < 1600 then
local sobj = alife():create("bomba", pos, lv, gv, obj:id()) --\ спавним ему бомбу в рюказк
sobj_id = sobj.id --\ ловим ее айди
news_manager.send_tip(db.actor, "Внимание: сталкер-камикадзе, уходите и убейте эту собаку! ", 0, nil, 5000)
time_delay = time_global() --\ обнуляем таймер
flag_boom2 = true --\ включаем флаг для активации блока непись-камикадзе
flag_boom = true
end
if flag_boom2 then
if time_global() - time_delay > 3000 then
boom = level.object_by_id(sobj_id)
local h = hit()
h.direction = vector():set(0,0,0)
h.impulse = 15
h.draftsman = boom
h.power = 10
h.type = hit.fire_wound
boom:hit(h) -- \взрываем бомбу
time_delay = time_global()
flag_boom2 = false
else
time_delay = time_global()
flag_boom2 = false
flag_boom = true
end
end
end
end
end
end
flag_boom у меня по таймеру - каждые 10 секунд снова выключается (по крайней мере должен выключаться)
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Сингапур огромное спасибо за АСДС, всё работает, только как мне в нём освоить для начала всё, что знаю сейчас, тоесть спавн любых объектов, я надеюсь там спавн точнее?
Научи пожалуйста....:ye)
____ПЕРДУПЕРЖДЕНИЕ ЗА НИГРМАМАТНАЙЕ ПЕСЬМО!Мадиратар.
erlik Я же тебе уже говорил про таблицу db.storage. Данная таблица содержит данные по всем клиентским объектам, и только клиентским. Тоесть тем, которые находятся в онлайн. Индексы данной таблицы являются id этих объектов. Прогоняй её через in pairs, и делай выборку сталкеров в отдельную таблицу. В которой и будешь производить дальнейшие действия над ними.
На счёт камикадзе. Попробуй через дроп. Тоесть путём выбрасывания объекта из инвентаря, с последующей (сразу, пока летит) активацией взрыва.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
откуда мы знаем куда ты его положил и тому ли неписю прописал?
А тебе так тяжело взглянуть на понятные скрины и посмотреть? Я сколько раз просил? Знаешь ли ты такое понятие: "Как бескорыстная помощь людям?" Тоесть я разъясню: это когда ты с удовольствием делаешь добрые дела и после этого или до этого не в коем случае не думаешь о выгоде и уже тем более после помощи их не упрекаешь!:dry:
В данном случае ты должен уважать хотя бы тот факт, что я хочу чему-то научиться, и у меня есть стремление, ПРИ ТОМ: что я программированием и никогда в жизне не занимался и для меня слово "переменная" так же дико звучит как может быть для тебя "Маверанахра" и учитывая всё это ещё хочу, старюсь и пытаюсь учиться! И уже пониманию потихоньку, то чему вы меня научили.
И не надо грубить только потому, что тебе не нравиться тот факт. что я искренне верю, что есть добрые бескорыстные люди, которые обучат, помогут, разъяснят и именно поэтому так наивно пишу и жду (как тебе наверно показалось) помощи, и мне отвечали и спасибо им за это!
____ПЕРДУПЕРЖДЕНИЕ ЗА НИГРМАМАТНАЙЕ ПЕСЬМО!Мадиратар.
erlik
Твоим скриптом спавнится твоему камикадзе
и подрывается просто иза таймеров едо дело довольно долговато проходит ))
но работает
поточней что ты от него еще хочеш?
единственое что там нужно переделать проверку при спавне взрывчатого вещества
твоему камикадзе так как при загрузке уровня и если ты далеко а он в офлайне к примеру
и за время таймера ты к нему недойдеш можна схлопотать вылет
тбиш нужно поставить проверку на онлайн
отредактировал(а) manunj: 20-10-2009 22:06 GMT3 час.
function blabla()
clear_table (tbl)
for k,v in pairs(db.storage) do
local obj = level.object_by_id( k )
if obj and IsStalker( obj ) and obj:alive() then
table.insert(tbl, k)
end
end
end
Это выборка онлайн сталкеров в отдельную таблицу.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
А тебе так тяжело взглянуть на понятные скрины и посмотреть?
как мы должны понять по твоим скринам чё у тебя не так?
Я сколько раз просил?
столько раз тебе всё и разжовывали!
что я хочу чему-то научиться
тутор в руки и погнал!
--------------------------------------------------------------------------------------------------------
а вообще предлагаю таких людей в дальнейшем игнорить.
извиняюсь за оффтоп,но накипело..
erlik Вообще, способ через пробежку по полсотне тысячь объектов занимает не мало времени, и заметно тормозит систему. Происходит некое замирание в игре. Поэтому старайся обходить данный способ, другими доступными средствами.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
manunj
Понятно. Кстати ты ему гранату спавнил или что? у меня тока с моей бомбой сработало - граната не подрывалась...да еще вылет по стеку потом...может быть из за компа...
в общем буду делать по предложенному singapur22 способу - через онлайн таблицу сталкеров - буду запускать по таймеру допустим каждые 10 игровых минут скрипт выборки, потом выбранным сталкерам спавнить ВВ, и подрывать его при условии если ГГ рядом.
в общем еще надо додумать всю схему...
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Grayshotter Вся твоя проблема в том, что ты для снайпера используешь схему ремарка. Снайпер, это оверайд схемы кампера. И для его настройки, в любом случае придётся редактировать all.spawn, чтобы задать место сидки, и площадь осмотра. С твоими знаниями это будет сложно сделать. А объяснить ещё сложнее. Оставь эту затею на потом. Займись для начала изучением файла all.spawn. Пока не изучишь его конструкцию, работать над подобными схемами будет бессмысленно.
добавлено спустя 3 минут
erlik И в итоге, у тебя все сталкеры окажутся смертниками. Эдакий загон придурков-смертников, которые пытаются с собой унести на тот свет актора:-)
отредактировал(а) singapur22: 20-10-2009 22:22 GMT3 час. Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
почему все?
я же хочу из заполненной (после проверки) таблицы онлайн сталкеров делать выборку айди скажем десяти любых NPC и только им уже спавнить ВВ.
Если конечно это получится... разве нельзя сделать рандомную (или просто по порядку) выборку среди них десяти айди?
и заполнить еще одну таблицу? А уже по ней и делать смертников...
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Ты не понял. На локации, в общем счёте бывает в среднем около 50 сталкеров одновременно. И то это много для таких размеров локаций. Если каждые 10 минут выбирать даже 2 смертников, то через 2-3 часа, смертниками станут все. Както не логично, правда?:-)
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik Но это уже будет не рандомный выбор сталкеров. Поставь индекс таблицы на рандом, с записью в переменную. По которой в последствии будешь производить удаление из таблицы tbl как уже не нужную.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
вот блин - щас доперло почему у меня второй скрипт не работал - я же вообще забыл про переменные
pos, lv, gv которые взял из первого скрипта, но забыл им назначить значения во втором...странно что не вылетело :-)
добавлено спустя 5 минут
singapur22
на рандом попробую поставить...надо только щас сообразить как это верно сделать.
добавлено спустя 13 минут
в общем как то так
local n = 0 --\ или local n = nil
function name_2()
n = tbl[math.random(#tbl)]
for i = 1, 10 do
obj = level.object_by_id(tbl[n])
local sobj = alife():create("bomba", pos, lv, gv, obj:id())
sobj_id = sobj.id
table.insert(tbl_bomb,sobj.id)
table.remove(tbl, n)
end
end
отредактировал(а) erlik: 21-10-2009 00:38 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Можно сделать так чтоб через определёное время происходил запуск скрипта? Это делать через таймер? Как это делать ненадо мне рассказывать, потом как начну более глубоко скрипты изучать, узнаю. :-)
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.