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

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

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









Автор Сообщение
Artos
    
Посты: 4176
Откуда:
Возраст: 65
06-08-2011 18:49 GMT3 час. #1508929   
Не претендуя на 'абсолют', а **5001618d69873ce82a42**

отредактировал(а) Artos: 06-08-2011 18:54 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
06-08-2011 19:23 GMT3 час. #1508937   
Artos твой вариант выбрасывает, но я не могу к нему прикрутить подсчет, он у**5001618d69873ce82a42**
autoweapon = autoweapon+1
if autoweapon > 4 then
Drop_Items(db.actor,v)
end
end
end[/code]


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 65
06-08-2011 20:00 GMT3 час. #1508945   
Struck
А думалка на что? Дана только рабочая заготовка, а у


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
06-08-2011 21:34 GMT3 час. #1508994   
**5001618d69873ce82a42**


Тут я пытаюсь сохранить все итемы в таблицу, а потом их удалить из инвентаря, верно?


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 65
06-08-2011 22:59 GMT3 час. #1509026   
Struck
Ты написал глупость, как относительно кодов, так и коммента к нему.
В кодах при каждой(!) итерации ты запихиваешь в табличку и тутже(!) в этом же цикле итерации удаляешь объект.
Что же ты подразумеваешь под 'потом'? Тебя же singapur22 уже предупреждал о недопустимости удалять предметы в самом процессе итерации по инвентарю и тут же наступаешь на эти грабли да еще и не видишь этого.
Да и вообще для чего сохрагять в таблицу объета предметов и что иное от них, если эти объекты тут же удаляешь из игры? Тут ни логики ни разума ...


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
06-08-2011 23:32 GMT3 час. #1509041   
Artos не-не-не, это уже другой, отличный от предыдущего код.

Мне нужно запомнить все итемы которые были у актора в табличку, затем удалить их. Или тут опять надо использовать 'метку'?

Т.е. у меня опять та же ошибка?


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 65
06-08-2011 23:36 GMT3 час. #1509045   
Struck
Ты читать по-русски можешь? Написано:

В кодах при каждой(!) итерации ты запихиваешь в табличку и тут же(!) в этом же цикле итерации удаляешь объект.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
06-08-2011 23:51 GMT3 час. #1509051   
Artos попробую на базе тво**5001618d69873ce82a42**()), true)
end
end
,db.actor)[/code]


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 65
07-08-2011 00:28 GMT3 час. #1509063   
Struck
Поясни мне дураку, что тебе требуется от таблицы, в которую хочешь запоминать что-то об удаляемых у актора предметах? Какова ее цель, что далее ты собираешься с ней (с тем что она должна включать в себя) ты намерен делать?
Только после ответа может быть далее предметный разговор и пояснялки.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
07-08-2011 01:06 GMT3 час. #1509069   
Artos мне надо запомнить 'ассортимент' актора, и удалить его 'на время', потом по условию возвернуть его актору.

Ну не знаю, можно это расценивать как сдал на хранение кому-либо, идея другая, но смысл примерно такой. То есть, запоминаем, удаляем, возвращаем.


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 65
07-08-2011 02:27 GMT3 час. #1509071   
Struck
Мда-а-а, т.е. все что было понаписано - игра в куличики ... слепил-сломал-забыл ...
1. Про ошибки:
а) Бессмысленно запоминать объект или его игровой идентификатор, если этот объект тут же удаляется из игры. Воспользоваться запомненным объектом не получится (его уже нет), а идентификатор уже или свободен иль даже присвоен совершенно иному объекту.
б) Изъять предмет и позже вернуть - это совершено не то, ч**5005618d69873ce82a42**
local oActor = db.actor
  oActor:iterate_inventory(
    function (dummy,oItem)
    if true then --/ тут 'true' какие-либо доп.условия изъятия
local soItem = alife():object(oItem:id())
if soItem and not oActor:marked_dropped(oItem) then
table.insert(tItems, oItem:section()) --/ запоминаем секцию
      oActor:mark_item_dropped(oItem)
      oActor:drop_item(oItem) --/ не обязательно делать, но не помешает
      alife():release(soItem), true)
end
    end
    end
  ,oActor)[/code]
Имея список - по нему и возвращаешь спавном актору предметы. Но(!) список динамический и после перезапуска игры с вохранки - ничего не вернешь!


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Миха74Rus
    
