erlik
Спасибо все зделал заработало на ура.
Теперь начал думать как удалять метку после попадания ГГ в рестриктор. Получается что рестриктор несрабатывает, но есть ведь метка на карте осталась.
Для создания квестов будет не совсем коректно по отношении к юзеру.
И еще, ребята что есть 6777? Айди? Если айди откуда вы его взяли?
karavan
из головы взял:-) для операторов запуска эффектов мона любой ставить - главное, чтобы двух одинаковых в функции не было.
а метку надо убирать через оператор убора метки - я тебе тогда его давал.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Люди,а знаю,что есть такая модификация для чистого неба "вид от третьего лица".Скинте ссылку где его можно скачать,пожалуйста!Я вас очень прошу!Скинте ссылку!Пожалуйста!
Человек предполагает, а располагает кто-то другой.
Стрелок-монолит
bind cam_1 k
bind cam_2 k
bind cam_3 k
вбей в user.ltx эти строки и после "k" без пробелов напиши клавиши, на которые хочешь назначит смену камеры
Кровосос без щупалец, это как с щупальцами, только без щупалец...
Занимаюсь модмейкерством 8 месяцов. Конфиги, спавн, диалоги, локации, немного текстуры.
Перенес локацию Юпитер из Зова Припяти на ТЧ. Описание и ссылка в моем журнале.
Товарищи!
Хотел поэксперементировать с включением анимации камеры на процентные показатели ГГ, но несмог найти как правельно называются усталость, пси-воздействие, износ костюма если такое возможно.
Подскажите пожалуйста, где можна посмотреть как правельно назваются показатели для параметра:
db.actor.health
Хочу вместо health попробовать поставить что то другое, например усталость или пси-воздействие.
Кто знает как зделать проверку денег у ГГ.
Надо сделать передачу денег от ГГ к НПС но перед передачей проверить есть ли деньги у ГГ.
Функция передачи денег от ГГ к НПС работает.
function give_money_3000(t1,t2)
local npc=t1
if npc:id()==db.actor:id() then
npc=t2
end
dialogs.relocate_money(npc,3000,"out")
end
Вот так ли выглядет функция проверки наличия денег?
function actor_has_money_3000()
return db.actor:money()>=3000
end
И как дописать проверку в функцию передачи денег.
Помогите разобраться.
У меня не получается:-(.Я пишу то,что надо,захожу в игру,а результата никакого.:-(Потом выхожу,смотрю туда,где все это менял,а там ничегошеньки нету!Что я сделал не так?
Человек предполагает, а располагает кто-то другой.
karavan
------------
function dengi_have() --название функции
local money = db.actor:money() --локал.переменная money = деньгам Гг
return money >= 20 --продолжить чтение функции если денег больше > или = 20
end --энд
или вот так
function dengi_have()
return db.actor:money() >= 20
end
Тоже самое,но попроще.Т.е бел лок.переменной
--
Функция отдачи денег
function tes_kvest(first_speaker, second_speaker)
dialogs.relocate_money(first_speaker, сумма денег, "out")
end
В этой функции деньги от первого спикера ко второму.
out -уходят от актёра,а
in - приходят
manunj
Ага я понял уже... и проверил - там ведь получается цикл должен пройтись по радиусу и пр. переменным.
когда в первый раз функцию использовал - по привычке цикл поставил перед create. karavan
зачем такие сложности с деньгами?
передача от эктора неписю -
function transfer_money_3000(actor,npc) - если экшен на тэге\фразе эктора - если наоборот - то (npc, actor)
actor:transfer_money(число, npc)
получение эктором от непися
function give_money_3000(actor, npc) --здесь и так по любому экшен должен быть на тэге \фразе эктора
actor:give_money(число)
проверка правильная. Вообще проверка пишется не в функцию передачи денег, а в диалог в виде прекондишена для фразы, на которой будет стоять экшен
типа так текст имя_файла.precond
function precond()
return db.actor:money()>=3000
end
если функция вернет, что денег у эктора больше либо равно 3000, то фраза условием которой стоит прекондишен - появится. В противном случае - нет.
смотри мой скрипт мода тотализатор - там все про деньги узнаешь :-)
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Да тут подумал. А можна в функцию проверки на наличие денег дописать скажем вывод сообщения что "Денег недостаточно" или это реализовать только через диалог можна? Если через диалог то я знаю как, а вот в функцию это сложней.
karavan
попробуй допиши. я не пробовал в функцию проверки бабла че то дописывать - поэтому точно не скажу как - надо сначала проверить.
а сама строчка должна быть типа такой
news_manager.send_tip(db.actor, "Меченый, бабла не хватает...дуй отседова", 5, "trader", 10000)
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
karavan
проверить написать можна вот тока вопрос зачем , при разговоре за меню диалога видно небудет разве что зделать при нажатии брек диалог тогда меню исчезнет и ты сможеш увидить сообщение, просто не красивее ли будет написать еще одну строку в диалоге?
короче вот function name(actor, npc)
if db.actor ~=nil then
if db.actor:money() >= 3000 then
dialogs.relocate_money(actor, 3000, "out")
db.actor:give_info_portion("поршин")
else
dialogs.break_dialog()
news_manager.send_tip(db.actor, "Меченый, бабла не хватает...дуй отседова", 3, nil, 10000)
end
end
end
====================== db.actor:give_info_portion("поршин ") --\ твой поршин о выполнении квеста или как ты там придумал что сделка состоялась
отредактировал(а) manunj: 24-09-2009 15:38 GMT3 час.
Да функцию ты правильно написал
5 -- ето время в секундах перед тем как сообщение появится
традер --надо так понимать должно типа показать иконку от кого сообщение
10000 --ето время показа сообщение пока исчезнет
вроде так
karavan
"...несмог найти как правельно называются усталость, пси-воздействие, износ костюма если такое возможно."
if db.actor.health < 0.5 then --\ если здоровье
if db.actor.radiation > 0.5 then --\ если радиоактвное заражение больше ...то
if db.actor.satiety > 0.5 then --\ если голод больше... то
if db.actor.psy_health <= 0.2 then -\ если пси-здоровье меньше ..то
if db.actor.power < 0.2 then --\ если энергия меньше ...то
if db.actor:eat(db.actor:object("bread")) then --\ если эктор съел
if actor:see(npc) and npc == game_object.enemy then --\ если эктор видит врага
if actor:see(npc) and npc == game_object.neytral then -- \если эктор видит нейтрала
if actor:see(npc) and npc == game_object.friend then -- \если эктор видит друга
проверка на износ брони
local armor = db.actor:item_in_slot(6)
if armor:condition() < 0.35 then
все пока не проверял в деле - но все методы взяты из игры.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Сделал таймер единоразовый как в соседней теме, а он не работает. Поправьте пожалуйста что не так:
local tim = 0
local sch = 0
local kch = false
function timer_spawner()
if has_alife_info("info_02") then
if kch == false then
tim = level.get_time_minutes()
kch = true
end
this.name()
end
end
function name()
if tim ~= level.get_time_minutes() then
if sch == 0 then this.name_1()
db.actor:disable_info_portion("info_02")
kch = false
sch = 0
else
sch = sch + 1
end
tim = level.get_time_minutes()
end
end
function name_1()
local obj = alife():create("bloodsucker_normal",vector():set(-243,-20,-129),13586,8)
end
добавлено спустя 2 минут
Вызов функции timer_spawner() пытался делать через диалог.
karavan
ты таймер на обновление в биндер актора ставил
тобиш у тебя функция timer_spawner()
и сдесь поставь время
function name()
if tim ~= level.get_time_minutes() then
if sch == 3 then --\ к примеру пару минут хоть
this.name_1()
ну и поршен ты в файле инфопортион прописал и вписал на выдачю в диалог
отредактировал(а) manunj: 24-09-2009 02:04 GMT3 час.
karavan
в диалог вписываеш куда ты его собираешся если взял там квест или как отдал или еще куда ставь так info_02
потом в bind_stalker.script найди функцию function actor_binder:update(delta)
object_binder.update(self, delta) --\ под етой строчкой допиши свой название файла.timer_spawner() --\ название файла где у тя функции вписаны тока росширение script непиши
наздоровье)))
Насчет времени я специально поставил 0 что бы не ждать.
незнаю точно но может несработать если будет ноль
поставь хоть 1 или 2 минуты
отредактировал(а) manunj: 24-09-2009 02:04 GMT3 час.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.