Перейти к публикации

Рекомендованные сообщения

Опубликовано:

Я как закоренелый поклонник обзора мышью не смог пройти мимо поддержки игрой 6dof

Настроил скрипт GlovePIE для мышки обзора , помимо обычных вращений "виртуальной головы" по Х и Y добавлено перемещение по Х ( очень полезно ! ) и наклон головы вправо-влево ( что в общем по факту особо ничего и не даёт )

При интересе скрипт запощу в этой ветке .

 

Тестовый ролик в архиве по ссылке .  http://yadi.sk/d/u6FixHMMLJSTX

 

С механической мушки первый раз стрелял потому так безбожно высил :)

 

Опубликовано:

Очень надо запостить сей скрипт! С нетерпением жду)

Опубликовано: (изменено)

Скрипт на две мышки , первая эмулирует РУС , вторая на обзор и управление РУД колёсиком .

При несовпадении номера мышки в скрипте с ситемным номером мышки ( что у меня случилось при смене материнки ) переписать в скрипте номера мышек на соотвествующие . Для определения какая мышка под каким номером в системе есть следующий скрипт  :

 

 

   debug = mouse1.DirectInputX + ' ' + mouse2.DirectInputY + ' ' + mouse3.DirectInputZ

 

 

запускаете его и шевеля мышки видим какая под каким номером в системе.

 

Ну и собственно вышеупомянутый скрипт для БзС :

 

----------------------------------------------------------------------------------------------------------------------

 

 

//CODE
// Тумблер F9
//Вкл/Выкл джоя
if (F9 = false) then var.f=0
if (F9 = true and var.off = 0 and var.f=0) {
var.off = 1
var.f=1
elseif (F9 = true and var.off = 1 and var.f=0) {
var.off = 0
var.f=1
}
}



