| Автор | Сообщение | 
Dragon = 1st Lieutenant =
   |  | 1346 |  
  Doom Rate: 1.49
  | 
  Отправлено: 24.11.08 19:05:21 |  |  
  |  Народ как сделать кнопу что бы с нажатием нам давался итем, ещё нажатие забирался итем.
 
Кто разбирается в вопросе помогите! |   |  
  | 
 |  | 
VACion = UAC Gunner =
   |  | 130 |  
   Doom Rate: 1.17
  | 
  Отправлено: 24.11.08 22:29:15 |  |  
  |  Dragon
 
Есть два способа. Первый будет работать только если sv_cheats == true, второй - всегда.
 
 
Первый способ:
 
Лумп KEYCONF
 
alias +give_myitem "give <предмет>; rebind -give_myitem;"
 
alias -give_myitem "take <предмет>; rebind +give_myitem;"
 
[default]bind <клавиша> +give_myitem
 
 
Второй способ:
 
Лумп DECORATE
 
actor MyItemGiver : CustomInventory
 
{
 
   Inventory.Amount 1
 
   Inventory.MaxAmount 1
 
   -INVBAR 
 
   States
 
   {
 
   Use:
 
     NULL A 0 A_GiveInventory("MyItemGiver",1)
 
     NULL A 0 A_GiveInventory(<предмет>,1)
 
     Fail
 
   } 
 
}
 
 
Лумп KEYCONF
 
addkeysection "MyKeySectionName" mykeysection
 
alias +give_myitem "use MyItemGiver; rebind -give_myitem;"
 
alias -give_myitem "take <предмет>; rebind +give_myitem;"
 
[default]bind <клавиша> +give_myitem
 
 
Второй способ будет работать только при наличии у игрока предмета MyItemGiver. Чтобы давать MyItemGiver при изначально можно прописать следующее:
 
Лумп DECORATE
 
Actor MyDoomPlayer : DoomPlayer
 
{
 
  Player.StartItem "Pistol"
 
  Player.StartItem "Fist"
 
  Player.StartItem "Clip", 50
 
  Player.StartItem "MyItemGiver", 1
 
}
 
 
Лумп KEYCONF
 
clearplayerclasses
 
addplayerclass MyDoomPlayer
 
 
Также если использовался defaultbind вместо bind в любом из этих способов можно добавить настройку клавиши в меню "Customize controls":
 
Лумп KEYCONF
 
addmenukey "Give/Take <название или описание предмета>" +give_myitem |   |  
  | 
 |  | 
Guest = 2nd Lieutenant =
   |  | 1572 |  
   Doom Rate: 1.51
  | 
  Отправлено: 24.11.08 23:13:40 |  |  
  |  | Проще напрямую повесить на кнопку вызов скрипта, в который осуществляет нужные действия. |   |  
  | 
| 3 | 
1 | 
  | 
 
 
 |  
  |  | 
StasBFG[iddqd] -= DoomGod =-
   |   |  | 1734 |  
   Doom Rate: 1.58
  | 
  Отправлено: 25.11.08 02:56:04 |  |  
  |   	  | VACion : | 	 		  | alias +give_myitem "give <предмет>; rebind -give_myitem;" alias -give_myitem "take <предмет>; rebind +give_myitem;" [default]bind <клавиша> +give_myitem  | 	  
 
У тебя при отпускании клавиши сразу сработает алиас -give_myitem, а нам нужно чтобы при повторном нажатии.
 
Поэтому + и - тут не нужны. |   |  
  | 
| 1 | 
2 | 
1 | 
  | 
 
 
 |  
  |  | 
Dragon = 1st Lieutenant =
   |  | 1346 |  
  Doom Rate: 1.49
  | 
  Отправлено: 25.11.08 17:23:33 |  |  
  |  VACion
 
СПС! Очь помогло! |   |  
  | 
 |  | 
Nukeguy Recruit
   |  | 17 |  
  Doom Rate: 1.13
  | 
  Отправлено: 27.01.09 20:19:18 |  |  
  |  Я сделал первый мод и с KEYCONF было всё нормально оружие появлялось при нажатии клавиш (1-9)
 
