Воскресенье, 27 Июля 2025, 07:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
goldsphereДата: Суббота, 15 Февраля 2014, 16:24 | Сообщение # 741 | Тема: Странная вещь при инициализации lua_State
заслуженный участник
Сейчас нет на сайте
Нужна была обёртка для работы с данными lua, наткнулся на эту статью http://habrahabr.ru/post/197300/, взял оттуда код
Код
LuaScript::LuaScript(const std::string& filename) {
L = luaL_newstate();
if (luaL_loadfile(L, filename.c_str()) || lua_pcall(L, 0, 0, 0)) {
std::cout<<"Error: failed to load ("<<filename<<")"<<std::endl;
L = 0;
}

if(L)
luaL_openlibs(L);
}

Но возникла такая интересная штука
В одно проекте, где есть только этот класс работает, перенёс в основной проект, подключил либы, первая строчка не срабатывает, без ошибок, просто срабатывает блок if. Из-за чего вообще может не работать L = luaL_newstate();?
Пути я проверял, файл должен находиться

Добавлено (15.02.2014, 16:24)
---------------------------------------------
Решено


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Воскресенье, 16 Февраля 2014, 11:40
goldsphereДата: Воскресенье, 16 Февраля 2014, 11:38 | Сообщение # 742 | Тема: Странная вещь при инициализации lua_State
заслуженный участник
Сейчас нет на сайте
Несмотря на то, что части кода в проектах были одинаковые, скрипты немного отличались. В одном из них была ошибка biggrin )
Ошибка плана
Код
player =
{
     gfx =
     {
        Texture = "..."
        ...
     }
     ....
}

не были расставлены запятые между элементами таблиц)


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Воскресенье, 16 Февраля 2014, 11:39
goldsphereДата: Пятница, 21 Февраля 2014, 06:43 | Сообщение # 743 | Тема: Инструментарий игродела.
заслуженный участник
Сейчас нет на сайте
Цитата MrDmitriy65 ()
Репозиторий и где хранится код (в облаке или локально)

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

Добавлено (21.02.2014, 06:43)
---------------------------------------------
Ну и понятное дело, что движок, соответственно и язык должны быть одни и те же для всех smile .


FinderX - Android Аркада
goldsphereДата: Среда, 26 Февраля 2014, 14:14 | Сообщение # 744 | Тема: Помогите выбрать ЯП.
заслуженный участник
Сейчас нет на сайте
ну или Java - очень востребованный и у него широкое применение + кроссплатформенность. А вообще не может быть языка лучше или лучшего, у каждый предназначен для своих задач

FinderX - Android Аркада
goldsphereДата: Четверг, 27 Февраля 2014, 07:16 | Сообщение # 745 | Тема: Помогите выбрать ЯП.
заслуженный участник
Сейчас нет на сайте
Цитата Saitei ()
да без разницы, бери любой

Цитата Saitei ()
Можешь начинать хоть с С++, хоть с Basic

Можно, но лучше тратить время на востребованные языки: С++, Java, Python, ( PHP, JS, MySQL итд ).


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Четверг, 27 Февраля 2014, 07:28
goldsphereДата: Четверг, 27 Февраля 2014, 08:46 | Сообщение # 746 | Тема: Помогите выбрать ЯП.
заслуженный участник
Сейчас нет на сайте
kvestpro, не обязательно, создавать игры можно на чём угодно, для всего есть хорошие движки, не только для C#, хотя сам C#, как язык тоже ничего

FinderX - Android Аркада
goldsphereДата: Суббота, 01 Марта 2014, 09:08 | Сообщение # 747 | Тема: Вопросы по ЛУА
заслуженный участник
Сейчас нет на сайте
можно ли превратить .lua в бинарник(чтобы его нельзя было открыть), и считать в том же C++, как полноценный скрипт?

FinderX - Android Аркада
goldsphereДата: Суббота, 01 Марта 2014, 15:51 | Сообщение # 748 | Тема: Вопросы по ЛУА
заслуженный участник
Сейчас нет на сайте
а его из С++, исполнить можно?

FinderX - Android Аркада
goldsphereДата: Суббота, 01 Марта 2014, 15:59 | Сообщение # 749 | Тема: Вопросы по ЛУА
заслуженный участник
Сейчас нет на сайте
это понятно, вопрос в том, что будут ли выполняться lua файлы из С++, так же как и luac

FinderX - Android Аркада
goldsphereДата: Четверг, 06 Марта 2014, 08:33 | Сообщение # 750 | Тема: Lua и C++
заслуженный участник
Сейчас нет на сайте
Можно ли из С++, получить все имена полей таблицы в скрипте?
То есть есть скрипт допустим
a =
{
b = 12,
c = 56,
e = 34,
}

на выходе надо получить : b, c, e


FinderX - Android Аркада
goldsphereДата: Четверг, 06 Марта 2014, 10:05 | Сообщение # 751 | Тема: Lua и C++
заслуженный участник
Сейчас нет на сайте
Вообще-то я имею ввиду, с помощью встроенных средств Lua API

Добавлено (06.03.2014, 10:05)
---------------------------------------------
Если нет, то понятно, что парсить придётся вручную


FinderX - Android Аркада
goldsphereДата: Пятница, 07 Марта 2014, 18:14 | Сообщение # 752 | Тема: Вопрос-Ответ (C++)
заслуженный участник
Сейчас нет на сайте
У тебя массив содержит строки разной длинны. А через циклы ты их прогоняешь, как буд-то они все длинны j. Так что, попробуй выровнять строки в масиве

FinderX - Android Аркада

