Автор Сообщение
Посты: 4176
Откуда:
14-09-2010 01:54 GMT3 час. #1344349   
MRN$
Вариантов ошибки три:
а) Ты передаешь на вход НЕ клиентский объект. Попытка применить к нему методы для клиентского объекта приводит к 'No such operator defined'.
b) Ошибка идет из другой функции. Возможно из вызывающей, где некорректно обрабатывается возвраженный аргумент(ы) ...
в) Неизвестный нам фактор ... может ты вообще в другую игру скрипт пихнул? :-G

P.S. По инвентарным боксам: Моя оценка: менее 25%.


Darien Fx , SkyLoader
Если бы клиентский объект НЕ был бы в онлайне иль еще где-то не зарегистрировался бы, то НЕ прошла бы проверка 'if obj then', т.к. нечего было бы передавать на вход ...
Гадаем поманеньку?! ;-)


SkyLoader
Ты опять в дебри полез, забыв дома азбуку?! :sarcastic:
Позиция камеры(device().cam_pos) и позиция актора (db.actor:position()) - разные вещи, хотя и взаимосвязанные. Не стОт их путать.
Сам вспомни, что есть еще в игре вид от 2-го и 3-го лица, где камера отделена от актора.

отредактировал(а) Artos: 14-09-2010 02:07 GMT3 час.

Посты: 114
Откуда:
14-09-2010 02:08 GMT3 час. #1344353   
Делаю так. Вроде должно всё п**500140b7e12bf63c3891** else
return false
end
end
[/code]

ps: исправил - не то скопировал, сорри...


Посты: 4176
Откуда:
14-09-2010 02:17 GMT3 час. #1344354   
MRN$
Ну тогда возможно Darien Fx и SkyLoader частично правы!
Любой вызов твоей функции 'get()' при отсутствии объекта приводит к тому, что второй (fpos_y) и всем последующим (fpos_z, ..., fdir_z) функция 'get_object_param(nil)' ничего не возвращает. Даже nil'ов! Она возвр


Посты: 114
Откуда:
14-09-2010 02:25 GMT3 час. #1344356   
этот код как-бы "в принципе" - реально он несколько другой... в общем - лопачу код на предмет казусов.

Artos, спасибо, буду разбираться...

=========================================

PS

А не может быть такого, что у предметов вообще нет методов direction и vertex-ов? Пробовал у O_INVBOX или аптечки получить дирекцию и вертексы - ничего, только id и position-ы.

Нужен предмет у которого можно получить текущую дирекцию и вертексы.

отредактировал(а) MRN$: 14-09-2010 04:48 GMT3 час.

Посты: 2338
Откуда:
14-09-2010 09:32 GMT3 час. #1344429   
MRN$
У объектов O_INVBOX, так же как и прочих и дирекция и вертексы (они то уж никак отсутствовать**500140b7e12bf63c3891**t:level_vertex_id(),
self.object:game_vertex_id(),
self.object:id()))
return object_binder.net_spawn(self, data)
end[/code]
вот результат: дирекция есть и у всех походу одна и таже
[code]! Cannot find saved game ~ direction = -0.0, 0.0, 1.0, position: x= 203.0, y=8.9, z=158.9 lvid = 499116 gvid = 149 id = 43520
! Cannot find saved game ~ direction = -0.0, 0.0, 1.0, position: x= 121.1, y=8.0, z=242.9 lvid = 424715 gvid = 240 id = 50432
! Cannot find saved game ~ direction = -0.0, 0.0, 1.0, position: x= 82.6, y=-11.7, z=250.6 lvid = 377462 gvid = 189 id = 50445
! Cannot find saved game ~ direction = -0.0, 0.0, 1.0, position: x= 76.3, y=1.8, z=345.1 lvid = 369409 gvid = 192 id = 51456[/code]

--------------------------------------------------------------------
VITOSSSSS
Есть такой файлик в папке config\misc - items.ltx называется.
а еще есть unique_items.ltx и quest_items.ltx