Посты: 95
Откуда: Сатка сити
Возраст:
07-08-2011 03:04 GMT3 час. #1509074   
1-подскажите пожалуйста, как можно создать скайбокс нормальный (без полосок) и без майи) на нее просто файлика нету который в туторе указывается SkyRoom.mb нужен но он удален с сервера( помогите а? в долгу не останусь!
2-еще может кто знает где можно взять цветовую схему реалистичного освещения ночью вечером и утром в формате RGB естественно!
3-где взять норм скайбоксы в стиле фентази?
4-и текстуры гнилого кирпича готовые


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
07-08-2011 03:15 GMT3 час. #1509076   
Struck Мдааааа. Начал с дропа лишних предметов, .... а закончил перемещением всех предметов на хранение. Извиняй, но при таком разгуливании условий похотелки, никакой токовой помощи ты не дождёшся. Да и у пытающегося тебе помочь, только отбиваешь желание, вообще читать твои посты.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Struck
    
Посты: 1946
Откуда:
Возраст:
07-08-2011 10:29 GMT3 час. #1509107   
Artos singapur22 не, не, это уже другая 'похотелка', из той я уже все сделал что мне надо, перешел к следующей.

Artos и как тогда поступить, создать за пределами игровой зоны тайник, и оперировать с ним? Или я где то читал твой пост, о том что ты сделал "невидимый" ящик который по всей карте "преследует" ГГ...или привидилось?:-) Так как почитав предыдущие страницы топика, сделал вывод что работать лучше всего трансфером между ящиком в котором все запомнится.


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

l
Angel from Hell
    
Посты: 23
Откуда: Гомель
Возраст: 28
07-08-2011 10:34 GMT3 час. #1509111   
Я хочу задать простой вопрос. Как можно вбить значение одной переменной в два разных скрипта, ко**5007618d69873ce82a42**e]
function CaptureTechProfile(first_speaker,second_speaker)
tech_profile = second_speaker:profile_name()
end
[/code]
Она должна запомнить профиль НПС, с которым я разговариваю в данный момент. Впринципе, это она и делает, проверял.
Но сразу после этой функции вызывается другой скрипт, точнее класс
class "repair_dialog" (CUIScriptWnd). Но при попытке вызова переменной tech_profile внутри тела этого класса - игра не может прочесть значение этой переменной и вылетает. Значит не все так просто. Помогите пожалуйста.


Труд свободных скриптеров-любителей тяжел и утомителен, полон ошибок и багов, но в то же время интересен, захватывающ и благороден.
Upgrades mod build 1.006 готов. В журнале есть новое видео.
Подробнее в журнале.
Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
07-08-2011 12:46 GMT3 час. #1509215   
Смотри:
Что бы сделать функцию доступной для других функций в этом скрипте ее просто нужно вынести за пределы функции. Вот так:
local tech_profile = ""
function CaptureTechProfile(first_speaker,second_speaker)
tech_profile = second_speaker:profile_name()
end

А что бы получить ее из других функций нужно делать так:
function get_tech_profile()
return имя_скрипта_с_переменной_tech_profile.tech_profile
end


Знание assembler, C/C++, Pascal, Lua.
СуперМодер
    
Посты: 16
Откуда:
Возраст:
07-08-2011 14:08 GMT3 час. #1509266   
Всем доброго времени суток. Назрел вопрос. В лаборатории Х-16, в колбе с мозгом есть статические партиклы (пузыри), я их сделал динамическими (зависят от состояния главного рубильника (вкл/откл)). Методом проб и ошибок установил, что для спавна партиклов им для чего-то требуется точка пути (path). Пришлось задеть алл.спавн, чего бы очень не хотел... Cобственно пара вопросов:
1. Объясните для чего партиклам нужна точка пути?
2. Что такое 'mode'? Ставил 0,1,3 и вообще без режима - получал вылет по _g.script.
3. Зачем нужен параметр 'looped'? Без него и так всё прекрасно зацикленно.
4. Можно ли при помощи скрипта заспавнить точку пути, если можно, то поделитесь готовым кодом, тк в языках программирования я не шпрехаю :)

скрипт:

