Случайная подборка модов
Dream Reader - Dangerous Area
4.1
Новый Арсенал 6. Революция
3.5
R.M.A mod 1.1.5
4.2
Road To The North
3.7
Nature Winter v2.3 Black Edition
3.9
PCFM COP Addon
3.7
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Wolfstalker
Среда, 02.03.2011, 09:50 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

Задаем разные вопросы касательно создания модов.
  Злобная реклама
Среда, 02.03.2011, 09:50
Статус:
Сообщений: 666
Регистрация: 05.04.2010
Молдова  6poHR777
Понедельник, 20.08.2012, 12:49 | Сообщение # 8506
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

Страховид, sasmeleuz, это является стекла из окон, которые вроде разбиваются. Такие на кордоне есть, возле хаты, где Лис раненый валяется.

ТЧ 1.00.06


Помогите с проблемой, а то почему-то функция не работает...
http://ap-pro.ru/forum/21-775-301124-16-1345407890
http://ap-pro.ru/forum/21-775-301265-16-1345448939
Сообщение отредактировал 6poHR777 - Понедельник, 20.08.2012, 12:49
  Злобная реклама
Понедельник, 20.08.2012, 12:49
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Российская Федерация  ins33
Понедельник, 20.08.2012, 13:09 | Сообщение # 8507
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

6poHR777, Я в скриптах пока зелёный, и может чего лишнего добаввил, но я-бы так сделал
Code
local note = nil

function repair_outfit_start()  
if note and type(note) == "number" then
if not level.object_by_id(note) then
alife():create("repair_kit", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
end
note = nil
end
if note and type(note) == "userdata" then
note = note:id()
else
note = nil
end
end

function repair_outfit()  
  local item_in_slot = db.actor:item_in_slot(6)
          if item_in_slot ~= nil and item_s6:condition() >=0.30 and item_s6:condition() ~=0.999 then   
          item_in_slot:set_condition(1)
          local snd_obj = xr_sound.get_safe_sound_object([[interface\inv_detach_addon]])
          snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
          local news_text = "%c[255,160,160,160]Ремонт комплект:\\n%c[255,0,255,0]Ремонт костюма завершен."
          db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000)  
и Т.Д.
В конце добавь
Code
function use_repair(obj)
if obj:section() == "repair_kit" then
note = obj --если наша вещь, то запомнить его userdata
end
end


в function actor_binder:on_item_drop (obj) добавь repair.use_repair(obj)
в function actor_binder:update(delta) repair.repair_outfit_start()

По анологии шомпол сделал, с функцией ремонта брони.
  Злобная реклама
Понедельник, 20.08.2012, 13:09
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Российская Федерация  sasmeleuz
Понедельник, 20.08.2012, 13:14 | Сообщение # 8508
Статус:
Опытный:
Сообщений: 1739
Награды: 2
Регистрация: 26.02.2012

Факт в том, что всегда переносил эти вещи легко, а сейчас вылет этот.
ЗЫ в сдк нехочется локацию декомпилировать, что бы потом всё снова компилировать (итак 10 штук на максах надо скомпилить)
  Злобная реклама
Понедельник, 20.08.2012, 13:14
Статус:
Сообщений: 666
Регистрация: 26.02.2012
Молдова  6poHR777
Понедельник, 20.08.2012, 13:32 | Сообщение # 8509
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

ins33, а как было нельзя?
А то как бы функция урезалась...
  Злобная реклама
Понедельник, 20.08.2012, 13:32
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Российская Федерация  Страховид
Понедельник, 20.08.2012, 13:36 | Сообщение # 8510
Сообщений: 475
Регистрация: 07.08.2012

sasmeleuz, как их вообще перенести можно. Если на локации есть стёкла, оконные например, которым назначен шейдер бьющегося стекла, xwindows кажется, то при компиляции СДК сама генерирует осколки, на которые будет разбито это стекло. Переносить их от куда то нибыло просто безсмысленно.
  Злобная реклама
Понедельник, 20.08.2012, 13:36
Статус:
Сообщений: 666
Регистрация: 07.08.2012
Российская Федерация  ins33
Понедельник, 20.08.2012, 13:40 | Сообщение # 8511
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

6poHR777, Вот полный код
Как видишь запуск функций ремонта происходит через меню. И есть проверка наличия предмета.
  Злобная реклама
Понедельник, 20.08.2012, 13:40
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Российская Федерация  sasmeleuz
Понедельник, 20.08.2012, 14:47 | Сообщение # 8512
Статус:
Опытный:
Сообщений: 1739
Награды: 2
Регистрация: 26.02.2012

Страховид, вы совсем меня не понимаете smile

Добавлено (20.08.2012, 14:35)
---------------------------------------------
Объект из ТЧ алайфа к той же локации в ЗП. Эта возможно. Я сам делал, года два назад.