отредактировал(а) erlik: 14-09-2010 12:39 GMT3 час.

Посты: 467
Откуда:
14-09-2010 11:57 GMT3 час. #1344467   
А кaкой фийл отвeчaeт зa конфиги продуктов?

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

и зa прeдмeты?

отредактировал(а) VITOSSSSS: 14-09-2010 11:58 GMT3 час.

Посты: 469
Откуда:
14-09-2010 14:29 GMT3 час. #1344528   
к сожилению нет там такой строчки.


Посты: 20
Откуда:
14-09-2010 14:31 GMT3 час. #1344530   
VITOSSSSS item.ltx


Посты: 3814
Откуда:
14-09-2010 15:53 GMT3 час. #1344591   
Помогите, плиз! Вставил дробовик, уже давно, но у него проблема, прицеливание идёт не через мушку, вот так:

Какой параметр надо подредактировать, что бы прицеливаться через мушку, т.е. так:


Посты: 755
Откуда:
14-09-2010 16:08 GMT3 час. #1344604   
Artos, да, но насколько я знаю device().cam_pos не изменяется, как же изменить позицию камеры? Имею ввиду, чтобы координаты вписал, и камера переместилась.

отредактировал(а) SkyLoader: 14-09-2010 16:39 GMT3 час.

Посты: 1025
Откуда:
14-09-2010 16:09 GMT3 час. #1344605   
TheDoktor, вроде, какой-то из этих параметров zoom_rotate_x и zoom_rotate_y, ещё, может быть, zoom_offset. Это всё в конфиге оружия в секции настройки hud'а. В данном случае, скорее всего, нужно менять zoom_rotate_y.


Посты: 1023
Откуда:
14-09-2010 17:07 GMT3 час. #1344651   
**500140b7e12bf63c3891**

Подскажите, как подобные квесты выдавать несколько раз, тоесть просле прохождения этого квеста можно было его еще раз взять и пройти?Удаление инфопоршней не помогает.Или квесты в игре одноразовы?


Посты: 940
Откуда:
14-09-2010 17:23 GMT3 час. #1344658   
Дайте пример функции, которая срабатывает при использовании предмета, т.е. из дропа так сказать. Просто забыл как это делается.
Нужно что бы при использовании предмета (например Хлеба) выводилось сообщение.


Посты: 624
Откуда:
14-09-2010 17:30 GMT3 час. #1344664   
karavan Скачай (если у тебя нету, но уверен что есть) скрипт бомбы с дистанционным управлением товарища erlik'a и возьми там скрипт от ремнабора.


Посты: 467
Откуда:
14-09-2010 17:55 GMT3 час. #1344677   
Я скaчaл рaпaковaный all.spawn и отрeдaктировaл тaм всe что мнe нaдо, включaю новую игру и мои измeнeния нe происходят. Можeт нaдо спaковaть aлл.спaвн? Или что то другоe?


Посты: 467
Откуда:
14-09-2010 18:15 GMT3 час. #1344687   
Блин тeпeрь прeйдeтся учится упaковывaть aлл.спaвн. А кaк упaковaть all.spawn?


Посты: 61
Откуда:
14-09-2010 18:19 GMT3 час. #1344689   
VITOSSSSS А гугл для чего? Впиши в поиск all.spawn ТЧ или полностью сталкер тени...
Там и статью может найдешь...а вообще в архиве все есть как запак. и как разпак...
-------------
karavan ;-)


Посты: 2338
Откуда:
14-09-2010 18:22 GMT3 час. #1344690   
karavan, blackraven6
Я уже гораздо проще делаю - ставлю ГГ калл**500140b7e12bf63c3891**k(callback.use_object, this.OnUseActorObject)[/code]
эту строчку надо вписать в любой скрипт который вызывается при загрузке игры. В bind_stalker например в метод reinit или reload или load или net_spawn.

а это функция которая будет вызываться на юзание ГГ любого предмета

