Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 302, 303, 304 ... 350, 351, 352  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
PepeL
- Lance Corporal -
Next rank: = Lance Corporal = after 16 points
144

Doom Rate: 2
Ссылка на пост №6041 Отправлено: 06.11.14 19:33:35
+Ku6EPyXOBEPTKA+
Неа, всё равно, после остановке лифта внизу, после нажатия на кнопку, он опять едет вниз.

между делом... а 1 секунда это сколько тиков? :)
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №6042 Отправлено: 06.11.14 19:53:21
Да не огорчайся ты)
Так, немного надо переделать код. Мне кажется нужно проверять немного по другому. Т. е.:

#Include "ZCommon.Acs"
int n; // Я не помню всех здумовских инструкций в АЦС, но по идее в переменную N нужно заносить информацию о высоте пола или потолка.

script 1 (void)
{
GetSectorFloorHeight(это не точная функция, а пример) = N; //По идее что то в здуме должно быть.

if(n != 144 && n!= 1168)
{
terminate;
}
if(n == 144)
{
FloorAndCeiling_LowerByValue(42, 8, 1168);
tagwait (42);
delay (120); //Правда смысла в задержке я не вижу
}
if(n == 1168)
{
terminate;
FloorAndCeiling_RaiseByValue(42, 8, 114);
tagwait (42);
}
}

Смысл скрипта:
В самом начале скрипта в переменную N заносится информация о высоте пола или потолка(что по душе) - число. Далее скрипт делает ТРИ проверки.
Первая проверка проверяет не движется ли у нас лифт, т.е. по логике получается не равна ли высота 144 и 1168(Проверяет сразу два условия), если лифт движется, то скрипт автоматически терминирует - второй раз не включится, что нам и нужно.
Вторая проверяет не стоит ли у нас лифт на высоте 144, т.е. если стоит, то он будет подниматься.
Третья проверяет не стоит ли у нас лифт на высоте 1168, т.е. если стоит, то будет опускаться(Или что там инструкция делает).
Стоит запомнить одну главную вещь - код выполняется ПОСТРОЧНО, поэтому как поставишь проверки, так и будет работать :)
PepeL
- Lance Corporal -
Next rank: = Lance Corporal = after 16 points
144

Doom Rate: 2
Ссылка на пост №6043 Отправлено: 06.11.14 20:01:39
Короче заработал прежний, код... только добавил одно слово else )))


#Include "ZCommon.Acs"
int n = 0;
Script 1 (void)
{
if (n == 0) // если лифт находится вверху
{
FloorAndCeiling_LowerByValue(42, 8, 1168);
delay(1200);
n = 1;
}
else if (n == 1) // если лифт находится внизу
{
FloorAndCeiling_RaiseByValue(42, 8, 1168);
delay(1200);
n = 0;
}
}


Только тут надо рассчитывать delaу, если меньше поставишь и можно будет нажать на кнопку, а лифт ещё не доехал до низа, как только он доедет до низа и остановиться, нажимаем ещё раз кнопку, а он уже вместо верха снова вниз. вот я и спрашивал, сколько тиков в 1-й секунде)))) сидел считал, сколько по времени лифт едет))))) в самый раз получилось 1200.

Спасибо за помощь!


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

И ещё вопрос, а как сделать так (исходя из скрипта выше), чтобы когда лифт едет вниз, а в это время игрок находится под лифтом внизу, и когда лифт соприкасается с ним, то игрока раздавливает... аналогично когда лифт прижимает игрока к потолку. :crazy:
Нашёл вот такой похожий скрипт, но синтаксис другой.
Скрытый текст:

#include "zcommon.acs"

script 1 ENTER
{
Thing_ChangeTID(0,1337);

While(GetSectorFloorZ(3,0,0)>8.0)
{
If(ThingCountSector(0,1337,1)>0 && GetActorZ(1337)==0.0 && GetSectorFloorZ(3,0,0)<=56.0)
{
Thing_Destroy(1337,0);
}
Else
{
Floor_LowerByValue(3,10,1);
Ceiling_LowerByValue(3,10,1);
}

Delay(1);
}

Delay(125);

While(GetSectorFloorZ(3,0,0)<232.0)
{
Floor_RaiseByValue(3,10,1);
Ceiling_RaiseByValue(3,10,1);

Delay(1);
}

Delay(125);

Restart;
}