Добавлено (20.08.2012, 14:47)
---------------------------------------------
И зы: это на всех объектах - аномалиях, кострах, физических и тп

  Злобная реклама
Понедельник, 20.08.2012, 14:47
Статус:
Сообщений: 666
Регистрация: 26.02.2012
Молдова  6poHR777
Понедельник, 20.08.2012, 14:56 | Сообщение # 8513
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

ins33, запутался по полной, короче, из-за чего у меня не запускался скрипт? то-то забыл добавить? Или он изначально не правильный? wacko
  Злобная реклама
Понедельник, 20.08.2012, 14:56
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Российская Федерация  ins33
Понедельник, 20.08.2012, 15:31 | Сообщение # 8514
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

6poHR777, Как я понимаю скрипт ты хочешь вызвать при нажатии использовать? Проверь любой другой вариант запуска, диалог, ТАВ и т.д. В если скрипт сработает по любому придёт смс, так увидишь работает ли скрипт.

Добавлено (20.08.2012, 15:28)
---------------------------------------------
Вот это: and item_s6:condition() ~=1 зачем?

Добавлено (20.08.2012, 15:31)
---------------------------------------------
alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) Надо вызвать один раз, потом прописать условия.

  Злобная реклама
Понедельник, 20.08.2012, 15:31
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Молдова  6poHR777
Понедельник, 20.08.2012, 15:33 | Сообщение # 8515
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

ins33, а вертексы причем тут?
  Злобная реклама
Понедельник, 20.08.2012, 15:33
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Российская Федерация  ins33
Понедельник, 20.08.2012, 15:39 | Сообщение # 8516
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

По идеи должно выглядеть как-то так:
Code
function actor_binder:repair_outfit_start(obj, who)
if obj then
if obj:section() == "repair_kit_outfit" then
Remont_tool.repair_outfit()
alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id())
end
end
end

alife():create("repair_kit_outfit" -- Это вызов самого девайса.

П.С. Бинд_сталкер пока плохо знаю, ты уверен что правильно функцию вызываешь?
Сообщение отредактировал ins33 - Понедельник, 20.08.2012, 15:40
  Злобная реклама
Понедельник, 20.08.2012, 15:39
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Молдова  6poHR777
Понедельник, 20.08.2012, 15:41 | Сообщение # 8517
Статус:
Опытный:
Сообщений: 1480
Награды: 0
Регистрация: 05.01.2012

Честно, подобное подсмотрел на инсайде, вроде должно быть так, только использую итем, он исчезает, но функция не срабатывает...
Сейчас буду смотреть через диалог.
  Злобная реклама
Понедельник, 20.08.2012, 15:41
Статус:
Сообщений: 666
Регистрация: 05.01.2012
Российская Федерация  ins33
Понедельник, 20.08.2012, 15:54 | Сообщение # 8518
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

6poHR777,
Code
function actor_binder:repair_outfit_start(obj, who)
if obj then
if obj:section() == "repair_kit_outfit" then
Remont_tool.repair_outfit() -- УДАЛИ.
alife():create("repair_kit_outfit", db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id())
end
end
end
Remont_tool.repair_outfit() -- это надо запускать из бинда,

Добавлено (20.08.2012, 15:49)
---------------------------------------------
Вроде надо. Дай ссылку на инсайд.

Добавлено (20.08.2012, 15:54)
---------------------------------------------
И этот код я-бы прописал в Remont_tool а не в бинд.

  Злобная реклама
Понедельник, 20.08.2012, 15:54
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Российская Федерация  Arist
Понедельник, 20.08.2012, 16:06 | Сообщение # 8519
Статус:
Неопытный:
Сообщений: 481
Награды: 1
Регистрация: 08.07.2012

6poHR777, я попробовал без всяких колбеков в bind_stalker.script.В:
function actor_binder:on_item_drop (obj)
level_tasks.proceed(self.object)
--game_stats.update_drop_item (obj, self.object)
my_spawn.repair_outfit()
end

Работает.

Добавлено (20.08.2012, 16:06)
---------------------------------------------
Эта тоже не нужна.

  Злобная реклама
Понедельник, 20.08.2012, 16:06
Статус:
Сообщений: 666
Регистрация: 08.07.2012
Украина  BOVER
Понедельник, 20.08.2012, 16:13 | Сообщение # 8520
Статус:
Бывалый:
Сообщений: 702
Награды: 2
Регистрация: 29.05.2012

Товарищи у меня вопрос, почему компилятор в СДК компилирует на драфте, но я поставил настройки качества таковы:

Hemisphere quality - 0
Sun Shadow quality - 3
Pixel per Meter - 0.10
Error (LM collapsing) - 4
Error (LM zero) - 4
Jitter Samples - high

это для того что бы не словить баг трап после стадии Light Implicit
  Злобная реклама
Понедельник, 20.08.2012, 16:13
Статус:
Сообщений: 666
Регистрация: 29.05.2012
Поиск: