Wiremod

Garry's mod — наверное, единственная модификация для Half-Life 2, которая имеет громадное число поклонников и обновляется с завидной регулярностью.
Сообщение
Автор
proplayer666
Маппер
Маппер
Сообщения: 1748
Зарегистрирован: 18.02.2008
Откуда: <удалено>

#691 Сообщение 09.08.2008, 19:17

ANUBISsS писал(а):Ребят, хочу научиться экспрэшн чипу, пожалста скажите самые простые команды, и вот как мне сделать так что, если приходит значение 1 то чип складывал числа 10 и 20 (просто так, для учёбы=))
1. В первом посту есть документация по экспрешенн чипам.
2. Выход с единицей подключаешь ко входу а в if и потом к then подключаешь add у которого a и b поключены к 10 и 20 (10 и 20 можно выразить константой).
Завязываю с играми
Мну в Xbox LIVE
Изображение
Изображение
Изображение

Аватара пользователя
Freeman85
Сержант
Сержант
Сообщения: 37
Зарегистрирован: 04.02.2008

#692 Сообщение 10.08.2008, 14:16

Я вот никак не могу радар сделать, пожалуйста, кто нибудь киньте код Эксп. чипа.
ИзображениеИзображение
ИзображениеИзображение
ИзображениеИзображение
ИзображениеИзображение
Изображение
Изображение

orothar
Wire God
Wire God
Сообщения: 85
Зарегистрирован: 19.05.2007

#693 Сообщение 10.08.2008, 18:36

Freeman85 писал(а):Я вот никак не могу радар сделать, пожалуйста, кто нибудь киньте код Эксп. чипа.

Код: Выделить всё

N@HoloRadar
I@Bear1 Bear2 Bear3 Bear4 Bear5 Bear6 Bear7 D1 D2 D3 D4 D5 D6 D7 Yaw YawChasis MaxDist Active  
O@X1 Y1 Z X2 Y2 X3 Y3 FadeMain FadeTarget Activate Thrust NT1 NT2 NT3 NT4 NT5 NT6
On = ((~Active&Active)&On?0:((~Active&Active)&!On?1:On))
interval(20)
Delta = angnorm($Yaw)
FadeMain = 80
FadeTarget = 10
Thrust = (On?1-Delta:0)
Theta1 = atan(130/D1) 
Theta2 = atan(130/D2)
Theta3 = atan(130/D3)
Theta4 = atan(130/D4)
Theta5 = atan(130/D5)
Theta6 = atan(130/D6)
TChekc1=((Bear1<Theta1&Bear1>-Theta1)?1:0)
TChekc2=((Bear2<Theta2&Bear2>-Theta2)?1:0)
TChekc3=((Bear3<Theta3&Bear3>-Theta3)?1:0)
TChekc4=((Bear4<Theta4&Bear4>-Theta4)?1:0)
TChekc5=((Bear5<Theta5&Bear5>-Theta5)?1:0)
TChekc6=((Bear6<Theta6&Bear6>-Theta6)?1:0)
CurentD = (TChekc1?D1:TChekc2?D2:TChekc3?D3:TChekc4?D4:TChekc5?D5:TChekc6?D6:0)
NT1 = (Bear1>=0|Bear1<-60|D1>MaxDist?clk():0)
NT2 = (Bear2>=0|Bear2<-60|D2>MaxDist?clk():0)
NT3 = (Bear3>=0|Bear3<-60|D3>MaxDist?clk():0)
NT4 = (Bear4>=0|Bear4<-60|D4>MaxDist?clk():0)
NT5 = (Bear5>=0|Bear5<-60|D5MaxDist?clk():0)
NT6 = (Bear6>=0|Bear6<-60|D6>MaxDist?clk():0)
Counter += (On&Counter<50?1:(On&Counter>50?0:(!On?-Counter:0)))
Activate = (Counter==50?On:0)
X1 = sin(Yaw-YawChasis)*25
Y1 = cos(Yaw-YawChasis)*25
Z = -64
X2 = sin(Yaw-YawChasis) * (CurentD/(MaxDist/25))
Y2 = cos(Yaw-YawChasis) * (CurentD/(MaxDist/25))
X3 = (sin(Yaw-Bear7))*(D7/(MaxDist/25))
Y3 = (cos(Yaw-Bear7))*(D7/(MaxDist/25))
заспавнить проп, и аксисом приделать его к чемунибудь чтобы он мог крутица вокруг своей оси паралельно горизонту, поставить на него 7 бикон сенсоров так, чтобы они смотрели в 1 сторону на верх пропа поставить гироскоп. сбоку пропа прилепить трастер который будет крутить проп. я все делал на балке из феникс мода. также потребуется кнопка для включения всего устройства, константа и 7 таргет файндеров куда их ставить значения не имеет. также надо собрать "экран" радара он будет состоять из 3х холо эмитеров разного цвета которые нада расположить один в одном

Входы:
Bear1 Bear2 Bear3 Bear4 Bear5 Bear6 Bear7 к семи бикон сенсорам на входы беаринг (седьмой бикон сенсор нада подключить к отдельному такргет файндеру и сделать так чтобы он таргетил только локаторы...это будет отдельная точка на радаре которая будет отображаться через отдельный холо эмитер "С")
D1 D2 D3 D4 D5 D6 D7 тудаже тока на входы дистанс
Yaw на вход Yaw гироскопа который стоит на балке
YawChasis на вход Yaw гироскопа который стоит на корпусе всей конструкции
MaxDist к константе которая должна быть равна максимальной дистанции обнаружения цели у таргет файндеров (не ставьте значения больше 40000 глюков никаких не будет даже с числами 99999.....9 но это число влияет на масштаб картинки отображаемой радаром на "экране" соответственно чем больше число тем мельче все будет и тем труднее определить цель.)
Active к кнопке включения (снять галочку тогл)

выходы:
X1 Y1 к холоэмитеру (рекомендую зеленого цвета (далее З. ))
Z общая для всех холоэмитеров координата (подключать ко всем)
X2 Y2 к холоэмитеру (рекомендую красного цвета (далее К. ))
X3 Y3 к холоэмитеру (рекомендую синего цвета (далее С. ))
FadeMain к холоэмитеру "З"
FadeTarget к холоэмитеру "К" и "С"
Activate ко всем холоэмитерам на вход Activate
Thrust к трастеру на крутящемся пропе
NT1 NT2 NT3 NT4 NT5 NT6 к таргет файндерам на входы NextTarget (седьмой таргет файндер ненадо подключать к этому эксп чипу)

лично у меня этот радар с легкостью отображал до 25 целей одновременно =)
Туториал (Tutorial анг.) в дословном переводе обозначает "обучающая программа" а не "инструкция по сборке"
друзья, пользуйтесь головой чаще ;-)

Аватара пользователя
Freeman85
Сержант
Сержант
Сообщения: 37
Зарегистрирован: 04.02.2008

#694 Сообщение 10.08.2008, 19:06

orothar писал(а):
Freeman85 писал(а):Я вот никак не могу радар сделать, пожалуйста, кто нибудь киньте код Эксп. чипа.

Код: Выделить всё

N@HoloRadar
I@Bear1 Bear2 Bear3 Bear4 Bear5 Bear6 Bear7 D1 D2 D3 D4 D5 D6 D7 Yaw YawChasis MaxDist Active  
O@X1 Y1 Z X2 Y2 X3 Y3 FadeMain FadeTarget Activate Thrust NT1 NT2 NT3 NT4 NT5 NT6
On = ((~Active&Active)&On?0:((~Active&Active)&!On?1:On))
interval(20)
Delta = angnorm($Yaw)
FadeMain = 80
FadeTarget = 10
Thrust = (On?1-Delta:0)
Theta1 = atan(130/D1) 
Theta2 = atan(130/D2)
Theta3 = atan(130/D3)
Theta4 = atan(130/D4)
Theta5 = atan(130/D5)
Theta6 = atan(130/D6)
TChekc1=((Bear1<Theta1&Bear1>-Theta1)?1:0)
TChekc2=((Bear2<Theta2&Bear2>-Theta2)?1:0)
TChekc3=((Bear3<Theta3&Bear3>-Theta3)?1:0)
TChekc4=((Bear4<Theta4&Bear4>-Theta4)?1:0)
TChekc5=((Bear5<Theta5&Bear5>-Theta5)?1:0)
TChekc6=((Bear6<Theta6&Bear6>-Theta6)?1:0)
CurentD = (TChekc1?D1:TChekc2?D2:TChekc3?D3:TChekc4?D4:TChekc5?D5:TChekc6?D6:0)
NT1 = (Bear1>=0|Bear1<-60|D1>MaxDist?clk():0)
NT2 = (Bear2>=0|Bear2<-60|D2>MaxDist?clk():0)
NT3 = (Bear3>=0|Bear3<-60|D3>MaxDist?clk():0)
NT4 = (Bear4>=0|Bear4<-60|D4>MaxDist?clk():0)
NT5 = (Bear5>=0|Bear5<-60|D5MaxDist?clk():0)
NT6 = (Bear6>=0|Bear6<-60|D6>MaxDist?clk():0)
Counter += (On&Counter<50?1:(On&Counter>50?0:(!On?-Counter:0)))
Activate = (Counter==50?On:0)
X1 = sin(Yaw-YawChasis)*25
Y1 = cos(Yaw-YawChasis)*25
Z = -64
X2 = sin(Yaw-YawChasis) * (CurentD/(MaxDist/25))
Y2 = cos(Yaw-YawChasis) * (CurentD/(MaxDist/25))
X3 = (sin(Yaw-Bear7))*(D7/(MaxDist/25))
Y3 = (cos(Yaw-Bear7))*(D7/(MaxDist/25))
заспавнить проп, и аксисом приделать его к чемунибудь чтобы он мог крутица вокруг своей оси паралельно горизонту, поставить на него 7 бикон сенсоров так, чтобы они смотрели в 1 сторону на верх пропа поставить гироскоп. сбоку пропа прилепить трастер который будет крутить проп. я все делал на балке из феникс мода. также потребуется кнопка для включения всего устройства, константа и 7 таргет файндеров куда их ставить значения не имеет. также надо собрать "экран" радара он будет состоять из 3х холо эмитеров разного цвета которые нада расположить один в одном

Входы:
Bear1 Bear2 Bear3 Bear4 Bear5 Bear6 Bear7 к семи бикон сенсорам на входы беаринг (седьмой бикон сенсор нада подключить к отдельному такргет файндеру и сделать так чтобы он таргетил только локаторы...это будет отдельная точка на радаре которая будет отображаться через отдельный холо эмитер "С")
D1 D2 D3 D4 D5 D6 D7 тудаже тока на входы дистанс
Yaw на вход Yaw гироскопа который стоит на балке
YawChasis на вход Yaw гироскопа который стоит на корпусе всей конструкции
MaxDist к константе которая должна быть равна максимальной дистанции обнаружения цели у таргет файндеров (не ставьте значения больше 40000 глюков никаких не будет даже с числами 99999.....9 но это число влияет на масштаб картинки отображаемой радаром на "экране" соответственно чем больше число тем мельче все будет и тем труднее определить цель.)
Active к кнопке включения (снять галочку тогл)

выходы:
X1 Y1 к холоэмитеру (рекомендую зеленого цвета (далее З. ))
Z общая для всех холоэмитеров координата (подключать ко всем)
X2 Y2 к холоэмитеру (рекомендую красного цвета (далее К. ))
X3 Y3 к холоэмитеру (рекомендую синего цвета (далее С. ))
FadeMain к холоэмитеру "З"
FadeTarget к холоэмитеру "К" и "С"
Activate ко всем холоэмитерам на вход Activate
Thrust к трастеру на крутящемся пропе
NT1 NT2 NT3 NT4 NT5 NT6 к таргет файндерам на входы NextTarget (седьмой таргет файндер ненадо подключать к этому эксп чипу)

лично у меня этот радар с легкостью отображал до 25 целей одновременно =)
Спасибо.
Но что неправильного здесь:
N@radar
I@Yaw Speed Distance Button
O@X Y Z Thruster
M = (Distance/47 > 47 ? 47 : Distance/47)
X = (Distance > 0 ? cos(Yaw)*M : 0)
Y = (Distance > 0 ? cin(Yaw)*M : 0)
Z = -70
Thruster = (Button & Speed < 10 ? 1 : 0)
Всё нашёл Очепятку. :)
Вместо Cin надо писать Sin. Позор мне! :)
Последний раз редактировалось Freeman85 10.08.2008, 19:20, всего редактировалось 1 раз.
ИзображениеИзображение
ИзображениеИзображение
ИзображениеИзображение
ИзображениеИзображение
Изображение
Изображение

