Привет фанатам NoX !!! > NoX
Справочник консолей, читов и фич для прохождения (полный)
2530:
Биндить можно только на F1...F12
Занеси такую строчку в autoexec.rul:
--- Код: ---bind FX "команда"
--- Конец кода ---
вместо X подставь нужное число.
det:
С помощью KirConjurer реализовал возможность перенаправлять нажатия любой клавиши мышки и клавиатуры на игровые Fки, или что угодно.
Это в autoexec.lua
--- Код: ---conExec("bind F1 \"dofile(\'f1.lua\')\"");
conExec("bind F2 \"dofile(\'f2.lua\')\"");
conExec("bind F3 \"dofile(\'f3.lua\')\"");
conExec("bind F4 \"dofile(\'f4.lua\')\"");
conExec("bind F5 \"dofile(\'f5.lua\')\"");
conExec("bind F6 \"dofile(\'f6.lua\')\"");
conExec("bind F7 \"dofile(\'f7.lua\')\"");
conExec("bind F8 \"dofile(\'f8.lua\')\"");
conExec("bind F9 \"dofile(\'f9.lua\')\"");
conExec("bind F10 \"dofile(\'f10.lua\')\"");
conExec("bind F11 \"dofile(\'f11.lua\')\"");
conExec("bind F12 \"dofile(\'f12.lua\')\"");
--- Конец кода ---
А потом перехватываю их хатками (AutoHotkey)
--- Код: ---;Скрипт будет работать пока работает gamu.exe иначе перейдет в режим "сна" до запуска Nox
; ОТПРАВЛЯЯ КНОПКИ НАДО ИСПОЛЬЗОВАТЬ МАЛЕНЬКИЕ, ИНАЧЕ БОЛЬШИЕ ПОТРЕБУЮТ ЕЩЕ НАЖАТИЯ ШИФТА.
SetTimer, KeepRunning
KeepRunning:
WinGet, szProcessName, ProcessName, A
; Имя исполняемого файла GAMU.EXE. Если вы его меняли, измените его также и здесь, иначе макрос не будет работать.
if szProcessName = GAMU.EXE
{
Suspend, off
}
else
{
Suspend, on
}
return
; Первая боковая клавиша мышки
XButton1::
Send {F1}
return
; Вторая боковая клавиша мышки
XButton2::
Send, {c down}
Sleep 30
Send, {c up}
return
Numpad5::
Send, {F2 down}
Sleep 30
Send, {F2 Up}
return
; Мана
CapsLock::
Send {F4}
return
--- Конец кода ---
TheSim:
Интересный трюк. Еще одна идея для юнимода - добавить поддержку левых кнопок для биндов
det:
Скрипт для регена маны
Большая благодарность Xandros!
Конкретно этот я вызываю через F5
добавив в
--- Код: ---autoexec.lua
--- Конец кода ---
--- Код: ---conExec("bind F5 \"dofile(\'mana-regen.lua\')\"")
--- Конец кода ---
Принцип работы
Работает 30 секунд.
Сам определяет текущий максимум маны и останавливается.
Количество маны регенящейся за кадр редактируется на этой строчке
--- Код: ---unitMana(player, math.min(maxmana, currentMana + 2))
--- Конец кода ---
Желающие могут убрать ограничение работы в 30 сек. Но тогда скрипт надо подгрузить только 1 раз, иначе последующие он будет накладываться и существенно ускорять реген аж до закрытия игры.
Сам скрипт под спойлером
print('Mana Regen')
-- Initialize global variable maxmana
maxmana = unitMaxMana(me)
local player = me
local startTime = os.time()
function regenMana()
if os.difftime(os.time(), startTime) >= 30 then
return
end
local currentMana = unitMana(player)
if currentMana < maxmana then
unitMana(player, math.min(maxmana, currentMana + 2))
end
setTimeout(regenMana, 30)
end
setTimeout(regenMana, 30)
function unitMana(obj, amount)
local uc = getPtrPtr(obj, 0x2EC)
if amount == nil then
return getPtrShort(uc, 4)
else
if amount <= -1 then
print("The unit's mana value must be higher than -1.")
return
end
setPtrShort(uc, 4, amount)
return 1
end
end
function unitMaxMana(obj, amount)
local uc = getPtrPtr(obj, 0x2EC)
if amount == nil then
return getPtrShort(uc, 8)
else
if amount <= -1 then
print("The unit's mana value cannot be negative.")
return
end
if amount > 9000 then
print("The unit's mana value must be lower than 9000.")
return
end
setPtrShort(uc, 8, amount)
return 1
end
end
det:
В форуме бажина что не дает править сообщения.
Последняя и пофикшеная версия скрипта - тут
https://github.com/ovitente/nox-unimod-scripts/blob/main/mana-regen.lua
Навигация
Перейти к полной версии