Привет фанатам NoX !!! > NoX

Справочник консолей, читов и фич для прохождения (полный)

<< < (5/5)

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

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Перейти к полной версии