Меню сайта
HardLife addon
Статистика
Вход

Последнее в блоге
[02.10.2015]
О релизе в steam (14)
[17.06.2015]
Как всё начиналось (3)
Последние картинки
Четверг, 18.04.2024, 19:58
Приветствую Вас Гость

Lua - вопросы и ответы - Страница 2 - Форум

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум » Модификации » Наука модификации » Lua - вопросы и ответы
Lua - вопросы и ответы
VorotДата: Понедельник, 24.02.2014, 16:32 | Сообщение # 16
Поручик
Группа: Модераторы
Сообщений: 2806
Репутация: 112
Статус: Offline
Цитата be@ver ()
Как программно глянуть CGL на котором появиться предмет?

Парсить файл itemlevels.xml


"Они хотели нас похоронить, но не знали, что мы семена" (мексиканская пословица)
 
be@verДата: Вторник, 04.03.2014, 13:47 | Сообщение # 17
Рядовой
Группа: Пользователи
Сообщений: 18
Репутация: 1
Статус: Offline
в консоли
Код
lua local p = GetAllPlaces() for k, v in pairs(p) do print(v:Pos()) local s = v:Pos() print(s) end
Почему результат разный?
 
amreДата: Вторник, 04.03.2014, 16:35 | Сообщение # 18
Сержант
Группа: Пользователи
Сообщений: 26
Репутация: 5
Статус: Offline
Цитата be@ver ()
Почему результат разный?
Без понятия smile . но
Код
local x,y,z = v:Pos(); print(x,y,z)

работает также как и print(v:Pos()).
 
slavyanДата: Суббота, 15.11.2014, 20:55 | Сообщение # 19
Полковник
Группа: Пользователи
Сообщений: 206
Репутация: 43
Статус: Offline
Чем можно открыть файл lua?
 
SurgeonДата: Суббота, 15.11.2014, 21:21 | Сообщение # 20
Генералиссимус
Группа: Друзья
Сообщений: 2454
Репутация: 143
Статус: Offline
Цитата slavyan ()
Чем можно открыть файл lua?

Попробуй "блокнотом" ))


"Война - войной, а обед по расписанию!" © Фридрих Вильгельм I
 
slavyanДата: Воскресенье, 16.11.2014, 07:44 | Сообщение # 21
Полковник
Группа: Пользователи
Сообщений: 206
Репутация: 43
Статус: Offline
Блокнотом пробовал.
Surgeon
, дело в том, что пытался открыть файлы lua из "Мародера". Они там, как мне кажется, не читаемые по сравнению с HLAшными. Например:
    


Сообщение отредактировал slavyan - Воскресенье, 16.11.2014, 07:46
 
moongooseДата: Воскресенье, 16.11.2014, 11:09 | Сообщение # 22
Генерал-майор
Группа: Пользователи
Сообщений: 252
Репутация: 20
Статус: Offline
Цитата slavyan ()
Чем можно открыть файл lua?

Стандартный виндовский Notepad действительно плохо воспринимает все, что выпадает из ряда стандартных кодировок (codepages), тем более если их используется несколько в пределах одного текстового файла. В данном случае целесообразнее использовать более толковые plain-text редакторы, например, "флудпад" (AkelPad) или Notepad++.


Американские программисты до сих пор не могут понять, почему их русские коллеги при зависании Windows всё время повторяют загадочную и бессмысленную фразу о вашем кролике, который что-то там написал: Your Bunny Wrote... :)
 
KrenonДата: Пятница, 30.01.2015, 20:43 | Сообщение # 23
Лейтенант
Группа: Пользователи
Сообщений: 43
Репутация: 7
Статус: Offline
В процессе отладки часто приходится вносить мелкие правки в скрипт. Каждый раз приходится перезапускать игру. Подскажите, пожалуйста, есть ли более простой способ загрузки LUA-файла?

Добавлено (30.01.2015, 20:43)
---------------------------------------------

Цитата Krenon ()
простой способ загрузки LUA-файла
luaload filename.lua -- загрузка файла из консоли
lua ClearContextMenuItems() -- очистка контекстного меню из консоли
 
kireevmv89Дата: Понедельник, 13.04.2015, 05:44 | Сообщение # 24
Сержант
Группа: Пользователи
Сообщений: 30
Репутация: 11
Статус: Offline
Приветствую!
1. Необходимо уничтожить все аттачи на оружии. После выполнения кода (как в существующем скрипте)
Код
-- item содержит ID оружия
       local upgrades = item:GetUpgrades()
             for _, upgrade in ipairs(upgrades) do
                   item:RemoveUpgrade(upgrade.id)
             end

ничего не происходит. Что делать?
2. А как их (аттачи) можно снять? Удалять с оружия и создавать новый, дублируя износ? Или есть что-то вроде item:DropUpgrade(...)?
3. Можно ли выполнять скрипт с увязкой по времени? Например, каждую секунду игрового времени (т.е. на паузе в игре скрипт тоже будет "ждать")?
4. Как узнать, что у наёмника очередь действий пуста?
5. Как перемещать по карте брошенный на землю предмет?
6. Как для MessageBox'а задать свой текст кнопок и как проверить, что выбрана кнопка с определённым текстом?
Спасибо!


Сообщение отредактировал kireevmv89 - Понедельник, 13.04.2015, 06:21
 
XelatДата: Вторник, 14.04.2015, 13:38 | Сообщение # 25
Полковник
Группа: Администраторы
Сообщений: 119
Репутация: 89
Статус: Offline
Цитата kireevmv89 ()
1. Необходимо уничтожить все аттачи на оружии. После выполнения кода (как в существующем скрипте) ничего не происходит. Что делать?
Это код убирания апгрейдов, а не аттачей. Используйте item:GetAddons() и item:RemoveAddon(). Более того, после убирания аттача с оружия, если он больше не нужен - его нужно удалить, например через addonItem:Delete()

