Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 317, 318, 319 ... 350, 351, 352  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
theleo_ua
Chief Petty Officer
Next rank: Chief Petty Officer after 10 points
930

Doom Rate: 1.52
Ссылка на пост №6341 Отправлено: 23.01.15 18:27:49
LEX SAFONOV

Понял, попробую

LEX SAFONOV :
Просто смысл в том, что флаг FLOATBOB двигает не только саму модель, но и ещё её коализию...


Что в данном случае является коализией и на что она влияет?

LEX SAFONOV :
Если всё равно не понятно


понятно

LEX SAFONOV :
то пришли полный код, я попробую подредачить.


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

theleo_ua :
И еще вопрос: в моем коде я юзал DoomEd Number-ы 5002 и 5001. Какие диапазоны номеров вы посоветуете юзать, чтобы с наименьшей вероятностью они перекрыли те номера, которые в большинстве случаев юзают мапперы в своих вадах/модах (а также чтобы избежать других потенциальных глюков) ? Или у мапперов нет "негласных" правил касательно нумерации, и тут не угадаешь, соответственно придется подстраивать свой мод под каждый вадник, и чекать, что за номера там автор заюзал?


И да - по этому поводу никаких рекомендаций нет, здесь тупо рандом? Или есть такие диапазоны, которые лучше не юзать?
1
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №6342 Отправлено: 23.01.15 18:43:14
theleo_ua :
Что в данном случае является коализией и на что она влияет?

Коализия - "коробочка", которая отвечает за столкновения. Физика вообщем.

theleo_ua :
И да - по этому поводу никаких рекомендаций нет, здесь тупо рандом? Или есть такие диапазоны, которые лучше не юзать?

По возможности лучше их вообще не использовать(если ты конечно не собираешься маппить со своими предметами). Просто не бери значение оригинальных игр. А на каждый мод-пак не угодишь.
theleo_ua
Chief Petty Officer
Next rank: Chief Petty Officer after 10 points
930

Doom Rate: 1.52
Ссылка на пост №6343 Отправлено: 23.01.15 20:34:24
LEX SAFONOV :
По возможности лучше их вообще не использовать(если ты конечно не собираешься маппить со своими предметами).


В моем случае (с сабмоделями) есть способ их не использовать? Я не собираюсь маппить, мне просто надо чтобы при подключении моего "мода" спрайты заменялись на модели (в том числе и в чужих модах).

LEX SAFONOV :
Просто не бери значение оригинальных игр. А на каждый мод-пак не угодишь.


Есть где-то список диапазонов оригинальных игр?

LEX SAFONOV :
пришли полный код, я попробую подредачить.


Вобщем у меня почти получилось, за исключением одной детали. Вот код актора сабмодели стекла:

Скрытый текст:

//Glass
ACTOR ArtiHealth_Glass 5002
{

RenderStyle Translucent
Alpha 0.3

States
{
Spawn:
// PTN2 A 1 //В ЭТОМ СЛУЧАЕ СТЕКЛО НЕ ПОКАЗЫВАЕТСЯ ВООБЩЕ
PTN2 A 2 //А В ЭТОМ СЛУЧАЕ СТЕКЛО НЕПРИЯТНО МЕРЦАЕТ, А ТАКЖЕ ПРИ КОЛЕБАНИИ "СНИЗУ ВВЕРХ" ОТОБРАЖАЕТСЯ НА 5 ПИКСЕЛЕЙ ВЫШЕ ЧЕМ НАДО
Stop
}

}



Проблема расписана в каментах в коде.

Выкладываю тебе полную версию мода (поубирал все лишнее, оставил только фласк), чтобы ты сам мог посмотреть, в чем заключается проблема (словами сложно объяснить): https://drive.google.com/file/d/0BygbyP4_qEiTeWd.../view?usp=sharing

На всякий случай - вот копипаст декорейта:

Скрытый текст:

//Glass
ACTOR ArtiHealth_Glass 5002
{

RenderStyle Translucent
Alpha 0.3

States
{
Spawn:
// PTN2 A 1 //В ЭТОМ СЛУЧАЕ СТЕКЛО НЕ ПОКАЗЫВАЕТСЯ ВООБЩЕ
PTN2 A 2 //А В ЭТОМ СЛУЧАЕ СТЕКЛО НЕПРИЯТНО МЕРЦАЕТ, А ТАКЖЕ ПРИ КОЛЕБАНИИ "СНИЗУ ВВЕРХ" ОТОБРАЖАЕТСЯ НА 5 ПИКСЕЛЕЙ ВЫШЕ ЧЕМ НАДО
Stop
}

}

//BASE MODEL
ACTOR ArtiHealth_BaseModel : ArtiHealth 5001
{

Game Raven
SpawnID 24
Health 25
+COUNTITEM
+FLOATBOB
+NOGRAVITY
+INVENTORY.PICKUPFLASH
+INVENTORY.FANCYPICKUPSOUND
Inventory.Icon ARTIPTN2
Inventory.PickupSound "misc/p_pkup"
Inventory.PickupMessage "$TXT_ARTIHEALTH" // "QUARTZ FLASK"
Tag "$TAG_ARTIHEALTH"
HealthPickup.AutoUse 1
States
{
Spawn:
PTN2 A 0

PTN2 A 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
PTN2 A 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
PTN2 A 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
PTN2 A 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)

PTN2 B 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
PTN2 B 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
PTN2 B 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
PTN2 B 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)

PTN2 C 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
PTN2 C 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
PTN2 C 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
PTN2 C 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
Loop
}

}

//SPAWNER
Actor ArtiHealth_Spawner : ArtiHealth replaces ArtiHealth
{

States
{
Spawn:

PTN2 A 0
PTN2 A 0 A_SpawnItemEx("ArtiHealth_BaseModel",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)
// PTN2 A 0 A_SpawnItemEx("ArtiHealth_Glass",0,0,0,0,0,0,0)//,SXF_NOCHECKPOSITION)

Stop
}

}




а вот моделдефа:

Скрытый текст:

//Model ArtiHealth //Quartz flask
Model ArtiHealth_BaseModel //Quartz flask without Glass


{
Path "Models\Items\I-Flask"


Model 0 "i_flask_cap.md2"
Skin 0 "i_flask.png"

Model 1 "i_flask_liquid.md2"
Skin 1 "i_flask.png"

// Model 2 "i_flask_glass.md2"
// Skin 2 "i_flask.png"


Scale 1.0 1.0 1.0

Offset 0.0 33.0 0.0

ZOffset 33


FrameIndex PTN2 ABC 0 0
FrameIndex PTN2 ABC 1 0
// FrameIndex PTN2 ABC 2 0


}



Model ArtiHealth_Glass //Glass for Quartz flask
{
Path "Models\Items\I-Flask"


Model 0 "i_flask_glass.md2"
// Skin 0 "i_flask.png"
Skin 0 "i_flask_noalpha.png"



Scale 1.0 1.0 1.0

Offset 0.0 33.0 0.0

ZOffset 33


// FrameIndex PTN2 ABC 0 0
FrameIndex PTN2 A 0 0



}





Заранее спасибо за хелп

З.Ы. Еще вопрос: вот такие строки из оригинального ArtiHealth

Скрытый текст:

Game Raven
SpawnID 24
Health 25
+COUNTITEM
+FLOATBOB
+NOGRAVITY
+INVENTORY.PICKUPFLASH
+INVENTORY.FANCYPICKUPSOUND
Inventory.Icon ARTIPTN2
Inventory.PickupSound "misc/p_pkup"
Inventory.PickupMessage "$TXT_ARTIHEALTH" // "QUARTZ FLASK"
Tag "$TAG_ARTIHEALTH"
HealthPickup.AutoUse 1



