Перейти к контенту

Nazgool

Жители
  • Число публикаций

    618
  • Регистрация

  • Последнее посещение

  • Дней в топе

    1
  • AMKoin

    0 [Подарить AMKoin]

Nazgool последний раз побеждал 9 Марта 2014

Nazgool - автор самых популярных публикаций!

Оценочная активность

246

6 подписчиков

О Nazgool

  • День рождения 04.10.1972

Контакты

  • Сайт
    http://
  • ICQ
    589382181

Информация

  • Реальное имя
    Сергей
  • Город
    Киевская обл. г.Мироновка
  • Интересы
    Lua

Недавние посетители профиля

1 610 просмотров профиля
  1. dsh Да для меня написать подобный код - не проблема. Печально только что никому сейчас это не нужно Да что там... давно уже никому не нужно.
  2. Nazgool

    Скриптование

    Не, всё нормально вроде. Но... Ну не принято так что-ли. Ну когда много раз вызывают одно и то же, то как-бы принято кэшировать. Не я же придумал. function sad_predateli_pda() local actor = db.actor if actor ~= nil and actor:object("sad_mudak_pda") ~= nil and not actor:has_info("sad_predateli_info") then actor:give_info_portion("sad_predateli_info") end end
  3. Ну если так не подходит, то тогда (по степени сложности) нужно подумать над тем, чтобы переписать функцию '__index'. Как следующий в цепочке ивентов. Или тоже не вариант?
  4. dsh Всё просто кажется сложным. На самом деле обычно не хватает времени разобраться. А дела обстоят так. Действительно, у таблицы 'db' существует метаблица, которая посредством метаметода '__index' ссылается на глобальную таблицу '_G'. Поэтому совершенно естественно, что при запросе несуществующего поля таблицы 'db', поиск поля с таким именем происходит в таблице, на которую указывает '__index'. Т.е. в таблице '_G' И это не прихоть игры, таковы законы Lua. Любой модуль (module) при указании 'package.seeall' будет искать "недостающие" поля в таблице '_G'. И избавиться от т
  5. Dennis_Chikin Я хоть и ответил, но до чертиков в интересно, а что же такое случилось с lua, что в загалi возник такой вопрос? Это к чему? Ты (Dennis_Chikin) такой человек, что (все уже привыкли, что знаешь много) вроде такие вопросы от тебя слышать как-то... необычно что-ли? Ну как-то так выходит.
  6. Nazgool

    Скриптование

    Jekyll Я могу сейчас всё расписать от и до. Только один вопрос - Почему именно до двадцати? for t = 1,20 do В чём сакральная задумка? P.S. Нет, я и так вижу что человек не разбирается. Просто хотелось определиться что именно нужно. P.P.S. А что это с редактором? Жесть какая-то при изменении. Но это в общем-то не особо важно.
  7. Доводилось использовать несколько версий lua ТЧ а также стандартные 5.1 - 5.3 Различий не замечал. А записи абсолютно эквивалентны. "k" и "v" (да как угодно их называй) - это локальные переменные внутри цикла. Функция "pairs (t)" в любой версии (по крайней мере использованных мною) возвращает три значения - функцию next, таблицу t и nil. Т.е. for k, v in pairs(t) do можно переписать как: for k, v in next,t,nil do И теперь видно, что мы имеем дело с функцией "next" Т.е. твой вопрос переадресовывается от функции "pairs" к функции "next" Впрочем и за next-ом различных ве
  8. Nazgool

    У Костра XV

    dPlayer Человек достаточно живучее существо (хотя хочется и отметить, что если бы у некоторых особей такое свойство отсутствовало, то мир бы только приобрёл от этого) Так что не переживай. Современная природа дает нам столько всякой гадости, о которой мы не догадываемся, что грунтовку можно считать растворителем этой гадости
  9. Nazgool

    Скриптование

    @UnLoaded, Нет, это не медвежья услуга, т.к. автор изначально хочет! чтобы при отсутствии значения бралось некое значение по умолчанию ("stalker") Т.е. такое действие не побочный эффект, а сделано намеренно. Вот если бы в исходном коде не было : if community == nil then community = "stalker" end то и я бы написал : ... and community_condition[community] Я всего-лишь подправил код так, чтобы исходная идея автора работала как можно надежнее.
  10. Nazgool

    Скриптование

    @UnLoaded, О чем вы говорите? Какая универсальная защита? Просто защита конкретной функции. Коих создается великое множество. И лично мне не хочется несколько раз возвращаться к переписыванию одного и того кода по нескольку раз. Поэтому лично я поступил бы именно в таком духе. Ну написал бы несколько вспомогательных функций типа iff(cond, a, - (кодеры поймут что я имел в виду) А насчет "медвежьей услуги". Я посчитал, что если напишу : -- тут что-то делать. лог, вылет, исправить или ничего не делать то, будет достаточно ясно. Видимо ошибался.
  11. Nazgool

    Скриптование

    @WinCap, Я понял о чем ты говоришь. Да, если ты используешь подобную функцию ограничено, и уверен что в будущем её не будут вызывать больше ниоткуда, что может привести к передаче "не тех" аргументов то можно оставить и так. Тогда, учитывая твоё объяснение, и запись : if community == nil then community = "stalker" end можно сократить до : community = community or "stalker" Но твоё объяснение всё равно не делает функцию абсолютно "безопасной". Твой код полностью опирается на данные таблицы community_condition. Поэтому нужно следить за тем, чтобы после добавления какой-либо группировки,
  12. Nazgool

    Скриптование

    @WinCap, Ну во-первых он может принимать "ряд" любых типов значений lua кроме nil. См. : if community == nil then Во-вторых. Где у тебя в коде написано, что "заранее известных" и тем более "строковых значений"? Вот в моем варианте это всё предусмотрено. А покажи где у тебя? В третьих (как и во-первых), если он не определен, или определен не так как ожидалось (т.е. это либо не строка, либо строка, которой нет в списке таблицы "community_condition"), то ту два варианта - либо определять значение "насильно" (как ты сдедал): then community = "stalker" Либо вылетать. Ты уж опре
  13. Nazgool

    Скриптование

    Говорю не для того чтобы обидеть, а только ради благих намерений. Хотя и понимаю, что оными выстелена дорога в ад, поэтому как уж получиться. Не раз уже говорил, и всегда недоумевал от столь бесполезного кода (и подобный встречается довольно часто) : if community == nil then community = "stalker" end Что такого полезного тут проверяется? Что значение "community" не "nil"? Ну хорошо. Оно не "nil". А, скажем, "false". И что тогда будет? community_condition[community].min будет фактически равно community_condition[false].min К чему это приведет? Рассказывать, думаю, не нужно. Да,
  14. Nazgool

    Десять сталкерских лет

    Сын купил диск, и ему что-то не понравилось. Поэтому я зашел в гугл с вопросом, "как сделать чтобы..." Это было в 2008-м вроде. С тех пор... изучил Lua, файлы, структуру и возможности игры. Поучаствовал в разных проектах (глобальных и локальных), И ни разу не жалею, так как считаю что это не только игра. Это некое сито, сквозь которое просеилось всё лучшее что было в моддинге на тот момент. Талантливые люди, сумасшедшие (и несбыточные на тот момент) идеи, которые решались с таким энтузиазмом, который покроет все те фиксы, что решают ТЕ! проблемы на данный момент. Ностальжи как ни крути
  15. Это аналог require(module_name) из академического.. lua. Идет подгрузка модуля(файла) с именем module_name.

AMK-Team.ru

×
×
  • Создать...