orothar
Wire God
Wire God
Сообщения: 85
Зарегистрирован: 19.05.2007

#695 Сообщение 10.08.2008, 19:20

Freeman85 писал(а): Спасибо.
Но что неправильного здесь:
N@radar
I@Yaw Speed Distance Button
O@X Y Z Thruster
M = (Distance/47 > 47 ? 47 : Distance/47)
X = (Distance > 0 ? cos(Yaw)*M : 0)
Y = (Distance > 0 ? cin(Yaw)*M : 0)
Z = -70
Thruster = (Button & Speed < 10 ? 1 : 0)
N@radar
I@Yaw Speed Distance Button
O@X Y Z Thruster
M = (Distance/47 > 47 ? 47 : Distance/47)
X = (Distance > 0 ? cos(Yaw)*M : 0)
Y = (Distance > 0 ? cin(Yaw)*M : 0) правильно пишется sin
Z = -70
Thruster = (Button & Speed < 10 ? 1 : 0)
Туториал (Tutorial анг.) в дословном переводе обозначает "обучающая программа" а не "инструкция по сборке"
друзья, пользуйтесь головой чаще ;-)

RocketZP
Сержант
Сержант
Сообщения: 46
Зарегистрирован: 03.05.2008

#696 Сообщение 12.08.2008, 10:22

Подскажите пожалуйста как сделать так, что б турелью (колесо - повортоты,ховербол - вверх-вниз) можно было управлять мышей. То есть что б эта вся конструкция могла стрелять туда, куда укажет мыша (автоматом поворачивалась и поднимала ствол вверх или вниз)?

Аватара пользователя
GlobalError
Лейтенант
Лейтенант
Сообщения: 161
Зарегистрирован: 02.12.2007
Откуда: Mendeleevo
Контактная информация:

#697 Сообщение 12.08.2008, 11:21

RocketZP писал(а):Подскажите пожалуйста как сделать так, что б турелью (колесо - повортоты,ховербол - вверх-вниз) можно было управлять мышей. То есть что б эта вся конструкция могла стрелять туда, куда укажет мыша (автоматом поворачивалась и поднимала ствол вверх или вниз)?
Просто соеденяешь Beacon Sencor к адв. под контроллеру (Adv. Pod Controller, который ты предварительно соеденил с креслом) потом садишься на кресло и смотришь в точку, пушка туда направиться.

Ещё один способ это с помощью Laser Point'ера.
Это так же, ставишь Laser Pointer Reserver и соеденяешь Beacon Sencor к нему. Дальше берёшь Weapon Laser Pointer (это такой пистолет который лазером светит) и правой кнопкой щелкаешь по Laser Pointer Reserver, включаешь Laser Pointer (сделать так чтоб лазер горел) и светишь лазером куда нить и пушка туда повернёться. усё.

У меня вопрос:
Как же сделать так чтобы платформа висела ровно посередине между двумя платформами и контролировалось это всё трастерами?
так:

Изображение
Изображение
Нужна помощь по Wire mod? Пишите ко мне в личку отвечу на любые вопросы.

Аватара пользователя
Vampire17
Лейтенант
Лейтенант
Сообщения: 145
Зарегистрирован: 08.08.2008
Откуда: Краснодарский край
Благодарил (а): 2 раза
Контактная информация:

#698 Сообщение 12.08.2008, 13:51

А есть ли полное описание всех инструментов Wire Mod'a в *.txt формате?
З.Ы. всю тему не читал.
BMW Motorsport

Аватара пользователя
Freeman85
Сержант
Сержант
Сообщения: 37
Зарегистрирован: 04.02.2008

#699 Сообщение 12.08.2008, 21:54

GlobalError писал(а):
RocketZP писал(а): У меня вопрос:
Как же сделать так чтобы платформа висела ровно посередине между двумя платформами и контролировалось это всё трастерами?
так:

Изображение
У меня идея, сча проверю.
Реализовать можно с помощью GPS, чуть позже конкретнее расскажу.
Короче сейчас думать уже времени нет, но вот что я сделал.
Поставил в центр каждой пластины GPS.
Написал Экспрэшен:
N@center
I@X X2
O@A B
A = (X > X2 ? 1 : 0)
B = (X < X2 ? 1 : 0)
Работает только по одной оси.
X подключаем к тому что движется(Output : X), x2 (Output : X) к тому что стоит.
Ну ставим 2 трастера эффекты отключим, Mul 5.(Пока что экспрэшэн не доработал, надо уехать сегодня.)
И подключаем 1 трастер к A, Другой к В.
Если в обратном направлении, то подключи трастеры наоборот(т.е был подключен к А, подключи к B)
Если по другой оси то подключи заного Эксп. к GPS, только аутпут Y выбирай.
Завтра скину с поправкой что бы трастеры останавливались.
И (если надо) другую ось сделаю, вращение.
ИзображениеИзображение
ИзображениеИзображение
ИзображениеИзображение
ИзображениеИзображение
Изображение
Изображение

Аватара пользователя
Bendy
Лейтенант
Лейтенант
Сообщения: 110
Зарегистрирован: 08.05.2008
Откуда: Днепр
Благодарил (а): 13 раз
Поблагодарили: 2 раза
Контактная информация:

#700 Сообщение 12.08.2008, 22:46

orothar в 3 туториале (3. Туториал по экспрешн чипам на примере самонаводящейся пушки) ты говориш в 1 строке "...+ арк тангенс и то откуда он берется, высота цели делёная на Dist" , "высота цели" обозначается как "h" ???? И еще у меня ошыбка в 1 строке и я как человек шото делающий 1 раз незнаю где ошыбка. Мне вылазит: Expected symbol (() near (/) at line 1. И вот што я написал в 1 строке: Totalangel = Elev + atan(h / Dist). :dash: Што мне надо исправить?

orothar
Wire God
Wire God
Сообщения: 85
Зарегистрирован: 19.05.2007

#701 Сообщение 13.08.2008, 04:14

lBenderl писал(а):orothar в 3 туториале (3. Туториал по экспрешн чипам на примере самонаводящейся пушки) ты говориш в 1 строке "...+ арк тангенс и то откуда он берется, высота цели делёная на Dist" , "высота цели" обозначается как "h" ???? И еще у меня ошыбка в 1 строке и я как человек шото делающий 1 раз незнаю где ошыбка. Мне вылазит: Expected symbol (() near (/) at line 1. И вот што я написал в 1 строке: Totalangel = Elev + atan(h / Dist). :dash: Што мне надо исправить?
да, высота обозначается как H, если ты не читал документацию по эксп чипам прочитай, а если читал то скорее всего забыл что в экспрешн чипах все что написано с маленькой считается функцией и после названия функции должны быть скобки, например cos(2)....в твоем случаше ты написал Totalangel = Elev + atan(h / Dist)...в этой строке h написано с маленькой буквы, компилятор думает что h это функция а не переменная и после нее не видит скобок которые должны присутствовать после любой функции о чем собственно тебя и уведомляет "Expected symbol (() near (/) at line 1" =)
Туториал (Tutorial анг.) в дословном переводе обозначает "обучающая программа" а не "инструкция по сборке"
друзья, пользуйтесь головой чаще ;-)

RocketZP
Сержант
Сержант
Сообщения: 46
Зарегистрирован: 03.05.2008

#702 Сообщение 13.08.2008, 09:19

GlobalError писал(а):
Просто соеденяешь Beacon Sencor к адв. под контроллеру (Adv. Pod Controller, который ты предварительно соеденил с креслом) потом садишься на кресло и смотришь в точку, пушка туда направиться.

Ещё один способ это с помощью Laser Point'ера.
Это так же, ставишь Laser Pointer Reserver и соеденяешь Beacon Sencor к нему. Дальше берёшь Weapon Laser Pointer (это такой пистолет который лазером светит) и правой кнопкой щелкаешь по Laser Pointer Reserver, включаешь Laser Pointer (сделать так чтоб лазер горел) и светишь лазером куда нить и пушка туда повернёться. усё.