MasterMind
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 51 points
1789

Doom Rate: 1.92
Ссылка на пост №6044 Отправлено: 07.11.14 18:24:03
PepeL :
между делом... а 1 секунда это сколько тиков?

35. Поэтому если тебе нужна задержка в секундах, то лучше прописывать так: Delay (35*n) - где n - секунды задержки. (Г)Здум сам выполнит математическую операцию в итоге тебе не придется множить на калькуляторе. Точно также можно применять хитрости в других функциях, например заставить ЗДум самому посчитать высоту, на которую должен опуститься лифт.
1 3
PepeL
- Lance Corporal -
Next rank: = Lance Corporal = after 16 points
144

Doom Rate: 2
Ссылка на пост №6045 Отправлено: 08.11.14 18:42:59
MasterMind
Ну может Вы подскажите, как заставить лифтом (3d пол) раздавить игрока?
+Ku6EPyXOBEPTKA+
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 27 points
1413

Doom Rate: 1.75
Ссылка на пост №6046 Отправлено: 08.11.14 19:44:01
PepeL :
Ну может Вы подскажите, как заставить лифтом (3d пол) раздавить игрока?

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

P.S: А ещё проще - не подпускать игрока в шахту. Сделай что-то вроде сетки или ограждения. Можно вообще обойтись невидимыми 3d секторами (будут выполнять функцию impassible)
1 1 2
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №6047 Отправлено: 09.11.14 01:26:41
PepeL :
Ну может Вы подскажите, как заставить лифтом (3d пол) раздавить игрока?

Кажись видел подобное в моде Doom Do Christmas тут на сайте есть, там в начале игры был типо лифт, 3д платформа если точнее которая давила игрока если тот стоит под ней.

P.S. Кстати этот мод заставил меня посмотреть на Doom под другим углом, может и у тебя также будет :)
1
PepeL
- Lance Corporal -
Next rank: = Lance Corporal = after 16 points
144

Doom Rate: 2
Ссылка на пост №6048 Отправлено: 09.11.14 13:44:14
в общем есть такой скрипт:

#include "zcommon.acs"
script 1 ENTER
{Thing_ChangeTID(0,1337);
While(GetSectorFloorZ(3,0,0)>8.0)
{If(ThingCountSector(0,1337,1)>0 && GetActorZ(1337)==0.0 && GetSectorFloorZ(3,0,0)<=56.0)
{Thing_Destroy(1337,0);}
Else
{Floor_LowerByValue(3,10,1);
Ceiling_LowerByValue(3,10,1);}
Delay(1); }
Delay(125);
While(GetSectorFloorZ(3,0,0)<232.0)
{Floor_RaiseByValue(3,10,1);
Ceiling_RaiseByValue(3,10,1);
Delay(1);}
Delay(125);
Restart;}

этот лифт давит игрока, когда он под ним, но мне нужно переделать, чтобы при нажатии на кнопку лифт ехал вниз, а потом после нажатия на кнопку ехал вверх. (при этом, пока лифт едет, на кнопку нажимать было нельзя)
так же, чтобы лифт давил игрока, когда лифт прижимает его потолку.
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №6049 Отправлено: 09.11.14 16:29:32
PepeL :
этот лифт давит игрока, когда он под ним, но мне нужно переделать, чтобы при нажатии на кнопку лифт ехал вниз, а потом после нажатия на кнопку ехал вверх. (при этом, пока лифт едет, на кнопку нажимать было нельзя)

так же, чтобы лифт давил игрока, когда лифт прижимает его потолку.

Братиш, я написал в прошлом посте код, где можно вставить и возможность давилки. В нём уже есть проверка на то, что лифт едет(почитай подробнее)

Парни у меня очередной вопрос. Как работает прозрачность игрока в АЦС? Я вот пытаюсь замутить свою невидимость, написал вот это:
Скрытый текст:

Script 290 (void)
{
int M;
SetActorProperty (0, APROP_RenderStyle, Style_Translucent);
SetActorProperty(0, APROP_Alpha, 1.0);
While(CheckInventory("SWInvisibleCheck") != 0 && CheckInventory("SWInvisible") != 0)
{
if(M == 35)
{
TakeInventory("SWInvisible", 4);
M = 0;
}
Delay(1);
M += 1;
}
TakeInventory("SWInvisibleCheck", 1);
SetActorProperty (0, APROP_RenderStyle, STYLE_Normal);
SetActorProperty(0, APROP_Alpha, 1.0);
if(CheckInventory("SWInvisible") == 0)
{
ActivatorSound("GASPOP",127);
}
terminate;
}