2. Собственно через item:RemoveAddon() аттачи и снимаются.

3. Нельзя.

4. Никак.

5. Никак.

6. Никак, там задан старндартный набор кнопок Да/Нет и Ок/Отмена, причём картинками.
 
slavyanДата: Пятница, 28.08.2015, 15:13 | Сообщение # 26
Полковник
Группа: Пользователи
Сообщений: 206
Репутация: 43
Статус: Offline
Игра "Мародер". Можно ли написать и интегрировать новый квест, не имея исходников?
 
eliteДата: Среда, 27.12.2017, 11:29 | Сообщение # 27
Лейтенант
Группа: Пользователи
Сообщений: 49
Репутация: 6
Статус: Offline
Камрады, подскажите, можно ли в LUA-скрипте получить список предметов на земле (грунте)?
И еще вопрос, что сие означает:

monster:AddChangeItemAction(2)

и какие значения можно указывать в скобках?

Добавлено (25.12.2017, 13:20)
---------------------------------------------
По-поводу AddChangeItemAction(), разобрался что к чему.

Добавлено (25.12.2017, 22:11)
---------------------------------------------
Для HLA-steam есть мод который позволяет упаковывать разгрузки/пояса/подсумки, лежащие на земле с выбросом содержащихся в них предметов на землю, вот ссылка http://steamcommunity.com/sharedfiles/filedetails/?id=1172800008
Я решил этот мод адаптировать для Arma Realista, чтобы можно было упаковать все разгрузки и т.д. в машине. Добавил в using_items.lua такой код:Кодlocal function CanCleanAllWeapons()
return not IsBattle() and HUDState() ~= HUDType.hsShop
end

local function CanCleanAllWeaponsInCar()
return TheCar ~= nil and TheCar ~= NULL and CanCleanAllWeapons()
end


function UnfoldAllItemInCar(item)
local foldTime = 0
local items = GetCarItems()

for _, item in ipairs(items) do
if item:GetFamily() == 10 then
local similar_item = nil

if (item:GetName() == "Ammo Cartouche6") then
similar_item = "Folded Ammo Cartouche6"
elseif (item:GetName() == "Ammo CartoucheVert") then
similar_item = "Folded Ammo CartoucheVert"
elseif (item:GetName() == "Ammo Cartouche") then
similar_item = "Folded Ammo Cartouche"
elseif (item:GetName() == "Ammo Belt") then
similar_item = "Folded Ammo Belt"
elseif (item:GetName() == "Belt_01") then
similar_item = "Folded Belt_01"
elseif (item:GetName() == "Belt_02") then
similar_item = "Folded Belt_02"
elseif (item:GetName() == "Belt_03") then
similar_item = "Folded Belt_03"
elseif (item:GetName() == "Belt_04") then
similar_item = "Folded Belt_04"
elseif (item:GetName() == "Basic Belt") then
similar_item = "Folded Basic Belt"
elseif (item:GetName() == "Tactical Belt") then
similar_item = "Folded Tactical Belt"
elseif (item:GetName() == "Tactical Vest") then
similar_item = "Folded Tactical Vest"
elseif (item:GetName() == "Razgr_molle") then
similar_item = "Folded Razgr_molle"
elseif (item:GetName() == "Razgr_smerch") then
similar_item = "Folded Razgr_smerch"
elseif (item:GetName() == "VestNew") then
similar_item = "Folded VestNew"
end

if similar_item ~= nil then
local container = item:GetContainer()
if container ~= nil then
local inItems = container:GetItems()
if inItems ~= nil then
for _,inItem in ipairs(inItems) do
inItem = item:GetContainer():RemoveItem(inItem)
DropItem(inItem)
end
end
end

local meta = item:GetMeta()
local hasKnife = meta:Get("knife") ~= nil
if hasKnife then
DropItem(meta:Get("knife"))
end

local condition = item:GetCondition()
item:ChangeItemType(similar_item)
item:SetCondition(condition)
foldTime = foldTime + 3
end
end
end

if foldTime > 0 then
local team = GetPlayerSquadMembers()
foldTime = foldTime / #team
for _, monster in ipairs(team) do
monster:AddChangeItemAction(foldTime)
end
end
end

AddItemContextMenu("Belt_01", "Упаковать всё в машине", UnfoldAllItemInCar, CanCleanAllWeaponsInCar)Код работает как и задумано, все разргузки и т.д. в машине упаковываются, предметы из них выбрасываются на землю.
Проблема в том, что после выполнения данного кода делаю сохранение игры, и это сохранение не загружается, происходит вылет. С ранними сохранениями все ОК.
Камрады, буду признателен, если кто поможет.

Добавлено (26.12.2017, 13:30)
---------------------------------------------
Пришлось отказаться от сворачивания разгрузок и прочего, соответственно удалил три строки:

local condition = item:GetCondition()
item:ChangeItemType(similar_item)
item:SetCondition(condition)

Теперь сохранения загружаются нормально, игра не вылетает.

Добавлено (27.12.2017, 11:29)
---------------------------------------------
Камрады! Подскажите, если какой-то предмет, например морфин, собран в стек, как узнать сколько штук в стеке? И как вообще узнать стекуется предмет или нет?


Сообщение отредактировал elite - Среда, 27.12.2017, 11:51
 
Форум » Модификации » Наука модификации » Lua - вопросы и ответы
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: