Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Скриптинг [Заказываем скрипты/Делимся скриптами] Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.
   Список разделов - Местечко мапперов и моддеров - Скриптинг [Заказываем скрипты/Делимся скриптами]Ответить

Будет ли эта тема полезной/жизнеспособной?
Ответ если Вы программист: [Да! Буду просматривать заказы и размещать скрипты]
20%
 20% [ 8 ]
Ответ если Вы программист: [Нет! Эта тема бред]
5%
 5% [ 2 ]
Ответ если Вы программист: [Буду иногда размещать скрипты, но заказы.. лень]
32%
 32% [ 13 ]
Ответ если Вы заказчик: [Да!]
42%
 42% [ 17 ]
Ответ если Вы заказчик: [Нет!]
0%
 0% [ 0 ]
Проголосовало думеров : 28
Всего оставлено голосов : 40
Голосование без ограничения по времени

АвторСообщение
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №41 Отправлено: 22.10.16 09:30:40
Честно говоря не совсем представляю такую систему, я когда-то давно еще пробовал с помощью радиусгиве сделать такой скрипт(но не овал), не помню деталей, но все сводилось к тому что привязано было в радиусу и высоте хитбокса монстра.
Допустим если хотя бы представить что игрок раздает радиус гиве и если в такой радиус войдет 2 и более монстра, скрипт же не выполниться нормально т.к. какого-то монстра он обработает, а какого-то нет

И еще смотрел вот функцию VectorLenght, смотрел как баран на новые ворота, но кажется что с помощью нее можно отрисовать овал из координат? К примеру известен центр монстра и от этого центра как-то пускать луч что ли, не шарю вообще.. пусть бы актер постоянно вычислял бы скрипт такой.. (правда опять там проблемы с тидами) блин в общем не знаю я -_- Я столько всего перепробовал что голова кругом.(вот в моде donkeyKong я смотрел как там все это дело реализовано, в целом не плохо, но точности там практически нет т.к. игрок находясь в воздухе просто притягивал трастом монстра.. там черт ногу сломит в тех скриптах, но как вариант я его пробовал )
В идеале конечно просто отлично если актер постоянно вычисляет acs скрипт без дистанции и радиус гиве такой вот овал из координат и если ГГ коснулся овала то этот же acs вычисляет какой части коснулся.

Если использовать дистанцию или радиус гиве, то там проблемка, если мелкий монстр, то еще сойдет, но если монстр такой как снеговик, т.е. худой в радиусе и высокий, там соответственно и проверка дистанции нужна большая, а в большой радиус дистанции 100% может попасть еще 1 монстр и будут чудеса, в случае с радиус гиве боюсь та же беда, ну раздает ГГ монстрам итем, а что если рядом 2 монстра и оба получили итем, как скрипт поймет что я убиваю 1 монстра, а не сразу 2ух? (а вообще проблема в тидах будет) Ну и опять же как сделать проверку не куба, а овала из координат хз.
1 3 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №42 Отправлено: 23.10.16 02:01:45
alekv:
Допустим если хотя бы представить что игрок раздает радиус гиве и если в такой радиус войдет 2 и более монстра, скрипт же не выполниться нормально т.к. какого-то монстра он обработает, а какого-то нет

Схренли? Обработаются все попавшие в радиус.
И ты не понял. Радиусгив нужен только чтобы получить доступ к акторам вокруг, а координаты ты сам вычисляешь. И там уже пофиг, худой монстр или не худой...

alekv:
ну раздает ГГ монстрам итем, а что если рядом 2 монстра и оба получили итем, как скрипт поймет что я убиваю 1 монстра, а не сразу 2ух

Если координаты игрока соотносятся с координатами монстра (и APROP_Height монстра) таким образом, что ноги игрока у монстра в голове, то раздать монстру п*ды. В противном случае дамажить игрока. Как-то так.

alekv:
(а вообще проблема в тидах будет)

Тут тиды не участвуют, кроме временного тид игрока. Радиусгив нужен именно для того, чтобы избавиться от тидов! (это ключевая фраза, её нужно выжечь в мозгу всем начинающим и не очень моддерам)

Овал от куба отличается только тем, что надо проверять расстояние от центра игрока до центра монстра, причём скейлить по Z координате соответственно соотношению радиус:высота у монстра и игрока. (брр, сам не понял что сказал, но смысл в том, что если у тебя просто VectorLength, то это сферическая проверка, а овальная — это если ты монстру делишь расстояние по Z перед сравниванием)

Рейтинг сообщения: +1, отметил(и): alekv
2 2 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №43 Отправлено: 23.10.16 11:20:19
Такс, если радиус гив нужен чисто что бы не трогать тиды, так у меня оно и так не трогало, там же фишка в функции
A_JumpIf(GetDistance(TRUE,AAPTR_PLAYER1 < args[1],"Damage") т.е. как только игрок рядом, монстр запускал скрипт от своего имени, а в скрипте я запоминал тид монстра и ставил активатора плеера, получается по тому же принципу что и радиус гиве, только запускает его монстр так сказать.. Так известен тид монстра если он нужен, ну а игрока и так понятно..
Скрытый текст:

ACTOR MonsterCollision_Fox1 : FastProjectile 
{PROJECTILE+MISSILE 
+THRUSPECIES 
Species "Pass" 
Health 1 
Radius 20 
Height 35 
damage 0 
var int User_HitRadius; 
States 
   { 
   Spawn: 
      TNT1 A 1 
      TNT1 A 1 { 
                                 if(args[1] < height*2)//SetDefault radius 
                                      { 
                                       A_SetArg(1,64); 
                                      } 
                   A_SetUserVar("User_HitRadius",User_HitRadius+Args[1]); 
                                 } 
   CheckTouch: 
      TNT1 A 1 A_Warp(AAPTR_TARGET, 0, 0, 0, 0) 
      TNT1 A 0 A_JumpIf(GetDistance(TRUE,AAPTR_PLAYER1 < args[1],"Damage") //Если игрок коснулся радиуса, прыгет в стейт в котором просчитывается чего он коснулся, верха хитбокса или низа.. 
      Loop 
   Damage: 
      TNT1 A 1 A_Warp(AAPTR_TARGET, 0, 0, 0, 0) 
      TNT1 A 0 ACS_NamedExecute("MonsterDamage", 0)//тут и просчитывалось какой части коснулся игрок. 
      Goto CheckTouch 
   Death: 
      TNT1 A 1 A_DamageMaster(1000)//убивало 3д модель монстра 
      TNT1 A 0 A_Die 
      Stop 
   XDeath: 
      TNT1 A 1 ACS_NamedExecute("GetAngleThrustMob",0) 
      TNT1 A 0 A_DamageMaster(1000) 
      TNT1 A 0 A_Die 
      Stop 
   } 
}



ZZYZX:
Овал от куба отличается только тем, что надо проверять расстояние от центра игрока до центра монстра, причём скейлить по Z координате соответственно соотношению радиус:высота у монстра и игрока. (брр, сам не понял что сказал, но смысл в том, что если у тебя просто VectorLength, то это сферическая проверка, а овальная — это если ты монстру делишь расстояние по Z перед сравниванием)

Вот это я как раз и не знаю как записать)
1 3 1
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №44 Отправлено: 10.12.16 00:18:40
ну я не знаю, я уже окончательно запутался.
может быть, это просто и это я сонный, может, нет
короче, суть в чём.


при нажатии кнопок W и Shift должно что-то происходить. что угодно, пусть текст вылазит, например. я подставлю, что нужно.
один раз. чтобы при зажатии кнопок цикл снова его не выводил.

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


ну короче это прыжок вперёд на шифте, по этому можно догадаться, да, не сумел я сохранить это секретом
вот

под гоззу 2.2.0.
или выше.

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

эм, а как здесь писать в цвете?

1 1 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №45 Отправлено: 11.12.16 00:48:46
http://www.mediafire.com/file/q8zba8fndfek4la/mirror.pk3
Маленький мод. Добавляет к думгаю зеркало заднего вида.
2 2 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №46 Отправлено: 11.12.16 13:31:20
MyNameIs
Ну во 1ых, оформляй правильно заказ, из твоего описания не очень понятно и удобно читать.
Во 2ых, попробуй пока что такой вариант, у меня к сожалению времени мало, не могу тестить писанину свою, писал прям тут на форуме, попробуй пока кто-то более вменяемое не написал, а должно работать по идее.
Прописываем в кейконфе
AddMenuKey "RunShift" +MyForward
Alias +MyForward "+forward; Pukename \"myaction\""
Alias -MyForward "-forward;"
DefaultBind W +MyForward
//----------------------------------
//Скрипт запускаем из KeyConf.. т.е. модифицировал кнопку движения вперед.
Script "myaction" (void) //Жмешь W и этот скрипт чекает если нажата\зажата кнопка шифт, то сделает че там тебе надо
{int but = GetPlayerInput(-1,INPUT_BUTTONS);
if (But & BT_SPEED && But & BT_FORWARD)//предположительно BT_FORWARD задана на кнопку W
//Если нажата кнопка бега и кнопка движения вперед
  {
   PrintBold(s:"Test");//сделает то что тут напишешь
   //Если это прыжок вперед, то можно дописать ThrustThing или SetActorVelocity();
   //Хотя я бы лучше сделал игроку стейт прыжка вперед и переключал туда т.е. SetActorState(0,"JumpState",TRUE);
   //А в стейте прыжка прописать типа A_Recoil(20) + ThrustThingZ()
   }
}

Да.. еще как вариант можно просто сделать так(мб это в 1ую очередь попробовать)):
Script "myaction" ENTER //скрипт запустится когда игрок появится на карте
{
While(TRUE){// и будет работать всегда
int but = GetPlayerInput(-1,INPUT_BUTTONS);
if (But & BT_SPEED && But & BT_FORWARD)//предположительно BT_FORWARD задана на кнопку W
   {
   PrintBold(s:"Test");//Если нажата кнопка бега и кнопка движения вперед
   }
PrintBold(s:"test2");//Если не нажаты 2 кнопки, выполнит это
  Delay(1);//не удаляем
  }
}
1 3 1
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №47 Отправлено: 11.12.16 14:56:56
alekv
фигово я спросил, получше попробую.

тут суть в том, чтобы игрок прыгал в каком-то направлении, если нажал W+shift
причём прыгал только один раз, если не отпускает шифт. чтобы прыгнуть ещё раз - надо отпустить и снова нажать шифт
а While и проверка IFом пускают прыжок по циклу
есть вариант сделать кулдаун, но это другая механика, я не хочу так :\


вот с прыжком я разобрался, а вот что не могу - это игнорирование зажатого шифта
1 1 1
Infernal_KoT
- Sergeant -
Next rank: = Sergeant = after 32 points
308

Doom Rate: 2

Posts quality: +86
Ссылка на пост №48 Отправлено: 11.12.16 15:31:11
MyNameIs
А если нажатием на шифт давать предмет и тут-же отнимать его? Чекать будет не зажатый шифт, а наличие предмета.

Рейтинг сообщения: +2, отметил(и): alekv, MyNameIs
1 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №49 Отправлено: 11.12.16 18:21:30
Ну можно так поступить, прописать свою кнопку шифта, инвентори вещь
Actor jump : inventory
{}


AddMenuKey "RunShift" +MyShift 
Alias +MyShift"+RUN; give jump;"//жмем шифт дается вещь jump, она же в скрипте забирается
Alias -MyShift"-RUN; take jump;"//тут забираем на всяки случай
DefaultBind W +MyShift


Script "myAction" enter
{
While(TRUE){
int but = GetPlayerInput(-1,INPUT_BUTTONS); 
if (But & BT_FORWARD && checkinventory("jump")==1)// если шифт нажат + кнопка W, и есть итем jump(она дается кейнофом)
   {
   PrintBold(s:"Test");//Если нажата кнопка бега и кнопка движения вперед 
TakeInventory("jump",1); //как выполнится все что выше, забираем jump и игроку надо заново жать шифт
   } 
PrintBold(s:"test2");
  Delay(1);
  }
}


Попробуй так.. можно конечно и без инвентори итема, простой переменной, но мне кажется так удобнее
По поводу прыжка в нужную сторону, тут я вряд-ли помогу т.к. там надо чет умножать и все такое.. ну там угол с питчем и т.д.. это не по моей части )
Как вариант я предлагал выше, сделать стейт прыжка игроку, в котором будет прописан A_Recoil, его фишка в том что он может резко потянуть ГГ вперед! (вообще он для отдачи от пушек, но если писать + значение, то потянет вперед) ну и там же ThrustThingZ, что бы поднять ГГ вверх импульсом.

Рейтинг сообщения: +2, отметил(и): Infernal_KoT, MyNameIs
1 3 1
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №50 Отправлено: 11.12.16 19:14:48
alekv
о, работает. спасиб. : D
1 1 1
Infernal_KoT
- Sergeant -
Next rank: = Sergeant = after 32 points
308

Doom Rate: 2

Posts quality: +86
Ссылка на пост №51 Отправлено: 11.12.16 19:48:32
Может и мне поможете? Было два вопроса, но один сам отвалился:
alekv:
Alias +MyShift"+RUN; give jump;"//жмем шифт дается вещь jump, она же в скрипте забирается
Alias -MyShift"-RUN; take jump;"//тут забираем на всяки случай
DefaultBind W +MyShift

А второй - мне нужно отнимать предмет, когда игрок стоит на месте. Я думал проверять wasd, и если ни одна из них не нажата, забирать его.
Вот только не могу это реализовать. При этом, предмет нужно давать комбинацией шифта и любого из wasd, но при нажатых wasd повторное нажатие шифта так-же забирает предмет.
1 1
MyNameIs
= 1st Lieutenant =
Next rank: - Captain - after 36 points
2054

Doom Rate: 2.04

Posts quality: +893
Ссылка на пост №52 Отправлено: 11.12.16 20:24:02
Infernal_KoT

так вроде должно работать.
вот только думгай скользит везде, будто на льду, если нужно другое, то я хз.

Actor ThatsAnItem : Inventory
{inventory.maxamount 1}


script "qwert" ENTER
{int x, y, z, speed;

while (TRUE)
{
x = GetActorVelX(0);
y = GetActorVelY(0);
speed = FixedSqrt(FixedMul(x, x) + FixedMul(y, y));

if (speed == 0)
{
print (s:"FKN MOVE");//ну, эт для проверки
TakeInventory("ThatsAnItem", 1);
}

 delay(1);
}}

полезная инфа


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

можно, в принципе, убрать лёд вот этим, если нужно.


Рейтинг сообщения: +2, отметил(и): Infernal_KoT, Doomstalker
1 1 1
Infernal_KoT
- Sergeant -
Next rank: = Sergeant = after 32 points
308

Doom Rate: 2

Posts quality: +86
Ссылка на пост №53 Отправлено: 12.12.16 02:27:14
MyNameIs
Работает, только задержку увеличил - иначе, почему-то, игрок вообще не двигался.
Осталось выдавать предмет комбинацией BT_SPEED && (BT_FORWARD | BT_BACK | BT_MOVELEFT | BT_MOVERIGHT)
И забирать его при повторном нажатии BT_SPEED

Рейтинг сообщения: +1, отметил(и): Doomstalker
1 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №54 Отправлено: 12.12.16 11:10:43
Не совсем понял что надо, но можно так попробовать
actor ShiftItem: inventory
{inventory.amount 2 inventory.maxamount 2}

AddMenuKey "RunShift" +MyShift 
Alias +MyShift"+RUN; give ShiftItem;"//жмем шифт дается 1 вещь, нажмем 2ой раз, дается еще раз, и тогда скрипт ее заберет
Alias -MyShift"-RUN;"
DefaultBind W +MyShift