[code]function OnUseObject(obj, who)
if obj then
-- делаем проверку на использование нужного предмета
if obj:section() =="communicator" then
alife():create("communicator", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) -- спавним его обратно
level.start_stop_menu(this.my_message(), true) --запускаем меню
end
end
end
[/code]


Посты: 1372
Откуда:
14-09-2010 18:25 GMT3 час. #1344694   

Если бы клиентский объект НЕ был бы в онлайне иль еще где-то не зарегистрировался бы, то НЕ прошла бы проверка 'if obj then', т.к. нечего было бы передавать на вход ...

Прошла бы, ведь серверный объект то (уже) есть! И в данном случае 'if obj then' сработает и для оффлайн аптечки с последующим приминением 'онлайн-методов' к ней и вылетом.
P.S. Гаданиями не занимаюсь, ибо проверено это :-).


Посты: 2338
Откуда:
14-09-2010 19:15 GMT3 час. #1344732   
Кстати нашел в справочнике malandrinusa один замечательный каллбек, который никто не использует хотя он очень удобен в некоторых ситуациях. Наверно многие (как впрочем и я) его просто проглядели.
Например мы спавним объект и нам тут же надо что-нить с этим объектом сотворить - убит**500240b7e12bf63c3891**n Spawn()
local pos = db.actor:position()
local lvid = db.actor:level_vertex_id()
local gvid= db.actor:game_vertex_id()
local obj = alife():create("объектi", pos, lvid, gvid)
--вызываем метод add класса client_spawn_manager() которому передаем айди нашего объекта
level.client_spawn_manager():add(obj.id, 0, spawn_callback, "дополнительный аргумент")
end
[/code]
аргументы метода:
obj.id -- это айди объекта на который ставим каллбек
0 -- это айди эктора - нафиг не нужно, но нужно :-)
spawn_callback -- имя функции которая вызовется при переходе объекта в онлайн
"дополнительный аргумент" -- дополнительный аргумент для функции spawn_callback - что хотим то и передаем, если оно конечно надо, либо вообще ничего не пишем.

-- сюда ставим вызов нужного нам действия при переходе объекта в онлайн
[code]function spawn_callback(arg, iId, gObj)
news_manager.send_tip(db.actor, "Каллбек на переход в онлайн вызван", 0, "trader", 10000)
-- снимаем каллбек, чтобы он не вызывался каждый раз когда объект снова окажется в онлайне
level.client_spawn_manager():remove(iId, 0)
end[/code]

принимаемые параметры:
arg - тот самый дополнительный аргумент
iId - айди объекта на который поставлен каллбек
gObj -- клиентская юзердата объекта на который поставлен каллбек

как видно один параметр явно лишний - вполне хватило бы одной юзердаты. Но раз разрабы так сделали, значит им зачем то это надо было.

отредактировал(а) erlik: 14-09-2010 19:26 GMT3 час.

Посты: 692
Откуда:
14-09-2010 19:31 GMT3 час. #1344742   
Я повторяю свой вопрос:
Какую строчку надо писать чтоб броня могла восстанавливать здоровье?


Посты: 28
Откуда:
14-09-2010 19:34 GMT3 час. #1344747   
Darkscape конфиг лечебного Берилла посмотри, он в файле config\misc\unique_items.ltx


Посты: 477
Откуда:
14-09-2010 21:52 GMT3 час. #1344844   
Из мода под ЧН взял ПДА и решил переделать под себя, но есть проблема:

xml:InitWindow("description_item:content_text", 0, ctrl)
self.desc_item_fn_sz = vector2():set(ctrl:GetWidth(), ctrl:GetHeight())

Это я так понимаю создается некое окошко и задаются его размеры. Но проблема в том что vector2 в ТЧ не сушествует в отличии от ЧН и ЗП. Как по другому задать размеры окошка?


