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

Язык Lua. Общие вопросы программирования


Рекомендуемые сообщения

С чего начинать и где взять.

 

Установка Lua:
http://www.amk-team.ru/forum/index.php?showtopic=11584&p=629106

 

Руководство «Программирование на языке Lua», третье издание:
http://www.amk-team.ru/forum/index.php?showtopic=11584&p=905308

Изменено пользователем Kirgudu
Ссылка на комментарий

@Achiever,

if <прошло сколько-то времени> then break end

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

@Achiever,

какое время надо измерять? Секунды, доли секунд, часы? В какой среде ты запускаешь свой скрипт? Это чистый Lua, мод сталкера? Здесь нет ответа на все случаи жизни.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Подскажите, кроме хилого 

os.execute("")

, у Луа есть другие способы работать с шеллом оси и запускать внешние приложения с параметрами?


Также буду признателен за уроки на русском по wxLua и IUP..

Изменено пользователем Graff46
Ссылка на комментарий

А нормальный учебник есть? Если есть то дайте ссылку на него, а то что вы выложили, не понимаемо, и не читаемо. Заранее благодарен.

:az1000106: где бы код изменить :facepalm:

Работает - не трогай.©Любой программист

Mr_God.gif

Ссылка на комментарий

 

 

что вы выложили, не понимаемо, и не читаемо

Что именно не читаемо и не понимаемо?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Что именно не читаемо и не понимаемо?

Я понял только ввод в lua так как я это делал на другом языке программирования, но дальше ничего кроме команд нету это не обучение lua, это гадание на компьютере, а не понимаемы сами команды которые даже не обьяснены толком, написано что-то и не понятно, или lua для профессионалов либо я такой.

:az1000106: где бы код изменить :facepalm:

Работает - не трогай.©Любой программист

Mr_God.gif

Ссылка на комментарий

@Mr_God,
по ссылке из шапки лежит книга «Программирование на языке Lua». Она на русском, и это не мануал, а именно что учебник, где всё разжёвано до предела. Читай эту книгу. Ничего лучше нет. Если есть конкретные вопросы, попробуй задать их здесь.

  • Согласен 2
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Привет , парни . Не знаю туда , не туда обращаюсь ... Вообщем проблема : Мне скинули сборку для ТЧ специально для моего будущего мода и сказали мол , что она не выделяется стабильностью . Решил использовать Ящик для артефактов и дает мне вылет 

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...k.e.r_1_0006\gamedata\scripts\arc_8containers.script:34: attempt to index field '?' (a nil value)
Подскажите , что , как , по чем .

Dukas / Level Designer / Хочу стать про аниматором. Мои работы

Ссылка на комментарий

Тебе сюда:http://www.amk-team.ru/forum/faq/

Брать в качестве основы кривую сборку- плохая идея: к имеющимся косякам ты еще добавишь свои и не взлетит. 

Если мод глючит и вылетает, то игроку не в радость будут даже самые крутые нововведения и примочки. 

Отсутствие вылетов- это главный показатель качественного мода.

Изменено пользователем aromatizer
  • Согласен 1

Отношения между людьми- главная ценность в человеческом обществе.
Любая полученная информация- это только повод для размышлений, а не побуждение к действию.
Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAE
Накопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt

Ссылка на комментарий

 

 

Мне скинули сборку для ТЧ специально для моего будущего мода и сказали мол , что она не выделяется стабильностью

Тогда можешь считать что тебе ничего не скинули. Основа, то на чем разработка держится как на фундаменте - должна быть стабильна как железнодорожное полотно. Если такой нет, лучше брать за основу оригинал.

  • Нравится 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

Тебе сюда:http://www.amk-team.ru/forum/faq/

Брать в качестве основы кривую сборку- плохая идея: к имеющимся косякам ты еще добавишь свои и не взлетит. 

Если мод глючит и вылетает, то игроку не в радость будут даже самые крутые нововведения и примочки. 

Отсутствие вылетов- это главный показатель качественного мода.

Да там просто 3 бета патч для AMK стоит . Жалко терять .

Dukas / Level Designer / Хочу стать про аниматором. Мои работы

Ссылка на комментарий

Что более жалко терять, свой будущий мод или какой-то патч...

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

Добрый вечер.

Я вот пытаюсь разобраться с nil.

Код(пример кода):

function my_function()
if (db.actor ~= nil) then
local obj = alife():create("предмет", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) 
end 

Как я понимаю вторая строка проверяет ГГ - это актор или нет? Если нет(я так решил потому что nil - это false), то спавним в инвентарь ГГ предмет. 

Вопросы:

1) Правильно ли я понял?

2) Зачем нужна эта проверка на nil?

Ссылка на комментарий
вторая строка проверяет ГГ - это актор или нет?

 

Она проверяет, есть-ли у нас в этот момент актор или нет. Проверяет немного по дурацки, на мой взгляд. Потому, что

 

2) Зачем нужна эта проверка на nil?

 

проверка на nil в данном случае не нужна. Нужна просто проверка на истинность. Т.е.

if db.actor then
end

Изменено пользователем dsh
Ссылка на комментарий

@Kober(BRUC), когда нужна проверка именно на nil (с) Кеп.

function check_three_case(value_to_check)
  if value_to_check == nil then
    print("Value is NIL " .. tostring(value_to_check))
  elseif not value_to_check then
    print("Value is false " .. tostring(value_to_check))
  else
    print("Value isn't false or NIL " .. tostring(value_to_check))
  end
end

В данном случае не принципиально, но вообще проверка

if value ~= nil then
не эквивалентна
if value then
Изменено пользователем Desertir
  • Спасибо 1

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий
В данном случае не принципиально, но вообще проверка if value ~= nil then не эквивалентна if value then

Не знал) А чему же тогда if value эквивалентно? if value == true? 

Изменено пользователем TIGER_VLAD
Ссылка на комментарий

@TIGER_VLAD, если value будет равно false, то проверка с nil пройдет, а простой if нет.
На мой перфекционистский взгляд, проверка на то, что actor не равен nil, является более логичной, и по мне код читается быстрее.
Чисто мое субъективное мнение. Мы пишем в коде именно то, чего требуем. Если брать во внимание второй вариант, что глаз читающего может споткнуться об if db.actor then, я бы на секунду задумался, а в каких же ситуациях это дело будет правдой, а в каких ложью.


Кстати, разные языки, но всё же, например в JavaScript с этим всё еще веселее. Изменено пользователем Desertir
  • Спасибо 1

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...