Script "buttons" enter
{
while(true){
if(CheckInventory("ShiftItem")==2) TakeInventory("ShiftItem",2); //будет равна 2ум если нажать шифт 2ой раз

int but = GetPlayerInput(-1,INPUT_BUTTONS);

if (But & BT_SPEED && But & BT_FORWARD || But & BT_BACK || But & BT_MOVELEFT || But & BT_MOVERIGHT && checkinventory("ShiftItem")==1)
  {/*когда нажат шифт 1 раз и любая из wasd, даст вещь MyItem. Если нажать шифт 2ой раз, то в верхнем условии ShiftItem забирается и это условие не выполнится*/
giveInventory("myItem",1); //Тут даем что надо
  }
Delay(1);}
}


Так же можно обойтись и без Enter скрипта, но там пробовать надо.
А вообще в кейконфе кажется можно было сделать 1 нажатие дает предмет, 2ое забирает, но я уже не помню как, возможно надо попробовать разные бинды
Вот ссылка на keyconf bind
Кажется если поиграться с doublebind, то можно добиться более простого способа дать\забрать вещь, но это если не устраивает скрипт выше.

Рейтинг сообщения: +1, отметил(и): Infernal_KoT
1 3 1
Infernal_KoT
- Sergeant -
Next rank: = Sergeant = after 32 points
308

Doom Rate: 2

Posts quality: +86
Ссылка на пост №55 Отправлено: 12.12.16 12:45:48
alekv
Это именно то, что нужно. Бинды не годятся, даблбинд нужно нажимать быстро, а ребинд после смерти/загрузки/выхода не возвращает кнопку.
Смысл в том, что нажав на шифт игрок получает буст скорости и может свободно переключатся между wasd. При этом он может отменить буст остановившись или нажав шифт повторно.

Работает.
Script "Boost" enter
{
while(true)
{
if(CheckInventory("ShiftItem")==2) 
{
TakeInventory("ShiftItem",2); 
TakeInventory("Boost",1);
}

int keyPress = GetPlayerInput(-1,INPUT_BUTTONS);

if (keyPress & BT_SPEED && keyPress & (BT_FORWARD | BT_BACK | BT_MOVELEFT | BT_MOVERIGHT) && checkinventory("ShiftItem")==1)
  {
	giveInventory("Boost",1);
  }
Delay(1);
}
}


А вот измерение скорости игрока из-за скольжения даёт сильные задержки. Нужно чекать ненажатый WASD с промежутком времени, чтобы игрок успевал отпустить , скажем, W и перейти на S без потери итема.
1 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №56 Отправлено: 12.12.16 14:48:30
Infernal_KoT:
А вот измерение скорости игрока из-за скольжения даёт сильные задержки.

Какой скрипт дает ускорение? просто не понятно о какой задержке идет речь.. в скрипте кажется нет ничего такого что могло бы задерживать
Вообще проблема скольжения лично для меня довольно серьезная, я у себя в игре так и не смог нормально решить с ним проблему..
У меня скольжение убирается таким образом(только у меня для 2д игры, по этому скольжение только во X убираю)
Скрытый текст:

function int IsRun(void)
{int but = GetPlayerInput(-1, INPUT_BUTTONS);
if(but & BT_SPEED) return 1;
return 0;
}

Script "CheckVelocity" (void) /*когда кнопку ходьбы отпустили, вызывается этот скрипт и пытается убрать скольжение, точнее уменьшить его т.к. резкое убирание скольжение топорно смотрится.*/
{
if(GetActorVelZ(0)==0 && CheckInventory("RunStop")==0 && IsRun()==0)//runstop дает кнопка бега если ее отпустить.
	{
	SetActorState(0,"spawn",true);
	for( int i = 0; i < 15; i++)
        {
	SetActorVelocity(0,FixedMul(0.5, GetActorVelX(0)),GetActorVelY(0),GetActorVelZ(0),false, true);
	Delay(1);
        }
    }
}

Но я еще не пробовал изменять параметр friction у игрока когда он на полу и не нажата кнопка, все руки не доходят.

