Карлан 1 049 Опубликовано 1 Декабря 2014 @KD87, т.е. если заинклюдить в сустем.лтх все файлы то будет нормально все, я правильно понял? Поделиться этим сообщением Ссылка на сообщение
Карлан 1 049 Опубликовано 20 Ноября 2015 неверно, в очередь добавляется если false 1 Поделиться этим сообщением Ссылка на сообщение
Карлан 1 049 Опубликовано 24 Ноября 2015 (изменено) проверка алайфа все же может и нужна. так как различные деятели порой во всякие меню пихают не только смену флагов (и висяк опять-же, но это личное кому-то в прикол там где надо по сто раз одно и тоже писать), а info_id ~= "" лишнее так как невозможно написать has_alife_info(""), ну никак в моей голове не укладывается что напишут в массиве (ну не руками же) такое работая с этой функцией, если и делать что-то такое, то проверку существования инфо в массиве по переданному аргументу и выводить явно в лог что не так, ну или аборт тут кому как нравится, или вообще поддержку и создание инфо только об этом надо сообщать, а то незадачливый модмейкер слишком сильно обрадуется. и опять-же эта затычка вообще никак не локализирует проблему, а только все усугубит.так или иначе у меня вообще вот так: function has_alife_info(info_id) return sim and sim:has_info(0, info_id) end function has_info(info_id) return actor and actor:has_info(info_id) or has_alife_info(info_id) end "Читаемости вашему коду оно не добавляет." вот посмотри, откопал какую-то старую версию торговли, вот там несколько функций построено таким образом, так как в противном случае код увеличивался невероятно: tbl_sell = flag and (IsTable(vv.traders) and vv.traders) or (is_friend and (IsTable(vv.sell_stalkers_friend) and vv.sell_stalkers_friend) or (IsTable(vv.sell_stalkers) and vv.sell_stalkers)) в целом я наверное и сейчас так бы сделал, иное трудно придумать, разве что ini_file , зато т.о. вся недвижковая торговля вышла в 350 строк. и читаемость как никрути выше чем у кучи if-then-elseif Изменено 24 Ноября 2015 пользователем Карлан Поделиться этим сообщением Ссылка на сообщение
Карлан 1 049 Опубликовано 24 Ноября 2015 "Почему ты так уверен?" о том тебе и говорю, что там где есть подозрение, там и проверяй, генератор строк я думаю у тебя в паре мест (н-р диалоги, квесты), когда эта проверка в сотне. какой-то реальный смысл в этой проверке не вижу так как функция все равно вернет false даже при "" и вообще чему попало непонятному, она именно булевая и другое она вернуть не может (если конечно ты не из любителей гонятся за наносекундами которые начнут говорить что str ~= "" быстрее итерации по массиву, но в таком случае эту проверку стоит переписать хотя бы на (type(str) == 'string' and str ~= ''), а в функции например выдачи инфо эта проверка вообще понесет вред. Поделиться этим сообщением Ссылка на сообщение
Карлан 1 049 Опубликовано 3 Августа 2016 Моя практика говорит другое, я делал две реализации тайм-фактора, и выводы такие, что ляжешь спать часов на десять, а проснешься на рабочем столе (особенно если у тебя еще какие-нибудь "универсальные" схемы стоят). Виной всему менеджер логики. Так что лично я буду делать сон как в ЗП (технически, визуально он сделан абсолютно бездарно). Поделиться этим сообщением Ссылка на сообщение