мне надо копипастить в актор "ArtiHealth_BaseModel : ArtiHealth 5001", или здум сам их подхватит?
1
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №6344 Отправлено: 24.01.15 12:27:28
theleo_ua :
В моем случае (с сабмоделями) есть способ их не использовать? Я не собираюсь маппить, мне просто надо чтобы при подключении моего "мода" спрайты заменялись на модели (в том числе и в чужих модах).

Если ты хочешь, чтобы просто заменяло, то эти цифры можно не подставлять вообще, нужно просто записать так:
ArtiHealth_BaseModel : ArtiHealth replaces ArtiHealth (что будет обозначать "основать на ArtiHealth из заменить его же").
theleo_ua :
мне надо копипастить в актор "ArtiHealth_BaseModel : ArtiHealth 5001", или здум сам их подхватит?

Ты же основываешь, т.е. создаешь новый актор из родительского. Естественно из родительского актора берутся всего его параметры.
По поводу кода, вот так я подправил:
Скрытый текст:

//Glass
ACTOR ArtiHealth_Glass
{

RenderStyle Translucent
Alpha 0.3
+NOINTERACTION

States
{
Spawn:
PTN2 A 0
PTN2 A 1
Stop
}

}

//BASE MODEL
ACTOR ArtiHealth_BaseModel : ArtiHealth replaces ArtiHealth
{
States
{
Spawn:
PTN2 A 0

PTN2 AAAA 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0.5,0,0,0,0,SXF_NOCHECKPOSITION)
PTN2 BBBB 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0.5,0,0,0,0,SXF_NOCHECKPOSITION)
PTN2 CCCC 1 A_SpawnItemEx("ArtiHealth_Glass",0,0,0.5,0,0,0,0,SXF_NOCHECKPOSITION)
Loop
}

}



Замечу, что отдельно спавнер не нужен в твоём случае, так же как и номера. Так же замечу, что эффект мерцания возникает из-за того, что одна модель накладывается на другую. Я подправил координаты в функции A_SpawnItemEx, однако суб модель начинает немножно "коряво" летать. В принципе не сильно заметно, если не приглядываться. Для избавления эффекта мерцания(и как следует можно будет в функции заместо 0.5 использовать просто нуль) наверное надо главной модели тоже сделать прозрачность(если таковое возможно).
theleo_ua
Chief Petty Officer
Next rank: Chief Petty Officer after 10 points
930

Doom Rate: 1.52
Ссылка на пост №6345 Отправлено: 24.01.15 17:17:28
LEX SAFONOV :
Если ты хочешь, чтобы просто заменяло, то эти цифры можно не подставлять вообще, нужно просто записать так:
ArtiHealth_BaseModel : ArtiHealth replaces ArtiHealth (что будет обозначать "основать на ArtiHealth из заменить его же").


Речь не про Replaces, речь про тех дополнительных акторов "для сабмоделей" (например ACTOR ArtiHealth_Glass 5002). Но я уже проверил, можно писать без цифр (просто ACTOR ArtiHealth_Glass) и будет работать.

LEX SAFONOV :

Ты же основываешь, т.е. создаешь новый актор из родительского. Естественно из родительского актора берутся всего его параметры.


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

LEX SAFONOV :
По поводу кода, вот так я подправил:


большое спасибо!

LEX SAFONOV :
Замечу, что отдельно спавнер не нужен в твоём случае, так же как и номера. Так же замечу, что эффект мерцания возникает из-за того, что одна модель накладывается на другую. Я подправил координаты в функции A_SpawnItemEx, однако суб модель начинает немножно "коряво" летать. В принципе не сильно заметно, если не приглядываться. Для избавления эффекта мерцания(и как следует можно будет в функции заместо 0.5 использовать просто нуль) наверное надо главной модели тоже сделать прозрачность(если таковое возможно).


Ок, принял к сведению. Попробую потом потанцевать с бубном, посмотрим что получится.


З.Ы. Внезапно вроде придумал "адекватное" решение для змеек:

Скрытый текст:



1) возле каждой змейки спавним 8 акторов (актор нужно сделать такой, который не спавнится в стенке/двери) по окружности с радиусом 5см (взял от балды, но идея ясна) и шагом 45 градусов (первый спереди на 5см, второй слева спереди на 5см, третий слева на 5см и т д)

2) определяем, какие акторы не отспавнились

3) определяем ближайшие к "неотспавненным", их должно быть 2

4) теперь у нас есть 2 точки, для которых нам надо определить угол, и прибавить к нему 90 градусов (либо отнять, в зависимости от того, какие координаты у змеи)

5) если две змейки рядом, это упрощает специфические ситуации а-ля "змейка в углу"

6) если все окей, то поворачиваем змею, присваиваем ей в нашем ACS массиве статус "не трогать" и убиваем всех отспавненных рядом с ней акторов

7) если по каким-либо причинам алгоритм не сработал (например змейка стоит одна, либо все айтемы вокруг нее отспавнились) - тогда конкретно эту змейку всегда поворачиваем лицом к игроку (как спрайт), и перестаем спавнить акторов рядом с ней


Если этот чудо алгоритм будет "абы как, но работать", то можно будет сделать такие оптимизации:

А) Спавнить не 8 акторов, а 16, 32 и т д
Б) Спавнить акторов в несколько проходов: сначала применяем алгоритм для расстояния 5см, если все акторы отспавнились успешно - то для 10см и т д



Теперь собственно к проблемам/вопросам:

1) Можно ли как-то в декорейте использовать переменные из ACS? Например я хочу сделать "если с текущей змейкой все выяснено, то акторов больше не спавнить" - как это можно сделать? Только костылями а-ля "через ACS сменить ее проперти, например хелсы, а через декорейт использовать jumpif health=X", или есть более адекватные способы?

2) Есть ли в ACS тригонометрические функции, например арктангенс?

3) Каким образом нужно сделать актора (а также каким образом его надо спавнить (какие параметры в A_SpawnItemEx) ), чтобы он не спавнился в стенке или закрытой двери (не важно, дверь с ключем или нет) ?
1
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №6346 Отправлено: 24.01.15 18:25:40
theleo_ua :
Стейтов это тоже касается? Т.е. любой новый стейт, который я пишу такому актору, будет добавляться к старым, а не аннулировать все стейты родительского, верно? Соответственно, если я хочу такой же класс, но с аннулированными стейтами, то придется наследовать из "родителя-родителя", и копипастить "свойства", верно?

Тут есть есть небольшая обманка. Допустим у родителя уже есть стейт Spawn. Ты основываешь новый актор, на старом, однако не стоит забывать, что даже если ты напишешь новому актору новый Spawn стейт, то старый родительский можно будет использовать(есть один интересный переход Goto::Super "моя метка", он как раз этим и занимается).
theleo_ua :
Есть ли в ACS тригонометрические функции, например арктангенс?

В последнем здуме хз, я толком их не смотрел, раньше приходилось использовать косинус и синус и вычислять по формуле.(косинус и синус точно есть).
theleo_ua :
аким образом нужно сделать актора (а также каким образом его надо спавнить (какие параметры в A_SpawnItemEx) ), чтобы он не спавнился в стенке или закрытой двери (не важно, дверь с ключем или нет) ?

Не использовать флаг SXF_NOCHECKPOSITION по моему...
theleo_ua :
Можно ли как-то в декорейте использовать переменные из ACS? Например я хочу сделать "если с текущей змейкой все выяснено, то акторов больше не спавнить" - как это можно сделать? Только костылями а-ля "через ACS сменить ее проперти, например хелсы, а через декорейт использовать jumpif health=X", или есть более адекватные способы?

По моему в декорейте переменные из АЦС напрямую не используешь, однако можно играться с функцией ACS_ExecuteWithResult, её кстате можно подставлять и как условие тоже(в функцию A_JumpIf).