Но через некоторое время я стал делать другой мод всё делал как раньше но теперь не классы не оружие не выберается тоесть например
 
 
weaponsection "RRF"
 
 
setslot 4 NEWPistol2
 
 
а пистола нет   
 
 
что делать
 
 
и так во всех моих модах      
 
 
( а звуки тоже непроигрываются ) |   |  
  | 
 |  | 
nprotect = Colonel =
   |  | 2546 |  
  Doom Rate: 1.48
  | 
  Отправлено: 27.01.09 20:21:32 |  |  
  |  Nukeguy
 
попробуй конфиг гздума почистить. он сохраняет все вепон-секшены, когда-либо прочитанные из вадников. лежит в той же папке, что и сам гздум. иногда это помогает
 
 
либо проверь имя-идентификатор нового оружия ("NEWPistol2"), тоже бывает что неправильно вобьешь |   |  
  | 
 |  | 
Nukeguy Recruit
   |  | 17 |  
  Doom Rate: 1.13
  | 
  Отправлено: 27.01.09 20:23:11 |  |  
  |  | Со skull tagом также? |   |  
  | 
 |  | 
nprotect = Colonel =
   |  | 2546 |  
  Doom Rate: 1.48
  | 
  Отправлено: 27.01.09 20:24:49 |  |  
  |  Nukeguy
 
да. скуллтаг тоже сохраняет секшены    |   |  
  | 
 |  | 
Nukeguy Recruit
   |  | 17 |  
  Doom Rate: 1.13
  | 
  Отправлено: 27.01.09 20:33:06 |  |  
  |  ПАСИБО     
 
 
Добавлено спустя 6 минут 45 секунд:
 
 
Всё таже фигня   |   |  
  | 
 |  | 
nprotect = Colonel =
   |  | 2546 |  
  Doom Rate: 1.48
  | 
  Отправлено: 27.01.09 20:38:52 |  |  
  |  Nukeguy
 
код декорейта для оружия тогда уж скинь, а то че на кофейной гуще то гадать |   |  
  | 
 |  | 
Nukeguy Recruit
   |  | 17 |  
  Doom Rate: 1.13
  | 
  Отправлено: 27.01.09 20:51:39 |  |  
  |  actor DukePist : Pistol
 
{
 
states
 
{ 
 
 ready:
 
 PISG A 4 A_weaponready
 
 loop
 
 select:
 
 PISG A 4 A_raise
 
 goto ready
 
 deselect:
 
 PISG A 4 A_lower
 
 goto ready
 
 fire:
 
 PISG B  2 A_FireBullets (5.6, 0, 1, 5, "BulletPuff")
 
 PISG C 2 A_PlaySound ("weapon/duke")
 
 PISG DC 2
 
 goto ready
 
}
 
}
 
 
 
 
           KEYCONF
 
 
weaponsection "RRF"
 
 
setslot 2 DukePist
 
 
              SOUNDINF
 
 
 
weapon/duke     DSDFIRE |   |  
  | 
 |  | 
nprotect = Colonel =
   |  | 2546 |  
  Doom Rate: 1.48
  | 
  Отправлено: 27.01.09 20:54:48 |  |  
  |   	  | Nukeguy : | 	 		  SOUNDINF
 
 
 weapon/duke DSDFIRE | 	  
 
ламп пишется как "SNDINFO"
 
 
это решит проблему со звуком, скорее всего. насчет кейконифга ничего не могу сказать - вроде все чисто |   |  
  | 
 |  | 
Nukeguy Recruit
   |  | 17 |  
  Doom Rate: 1.13
  | 
  Отправлено: 27.01.09 20:57:26 |  |  
  |  ЖАЛКО                     |   |  
  | 
 |  | 
nprotect = Colonel =
   |  | 2546 |  
  Doom Rate: 1.48
  | 
  Отправлено: 28.01.09 16:50:41 |  |  
  |  Nukeguy
 
посмотрел вадник. слов нет.
 
 
1. нету такого стейта A_Rasei, есть A_Raise
 
____________________________
 
 
2. FireBullet тоже нету. исправил на FireBullets с параметрами из твоего поста выше
 
____________________________
 
 
3. вепонсекшн в кейконфиге должно иметь свое имя. например:
 
 	   |  	 		  weaponsection "bla-bla-bla"
 
setslot 2 newpistol | 	  
 
