ДатчикХабара
со временем там все верно (почти - щас заметил одну неточность) - эта схема у меня на бомбе работает.
разные флаги для переменной времени необязательно писать - достаточно каждый раз просто снова приравнивать свою переменную к time_global() и отсчет будет идти по новой.
добавлено спустя 4 минут
заметил одну неточность: функция hit_vibros() должна находится выше функции start_vibros()
так как вызов этой функции идет без указания namespaсe this
добавлено спустя 3 минут
еще одна поправочка: в функцию start_vibros() добавил вот то time_v = time_global()
отредактировал(а) erlik: 23-11-2009 17:01 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Futura
все зависит откуда ты берешь значения для добавления в таблицу - если из другой таблицы - то можно через числовой for
типа так
t={}
tt ={"s1","s2","s3","s4"} -- таблица твоих значений - (перевел их в строки для удобства)
function name()
for j=1, #tt do --пройдемся по всей длине таблицы
table.insert(t,tt[j) --добавим каждый элемент из одной таблицы в другую
print(t[j]) --распечатаем для проверки
end
end
чтобы вывести результат чтения таблицы строкой можно использовать функцию table.concat()
которые соединит все элементы таблицы в одну строку
b ={"blue", "height", "width", 0, 0, 1,-10,0,2, 5,7,25}
n = table.concat(b,"; ")
первый аргумент - таблица
второй аргумент ; -- разделитель значений - можно использовать любой - хоть точку хоть запятую и т.д.
по умолчанию используется пустая строка - то есть все элементы просто "слипнутся"
добавлено спустя 58 секунд
(опять форум перевел в курсив i в квадратных скобках - исправил на j )
отредактировал(а) erlik: 24-11-2009 00:01 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
#Futura :
2)Есть ли способ выводить в консоль результат таблицы не столбиком, а строкой?
Не совсем ясно какой именно строкой тебе нужно.
Может так? :
io.write(...) -- под '...' я подразумеваю параметры
Наример :
a = 4
f = 'param'
h = 55
io.write (a,f,h)
выдаст
4param55
Gun12
есть у меня одна хитрая задачка - вывести (распечатать) хэш-массив такого вида b = {{color = "blue"}, {height = 10}, {width =30},{height = 20}, {width =50}, {0, 0, 1},{x=-10, y=0, z= 2}, {x=5, y=7, z=25}}
хэш без подтаблиц - типа такого tab = {color = "blue", height = 10, width =30, height = 20, x=-10,y=0,z= 2, x=5, y=7,z=25}
легко выводится через for k, v in pairs(table) do
print(k,v) -- правда есть минус - не в числовом порядке (а ipairs как ты понимаешь такой массив не читает)
обычный массив (не хэш) с подтаблицами b ={{"blue"}, {"height"}, {"width"}, {0, 0, 1},{-10,0,2}, {5,7,25}}
можно вывести через
for j=1, n do --где n - число подтаблиц
print(table.concat(b[j],"; "))
а вот тот первый гибрид ничем не получается :-) хотя подозреваю что это можно сделать каким нить хитрым сочетанием итераторов и конкатенации элементов всех таблиц.
отредактировал(а) erlik: 24-11-2009 10:40 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Stalker_Jack Хорошень распакуй архивы игры название файла говорит само за себя.
Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...\games\stalker\gamedata\scripts\sim_statistic.script:12: attempt to index global 'xr_statistic' (a nil value)
Скажите что озночает эта ошибка. Хочу вернуть бюррера. Сделал параметр слабого бюррера. Все как положенно но вот вылет.
Если ты еще незнаешь - ПАНКИ FOREVER, если нет, то давай тащи свою грабли в мой город, там на себе почувствуешь... :nrus
#erlik :...
вывести (распечатать) хэш-массив такого вида....
[/**5001a1109cb3c6967ad6**V. Поставил пробел
table.insert(t,s)
end
print(table.concat(t,"; "))
end[/code]
И ещё, таблица {0, 0, 1} печатается как 1 0; 2 0; 3 1. Нужно ли сделать, чтобы она печаталась 0; 0; 1
Gun12
спасибо :-) усе работает. разделителем между ключом\значением поставил знак =
а в конце в( table.concat) поставил перевод на новую строку вместо ; - теперь выводит каждый элемент в одну строку.
а это {0, 0, 1} в принципе было вставлено просто для проверки - ничего другого кроме этой подтаблицы у меня вроде как не читалось.
Как я и думал - потребовалось два итератора ...не считая дополнительных функций
ну что ж теперь благодаря тебе теперь ясно как можно работать с такими "гибридными" таблицами.
...to be continued
отредактировал(а) erlik: 24-11-2009 23:57 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
#erlik :
а в конце в( table.concat) поставил перевод на новую строку вместо ; - теперь выводит каждый элемент в одну строку.
Пож**5001a1109cb3c6967ad6**h =50}, {0, 0, 1},{x=-10, y=0, z= 2}, {x=5, y=7, z=25}}
for w = 1,#b do
for k,v in pairs(b[w]) do
s = k..'='..v
print(s)
end
end[/code]
А так напечатает без ключей, если они не указаны в таблицах :
[code]b = {{color = "blue"}, {height = 10}, {width =30},{height = 20}, {width =50}, {0,p=0, 1},{x=-10, y=0, 2}, {x=5,7, z=25}}
for w = 1,#b do
for k,v in pairs(b[w]) do
if type(k)=='number' then
print(v) else
s = k..'='..v
print(s)
end
end
end[/code]
отредактировал(а) Gun12: 25-11-2009 00:21 GMT3 час. Не стань номинантом премии Дарвина.
Gun12
н-да ... а ларчик просто открывался - двойной цикл и никаких гвоздей.
все оказалось гораздо проще чем я думал... не зря говорят - самое верное решение - чаще всего самое простое...:-)
ps: ну ладно - зато пока "велосипед" изобретал - с unpack'ом попутно разобрался
как оказалось делает практически тож самое что и table.concat() - только там разделитель значений - пробел, который нельзя ничем заменить. и хэш массив в чистом виде он, увы, не распаковывает - только массив с целочисленными индексами.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
ВНИМАНИЕ: идёт расроботка мода «Долина артефактов».
Всем желающим помоч команде «Рассвета» кликать сюда: http://stalker-portal.ru/plug.php?e=weblogs&m=page&id=9622
Все у кого есть идеи и пожелания, оброщайтесь. Вместе мы сотворим нашу единую зону.
Господа СТАЛКЕРЫ!Подскажите плиз!В каком скрипте можно вырубить ЭЛЕКТРУ в пещерах перед входом в ЛАБИРИНТ!!!Запарился уже, не могу сделать квест на освобождение пленника!Где то прочитал что перейти в лабиринт мешает ЭЛЕКТРА,а АМК форум не работает чтото.Пропишите плиз как убрать эту заразу!Заранее огромное СПАСИБО!
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.