А на счёт реализации змеек, то я бы посоветовал использовать систему проджектайлов. Почему? потому что проджектайл может вернуть нужное значение своему создателю. Реализация наподобе того алгоритма, что у тебя, но будет чуть по проще:
- Как только наша змея заспавнилась - она выстреливает проджектайлами на определённые градусы(в функции A_CustomMissile можно выставить градус).
- В декорейте можно использовать свои переменные. Объявляем в проперти актора нашу переменную. Каждый тик наша змея будет увеличивать значение переменной градуса на 1 единицу и выстреливать проджектайлом, живущим 1-2 тика(обязательно! иначе теряется весь смысл).
- Как только проджектайл убивается в стену, он возвращает змее через функцию A_GiveToTarget какую нить пустую инвенторку(да, сторонним акторам тоже можно выдать инвенторку). В коде, где выстреливается проджектайл через условие A_JumpIfInventory проверять значение нашей инвенторки, если будет 1 - переходим в левый стейт, где активируем АЦС скрипт и разворачиваем нашу змею опираясь уже на значение переменной нашего градуса(в АЦС значение переменной активатора из декорейта получить можно).
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №6347 Отправлено: 24.01.15 23:20:05
theleo_ua :
Можно ли как-то в декорейте использовать переменные из ACS?

Прямо нельзя, как уже заметили выше, надо юзать ACS_ExecuteWithResult(). К слову, в декорейте есть свои переменные, но думаю это не в кассу ваще.
По поводу шкриптов, я имел в виду типа:
script 666 (int tid)
{
 int megaformula = GetActorProperty(tid, APROP_HEALTH) + cos(GetActorAngle(tid));
 SetResultValue(megaformula);
}

вернет херню которую я там написал. А это уже можно использовать в декорейтовых выражениях с a_jumpif(). Кстати, там планируют в скором времени добавить НОРМАЛЬНЫЕ условия в декорейт
theleo_ua :
2) Есть ли в ACS тригонометрические функции, например арктангенс?

Только cos() и sin(), только хардкор
theleo_ua :
3) Каким образом нужно сделать актора (а также каким образом его надо спавнить (какие параметры в A_SpawnItemEx) ), чтобы он не спавнился в стенке или закрытой двери (не важно, дверь с ключем или нет) ?

Если у него не стоит флагов типа NOCLIP или NOINTERACTION, а у спавнера флагов, которые отменяют проверку позиции, то в принципе он не должен. Ах да, пространство за картой считается абсолютно нормальным для спауна, по скольку акторы там не застревают.
5 1 1
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №6348 Отправлено: 25.01.15 00:41:49
У кого есть соображения, догадки как сделать так:
Есть сектор, пол высота = 0, и платформа(3д пол или Custombridge) на высоте 64,
как сделать так что бы персонаж стоя на полу жмет прыжок и прыгает сквозь платформу, на ее верх и остается на ней стоять и при желении может обратно спрыгнуть на пол(как бы провалится сквозь платформу)?
Все, нашел решение.
Кто знает можно ли в ACS как-то проверять в каком стейте находится актор? Имею ввиду таким способом как ставится стейт SetActorState, только CheckActorState или GetActorState, в вики не нашел, может по другому называется?

ChaingunPredator :
Кстати, там планируют в скором времени добавить НОРМАЛЬНЫЕ условия в декорейт

Интересно будет глянуть =)
1
Jurijus
- Master Sergeant -
Next rank: = Master Sergeant = after 24 points
436

Doom Rate: 0.16
Ссылка на пост №6349 Отправлено: 25.01.15 01:51:08
alekv :
Кто знает можно ли в ACS как-то проверять в каком стейте находится актор?

В начале он получает token под названием этого стейта, в конце token забирается.
theleo_ua
Chief Petty Officer
Next rank: Chief Petty Officer after 10 points
930

