HardLife addon |
---|
|
|
Пятница, 29.11.2024, 04:09 Приветствую Вас Гость
Lua - вопросы и ответы - Страница 2 - Форум
Lua - вопросы и ответы
|
|
Vorot | Дата: Понедельник, 24.02.2014, 16:32 | Сообщение # 16 |
Поручик
Группа: Модераторы
Сообщений: 2806
Статус: Offline
| Цитата be@ver ( ) Как программно глянуть CGL на котором появиться предмет? Парсить файл itemlevels.xml
"Они хотели нас похоронить, но не знали, что мы семена" (мексиканская пословица)
|
|
| |
be@ver | Дата: Вторник, 04.03.2014, 13:47 | Сообщение # 17 |
Рядовой
Группа: Пользователи
Сообщений: 18
Статус: 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
Статус: Offline
| Цитата be@ver ( ) Почему результат разный? Без понятия . но Код local x,y,z = v:Pos(); print(x,y,z) работает также как и print(v:Pos()).
|
|
| |
slavyan | Дата: Суббота, 15.11.2014, 20:55 | Сообщение # 19 |
Полковник
Группа: Пользователи
Сообщений: 206
Статус: Offline
| Чем можно открыть файл lua?
|
|
| |
Surgeon | Дата: Суббота, 15.11.2014, 21:21 | Сообщение # 20 |
Генералиссимус
Группа: Друзья
Сообщений: 2454
Статус: Offline
| Цитата slavyan ( ) Чем можно открыть файл lua? Попробуй "блокнотом" ))
"Война - войной, а обед по расписанию!" © Фридрих Вильгельм I
|
|
| |
slavyan | Дата: Воскресенье, 16.11.2014, 07:44 | Сообщение # 21 |
Полковник
Группа: Пользователи
Сообщений: 206
Статус: Offline
| Блокнотом пробовал. Surgeon, дело в том, что пытался открыть файлы lua из "Мародера". Они там, как мне кажется, не читаемые по сравнению с HLAшными. Например:
Сообщение отредактировал slavyan - Воскресенье, 16.11.2014, 07:46 |
|
| |
moongoose | Дата: Воскресенье, 16.11.2014, 11:09 | Сообщение # 22 |
Генерал-майор
Группа: Пользователи
Сообщений: 252
Статус: Offline
| Цитата slavyan ( ) Чем можно открыть файл lua? Стандартный виндовский Notepad действительно плохо воспринимает все, что выпадает из ряда стандартных кодировок (codepages), тем более если их используется несколько в пределах одного текстового файла. В данном случае целесообразнее использовать более толковые plain-text редакторы, например, "флудпад" (AkelPad) или Notepad++.
Американские программисты до сих пор не могут понять, почему их русские коллеги при зависании Windows всё время повторяют загадочную и бессмысленную фразу о вашем кролике, который что-то там написал: Your Bunny Wrote... :)
|
|
| |
Krenon | Дата: Пятница, 30.01.2015, 20:43 | Сообщение # 23 |
Лейтенант
Группа: Пользователи
Сообщений: 43
Статус: Offline
| В процессе отладки часто приходится вносить мелкие правки в скрипт. Каждый раз приходится перезапускать игру. Подскажите, пожалуйста, есть ли более простой способ загрузки LUA-файла? Добавлено (30.01.2015, 20:43) ---------------------------------------------
Цитата Krenon ( ) простой способ загрузки LUA-файла luaload filename.lua -- загрузка файла из консоли lua ClearContextMenuItems() -- очистка контекстного меню из консоли
|
|
| |
kireevmv89 | Дата: Понедельник, 13.04.2015, 05:44 | Сообщение # 24 |
Сержант
Группа: Пользователи
Сообщений: 30
Статус: 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
Статус: Offline
| Цитата kireevmv89 ( ) 1. Необходимо уничтожить все аттачи на оружии. После выполнения кода (как в существующем скрипте) ничего не происходит. Что делать? Это код убирания апгрейдов, а не аттачей. Используйте item:GetAddons() и item:RemoveAddon(). Более того, после убирания аттача с оружия, если он больше не нужен - его нужно удалить, например через addonItem:Delete()
2. Собственно через item:RemoveAddon() аттачи и снимаются.
3. Нельзя.
4. Никак.
5. Никак.
6. Никак, там задан старндартный набор кнопок Да/Нет и Ок/Отмена, причём картинками.
|
|
| |
slavyan | Дата: Пятница, 28.08.2015, 15:13 | Сообщение # 26 |
Полковник
Группа: Пользователи
Сообщений: 206
Статус: Offline
| Игра "Мародер". Можно ли написать и интегрировать новый квест, не имея исходников?
|
|
| |
elite | Дата: Среда, 27.12.2017, 11:29 | Сообщение # 27 |
Лейтенант
Группа: Пользователи
Сообщений: 49
Статус: 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 |
|
| |
|
|
|