А получаю вот такую "не шибко хорошую невидимость":

Как это лечится? И лечится ли вообще?
PepeL
- Lance Corporal -
Next rank: = Lance Corporal = after 16 points
144

Doom Rate: 2
Ссылка на пост №6050 Отправлено: 09.11.14 19:17:13
LEX SAFONOV :
Братиш, я написал в прошлом посте код, где можно вставить и возможность давилки. В нём уже есть проверка на то, что лифт едет(почитай подробнее)

Братишь:) нет такой функции GetSectorFloorHeight, есть только GetSectorFloorZ(тэг. х. у) и GetSectorCeilingZ(тэг. х. у).
здесь чёт есть, но так и не понял, даже с транслитом. http://forum.zdoom.org/viewtopic.php?f=3&t=2565

в общем залью для примера тестовый вад, чтобы понятней было)))
Лифт у меня в виде бокса. т.е. есть крыша и пол.
может кто поможет дописать скрипт, чтобы игрока давило.

скачать TestLift.wad
MasterMind
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 51 points
1789

Doom Rate: 1.92
Ссылка на пост №6051 Отправлено: 10.11.14 14:46:42
LEX SAFONOV :
А получаю вот такую "не шибко хорошую невидимость":

Не знаю, с этой прозрачностю в АЦС ужасные проблемы. У меня был вадник, где монстры через скрипт воскресали и должны били стать прозрачными, но это вообще не сработало ни разу, сколько я ни бился.
1 3
+Ku6EPyXOBEPTKA+
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 27 points
1413

Doom Rate: 1.75
Ссылка на пост №6052 Отправлено: 10.11.14 22:24:02
LEX SAFONOV :
Как это лечится? И лечится ли вообще?

А что будет, если значение alpha брать не 1.0 а меньше? 0.5, например?
1 1 2
vlr66
- Master Corporal -
Next rank: = Master Corporal = after 27 points
213

Doom Rate: 1.95
Ссылка на пост №6053 Отправлено: 11.11.14 02:18:44
LEX SAFONOV :
Как это лечится? И лечится ли вообще?


Можно пропробовать подменить эти (.bmp) спрайты прозрачными .png-шками (размером эдак 3x3 пикселя с тем же именем) и засунуть их между HI_START, HI_END.

(В скриптах я ноль), но если не получается, то чем это не выход?! :) В определенный момент "X" (наступления невидимости), ссылаетесь на эти спрайты.
Я имею ввиду полную невидимость.

Если же невидимость должна быть как в ориг.doom то опять же, рисуете прозрачные спрайты из оригинальных и сохранете в .png В общем как то так...
1
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №6054 Отправлено: 11.11.14 15:34:08
+Ku6EPyXOBEPTKA+ :
А что будет, если значение alpha брать не 1.0 а меньше? 0.5, например?

Спрайт будет таким же тёмным, но с прозрачностью(он тёмным вообще не должен быть, изображение не такое)

vlr66 :
Можно пропробовать подменить эти (.bmp) спрайты прозрачными .png-шками (размером эдак 3x3 пикселя с тем же именем) и засунуть их между HI_START, HI_END.



(В скриптах я ноль), но если не получается, то чем это не выход?! В определенный момент "X" (наступления невидимости), ссылаетесь на эти спрайты.

Я имею ввиду полную невидимость.

Это не вариант вообще, т.к. это ОЧЕНЬ много спрайтов, потому что для каждого оружия нужно будет делать аналогичную вариацию.
MasterMind
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 51 points
1789

Doom Rate: 1.92
Ссылка на пост №6055 Отправлено: 12.11.14 15:27:06
LEX SAFONOV
Под что лепишь? Просто можно создать в декорэйте поверап невидимости и давать/забирать его с помощью скрипта
1 3
+Ku6EPyXOBEPTKA+
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 27 points
1413

Doom Rate: 1.75
Ссылка на пост №6056 Отправлено: 12.11.14 16:17:10
LEX SAFONOV :
Спрайт будет таким же тёмным, но с прозрачностью(он тёмным вообще не должен быть, изображение не такое)

