Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 11, 12, 13 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
YURA_111
UAC Sergeant Major
Next rank: Chief Petty Officer after 82 points
768

Doom Rate: 1.98

Posts quality: +136
Ссылка на пост №221 Отправлено: 27.09.15 22:32:21
LEX SAFONOV:
Попробуй заюзать A_Warp бро


Возникла новая проблема уже с A_Warp. Возможно кто тоже знает решение:

Вообщем как я писал все сработало, сфера появляется на головой монстра и там и находиться. Но есть у меня некоторые Акторы, которые создают другого актора (при этом сами исчезают). В игре это визуально не видно. А в коде используется функция A_SpawnItemEx.
Вообщем проблема сейчас такая: Когда "Актор1" спавнит "Actor2" (при этом исчезая) сфера остаётся висеть в том месте, где исчез "Актор1". Есть ли возможность заставить сферу поменять цель на "Актор2" ???
theleo_ua
= Colonel =
Next rank: - Commissar - after 88 points
4802

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №222 Отправлено: 27.09.15 22:40:12
LEX SAFONOV
alekv

большое спасибо, попробую/почитаю

Забыл еще важный вопрос:

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



есть такая тема "абуз угла на 5-й сложности или при fastmonsters", когда монстр, стоящий за углом, тебя видит, но попасть по тебе не может, а ты по нему можешь, и легко его убиваешь не двигаясь. Собственно вопрос: какие у вас есть идеи, чтобы такой абуз угла отключить? Естественно имею в виду zdoom (decorate и т д)

Например можно монстрам спавнить не по одному проджектайлу, а по но несколько в ряд, соответственно те, которые по краям, долетят до игрока. Либо можно монстрам принудительно в стейте атаки дать несколько фреймов для передвижения (кстати - как это наиболее эффективно сделать? Через goto See2, где See2 это несколько фреймов без action-а?), в итоге частота стрельбы монстра пострадает не сильно, а из-за угла он постепенно будет выходить (+тут можно будет по рандому сделать, чтобы монстр иногда атаковал как при обычном fastmonsters, а иногда шагал далеко, но это уже детали).

Как это можно сделать еще проще и эффективнее, чем я описал выше?



Добавлено спустя 1 день 38 минут 39 секунд:

update: проблема абуза угла решена с помощью вставки a_fastchase после атаки, результат выглядит примерно так: https://www.youtube.com/watch?v=n8PeBnkojSE
3 1
sanek_47
= Master Corporal =
Next rank: - Sergeant - after 18 points
272

Doom Rate: 2.16

Posts quality: +64
Ссылка на пост №223 Отправлено: 30.09.15 16:16:11
Кто-нибудь знает, как это можно исправить?

После нажатия на ОК открывается пустая карта.
1
Monsterooovich
Chief Petty Officer
Next rank: - Warrant Officer - after 87 points
953

Doom Rate: 1.54

Posts quality: +11
Ссылка на пост №224 Отправлено: 30.09.15 16:23:26
Открой TEXTMAP в слейде и покажи эту строчку.
sanek_47
= Master Corporal =
Next rank: - Sergeant - after 18 points
272

Doom Rate: 2.16

Posts quality: +64
Ссылка на пост №225 Отправлено: 08.10.15 19:05:58
Как изменить покачивание оружия в руках? Как например в этом моде:
Скрытый текст:



Учимся вставлять видео. - Lainos
1
HellDoomer 666
= Master Corporal =
Next rank: - Sergeant - after 32 points
258

Doom Rate: 1.82

Posts quality: +5
Ссылка на пост №226 Отправлено: 08.10.15 21:00:02
Всем привет. Кто знает как зделать в гоззе так, чтобы после смерти игрока - его точка старта была уже в другом месте?
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №227 Отправлено: 09.10.15 12:20:21
HellDoomer 666:
Всем привет. Кто знает как зделать в гоззе так, чтобы после смерти игрока - его точка старта была уже в другом месте?

Тебе в сингл надо? Или мультиплеер?
В сингл, там можно прописать в acs скрипте например
Script "RandomSpawn" RESPAWN //Этот скрипт выполнится когда игрок умрет и возродится (так же есть еще DEATH, такой скрипт выполнится когда игрок умрет, там думаю тоже можно что-то сделать)
{//На карте делаешь сектора в которых должен как бы спавнится игрок и ставишь там THING Teleport и с помощью этого скрипта рендом телепортировать в такие сектора, ну или можно спавнить, это надо пробовать(по моему игрока спавнить не получится).
Teleport (0, Random(tagMin,tagMax), no);//tagmin tagmax это тег сектора в который будет телепортироваться игрок, то есть тагов 1 до 10 в какой-то 1 из 10 секторов телепортируется игрок.
}
Скрипт писал от балды, можешь проверить конечно мб будет как надо)

Добавлено спустя 3 минуты 45 секунд:

sanek_47:
Как изменить покачивание оружия в руках? Как например в этом моде:

1 двигать оффсеты оружия в декорейте, где-то даже функция такая была, надо вики копать.(по моему это она, сложно но можно Offset)
2 покрутить настройки Weapon.BobRangeX и все что с ним связанно, в проперти актора оружия.
Мб еще как-то можно, я не в курсе.
Некоторые флаги для оружия, так можно убрать покачивание вообще Weapon_flags
1 3 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №228 Отправлено: 09.10.15 13:19:33
HellDoomer 666:
Всем привет. Кто знает как зделать в гоззе так, чтобы после смерти игрока - его точка старта была уже в другом месте?

Чекпоинты чтоли? В сингле смысла нет (юзай Autosave()). В мультиплеере ставишь несколько спавнов в недоступном месте, и пишешь ENTER+RESPAWN скрипт который будет SetActorPosition() игрока на текущие координаты чекпоинта.

int CheckX = 0; // сюда пишешь реальные координаты на которых должен стартовать игрок в первый раз без чекпоинтов. НЕ FIXED POINT!!!
int CheckY = 0;
int CheckZ = 0;

script "CP_SetTag" (int tag)
{
  CheckX = GetActorX(tag)>>16;
  CheckY = GetActorY(tag)>>16;
  CheckZ = GetActorZ(tag)>>16;
}

script "CP_Set" (int x, int y, int z)
{
  CheckX = x;
  CheckY = y;
  CheckZ = z;
}

// как SetActorPosition, но телефрагает
function void SetActorPositionForced(int tag, int x, int y, int z, bool fog)
{
  int t = UniqueTID();
  SpawnForced("MapSpot", x, y, z, t, 0);
  int t2 = tag;
  if (t2 == 0)
  {
    t2 = UniqueTID();
    Thing_ChangeTID(0, t2);
  }

  TeleportOther(t2, t, fog);

  if (t2 != tag)
    Thing_ChangeTID(t2, tag);
  Thing_ChangeTID(t, 0);
}

script "CP_Activate" RESPAWN
{
  SetActorPositionForced(0, CheckX<<16, CheckY<<16, CheckZ<<16, true);
}

script "CP_Activate2" ENTER
{
  SetActorPositionForced(0, CheckX<<16, CheckY<<16, CheckZ<<16, true);
}


Скрипт CP_Set (или CP_SetTag) вызывается вручную например при входе в определённый сектор.
Чекпоинт лучше вешать в воздухе, чтобы не было такого что игроки друг на друге появляются и телефрагают.
2 2 1
Michael63
Lieutenant Colonel
Next rank: - Colonel - after 182 points
3858

Doom Rate: 2

Posts quality: +844
Ссылка на пост №229 Отправлено: 13.10.15 22:23:27
1. Я делаю текстовую вставку в конце эпизода с помощью MAPINFO (порт - ZDoom). Как сделать перенос слов с одной строки на другую (т.е. поделить текст на несколько строк)?

2. Можно ли использовать одновременно лампы MAPINFO и DEHACKED, чтобы вад был играбельным как и ZDoom, так и в Vanilla Doom?
Наверно в моём случае можно оставить только DEHACKED, но тогда я не знаю, как отключить прыжки и приседания в ZDoom.
1 1 2
UsernameAK
- Lance Corporal -
Next rank: = Lance Corporal = after 10 points
150

Doom Rate: 1.79

Posts quality: +13
Ссылка на пост №230 Отправлено: 13.10.15 22:57:13
Michael63