Спасибо, щас попробую
З.Ы. Я умею юзать лазер поинтер)

Аватара пользователя
Freeman85
Сержант
Сержант
Сообщения: 37
Зарегистрирован: 04.02.2008

#703 Сообщение 13.08.2008, 10:04

GlobalError писал(а):
RocketZP писал(а):Подскажите пожалуйста как сделать так, что б турелью (колесо - повортоты,ховербол - вверх-вниз) можно было управлять мышей. То есть что б эта вся конструкция могла стрелять туда, куда укажет мыша (автоматом поворачивалась и поднимала ствол вверх или вниз)?
Просто соеденяешь Beacon Sencor к адв. под контроллеру (Adv. Pod Controller, который ты предварительно соеденил с креслом) потом садишься на кресло и смотришь в точку, пушка туда направиться.

Ещё один способ это с помощью Laser Point'ера.
Это так же, ставишь Laser Pointer Reserver и соеденяешь Beacon Sencor к нему. Дальше берёшь Weapon Laser Pointer (это такой пистолет который лазером светит) и правой кнопкой щелкаешь по Laser Pointer Reserver, включаешь Laser Pointer (сделать так чтоб лазер горел) и светишь лазером куда нить и пушка туда повернёться. усё.

У меня вопрос:
Как же сделать так чтобы платформа висела ровно посередине между двумя платформами и контролировалось это всё трастерами?
так:

Изображение
Вот написал новый Экспрэшэн:
N@center
I@X X2
O@A B
S = (X - X2)
A = (S > 10 ? 1 : 0)
B = (S < -10 ? 1 : 0)
Подключай так же.
Здесь трастеры расчитаны на :
Force Multipler: 10
Force Minium: 0
Force Maximum: 1
Если хочешь трастеров по мощнее
То эксперементируй с экспрэшэнэм в этом месте: (выделено красным)
A = (S > 10
B = (S < -10
Уже сделал так что бы и поворачивалось, и центрировалось по X и Y, могу видео сделать.
ИзображениеИзображение
ИзображениеИзображение
ИзображениеИзображение
ИзображениеИзображение
Изображение
Изображение

Аватара пользователя
Bendy
Лейтенант
Лейтенант
Сообщения: 110
Зарегистрирован: 08.05.2008
Откуда: Днепр
Благодарил (а): 13 раз
Поблагодарили: 2 раза
Контактная информация:

#704 Сообщение 13.08.2008, 15:43

orothar писал(а):
lBenderl писал(а):orothar в 3 туториале (3. Туториал по экспрешн чипам на примере самонаводящейся пушки) ты говориш в 1 строке "...+ арк тангенс и то откуда он берется, высота цели делёная на Dist" , "высота цели" обозначается как "h" ???? И еще у меня ошыбка в 1 строке и я как человек шото делающий 1 раз незнаю где ошыбка. Мне вылазит: Expected symbol (() near (/) at line 1. И вот што я написал в 1 строке: Totalangel = Elev + atan(h / Dist). :dash: Што мне надо исправить?
да, высота обозначается как H, если ты не читал документацию по эксп чипам прочитай, а если читал то скорее всего забыл что в экспрешн чипах все что написано с маленькой считается функцией и после названия функции должны быть скобки, например cos(2)....в твоем случаше ты написал Totalangel = Elev + atan(h / Dist)...в этой строке h написано с маленькой буквы, компилятор думает что h это функция а не переменная и после нее не видит скобок которые должны присутствовать после любой функции о чем собственно тебя и уведомляет "Expected symbol (() near (/) at line 1" =)
О сенк, точно как я не додумался :blush: документацыю я читал половину там не понял но та половина пока что не нужна))) Но документацыя жестоко помогла... я нашол там как правильно писать арк катангенс, прибавление, умножение....условия и т.д. ушол доделывать пушку...

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#705 Сообщение 13.08.2008, 18:06

Вопрос - в чем фишка Monostable Timer? В чем его отличия от обычного Timer? И маленький обзор входов/выходов. Что для чего?
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

Ответить Вложения 10