под гоззу катит и без имени, под скуллтаг - нет
 
____________________________
 
 
4. лампы декорейт, сндинфо и кейконф НЕ ДОЛЖНЫ быть между маркерами SS_START и SS_END - они принимаются за спрайты. смотри исправленный вадник внизу поста
 
____________________________
 
 
5. самое главное. в начале игры у плеера нету нового оружия newpistol, поэтому естественно оно не выбирается. нужно прописать в консоли "give newpistol". или на карте положить где-нибудь.
 
 
исправленный вадник: http://zalil.ru/26592191
 
работает и под гоззой, и под скуллтагом. только не забудь "give newpistol" |   |  
  | 
 |  | 
Nukeguy Recruit
   |  | 17 |  
  Doom Rate: 1.13
  | 
  Отправлено: 28.01.09 16:58:50 |  |  
  |  | Терь ясно я не знал про SS_START И SS_END а всё остальное ето так я вад написал за 3 минуты |   |  
  | 
 |  | 
nprotect = Colonel =
   |  | 2546 |  
  Doom Rate: 1.48
  | 
  Отправлено: 28.01.09 17:09:23 |  |  
  |   	  | Nukeguy : | 	 		  | Терь ясно я не знал про SS_START И SS_END а всё остальное ето так я вад написал за 3 минуты | 	  
 
заметно, что за три    
 
 
это довольно неочевидные ошибки, новичку простительны   |   |  
  | 
 |  | 
Notarget Recruit
   |  | 4 |  
   Doom Rate: 0.06
  | 
  Отправлено: 30.01.09 21:12:05 |  |  
  |  | А как сделать перезарядку? |   |  
  | 
 |  | 
nprotect = Colonel =
   |  | 2546 |  
  Doom Rate: 1.48
  | 
  Отправлено: 30.01.09 21:16:14 |  |  
  |  KirKa666
 
смотри оружейные моды и делай по подобию. технически это не так сложно |   |  
  | 
 |  | 
Nukeguy Recruit
   |  | 17 |  
  Doom Rate: 1.13
  | 
 | 
 |  | 
Ameba = Corporal =
   |  | 196 |  
   Doom Rate: 1.73
  | 
  Отправлено: 14.02.09 18:17:35 |  |  
  |  У меня возник вопрос:
 
Как сделать НОРМАЛЬНЫЙ    бинокль, а то у меня хрень получилась.
 
Что я делал:
 
    1. Ну в Keyconf прописал alias на зум.
 
    2. Чтобы игрок не мог стрелять пока использует бинокль, когда он использует Zoom, ему в руки даётся прозрачное, ничего не делающее оружие.
 
 
Так вот, если сделать Zoom *2, например, то после убирания бинокля(выбором пистолета, например). Zoom остаётся, а его нужно сделать *1.   
 
 
Подскажите, нет какой-нибудь команды A_СделатьFOV(90) ? |   |  
  | 
 |  | 
nprotect = Colonel =
   |  | 2546 |  
  Doom Rate: 1.48
  | 
  Отправлено: 14.02.09 18:27:38 |  |  
  |   	  | Ameba : | 	 		  | Подскажите, нет какой-нибудь команды A_СделатьFOV(90) ? | 	  
 
нету такого. только через консольные команды.
 
 
посмотри вадник Operation Overlord , он на идэдэкудэ есть. правда там по моему такая же проблема |   |  
  | 
 |  | 
Ameba = Corporal =
   |  | 196 |  
   Doom Rate: 1.73
  | 
  Отправлено: 15.02.09 09:05:26 |  |  
  |  В Operation Overlord бинокля не нашёл, в KEYCONF только расстановка оружия.   
 
 	  | nprotect : | 	 		  | нету такого. только через консольные команды.  | 	  
 
А можно с помощью A-функций из декорейта вызывать Алиасы, прописанные в KEYCONF? |   |  
  | 
 |  | 
Nil = 1st Lieutenant =
   |  | 1402 |  
   Doom Rate: 1.79
  | 
  Отправлено: 15.02.09 09:15:58 |  |  
  |  | Ameba, нет. Это позиция Ренди и Графа, можешь с ней ознакомится на Здум форуме. |   |  
  | 
| 1 | 
1 | 
1 | 
  | 
 
 
 |  
  |  |