2. да, проcто мапинфо должен содержать опции аналогичные дехакедовским плюс свои (мапинфо идет после дехакеда)
1
LEX SAFONOV
- Sergeant Major -
Next rank: = Sergeant Major = after 3 points
597

Doom Rate: 1.5

Posts quality: +294
Ссылка на пост №231 Отправлено: 14.10.15 16:24:47
YURA_111:
Вообщем как я писал все сработало, сфера появляется на головой монстра и там и находиться. Но есть у меня некоторые Акторы, которые создают другого актора (при этом сами исчезают). В игре это визуально не видно. А в коде используется функция A_SpawnItemEx.

Вообщем проблема сейчас такая: Когда "Актор1" спавнит "Actor2" (при этом исчезая) сфера остаётся висеть в том месте, где исчез "Актор1". Есть ли возможность заставить сферу поменять цель на "Актор2" ???

Довольно интересный вопрос, вот честно признаюсь - не знаю, возможно ли менять цели у актора.
Лучше вышли код, наглядно чтоб было понятно, что требуется)
ChaingunPredator
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 78 pointsМодератор форума
1362

Doom Rate: 2.44

Posts quality: +174
Ссылка на пост №232 Отправлено: 14.10.15 17:12:10
Michael63:
1. Я делаю текстовую вставку в конце эпизода с помощью MAPINFO (порт - ZDoom). Как сделать перенос слов с одной строки на другую (т.е. поделить текст на несколько строк)?

2. Можно ли использовать одновременно лампы MAPINFO и DEHACKED, чтобы вад был играбельным как и ZDoom, так и в Vanilla Doom?
Наверно в моём случае можно оставить только DEHACKED, но тогда я не знаю, как отключить прыжки и приседания в ZDoom.

1. Использовать перенос строки - символ \n
2. Можно.
1 2 5
TesaQ
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 141 points
1149

Doom Rate: 1.72

Posts quality: +368
Ссылка на пост №233 Отправлено: 16.10.15 01:45:14
как можно сделать воду в который можно плавать, прозрачной?исключая способа с прозрачным 3д полом
1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №234 Отправлено: 16.10.15 17:19:45
Никак. Более старый способ с разделением сектора по контрольному сектору (если не ошибаюсь, Transfer_Heights) принципиально не предназначен для отображения более чем одной части этого сектора. То есть ты либо видишь то, что над водой, либо ты под водой и видишь только то, что под водой. Следовательно прозрачность невозможна.

Можно попробовать извратиться с порталом на полу и совместить с Transfer_Heights и экшнами "игрок прикоснулся к полу / потолку". Но я не понимаю нафига это делать.
Чем тебя не устраивает прозрачный 3D-пол?
2 2 1
theleo_ua
= Colonel =
Next rank: - Commissar - after 88 points
4802

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №235 Отправлено: 18.10.15 18:27:25
2 важных вопроса по поводу Decorate/ACS в G(Z)Doom:

1) Как наиболее простым способом завершить уровень, показав score screen и после него карту расположения миссий (ту самую где в думе 1 были надписи "you are here") ? Может есть какой-то чит? Или ACS-ом как-то можно начудить?

Цель именно "кратчайшим путем добраться до карты"

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

Грубо говоря, мне нужно что-то типа "if (map == e2m3) then missile2 else missile3". Как простейшим и наиболее эффективным способом это реализовать?

В обоих случаях имеется в виду синглплеер.

Заранее спасибо
3 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №236 Отправлено: 18.10.15 18:54:09
#library "CHECKMAP"
#include "zcommon.acs"

script "checkLevel" (int doom2, int num1, int num2)
{
    SetResultValue(0);
    str map = StrParam(n:PRINTNAME_LEVEL);
    int c1, c2;
    if (doom2)
    {
        if (strlen(map) != 5)
            terminate;
        c1 = getchar(map, 3);
        c2 = getchar(map, 4);
        if (c1 < '0' || c1 > '9' || c2 < '0' || c2 > '9')
            terminate;
        int anum = (c1 - '0') * 10 + (c2 - '0');
        SetResultValue(anum == num1);
        terminate;
    }
    else
    {
        if (strlen(map) != 4)
            terminate;
        c1 = getchar(map, 1); // e#m#
        c2 = getchar(map, 3);
        if (c1 < '0' || c1 > '9' || c2 < '0' || c2 > '9')
            terminate;
        int anum1 = (c1 - '0');
        int anum2 = (c2 - '0');
        SetResultValue(anum1 == num1 && anum2 == num2);
        terminate;
    }
}


