CRAZY_STALKER666 36 Опубликовано 18 Августа 2016 @Kirgudu, от туда и подглядывал. Разница лишь в получении обьекта. У ПЫС: npc1 = level_object_by_sid(v) И у меня; local se_obj_1 = alife():object(id_kl7) Думаю, отсюда и вылет - не тот тип обьекта передаю( а уж где серверный а где клиентский - не знаю, честно ) Но уверен - путаница именно в этом. Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Августа 2016 P.S.S Пока кумекаю над функцией - увидел это function monster_berserk(actor, npc)npc:berserk()end Кхм... Еще одна пустышка-подарок ПЫС, или что-то рабочее? Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Августа 2016 (изменено) В теме "Справочник...", кстати, можно найти много интересного. Читал её. Очень много для себя узнал. Идем дальше. Получил я НПЦ по ид, как сказали выше. Поссорил. Итог - ржунимагу. 1.Первый стал агриться на меня, ГГ 2.Второй убил своего, которого должен был. 3.Третий и второй вместе в итоге подощли к первой жертве, один сорвался и убежал, а второй встал вплотную не к своей жертве, и начал вертеть прицелом в области головы жертвы. При этом я вообще ничего не понял - но одно ясно: xray решил просто меня потролить)))) З.Ы Конечно же я накосячил, своего добился, только появились новые огрешки, но их мы уже решим другими, более простыми способами) И всеже - void berserk() - просто пустая функция? Её тупо зарегестрировали в классе? Изменено 18 Августа 2016 пользователем CRAZY_STALKER666 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Августа 2016 Я ее у себя худо-бедно починил, но она все равно работает не так, как задумывали разрабы, Ок. Ок. Открой секрет, пожалуйста - а как и что задумывали разрабы? Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Августа 2016 db.actor:position() - что из себя представляет? X,Y,Z,Gv,Lv - я правильно понял? Если я передаю в функцию позицую, а она (функция) не поддерживает передачу каждой координаты отдельно, мне нужно разбить мою позицию на составляющие, кое что с ними сделать... А как потом передать в функцию? Как их упаковать так сказать, чтобы исходный формат был как и у оригинала... Надеюсь понятно обьяснил... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 18 Августа 2016 @FonSwong, хоть я и немного понимаю в Lua, но что ЭТО мне даст - ахах непонятно СЛОЖНА. НИПАНЯТНА И что этот скрипт будет возвращать? Про то, что такое my_func - умолчу... Хотя если расскажешь - как это работает - будет классно! Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 19 Августа 2016 Вернусь к своей проблеме. Я рисую партикл ТОЧНО по координатам игрока. Сам партикл - снежная завеса. И вот что имеем в итоге: http://hostingkartinok.com/show-image.php?id=502b265350a69f9b32673fcf7a6a4cd0 Партикл рисуеться совсем не там, точне сказать - он сделан по другому... А задача такова - что нужно правильно преобразовать координаты для ГГ, т.е прибавить(убавить) значения к X Y Z так, чтобы ГГ оказался в центре этой все завесы. Рабочую функцию для преобразования координат уже привел @Kondr48 выше. Сам, сколько не вертелся, то снег выше, то ниже, то снова не там, хотя я представляю, как устроен 3д мир... Но что-то пока не выходит... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 19 Августа 2016 высота в сталкере - это Y, а не Z Помню. Но все равно, где-то ошибочки всегда... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 19 Августа 2016 Тут надо переделывать партиклы и смещать партиклы в ту сторону, где нет партиклов. Именно. Но переделать партикл - не в моей компетенции. А от кости или от камеры работать - не прокатит. Нужно именно работать с координатами. тогда просто сними координаты ГГ и в демо рекорде+rs_stats координаты снега и посчитай разницу. А при спавне будешь делать эту поправку. Вроде так и делал. Но видимо у меня с математикой плохо Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 19 Августа 2016 У них также есть свои координаты. Они мало отличны от позиции самого ГГ. Тут проблема осовная вот какая - сам партикл по сути своей "кривой" - со смещенным центром отрисовки... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 19 Августа 2016 править xr партиклов в партикл-эдиторе. К сожалению использовать СДК возможности нет. Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 11 Октября 2016 как можно по ходу игры поменять имя ГГ и его иконку Поднимал уже вопрос - в движок лезть...Скриптами проблему не решим... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 20 Октября 2016 на расстояние 10 метров. Не больше не меньше. Как раз "==" тебе и нужно. Ни больше ни меньше Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 21 Октября 2016 Требуеться убить несколько НПЦ. Пытаюсь так: function all_kill() local id_kl1 = my_sid.mil_mon_1 -- тут мы каждого получили local id_kl2 = my_sid.mil_mon_2 local id_kl3 = my_sid.mil_mon_3 local id_kl4 = my_sid.unknown local se_obj_1 = level.object_by_id(id_kl1) --- получили по ID local se_obj_2 = level.object_by_id(id_kl2) local se_obj_3 = level.object_by_id(id_kl3) local se_obj_4 = level.object_by_id(id_kl4) if se_obj_1 and se_obj_2 and se_obj_3 and se_obj_4 then se_obj_1:kill(se_obj_1) --- а правильно ли так? se_obj_2:kill(se_obj_2) se_obj_3:kill(se_obj_3) se_obj_4:kill(se_obj_4) end end Но вылетает с ссылкой на _g.script. Проблема однозначно тут: se_obj_1:kill(se_obj_1) --- а правильно ли так? se_obj_2:kill(se_obj_2) se_obj_3:kill(se_obj_3) se_obj_4:kill(se_obj_4) Но как правильно НПЦ передать - не знаю. Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 21 Октября 2016 @Kirgudu, да все, разобрался. Код то рабочий, вылетало не из-за него... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 22 Октября 2016 Обычно переменные с названием se_obj подразумевают серверный объект. А функция level.object_by_id возвращает клиентский. В контексте моей проблемы это роли не играет абсолютно, т.к стилистика для выбора названий - дело сугубо личное. Я мог бы его назвать mObject,iStalker и так далее. В функции эти имена имеют абсолютно символическое значение, после end они перестают использоваться где либо, а если вся функция на 100 процентов рабочая - то какой смысл ассоциировать их с серверным,клиентским обьектом, тем более что разницу я между ними понимаю только фигурально(одно работает на стороне сервера, другое клиента)... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 2 Ноября 2016 кастомные объекты для сохранения большого объёма данных. А поподробнее можно про это? 1 Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 8 Ноября 2016 Такая проблема: вот логика НПЦ [logic] active = remark@1 on_hit = hit [remark@1] target = actor no_move = true [remark@2] target = actor no_move = true [hit] on_info = {+gauss_online} remark@2 %+sar_brut_death =make_suicide% on_info2 = %+sar_brut_death =make_suicide% Вот сама функция, которая должна выполняться: function make_suicide(actor, npc) news_manager.send_tip(db.actor, "триггер смерти", nil, nil, 20000) npc:kill(npc) end Но она не выполняться. Ни одно из условий в hit не работет. Как так то? UPD1. Такое дело - НПЦ бессмертный, ему выставлены конфиги иммунитета наподобие Сахарова. Делаю вывод - хиты просто по нему не проходят. Сделал его смертным - всё заработало. Нашел xr_hit.script дабы сделать передачу id стрелка, даже если дамаг = 0. Что я там только не делал, даже в xr_motivator заглянул. Не помогло, хотя там есть строчки с комментариями мол дамага 0, игнорим... А что-то сделать нужно! Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 11 Ноября 2016 Ребятки, проконсультируйте. Тут совсем нетривиальная проблема. В отдельном файле объявил переменную. Допустим в test_scr объявил - local test = 0 Из другого в теле какой-либо функции : test_scr.test = 1 В итоге после проверки всё равно test равен 0 Где я ошибся? Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение
CRAZY_STALKER666 36 Опубликовано 11 Ноября 2016 @TIGER_VLAD, не изменилось ничего... Не соответствует правилам. Поделиться этим сообщением Ссылка на сообщение