1) Ты бы хоть скрипт от дерьма почистил прежде чем выкладывать. Поубирай все эти nokia? pda_leb и прочее, что к ЧН отношения в принципе не имеет. Зачем захламлять код мусором? Код должен быть максимально понятным.
2) Не правильнее ли будет сделать на патроны такую же проверку как на костюм, по поиску строки "ammo"? А у тебя в скрипте идет перечисление и сравнение предмета с каждым видом патронов. Сумасшествие.
function isAmmo(object) if object then if string.find(object:section(),"ammo_" ) and (object:section()~="ammo_vog-25p" and object:section()~="ammo_vog-25" and object:section()~="ammo_m209") ) then return true end end return false end
Лучше, не так ли?
Сообщение отредактировал Max_Warlock - Пятница, 15.11.2013, 13:25
Далее. Зачем в каждой функции проверка на существование объекта? Зачем столько лишних строк?
Из всех функций IsПредмет поубирай
if object then end
А вместо этого добавь:
function get_vol(obj) if obj then if isMed(obj) then return 7.8 elseif isWeapon(obj) then return 11.1 elseif isArtefact(obj) then return 9.5 elseif isAmmo(obj) then return 2.7 elseif isGren(obj) then return 1.5 elseif isGrenammo(obj) then return 2.1 elseif isOutf(obj) then return 14.3 else return 5 end end end
Добавлено (15.11.2013, 13:31) --------------------------------------------- Stalker_Monstr, я не я, и лошадь не моя? при чем тут автор? Это не игра, не картина, не фильм и не книга. Это скрипт. и если ты взялся обучать кого-то подключать скриптовые модули, будь добр наведи порядок в "адаптированном" коде. По этой статье будет учиться множество новичков и если код будет так засран, то они в нем ничерта не поймут. А в коде главное - не подключить его, тупо перенеся, а понять.
ЦитатаStalker_Monstr ()
if (object:section()=="explosive_grenade" or "explosive_hide" or "grenade_gt1" ) then
А это что вообще??? Ни в ЧН ни в ЗП ничего подобного среди гранат нет. Там есть grenade_f1 и grenade_rgd5 Что из этого следует: целая функция просто напросто не работает и не выполняет никаких действий, зато гранаты имеют равный объем с хлебом, водкой, бинтами и квестовыми предметами (всеми). Исправь.
Интересно, что это за фигня?
function get_vol(obj) if isMed(obj) then return 7.8 elseif isWeapon(obj) then return 11.1 elseif isArtefact(obj) then return 9.5 elseif isAmmo(obj) then return 2.7 elseif isGren(obj) then return 1.5 elseif isGrenammo(obj) then return 2.1 elseif isOutf(obj) then return 14.3 else return 5 end end
Что-то проверок предметов на оружие и артефакты я в этом коде вообще не наблюдаю.
ИТОГ: ДАННЫЙ КОД АДАПТИРОВАН НЕПРАВИЛЬНО И НЕАККУРАТНО. РАБОТАТЬ ОН БУДЕТ НЕСТАБИЛЬНО, А В ПАЧКЕ С ДРУГИМИ МОДАМИ МОЖЕТ ВЫЗЫВАТЬ ЛЮБЫЕ ГЛЮКИ В МОДАХ И ИГРЕ. НЕ ИСПОЛЬЗУЙТЕ ДАННЫЙ КОД В СВОИХ МОДАХ ПОКА ОН НЕ БУДЕТ ДОВЕДЕН ДО УМА.
Сообщение отредактировал Max_Warlock - Пятница, 15.11.2013, 13:44
dark_stalker_98, какой дурак открывает такие файлы блокнотом??? Notepad++ или Pspad? Не пробовал? Может тебе скрины прислать того, как они у меня открываются?
ЦитатаStalker_Monstr ()
if item:section()~="repair_box" or "repair_box_mini" or "repair_box_otf" or "meshok" or "rukzak" or "zapiska" or "acumm" or "pda_leb" or "nokia" or "protivogaz" or "razgruzka" then end
Вот эта проверка полностью лишняя: от первого и до последнего слова. Зато проверки на квестовые предметы нет... И Stalker_Monstr пытается пропихнуть это как скрипт для ЧН или ЗП
У меня пока с этим скриптом глюков не было, если проверить- да, есть ошибки, но есть ты для этого.
Подчищать экскременты я не собираюсь, вот потыкать носом человека взявшегося учить кого-то...
Добавлено (15.11.2013, 13:53) --------------------------------------------- dark_stalker_98, Дарк, ни о чем не говорит? Тебе явно пора что-то у себя менять. Не знаю что... В таком виде как у тебя код скорее всего вообще бы работать н естал. А у меня он в том виде, что на скрине. Тот же скрипт.
Пока может и не было, а в связке с другими подключенными скриптами такие глюки начаться могут... Ты представь: вызываются несуществующие функции, проверяются несуществующие предметы, квестовые предметы запросто выбрасываются, так как на них нет проверки. Это не код, а помойка.
Сообщение отредактировал Max_Warlock - Пятница, 15.11.2013, 13:55
Такого у меня в помине не было. Скрипты спокойно открываются и блокнотом, смысл устанавливать для них еще программы, которые занимают лишнее место? Другие скрипты аккуратно открываются. Скрин в доказательство, открыл тот же bind_stalker, только оригинала:
Из мода:
Оригинал:
ЦитатаMax_Warlock ()
Подчищать экскременты я не собираюсь, вот потыкать носом человека взявшегося учить кого-то...
Узнаю Макса... Но если ты настаиваешь то скачаю.
Сообщение отредактировал dark_stalker_98 - Пятница, 15.11.2013, 14:03
dark_stalker_98, зато в Notepad ++ удобнее работать. Иначе как ты будешь искать строку, на которую указывает лог? Или ты их сам считаешь? Плюс есть подсветка синтаксиса, что тоже придает удобство работы со скриптами.
В доказательство чего? Если бы скрипт читался так как он открывается у тебя, то все строки, которые начинаются с ------------------ НЕ РАБОТАЛИ БЫ. Плюс мой скрин того же скрипта. И доказательство чего? Того, что у тебя нет нормальной адекватной программы для того, чтобы редактирвоать скрипты, пользуясь подсветкой синтаксиса и массой полезных функций? Которая весит то, кстати, копейки. Notepad++, да-да, а не блокнот Windows. Это все равно что музыку через Windows Media Player слушать.
Добавлено (15.11.2013, 14:03) --------------------------------------------- aleksn09, о, свидетель... Алекс, где-то видел у меня когда-то, то что показывает на скрине Дарк? Стал бы работать такой код?
Добавлено (15.11.2013, 14:03) --------------------------------------------- aleksn09, а поиск по файлам... А подсветка Lua... Ммммм...))
dark_stalker_98, зато в Notepad ++ удобнее работать. Иначе как ты будешь искать строку, на которую указывает лог? Или ты их сам считаешь? Плюс есть подсветка синтаксиса, что тоже придает удобство работы со скриптами.
У меня такой вопрос, ребята, вы знали что в блокноте есть такая фигня?