local obj=alife():create('space_restrictor',vector():set(0,0,0),0,1530) --координаты до звизды, нужен только gv
local ps=amk.get_restrictor_data(obj)
ps.custom = '[logic]\n'..'active = sr_particle\n'..'[sr_particle]\n'..
'name = anomaly2\\mozg\n'..
'path = yan_mozg_particle\n'..'mode = 2\n'..'looped = true\n'..
'on_info = {+yan_labx16_switcher_primary_off} sr_idle\n'..
'[sr_idle]\n'..'on_info = {-yan_labx16_switcher_primary_off} sr_particle\n'
amk.set_restrictor_data(ps,obj)

алл.спавн:

[yan_mozg_particle]
points = p0
p0:name = wp00
p0:position = -45.31,19,-12.31
p0:game_vertex_id = 1530
p0:level_vertex_id = 1717


Artos
    
Посты: 4176
Откуда:
Возраст: 65
07-08-2011 15:36 GMT3 час. #1509289   
Ma$ter
Не вводи в заблуждение.
Локальная переменная из скрипт-файла НЕ будет возвращена строкою:
  return имя_скрипта_с_переменной_tech_profile.tech_profile

Возвращаются значения такими строками только глабальных переменных, т.е. вынесение переменной из самой функции требует НЕ указывать 'local', а объявлять переменную глобальной для данного скрипт-файла.

Angel from Hell
Советую взять мануал по LUA и почитать часть, касающуюся области видимости переменных.
Расписывать и перепевать тут то, что расписано в мануале достаточно подробно и с примерами - нет смысла.

Если после прочтения останутся вопросы - их и можно задать и уточнить непонятки.


СуперМодер
В данном конкретном случае вы используете объект (рестриктор) и САМИ прописываете ему логику.
В логике задаете схему [sr_particle], использование которой требует задания некоторого набора параметров.
Посмотрите саму схему (sr_particle.script) и станет понятно и требование пути (для проигрывания партиклов по точкам) и параметра 'mode' (одиночная точка или цепочка), и 'looped' (зацикленность по точкам) и пр.

К сожалению, скриптами заспавнить путь (даже одну точку) невозможно. Движек читает их только из all.spawn'а, поэтому придется обязательно добавлять туда. Но(!) добавление/изменение пути НЕ требует начала новой игры и воспринимается корректно любым сэйвом. Так что это можно делать 'на лету'.

отредактировал(а) Artos: 07-08-2011 16:07 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
07-08-2011 16:20 GMT3 час. #1509299   
А в ТЧ есть итерация для ящиков(тайников)?


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

l
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
07-08-2011 16:27 GMT3 час. #1509305   
Struck
Нету. Используя parent_id, можно попробовать получить предметы, находящиеся в ящике.


Новые фишки для сталкера(см. журнал)
Artos
    
Посты: 4176
Откуда:
Возраст: 65
07-08-2011 16:32 GMT3 час. #1509309   
Struck
Правила топика требуют ознакомления с предыдущими постами/ответами.
Кто-то конечно этим пренебрегает ..., не понимая, что доля их же пренебрежения начинает распространяться и на них самих и на их вопросы.
Делай выводы ...


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
DmBorn
    
Посты: 2007
Откуда: Москва
Возраст: 28
07-08-2011 17:21 GMT3 час. #1509330   
Не локации "Бар" при убийстве любого сталкера (даже враждебного) меня признают "врагом народа". Подскажите, какой скрипт отвечает за это.


Artos
    
Посты: 4176
Откуда:
Возраст: 65
07-08-2011 18:00 GMT3 час. #1509344   
DIFx
За подобное, о чем спрашиваешь, отвечает далеко не один скрипт. В конфиг-файлах задается логика. Эта логика в зависимости от ситуации обрабатывается, например, в xr_logic.script. Результаты передаются различным схемам, которые так же по ситуации могут выдавать например и некие инфопоршни. Получив/обнаружив такие инфопоршни различные скрипт-файлы могут выаолнять различные условия/действия.
Загляни например в 'xr_effects.script' в 'function bar_territory_logic(...)' - это один из примеров отработки условий, когда гулаги (и соответственно их члены) становятся враждебными к ГГ.
Изучай и разбирайся далее сам, дабы не повторятся неоднократно в аналогичных ситуациях, коих немало в игре.

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

P.S. Не оставляй в топиках пустых, неинформативных сообщений.
Спасибкам, понималкам и пр. подобным частностям место в лучшем случае в ЛС.

отредактировал(а) Artos: 07-08-2011 19:20 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
07-08-2011 19:20 GMT3 час. #1509388   
Artos возвращаясь ко вчерашнему вопросу...