Doom Rate: 1.52
Ссылка на пост №6350 Отправлено: 25.01.15 01:56:44
LEX SAFONOV

ChaingunPredator

Большое спасибо за исчерпывающий хелп, попробую обязательно
1
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №6351 Отправлено: 25.01.15 02:11:08
Jurijus :
В начале он получает token под названием этого стейта, в конце token забирается.

Медленно получается и часто работает не так как надо. Меня интересовал способ:
"Имею ввиду таким способом как ставится стейт SetActorState, только CheckActorState или GetActorState, в вики не нашел, может по другому называется?"
Если такого нет, ну и ладно, просто хочу знать =)

И еще вопрос, можно ли сделать спрайт не крутящимся? К примеру стандартный думовский MEDIKIT, картинка аптечки постоянно смотрит лицом к игору, мне надо что бы она не крутилась... может флажок какой есть?
1
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №6352 Отправлено: 25.01.15 13:24:12
alekv :
мне надо что бы она не крутилась... может флажок какой есть?

Это как? Чтобы она совсем картонку изображала? Да вроде такое только модельками.
alekv :
Меня интересовал способ:

Да, походу, нельзя. А разве такое медленно работает:
Actor lolka
{
 ...
 States
 {
 ...
  Defense:
   TNT1 A 0 A_GiveInventory("IfDefense", 1)
   ...
   TNT1 A 0 A_TakeInventory("IfDefense", 1)
   goto <...>
  }
}
5 1 1
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №6353 Отправлено: 25.01.15 14:35:24
ChaingunPredator :
Это как? Чтобы она совсем картонку изображала? Да вроде такое только модельками.

Да, именно картонку, просто модельками не очень хочется, много моделей много тормозов (

ChaingunPredator :
Да, походу, нельзя. А разве такое медленно работает:
Actor lolka
{
 ...
 States
 {
 ...
  Defense:
   TNT1 A 0 A_GiveInventory("IfDefense", 1)
   ...
   TNT1 A 0 A_TakeInventory("IfDefense", 1)
   goto <...>
  }
}

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

Doom Rate: 1.49
Ссылка на пост №6354 Отправлено: 25.01.15 15:43:17
alekv :
И еще вопрос, можно ли сделать спрайт не крутящимся? К примеру стандартный думовский MEDIKIT, картинка аптечки постоянно смотрит лицом к игору, мне надо что бы она не крутилась... может флажок какой есть?

Что мешает взять модель этой аптечки и нафоткать с неё спрайтов с разных ракурсов?) А так нельзя, увы...
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №6355 Отправлено: 25.01.15 17:51:09
alekv :
Да, именно картонку, просто модельками не очень хочется, много моделей много тормозов (

Тормоза от модели из двух полигонов? Срсли? По той же логике, спрайты тоже лагать должны )
5 1 1
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №6356 Отправлено: 25.01.15 19:48:44
ChaingunPredator :
Тормоза от модели из двух полигонов? Срсли? По той же логике, спрайты тоже лагать должны )

Блин, ну незнаю, у меня постоянно какие-то проблемы с долбанной гоззой2, и проблемы в 3д моделях, пропадают хоть 100 полигонов, хоть 1 правда рендомно, бывает и нормально работает. А вот спрайты себя нормально ведут.

LEX SAFONOV :
Что мешает взять модель этой аптечки и нафоткать с неё спрайтов с разных ракурсов?) А так нельзя, увы...

Спасибо, вот так просто, а я не додумался =). Аптечку просто в пример привел.
1
Shadowman
= UAC Commissar =
Next rank: - UAC Marshal - after 297 points
6603

Doom Rate: 2.46
Ссылка на пост №6357 Отправлено: 25.01.15 20:34:37
Просто интересно, есть ли способ заставить команду DrawNumber в сбаринфо выводить значения больше, чем 999?
Я могу, конечно, все заскриптить без обращения к сбаринфо, но некоторые вещи проще делаются там.
1 6 2
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №6358 Отправлено: 26.01.15 00:05:51
И снова град вопросов..