Странно. В Гозе 21 пре и зандротине 1.2.1 в режиме hardware (openGL) работает всё нормально. Проверил в софтваре - абсолютно так же. Не в спрайтах ли какая беда? Посмотри в скрипте кулаков - не стоит ли там рендер какой-то, а то может конфликтует? Сборку порта тож укажи, желательно, хотя проверил даже на ZDoom 2.1.7, там норма.
1 1 2
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №6057 Отправлено: 12.11.14 16:41:23
+Ku6EPyXOBEPTKA+ :
Не в спрайтах ли какая беда?

Нет, я выставил прозрачность напрямую в проперти игрока - там все норм, но в АЦС упорно вылетает такой баг. Тестил в последней сборке гоззы.
+Ku6EPyXOBEPTKA+
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 27 points
1413

Doom Rate: 1.75
Ссылка на пост №6058 Отправлено: 12.11.14 19:55:22
LEX SAFONOV :
Нет, я выставил прозрачность напрямую в проперти игрока - там все норм, но в АЦС упорно вылетает такой баг. Тестил в последней сборке гоззы.

Странное явление. Проверил кусок кода (часть, где acs меняет редер игрока и альфа параметр), но всё работает нормально (проверял на оригинальном спрайте пистолета). Скинь код кулаков, код игрока и код поверапа (если невидимость активируется через него). Может ли быть причиной поверап (флаг где-нибудь вредный или параметр)?

P.S: пошерстил настройки гозы, но что-то ничего не нашёл, чтобы такой эффект создать.
1 1 2
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №6059 Отправлено: 13.11.14 15:23:39
Код кулаков для интереса:
Скрытый текст:

ACTOR Fists : Weapon
{
+WEAPON.WIMPY_WEAPON
+WEAPON.MELEEWEAPON
+NOALERT
Attacksound "CGWHACK"
States
{
Ready:
TNT1 A 0 A_JumpIfInventory("Punched", 1, "ReadyBloodFists")
PNCH A 1 A_Jump(256,"Ready1","Ready2")
Goto Ready
ReadyBloodFists:
PNCH E 1 A_Jump(256,"Ready1BloodFists","Ready2BloodFists")
Goto ReadyBloodFists
Ready1:
TNT1 A 0 A_JumpIfInventory("Punched", 1, "Ready1BloodFists")
PNCH A 1 A_WeaponReady
Loop
Ready1BloodFists:
PNCH E 1 A_WeaponReady
Loop
Ready2:
TNT1 A 0 A_JumpIfInventory("Punched", 1, "Ready2BloodFists")
PNCH B 1 A_WeaponReady
Loop
Ready2BloodFists:
PNCH F 1 A_WeaponReady
Loop
Deselect:
TNT1 A 0 A_JumpIfInventory("Punched", 1, "DeselectBloodFists")
PNCH A 0 A_TakeInventory("FistsSelect",1)
PNCH A 0 A_Lower
PNCH A 1 A_Lower
Loop
DeselectBloodFists:
PNCH E 0 A_TakeInventory("FistsSelect",1)
PNCH E 0 A_Lower
PNCH E 1 A_Lower
Loop
Select:
TNT1 A 0 A_JumpIfInventory("Punched", 1, "SelectBloodFists")
PNCH A 0 A_GiveInventory("FistsSelect",1)
PNCH A 0 A_Raise
PNCH A 1 A_Raise
loop
SelectBloodFists:
PNCH E 0 A_GiveInventory("FistsSelect",1)
PNCH E 0 A_Raise
PNCH E 1 A_Raise
Loop



Fire:
TNT1 A 0 A_JumpIfInventory("Punched", 1, "FireBloodFists")
PNCH C 0 A_Playsound("PUNCH")
PNCH C 2
PNCH C 1 offset(-30, 14) A_CustomPunch(random(20,40),1,0,"FistsPuff")
TNT1 A 5
TNT1 A 1 A_ReFire
PNCH A 1 offset(1, 142)A_WeaponReady(1)
PNCH A 1 offset(1, 133)A_WeaponReady(1)
PNCH A 1 offset(1, 124)A_WeaponReady(1)
PNCH A 1 offset(1, 106)A_WeaponReady(1)
PNCH A 1 offset(1, 97)A_WeaponReady(1)
PNCH A 1 offset(1, 88)A_WeaponReady(1)
PNCH A 1 offset(1, 70)A_WeaponReady(1)
PNCH A 1 offset(1, 60)A_WeaponReady(1)
PNCH A 1 offset(1, 52)A_WeaponReady(1)
PNCH A 1 offset(1, 34)A_WeaponReady(1)
PNCH A 1 offset(1, 32)A_WeaponReady(1)
Goto Ready
FireBloodFists:
PNCH G 0 A_Playsound("PUNCH")
PNCH G 2
PNCH G 1 offset(-30, 14) A_CustomPunch(random(20,40),1,0,"FistsPuff")
TNT1 A 5
TNT1 A 1 A_ReFire
PNCH E 1 offset(1, 142)A_WeaponReady(1)
PNCH E 1 offset(1, 133)A_WeaponReady(1)
PNCH E 1 offset(1, 124)A_WeaponReady(1)
PNCH E 1 offset(1, 106)A_WeaponReady(1)
PNCH E 1 offset(1, 97)A_WeaponReady(1)
PNCH E 1 offset(1, 88)A_WeaponReady(1)
PNCH E 1 offset(1, 70)A_WeaponReady(1)
PNCH E 1 offset(1, 60)A_WeaponReady(1)
PNCH E 1 offset(1, 52)A_WeaponReady(1)
PNCH E 1 offset(1, 34)A_WeaponReady(1)
PNCH E 1 offset(1, 32)A_WeaponReady(1)
Goto Ready
//--------------------------Holding-------------------------------------------//
Hold:
TNT1 A 0 A_JumpIfInventory("Punched", 1, "HoldBloodFists")
PNCH C 1 offset(1,32) A_Jump(256,"Hold1","Hold2","Hold3")
Goto Ready
Hold1:
NULL A 1
PNCH C 0 A_Playsound("PUNCH")
PNCH C 1 offset(1,32)
PNCH C 1 offset(-30, 14) A_CustomPunch(random(20,40),1,0,"FistsPuff")
NULL A 1 A_ReFire
Goto HoldEnd

Hold2:
NULL A 1
PNCH C 0 A_Playsound("PUNCH")
PNCH C 1 offset(1,32)
PNCH C 1 offset(-30, 14) A_CustomPunch(random(20,40),1,0,"FistsPuff")
PNCH C 1 offset(-42, 14)
PNCH C 1 offset(-33, 62)
NULL A 3
NULL A 1 A_ReFire
Goto HoldEnd

Hold3:
NULL A 4
PNCH D 0 A_Playsound("PUNCH")
PNCH D 1 offset(1,32)
PNCH D 1 offset(30, 14) A_CustomPunch(random(20,40),1,0,"FistsPuff")
PNCH D 1 offset(42, 14)
PNCH D 1 offset(33, 62)
NULL A 1
NULL A 1 A_ReFire
Goto HoldEnd
//----------------------------------------------------------------------------//
HoldBloodFists:
PNCH G 1 offset(1,32) A_Jump(256,"Hold1BloodFists","Hold2BloodFists","Hold3BloodFists")
Goto Ready
Hold1BloodFists:
TNT1 A 1
PNCH G 0 A_Playsound("PUNCH")
PNCH G 1 offset(1,32)
PNCH G 1 offset(-30, 14) A_CustomPunch(random(20,40),1,0,"FistsPuff")
TNT1 A 1 A_ReFire
Goto HoldEndBloodFists

Hold2BloodFists:
TNT1 A 1
PNCH G 0 A_Playsound("PUNCH")
PNCH G 1 offset(1,32)
PNCH G 1 offset(-30, 14) A_CustomPunch(random(20,40),1,0,"FistsPuff")
PNCH G 1 offset(-42, 14)
PNCH G 1 offset(-33, 62)
TNT1 A 3
TNT1 A 1 A_ReFire
Goto HoldEndBloodFists

Hold3BloodFists:
TNT1 A 4
PNCH H 0 A_Playsound("PUNCH")
PNCH H 1 offset(1,32)
PNCH H 1 offset(30, 14) A_CustomPunch(random(20,40),1,0,"FistsPuff")
PNCH H 1 offset(42, 14)
PNCH H 1 offset(33, 62)
TNT1 H 1
TNT1 H 1 A_ReFire
Goto HoldEndBloodFists

//------------End Holding-----------------------------------------------------//
HoldEnd:
PNCH A 1 offset(1, 142)A_WeaponReady(1)
PNCH A 1 offset(1, 133)A_WeaponReady(1)
PNCH A 1 offset(1, 124)A_WeaponReady(1)
PNCH A 1 offset(1, 106)A_WeaponReady(1)
PNCH A 1 offset(1, 97)A_WeaponReady(1)
PNCH A 1 offset(1, 88)A_WeaponReady(1)
PNCH A 1 offset(1, 70)A_WeaponReady(1)
PNCH A 1 offset(1, 60)A_WeaponReady(1)
PNCH A 1 offset(1, 52)A_WeaponReady(1)
PNCH A 1 offset(1, 34)A_WeaponReady(1)
PNCH A 1 offset(1, 32)A_WeaponReady(1)
Goto Ready
//----------------------------------------------------------------------------//
HoldEndBloodFists:
PNCH E 1 offset(1, 142)A_WeaponReady(1)
PNCH E 1 offset(1, 133)A_WeaponReady(1)
PNCH E 1 offset(1, 124)A_WeaponReady(1)
PNCH E 1 offset(1, 106)A_WeaponReady(1)
PNCH E 1 offset(1, 97)A_WeaponReady(1)
PNCH E 1 offset(1, 88)A_WeaponReady(1)
PNCH E 1 offset(1, 70)A_WeaponReady(1)
PNCH E 1 offset(1, 60)A_WeaponReady(1)
PNCH E 1 offset(1, 52)A_WeaponReady(1)
PNCH E 1 offset(1, 34)A_WeaponReady(1)
PNCH E 1 offset(1, 32)A_WeaponReady(1)
Goto Ready



}
}