if var.off =0 {
// ######## Опрос мышек НАЧАЛО #######
// ############ Mouse1 #######################
if (Mouse2.present) {
if (var.Mouse2_in = false) {

// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Входные параметры:
var.mouse2xrange = 400 // граница движения мыши по оси X, точки на дюйм (DPI)
if (mouse2.DirectInputX + var.mouse2x) < -var.mouse2xrange then var.mouse2x = -var.mouse2xrange - mouse2.DirectInputX // условия, ограничивающие движение мыши
if (mouse2.DirectInputX + var.mouse2x) > var.mouse2xrange then var.mouse2x = var.mouse2xrange - mouse2.DirectInputX
FakeTrackIR.yaw = ensureMapRange(mouse2.DirectInputX + var.mouse2x, -var.mouse2xrange, var.mouse2xrange, -179, 179)
FakeTrackIR.x = ensureMapRange(mouse2.DirectInputX + var.mouse2x, -var.mouse2xrange, var.mouse2xrange, -1, 1)
FakeTrackIR.roll = ensureMapRange(mouse2.DirectInputX + var.mouse2x, -var.mouse2xrange, var.mouse2xrange, -30, 30)

var.mouse2yrange = 400 // то же самое по оси Y
if (mouse2.DirectInputY + var.mouse2y) < -var.mouse2yrange then var.mouse2y = -var.mouse2yrange - mouse2.DirectInputY
if (mouse2.DirectInputY + var.mouse2y) > var.mouse2yrange then var.mouse2y = var.mouse2yrange - mouse2.DirectInputY

var.Mouse2_mapZ = var.Mouse2_Wheel*200
var.Mouse2_Wheel = 11 //На сколько щелчков колеса мыши разбить ось джойстика
var.Mouse2_deltaz = Delta(Mouse2.DirectInputZ)
var.Mouse2_Z = var.Mouse2_Z + (var.Mouse2_deltaz)
if var.Mouse2_Z < 0 then var.Mouse2_Z = 0
if var.Mouse2_Z > var.Mouse2_mapZ then var.Mouse2_Z = var.Mouse2_mapZ
Var.Mouse2_JZ = MapRange(var.Mouse2_Z, 0, var.Mouse2_mapZ, -1 ,1)

FakeTrackIR.pitch = -ensureMapRange(mouse2.DirectInputY + var.mouse2y, -var.mouse2yrange, var.mouse2yrange, -100, 120)
} else {
FakeTrackIR.yaw = 0
FakeTrackIR.pitch = 0
FakeTrackIR.roll = 0
}

// ########## MOUSE2 #######################
if (Mouse1.present) {
if (var.Mouse1_in = false) {

// ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Входные параметры:
var.Mouse1_mapX = 1280 //Разрешение оси X, подбирается индивидуально
var.Mouse1_mapY = 1024 //Разрешение оси Y подбирается индивидуально
var.Mouse1_Wheel = 16 //На сколько щелчков колеса мыши разбить ось джойстика

var.Mouse1_mapZ = var.Mouse1_Wheel*120
var.Mouse1_X = var.Mouse1_mapX/2
var.Mouse1_Y = var.Mouse1_mapY/2
var.Mouse1_Z = var.Mouse1_mapZ/2
var.Mouse1_in = true
}

var.Mouse1_deltax = Delta(Mouse1.DirectInputX)
var.Mouse1_deltay = Delta(Mouse1.DirectInputY)
var.Mouse1_deltaz = Delta(Mouse1.DirectInputZ)

// собственно координаты мыши
var.Mouse1_X = var.Mouse1_X + (var.Mouse1_deltax)
var.Mouse1_Y = var.Mouse1_Y + (var.Mouse1_deltay)
var.Mouse1_Z = var.Mouse1_Z + (var.Mouse1_deltaz)

if var.Mouse1_X < 0 then var.Mouse1_X = 0
if var.Mouse1_X > var.Mouse1_mapX then var.Mouse1_X = var.Mouse1_mapX
if var.Mouse1_Y < 0 then var.Mouse1_Y = 0
if var.Mouse1_Y > var.Mouse1_mapY then var.Mouse1_Y = var.Mouse1_mapY
if var.Mouse1_Z < 0 then var.Mouse1_Z = 0
if var.Mouse1_Z > var.Mouse1_mapZ then var.Mouse1_Z = var.Mouse1_mapZ

Var.Mouse1_JX = MapRange(var.Mouse1_X, 0, var.Mouse1_mapX, -1 ,1)
Var.Mouse1_JY = MapRange(var.Mouse1_Y, 0, var.Mouse1_mapY, -1 ,1)
Var.Mouse1_JZ = MapRange(var.Mouse1_Z, 0, var.Mouse1_mapZ, -1 ,1)

}
//Опрос мышек КОНЕЦ ###########





//################### Подменяем оси джойстика на оси мыши #######
// Первый джойстик - управление самолетом
PPJoy1.analog0 = Var.Mouse1_JX // Ось Х
PPJoy1.analog1 = Var.Mouse1_JY // Ось У
PPJoy1.analog2 = Var.Mouse2_JZ
PPJoy1.analog3 = Var.Mouse1_JX
PPJoy1.analog4 = Var.Mouse2_JZ
PPJoy1.analog5 = Var.Mouse2_JZ
PPJoy1.analog6 = Var.Mouse2_JZ

}
}





//################ Подменяем кнопки джойстика кнопками нужной мыши #####
PPJoy1.Digital0 = Mouse2.LeftButton
PPJoy1.Digital1 = Mouse2.RightButton
PPJoy1.Digital2 = Mouse2.MiddleButton
PPJoy1.Digital3 = Mouse1.LeftButton
PPJoy1.Digital4 = Mouse1.RightButton


// Центрирование осей
if Mouse1.MiddleButton = true { //Если нажата кнопка колеса Mouse1 - Эти оси центрируются
var.Mouse1_X = var.Mouse1_mapX/2
var.Mouse1_Y = var.Mouse1_mapY/2

}


}


 

Изменено пользователем bellkin
  • Поддерживаю! 1
  • 2 месяца спустя...
Опубликовано: (изменено)

А если мышка одна?
Можно-ли сделать управление РУС на мышку, а на колесо мыши поставить зум, при этом обзор той же мышью с нажатой клавишей (например С, как в тундре)?
Если не сложно, сделайте такой скрипт, пожалуйста.
И еще... Вкратце как установить мышеджой?

Изменено пользователем =SR=SokRus
  • 3 недели спустя...
Опубликовано:

Я скрипты не делаю , компиллирую из того что в сети попадается затачивая исключительно под себя методом проб и ошибок :)

Как сделать две переключаемые виртуальные мышки из одной не в курсе , думаю можно .

Установка ППджоя многократно описана на русском в инете , искать и постить лень , найти описание нетрудно .

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...