Карлан 1 050 Опубликовано 21 Января 2015 @svarog2741, function transfer_item(game_object*, game_object*); Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 1 Апреля 2015 @Simonov50, следует проверять наличие самого модуля в глобальной таблице, без этой проверки он сразу будет искать поле в твоем модуле, которого не существует в принципе, поэтому и происходит вылет. Например можно вот так: if module and module.func and type(module.func) == 'function' then Или лучше: if _G[module] and _G[module].func and type(_G[module].func) == 'function' then Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 2 Апреля 2015 @Zander_driver, тем не менее ты спавнишь все равно по секции, а не модель напрямую. А уже с одной секцией можно сделать технический объект практически на любом классе "для посмотреть" на котором будешь визуал объекта менять по щелчку. Так же можно создать список таких объектов на разных классах, что бы смотреть поведение разных моделей с разной логикой например, которые ты делал под разные нужды (читай - классы). Так что ответ все же - нельзя. Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 15 Апреля 2015 @AndrewMor, как-то так лучше сделать: function take_money(obj) if obj:section() == 'money_500' then alife():release(alife:object(obj.fov and obj:id() or obj.id)) db.actor:give_money(500) news_manager.send_tip(db.actor, "Получено 500 рублей.", nil, nil, 10000) end end При желании рандомизировать, циклы тут точно не нужны, лишняя нагрузка. 1 1 Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 15 Апреля 2015 @Dennis_Chikin, лучше на обретение. Какая разница откуда ты их получил если алгоритм для всего один и тот же? Будь-то труп, тайник или любой другой способ. 1 Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 18 Апреля 2015 @AndrewMor, зачем ты спрашиваешь? Я тебе сказал как нужно сделать, но ты упорно продолжаешь делать по своему. Ты понимаешь как работает коллбек? В общем, как говорится, "если не можешь - значит не нужно"(с). 1 Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 18 Апреля 2015 @AndrewMor, скобки добавить не додумался? Я же не точный код дал, а набросок. 1 Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 1 Июля 2015 (изменено) , @Zander_driver, мне одному кажется что ему просто хит коллбек нужен? @Zander_driver, у тебя есть расширение от рвп, его и юзай, на нем можно очень элегантный парсер написать, который будет вполне себе быстро работать, побыстрее того что на дефолте накостылить можно это как минмум. Я месяцев несколько назад делал, но не для внутриигровых целей, тестировал, все отлично. Изменено 1 Июля 2015 пользователем Карлан Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 2 Июля 2015 оказывается я не умею пользоваться string.find Дык матчасть жи, gmatch тут самое оно, да, если-бы тебе просто поиск был нужен то gfind, а у find (string,pattern,index) входные. Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 2 Июля 2015 (изменено) if gluk_object ~= nil then забыл. и вообще функция довольно странная, что хочешь от нее? проверка программой на эту строку показывает ещё. Ну дык этож очевидно-невероятное, я и не стал указывать, макрон же не новичок. Изменено 2 Июля 2015 пользователем Карлан Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 2 Июля 2015 @macron, да ниче страшного, гляди, есть такая функция distance_to (и еще distance_to_sqr, думаю чем отличаются ясно), и вот сравниваешь где-то так: local changer = vector():set(x,y,z) --// тут позишн ченджера local actor, lev_name, dist = db.actor, level.name() if actor and lev_name == lname then for i=1,65535 do local gluk_object = level.object_by_id(i) if gluk_object then dist = changer:distance_to(gluk_object:position()) if dist < 5 then --// 'радиус ченджера' ставишь свой amk.remove_item(gluk_object) end end end end Вызывай только не на апдейте . 1 Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 2 Июля 2015 @Forser, на дефолте только две стадии: старт и синхронизация, в седьмом альпет вроде что-то делал, но я не пробовал, в любом случае можно сделать самому, в общем читай фак если интересно. Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 2 Июля 2015 @Forser, цель-то какая? Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 2 Июля 2015 (изменено) @Forser, зитс импосибл, только движок, только хардкор. Заряди функцию отыгрывания звука, или прямо в движке закостыль свою музяку где-там тебе велят. Изменено 2 Июля 2015 пользователем Карлан Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 3 Июля 2015 (изменено) @Forser, когда в слоте ничего не будет, то будет вылет. Ну и конструкция вообще весьма подозрительная. Попробуй: function check_slot(n) if db.actor and db.actor:item_in_slot(n) then local sect = db.actor:item_in_slot(n):section() if sect and sect..'' and sect == 'item_section' then --// action end end end Изменено 3 Июля 2015 пользователем Карлан Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 3 Июля 2015 (изменено) Мне всегда нравились такие вопросы. Бамбарбия - твой выход, у меня фатал эррор . "На сегодня дров достаточно, учите матчасть."(с) Изменено 3 Июля 2015 пользователем Карлан Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 4 Июля 2015 @macron, от парентов вообще бывает трип, лично мне так и не удалось, делал задержку аж до 5 секунд. Реквестирую знатоков. "Обнуленный" парент это кстати 65534 (показатель бесхозности), 0 - это актор. Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 4 Июля 2015 @macron, бесхозность = валяние на земле. Не сработает, вот я к чему. Попробуй добавь проверку на серверный объект, удаляем то как никак его. local obj=level.object_by_id(i) local sobj=alife():object(i) if sobj then --//... end 1 Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 4 Июля 2015 @makdm, какая разница он ro, то что делал макрон это бесполезно. Спасибо за заметку, я сам не помню уже точно эти цифры. Поделиться этим сообщением Ссылка на сообщение
Карлан 1 050 Опубликовано 4 Июля 2015 @makdm, удаляешь сталкера, вместе с ним и инвентарь удаляется, зачем дропать? Поделиться этим сообщением Ссылка на сообщение