Сообщение отредактировал goldsphere - Пятница, 07 Марта 2014, 18:14
goldsphereДата: Среда, 12 Марта 2014, 10:22 | Сообщение # 753 | Тема: Конкурс по разработке игровых проектов "Gamiron №7"
заслуженный участник
Сейчас нет на сайте
А бой 1 на 1 считается?

FinderX - Android Аркада
goldsphereДата: Четверг, 13 Марта 2014, 07:24 | Сообщение # 754 | Тема: Скрипты против Основного кода
заслуженный участник
Сейчас нет на сайте
Конкретно речь пойдёт о Lua и C++. В моём текущем проекте без скриптов довольно трудно обойтись, я использую их как хранилища данных и конфиги и тут уж только скрипты спасут, но всё же иногда легче написать код на C++, чем встраивать lua скрипты. Но некоторые вещи будет трудно отследить, например это бы сильно затруднило отладку, встраивание скриптов довольно муторный процесс, но реализуемый и уже реализованный, ещё я волнуюсь о защите данных, ибо любой .lua файл можно открыть и изменить, а из скомпилированного файла нельзя вытаскивать данные, их можно только запускать на исполнение, то есть появляется ещё один геморрой - кодирование и декодирование таких файлов.
суть вопроса: стоит ли выносить из основного кода что-то ещё кроме кучи данных, таких как хар-ки персонажей, например алгоритм поведения ботов, некоторые геймплейные фичи или использовать скрипты по максимуму? Как тогда защитить скрипты?

Как для меня у обоих вариантов есть следующие плюсы и минусы:
разработка на уровне C++
плюсы
Так как это часть основного кода, не надо париться со встраиванием
Информация защищена
минусы
Привязка многих элементов к основному коду, нет вариативности
В принципе необходимость трогать основной код, если хочется просто наклепать персонажей
встраивание скриптов Lua
плюсы
легко добавлять допустим персонажей в игру, написал скрипт, путь к нему прописал в другом скрипте и всё
не нужно лезть в основной код
упрощает жизнь
минусы
доп проблема сопоставления основного кода и скриптов
не защищённость, необходимость шифрования, что ещё добавить проблем


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Четверг, 13 Марта 2014, 07:36
goldsphereДата: Четверг, 13 Марта 2014, 08:10 | Сообщение # 755 | Тема: Скрипты против Основного кода
заслуженный участник
Сейчас нет на сайте
-l33t-h4xx-, да но вот тут есть проблема, скажем есть строчка
UserBackground = "Standart"
При старте игры значение переменной загружается из .lua в основной код встроенными средствами lua, но если скрипт скомпилирован, то здесь уже таким же образом вытащить переменную не получится, его можно только выполнить.

Добавлено (13.03.2014, 08:10)
---------------------------------------------
Для функционирования некоторых скриптов могут понадобиться переменные из основного кода, а их так же можно регистрировать только для .lua файлов.


FinderX - Android Аркада
goldsphereДата: Четверг, 13 Марта 2014, 08:33 | Сообщение # 756 | Тема: Скрипты против Основного кода
заслуженный участник
Сейчас нет на сайте
Цитата -l33t-h4xx- ()
file.lub

ты скомпилировал через luac?


FinderX - Android Аркада
goldsphereДата: Четверг, 13 Марта 2014, 08:47 | Сообщение # 757 | Тема: Скрипты против Основного кода
заслуженный участник
Сейчас нет на сайте
Всё, заработало, господи, такая глупая ошибка была, в батнике не тот файл указал) -l33t-h4xx-, Спасибо)

Добавлено (13.03.2014, 08:47)
---------------------------------------------
но остаётся вопрос, что же стоит выносить в скрипты, а что нет, учитывая что проект пока что не большой


FinderX - Android Аркада
goldsphereДата: Пятница, 14 Марта 2014, 09:53 | Сообщение # 758 | Тема: Несколько вопросов по Java
заслуженный участник
Сейчас нет на сайте
Цитата last2424 ()
ты гугл я майл есть разница?

хах, пунктуация, не не слышал)
вроде бы в нашем демократическом обществе у каждого есть право пользоваться гуглом, и раз, за частую, посылают именно туда, может стоит поискать вначале там, если в майле нет?


FinderX - Android Аркада

Сообщение отредактировал goldsphere - Пятница, 14 Марта 2014, 09:54
goldsphereДата: Суббота, 15 Марта 2014, 06:17 | Сообщение # 759 | Тема: Вопрос-Ответ (C++)
заслуженный участник
Сейчас нет на сайте
Продолжаю доставать всех с lua))) На сей момент, мне необходимо зарегистрировать функцию, но не простою, а метод класса
int Actor::addeffect(lua_Sate*)
{
..
return 0;
}
но как я уже понял, нельзя так её зарегистрировать

lua_pushcfunction(L, addeffect);
lua_setglobal(L, "addeffect");

аргумент типа int(Actor::*)(lua_State*) несовместим с параметром lua_CFunction

Если делать функцию как друга, то придётся принимать ещё 1 параметр, что тоже lua не позволит. Можно ли как-то обойти это?


FinderX - Android Аркада
goldsphereДата: Среда, 26 Марта 2014, 15:24 | Сообщение # 760 | Тема: практикум по C++
заслуженный участник
Сейчас нет на сайте
Смотря что для тебя основы, хотя если несколько книг, то.. можно попробовать какой-нибудь движок, сделать простую игру, гугли sfml, clanlib

FinderX - Android Аркада
Поиск:

Все права сохранены. GcUp.ru © 2008-2025 Рейтинг