Посты: 2338
Откуда:
15-09-2010 00:08 GMT3 час. #1344885   
Ma$ter
В ТЧ координаты и размер окон задаются через метод Init(number, number, number, number), или Init(Frect*) или SetWndRect(Frect) или SetWndRect(number, number, number, number);
Если только размеры - то есть метод SetWndSize(number, number). Но не помню работает ли он как надо - помню, что пробовал его использовать, в одном меню, но потом заменил.
Примеры смотри в геймдате или модах.
Хотя не думаю, что тебе это поможет засунуть меню из ЧН в ТЧ - так как чувствую там не одну строчку переписывать придется. Тем более, что раз параметр self.desc_item_fn_sz требует именно векторный массив из двух цифр, то замена vector2() методом из ТЧ вряд ли будет возможна.


Посты: 114
Откуда:
15-09-2010 01:51 GMT3 час. #1344902   
По прежнему, не могу получить с объекта вертексы и дирекцию... ни время, ни перевод онлайн-офлайн - не влияет... в общем, всё что знал - перепробовал. Тут какая-то тонкость, может даже элементарная, но моей компетенции, что-бы разобраться - не хватает.
Здесь - всё как есть: файл scop.script, строки 138 и 153 - функция get_object_param() - не работает ни в каких вариантах: position - есть, а оба вертекса - всегда nil
:-(
Если у кого есть возможность - прошу помочь сделать эту функцию рабочей.

как проверять:
0. предмет в слоте 2.
1. активировать слот, ввести дистанцию, кнопка "тест", спавниться предмет, выход.
2. погулять вокруг предмета, сколько угодно - не влияет.
3. активировать слот, ввести имя, кнопка "сохранить тест", будет "новость" с параметрами где вертексы == nil
:(


====================================================


erlik
Весьма спасибо.
Значит всё-таки - "пальцы-сосиски"
Вот, что бывает когда "постановщик" за "программирование" берётся...

отредактировал(а) MRN$: 15-09-2010 11:04 GMT3 час.

Посты: 60
Откуда:
15-09-2010 10:31 GMT3 час. #1344964   
а как выйти из чаэс когда он на башне появляется мод бессмертие


Посты: 2338
Откуда:
15-09-2010 10:51 GMT3 час. #1344970   
MRN$
Посмотрел скрипт - у тебя там было две ошибки:
1) В функции get_object_param() ты пытался получить данные с серверной юзердаты заспавненного объекта не получив ее клиентскую копию.
2) в функции вывода данных экран была ошибка - свойства m_level_vertex_id и m_game_vertex_id были неверно указаны - без буквы m_ - потому и nil получал вместо вертексов.
В общем я там переписал две функции - под клиентскую юзердату. Посмотри - как будешь в итоге выводить и форматировать - тут уж сам выбирай.
ссыль
_http://narod.ru/disk/24909268000/scop.rar.html


Посты: 692
Откуда:
15-09-2010 11:08 GMT3 час. #1344977   
qwqwqwqw1
Лечебный Берилл не восстанавливает здоровье,он препятсвует кровотечению.


Посты: 778
Откуда:
15-09-2010 11:45 GMT3 час. #1344998   
Darkscape
Ты по прикалываться решил?! :blink Берилл в игре на то и лечебный, потому что лечит, да и вообще, если самому было лень найти эту строчку, то вот:

health_restore_speed -- как-то так, :dry:


Посты: 4176
Откуда:
15-09-2010 12:07 GMT3 час. #1345006   
Fantom2323
Ты не прав.
То, что написано ... не всегда работает!
Параметр 'health_restore_speed' и прочие 'ххх_restore_speed' на брониках НЕ работаею.
Они только для класса артефактов.
Для броников требуется писать скриптовую схему, которая и будет обрабатывать этот (эти) парамерт(ы), типа как в Zenobian-mod'е.


MRN$
Хотя erlik уже тебе подсказал ошибки, но все же глянь и этот вариант. И подправлено и подоптимизировано: <скрипт>

отредактировал(а) Artos: 15-09-2010 15:12 GMT3 час.



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


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Организация GSC Game World признана нежелательной на территории Российской Федерации.
Использование материалов сайта возможно с разрешения администрации. © 2004–2025 «Stalker-Portal.ru»