1 3 1
Infernal_KoT
- Sergeant -
Next rank: = Sergeant = after 32 points
308

Doom Rate: 2

Posts quality: +86
Ссылка на пост №57 Отправлено: 12.12.16 15:01:12
alekv:
не понятно о какой задержке идет речь

Ну, думгай не останавливается мгновенно. На полную остановку уходит буквально секунда, плюс delay(5) из ускорения.
Скольжение убирать не нужно, есть-же возможность сделать так
if (!(keyPress & BT_SPEED))

Значит, можно скомбинировать с четыремя кнопками, просто проверять их с delay(3), и если не нажаты - отнимать Boost.
Я не слишком разбираюсь в подстановке условий в acs, мне триггеры проще :x
1 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №58 Отправлено: 05.01.17 10:00:07
http://pastebin.com/835UypWp
Уменьшающий луч из дюка на зскрипте. Работает на игроках.

При использовании два момента:
1. в монстрах нужно проверять на итем Shrunk, и не вызывать Melee/Missile, например так:
    See:
        OCTA AAAAAAAABBBBBBBB 1
        {
            if (!!FindInventory("Shrunk"))
                return A_Chase(null, null);
            else return A_Chase("Melee", "Missile");
        }
        loop;

2. если нужно, чтобы монстр не уменьшался, то DamageFactor ShrinkRay, 0.

С оружием игрока ничего не делал. Я думаю, можно что-то типа Tome of Power организовать, только для уменьшенной версии. Но мне лень было и вообще это всё потом под дюковский пак будет переделано.
2 2 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №59 Отправлено: 15.01.17 10:46:43
ZZYZX
Попытался добавить в шапку темы твой "уменьшающий" скрипт, по шаблону, получил ошибку О_О
Общая ошибка
 
Error in posting (code=4)


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

Уменьшающий луч из дюка на ZScript. Работает на игроках. [Автор:]ZZYZX
Скрытый текст:


Имя скриптафункции: Уменьшающий луч из дюка на ZScript. Работает на игроках.

Автор: ZZYZX

Описание:
Из шапки думаю понятно.
Как добавить:
При использовании два момента:
1. в монстрах нужно проверять на итем Shrunk, и не вызывать Melee/Missile, например так:
    See:
        OCTA AAAAAAAABBBBBBBB 1
        {
            if (!!FindInventory("Shrunk"))
                return A_Chase(null, null);
            else return A_Chase("Melee", "Missile");
        }
        loop;


2. если нужно, чтобы монстр не уменьшался, то DamageFactor ShrinkRay, 0.

С оружием игрока ничего не делал. Я думаю, можно что-то типа Tome of Power организовать, только для уменьшенной версии. Но мне лень было и вообще это всё потом под дюковский пак будет переделано.
Ссылкакод: http://pastebin.com/835UypWp


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

Добавлено спустя 47 минут 9 секунд:

Обновил чуть чуть шапку темы, добавил скрипт "Уменьшающий луч из дюка на ZScript. Работает на игроках. [Автор:]ZZYZX "
Еще добавил скрипт рендом проигрывающий музыку\звуки на карте.

Когда редактирую сообщение в шапке темы, жму сохранить, получаю такую ошибку, но сообщение все равно сохраняется.
Error in posting (code=4)
1 3 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №60 Отправлено: 27.01.17 23:18:29
http://pastebin.com/pmfTPmAq
ZScript. +FLATSPRITE актор, который подстраивается под наклон поверхности, на которой стоит. И не просто подстраивается, а вертеть можно!
Скрытый текст:



Практическое использование например такое (только там ещё параллельно земле положено, скриншот Nash): http://i.imgur.com/GTY4t3l.jpg
Ещё можно сделать например трёхмерный автомобиль, который будет визуально корректно ездить по слопам.

Рейтинг сообщения: +1, отметил(и): sanek_47
2 2 1
Страница 3 из 9Перейти наверх Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.
   Список разделов - Местечко мапперов и моддеров - Скриптинг [Заказываем скрипты/Делимся скриптами]