1.Можно ли делать 3д пол SOLID и NOSOLID в асs, если да то как или что для этого надо?

2.Можно ли в acs проверять стоит игрок на полу или нет, но только что бы работало с Thing ами?
Пример:
If(GetActorVelz(0)!=0)
{
.............
}
В таком условии если игрок не стоит на полу(его velZ не будет равна 0) то условие выполнится.
Проблема в том что если игрок стоит например на CustomBridge(который у меня используется как платформа) или на монстре вобщем на любом Thinge его высота будет больше 0, а надо что бы была = 0, будто он стоит на полу. Как так сделать?

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

4.Я использую текстуры на полу и стенах с разрешением более чем 512х512, при этом я не записываю их в lump Textures или Patches, вобщем вообще никуда не записываю, просто скинул в pk3 архив и в таком виде и леплю на стены, потолки. Влияет ли это на скорость работы GZDoom или вообще на что либо?

5.Когда игрок жмет кнопку прыжка, он прыгает всегда на одну и ту же высоту, а мне надо так, чем дольше игрок держит кнопку прыжка тем выше прыгает персонаж и если он нажал кнопку прыжка и почти сразу отпустил, то пресонаж прыгнет не высоко. Как это сделать хотя бы примерно?
1
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №6359 Отправлено: 26.01.15 00:34:54
alekv :
4.Я использую текстуры на полу и стенах с разрешением более чем 512х512, при этом я не записываю их в lump Textures или Patches, вобщем вообще никуда не записываю, просто скинул в pk3 архив и в таком виде и леплю на стены, потолки. Влияет ли это на скорость работы GZDoom или вообще на что либо?

нет
alekv :
5.Когда игрок жмет кнопку прыжка, он прыгает всегда на одну и ту же высоту, а мне надо так, чем дольше игрок держит кнопку прыжка тем выше прыгает персонаж и если он нажал кнопку прыжка и почти сразу отпустил, то пресонаж прыгнет не высоко. Как это сделать хотя бы примерно?

Делаешь игроку jumpz 0 и дальше в акс с помощью GetPlayerInput() уже делаешь свои прыжки
alekv :
1.Можно ли делать 3д пол SOLID и NOSOLID в асs, если да то как или что для этого надо?

http://zdoom.org/wiki/SetLineSpecial может через это попробуй аргументы менять? Для линии с экшеном 3д пола ессно
5 1 1
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №6360 Отправлено: 26.01.15 01:58:06
ChaingunPredator :
http://zdoom.org/wiki/SetLineSpecial может через это попробуй аргументы менять? Для линии с экшеном 3д пола ессно

Попробовал пару вариантов с SetLineSpecial, не получилось. Вообще я не знаю как записать в скрипт флаг Solid или NoSolid 3д пола =(
Если бы Sector_Set3dFloor работала, тогда смог бы, как по другому даже не знаю.

ChaingunPredator :
Делаешь игроку jumpz 0 и дальше в акс с помощью GetPlayerInput() уже делаешь свои прыжки

Спасибо.


Очень важный для меня вопрос =)

2.Можно ли в acs проверять стоит игрок на полу или нет, но только что бы работало с Thing ами?
Пример:
If(GetActorVelz(0)!=0)
{
.............
}
В таком условии если игрок не стоит на полу(его velZ не будет равна 0) то условие выполнится.
Проблема в том что если игрок стоит например на CustomBridge(который у меня используется как платформа) или на монстре вобщем на любом Thinge его высота будет больше 0, а надо что бы была = 0, будто он стоит на полу. Как так сделать?

Такс, как оказалось когда перс стоит на Thing его Z координата равна 0, это просто я ступил забыв что у меня еще используется CheckFloor =)
1
Страница 318 из 352Перейти наверх Пред.  1, 2, 3 ... 317, 318, 319 ... 350, 351, 352  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!