Использование в декоре:
A_JumpIf(ACS_NamedExecuteWithResult("checkLevel", 0, 1, 2, 0), "StateForE1M2")

Скрипт пихаешь в http://zdoom.org/wiki/LOADACS под названием CHECKMAP.
2 2 1
theleo_ua
= Colonel =
Next rank: - Commissar - after 88 points
4802

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №237 Отправлено: 21.10.15 20:50:03
Большое спасибо! Жаль, что result нельзя строкой сделать
3 1
Kragoth762
= Master Sergeant =
Next rank: - Sergeant Major - after 56 points
474

Doom Rate: 1.93

Posts quality: +47
Ссылка на пост №238 Отправлено: 22.10.15 22:42:43
:pc: подскажите плз, как сделать так чтобы на статус баре сработал собственный шрифт например сгенерированный на Font Generator, импортированный в lump. в скрипте работает (через SetFont("RUS")).
2 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №239 Отправлено: 22.10.15 22:55:02
ZoD:
подскажите плз, как сделать так чтобы на статус баре сработал собственный шрифт например сгенерированный на Font Generator, импортированный в lump. в скрипте работает (через SetFont("RUS")).

В SBarInfo пиши :
DrawNumber 7, RUS, White, NextLVL, 695, 278; //Вывод цифры с шрифтом RUS
DrawString RUS, White, Time, 519, 341, 1;//Вывод строки с шрифтом RUS
Если шрифт состоит из картинок, тогда его надо записать в FONTDEFS там же дать имя и тогда юзать где надо.
Так же советую почитать вики по сбаринфо )
1 3 1
UsernameAK
- Lance Corporal -
Next rank: = Lance Corporal = after 10 points
150

Doom Rate: 1.79

Posts quality: +13
Ссылка на пост №240 Отправлено: 23.10.15 12:22:16
ACTOR GrenadeLauncherDoom : DoomWeapon
{
  Weapon.SelectionOrder 2500
  Weapon.AmmoUse 1
  Weapon.AmmoGive 2
  Weapon.AmmoType "RocketAmmo"
  +WEAPON.NOAUTOFIRE
  Inventory.PickupMessage "$GOTLAUNCHER"
  Tag "$TAG_ROCKETLAUNCHER"
  States
  {
  Ready:
    MISG A 1 A_WeaponReady
    Loop
  Deselect:
    MISG A 1 A_Lower
    Loop
  Select:
    MISG A 1 A_Raise
    Loop
  Fire:
    MISG B 8 A_GunFlash
    MISG B 12 A_FireCustomMissile("GrenadeMissile")
    MISG B 0 A_ReFire
    Goto Ready
  Flash:
    MISF A 3 Bright A_Light1
    MISF B 4 Bright
    MISF CD 4 Bright A_Light2
    Goto LightDone
  Spawn:
    LAUN A -1
    Stop
  }
}
ACTOR GrenadeMissile
{
  Radius 11
  Height 8
  Speed 20
  Gravity 1
  Damage 20
  Projectile
  +RANDOMIZE
  +DEHEXPLOSION
  +ROCKETTRAIL
  -NOGRAVITY
  SeeSound "weapons/rocklf"
  DeathSound "weapons/rocklx"
  Obituary "$OB_MPROCKET" // "%o rode %k's rocket."
  States
  {
  Spawn:
    MISL A 1 Bright
    Loop
  Death:
    MISL B 8 Bright A_Explode
    MISL C 6 Bright
    MISL D 4 Bright
    Stop
  }
}

как сделать, чтобы граната отлетала от пола, потолка и стен, а взрывалась только через 3 сек после запуска или при попадании в актора
1
Страница 12 из 200Перейти наверх Пред.  1, 2, 3 ... 11, 12, 13 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!