Код инвентории, которая активирует АЦС скрипт
Скрытый текст:

ACTOR SmokeBomb : CustomInventory
{
Inventory.PickupMessage "Smoke Bomb"
Inventory.Amount 100
Inventory.InterHubAmount 100
Inventory.MaxAmount 100
Inventory.Icon "SWINB0"
Inventory.PickupSound "DSITEMUP"
+INVENTORY.INVBAR
-INVENTORY.AUTOACTIVATE
+INVENTORY.PERSISTENTPOWER
scale 0.5
States
{
Spawn:
SWIN A -1
stop
Use:
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("SmokeBombCheck", 1, "Use2")
TNT1 A 0 A_GiveInventory("SmokeBombCheck", 1)
TNT1 A 0 A_PlaySound("GASPOP")
TNT1 A 0 ACS_ExecuteAlways(290, 0,0,0)
Fail
Use2:
TNT1 A 0 A_PlaySound("GASPOP")
TNT1 A 0 A_TakeInventory("SmokeBombCheck", 1)
Fail
}
}



АЦС код почти тот же
Скрытый текст:

Script 290 (void)
{
int M;
SetActorProperty (0, APROP_RenderStyle, Style_Translucent);
SetActorProperty(0, APROP_Alpha, 1.0);
While(CheckInventory("SmokeBombCheck") != 0 && CheckInventory("SmokeBomb") != 0)
{
if(M == 35)
{
TakeInventory("SmokeBomb", 4);
M = 0;
}
Delay(1);
M += 1;
}
TakeInventory("SmokeBombCheck", 1);
SetActorProperty (0, APROP_RenderStyle, STYLE_Normal);
SetActorProperty(0, APROP_Alpha, 1.0);
if(CheckInventory("SmokeBomb") == 0)
{
ActivatorSound("GASPOP",127);
}
terminate;
}



Поверапы никакие не даются. Я решил запрогать эффект полной невидимости, естесно с проверочками в самих монстрах, что у игрока есть техническая инвентория SmokeBombCheck.(Это просто для расшифровки, чтобы было более понятно)
CWolf
= Master Sergeant =
Next rank: - Sergeant Major - after 44 points
486

Doom Rate: 1.58
Ссылка на пост №6060 Отправлено: 13.11.14 17:11:57
LEX SAFONOV :
Как это лечится? И лечится ли вообще?


Лечится, но, насколько помню, это надо работать и с декорейтом тоже.
1
Страница 303 из 352Перейти наверх Пред.  1, 2, 3 ... 302, 303, 304 ... 350, 351, 352  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!