Есть какой то рациональный способ сравнения объема и количества сразу для нескольких видов? Т.е. в одну функцию засунуть к примеру 6 аптечек и 8 бинтов.

Вот как я думаю...опять он у меня каждый бинт выкидывает, а на аптечки никакой реакции

отредактировал(а) Struck: 07-08-2011 20:14 GMT3 час.

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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 65
07-08-2011 19:34 GMT3 час. #1509391   
Struck

1. Грубая ошибка/оплошность применения 'elseif sec == "bandage" ...'.
Именно по причине таких неочевидностей и на**5001618d69873ce82a42** oNPC:drop_item(oItem)
end
else
iCnt = iCnt +1
iCnt2 = iCnt2 + 1
end
end
,oNPC)
end
[/code]

И я бы посмотрел - не удобнее ли использовать классы ...

отредактировал(а) Artos: 07-08-2011 19:55 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Struck
    
Посты: 1946
Откуда:
Возраст:
07-08-2011 19:36 GMT3 час. #1509393   
Artos ошибку понял, о каких классах ты говоришь?


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

l
Artos
    
Посты: 4176
Откуда:
Возраст: 65
07-08-2011 19:49 GMT3 час. #1509398   
Struck
Все медикаменты и их порождения имеют 'clsid.obj_medkit'. Т.о. если ты не специально забыл про научную аптечку и не имеешь в моде порождений на базе аптесного класса, которые не следует учитывать - самое то использовать проверку не по секции, а по единому для них классу.
Бандаж также имеет 'clsid.obj_bandage' ...
А проверка условий сравнения чисел всегда быстрее, чем построчное сравнение ...
Но это уже из области оптимизации и на начальных этапах для имеющих недостаточно опыта - менее читабельно ...


P.S.
Прекращай задавать азбучные вопросы!

Если ты посмотрел в одном месте - почему из этого следует вывод об отсутствии нужной информации для ответа в другом азбучном месте?
1. Азбука для модмейкера - lua_help.script
2. Взглянув на конфиги аптечек и бандажа можно по строкам:
  class = II_MEDKI
  class = II_BANDG
сделать самостоятельный и однозначный вывод о "один ли класс у объектов?".
3. В своем ответе выше я даже привел конкретные наименования для классов и аптечек и бандажа (их табличные эквиваленты). Что мешает прочитать написанное и переварить в голове??? :st)

Совет: Перечитывай даваемые тебе ответы (и не только их) по нескольку раз и внимательно!
Я, например, часто НЕ даю однозначных ответов, а применение '...' (многоточия) - часто означает о необходимости сделать паузу и пошевелить извилинами, дополнив текст по-своему усмотрению.

отредактировал(а) Artos: 08-08-2011 00:47 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Albus
    
Посты: 1
Откуда:
Возраст:
07-08-2011 22:10 GMT3 час. #1509436   
Может и не в тему, но интересно.
Нашёл способ завалить Бармена без модов.
1. Спускаемся в бар, останавливаемся перед охранником, выбрасываем все патроны (не забываем предварительно разрядить наше оружие).
2. Выходим наружу (у нас должен появиться наш ствол без патронов).
3.Бежим вниз, при этом как можно быстрее щёлкаем разряженным оружием (не всегда получается с первого раза).
4. Заходим в бар, подбираем наши патроны и веселимся!

К слову, Бармен выдерживает выстрел из Грома в голову в упор! По моему, это рекорд пулестойкости.

P.S. Так же можно пробраться и к Сидоровичу, но он бессмертен.


Ma$ter
    
Посты: 477
Откуда: Tamboff
Возраст:
07-08-2011 23:17 GMT3 час. #1509450   
Никто не подскажет название анимации, когда НПС стреляет в другого нпс? Нужно для квестовой сцены, когда убивают пленника


Знание assembler, C/C++, Pascal, Lua.
karavan
    
Посты: 940
Откуда:
Возраст:
08-08-2011 00:09 GMT3 час. #1509463   
Ma$ter
threat_fire - это стоя стреляет в точку look. Как направляюшая точки стрельбы соответственно путь.
guard_fire - это тоже стреляет постоянно, но как-то в сторону.
hide_fire - ведет огонь в присяди.

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

DIFx

А можно узнать, что смешного в вопросе Ma$ter`a?

отредактировал(а) karavan: 08-08-2011 00:12 GMT3 час.

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


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


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

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