Понедельник, 11 Ноября 2024, 06:12

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Почему в LUA нельзя переместить часть данных
dj--alexДата: Воскресенье, 14 Мая 2017, 13:25 | Сообщение # 1
частый гость
Сейчас нет на сайте
Вопрос знающим
Что я делаю не так:?
как переместить в памяти в массиве блок данных так чтобы
он читался,
я его копирую в другую часть этого же массива
а там NULL вместо него. (nil) Такая же конструкция обязана работать.
я в PHP тысячу раз такое делал, я понимаю что в ЛУА вообще работа с массивами корява но не настолько же.
main.lua 145 bad argument #1 to 'byte' (string expected, got nil)

data, size = love.filesystem.read (levelname);- читаем ффайл.
xdata=freadbin (data); -- тут в массив загружается код уровня
for a=624,31,1 do
xdata[a+1000]=string.byte(xdata[a]); -- вот тут ВРОДЕ БЫ он копирует данные на новое место
end
можно и без String.byte - все равно будет скопирован хрен. ни одного из 30 байт!!!!

hpmax=xdata[1634] ; - а вот тут main.lua 145 bad argument #1 to 'byte' (string expected, got nil)


Lua + Love
mitchДата: Воскресенье, 14 Мая 2017, 13:50 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Цитата dj--alex ()
for a=624,31,1 do

В Lua при задании цикла второе число означает до какого числа вести счёт, а не количество повторений.
В твоём случае скорее всего надо:
for a = 624, 624+31 do
Третье число не обязательно, если хочешь оставить шаг +1.
dj--alexДата: Воскресенье, 14 Мая 2017, 14:39 | Сообщение # 3
частый гость
Сейчас нет на сайте
ой спасибо а то я всю голову сломал уже
постоянно забываю что тутне такработает.


Lua + Love
  • Страница 1 из 1
  • 1
Поиск:

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