Hexen 2 Russian Fans Среда
2024-05-15
00:00:36
Приветствую Вас Гость | RSS Главная страница | Скрипты для Hexen - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: DraculaX, RaVeN, Reiko  
Форум » Техотдел » [Архив] » Скрипты для Hexen
Скрипты для Hexen
ReikoДата: Воскресенье, 2006-11-19, 20:23:53 | Сообщение # 1
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
Если кто разбирается в скриптах хексена, плиз помогите! cry

аниме спасет мир :3
 
ReikoДата: Четверг, 2006-11-23, 21:51:57 | Сообщение # 2
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
Научился делать новые скрипты: Туман, гравитацию, реал вод(в которой можно плавать), фишку когда убиваешь монстра, открывалась дверь, или когда нажимаешь на кнопку появлялись всякие предметы или монстры biggrin ....

аниме спасет мир :3
 
DoomerДата: Среда, 2007-01-03, 22:34:09 | Сообщение # 3
Паладин
Группа: Хранители
Сообщений: 1132
Статус: Offline
Я тут заглянул-понял, как в начале прописать фразу типа Greetings mortal))))

Фанаты старых игр-объединяйтесь!
 
ReikoДата: Среда, 2007-01-03, 23:25:56 | Сообщение # 4
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
Doomer,
Code
script 1 open {
print(s:"Greetings mortal!");
}

Ты имеешь ввиду этот скрикт? biggrin


аниме спасет мир :3
 
DoomerДата: Четверг, 2007-01-04, 10:54:54 | Сообщение # 5
Паладин
Группа: Хранители
Сообщений: 1132
Статус: Offline
Reiko, да biggrin

Фанаты старых игр-объединяйтесь!
 
ReikoДата: Четверг, 2007-01-11, 12:12:20 | Сообщение # 6
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
Code
script 1 (void)   
{
     int var0;

     Floor_LowerInstant(1, 0, 128);
     thingsound(1, "GlassShatter", 127);
     delay(1);
     var0 = 20;
     while(var0 > 0)
     {
         var0--;
         Thing_ProjectileGravity(1, random(54, 63), random(0, 255), random(10, 40), random(5, 20));
         Thing_ProjectileGravity(2, random(54, 63), random(0, 255), random(10, 40), random(5, 20));
     }
}

Скрипт витража и карта для него:
Прикрепления: 44056228.rar (1.1 Kb)


аниме спасет мир :3
 
VlaDMiRДата: Четверг, 2007-01-11, 13:00:32 | Сообщение # 7
Раубриттер
Группа: Хранители
Сообщений: 412
Статус: Offline
А вот эта версия скрипта имеет параметры и сам скрипт можно использовать много раз на любой карте. Пар.1=tag внезапно "падающего" floor, пар.2=tag первой точки (map spot, который издаёт звук и разбрасывает осколки),пар.3=tag второй точки (просто разбрасывает осколки). Впрочем, наверно, я зря это говорю - все и так знают ! happy
P.S.: особенно понтово IMHO то, что счётчик итераций цикла декрементируется прямо в строке условия - C++ рулит однозначно !!!
script 1 ( int iSector, int iThingTag1, int iThingTag2 )
{
int i;
Floor_LowerInstant( iSector, 0, 16 );
Thingsound( iThingTag1, "GlassShatter", 127 );
delay(const: 1);
i = 10;
while ( i-- > 0 )
{
Thing_ProjectileGravity( iThingTag1,
random( T_STAINEDGLASS1, T_STAINEDGLASS0 ),
random( 0, 255 ), random( 10, 40 ),
random( 5,20 ) );
Thing_ProjectileGravity( iThingTag2,
random( T_STAINEDGLASS1, T_STAINEDGLASS0 ),
random( 0, 255 ), random( 10, 40 ),
random( 5,20 ) );
}
}
Одного я не могу понять, что С-образный язык ACS не поддерживает тип циклов for ?! surprised - здесь было бы удобней ! happy


столько времени прошло..
 
ReikoДата: Четверг, 2007-01-11, 17:25:39 | Сообщение # 8
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
//**************************************************************************

special
80:ACS_Execute(2,5),
81:ACS_Suspend(2),
82:ACS_T erminate(2),
83:ACS_LockedExecute(5),
85:ACS_LockedExecuteDoor(5),
42:Ceiling_CrushAndRaise(3),
44:Ceiling_CrushStop(1),
43:Ceilin g_LowerAndCrush(3),
40:Ceiling_LowerByValue(3),
41:Ceiling_RaiseByValue(3),
45:Ceiling_CrushRaiseAndStay(3),
69:Ceiling_MoveToValueT imes8(4),
10:Door_Close(2),
11:Door_Open(2,3),
12:Door_Raise(3,4),
13:Door_LockedRaise(4,5),
20:Floor_LowerByValue(3),
36:Floor_ LowerByValueTimes8(3),
66:Floor_LowerInstant(3),
68:Floor_MoveToValueTimes8(4),
21:Floor_LowerToLowest(2),
22:Floor_LowerToNearest(2 ),
28:Floor_RaiseAndCrush(3),
23:Floor_RaiseByValue(3),
35:Floor_RaiseByValueTimes8(3),
67:Floor_RaiseInstant(3),
24:Floor_RaiseTo Highest(2),
25:Floor_RaiseToNearest(2),
95:FloorAndCeiling_LowerByValue(3),
96:FloorAndCeiling_RaiseByValue(3),
46:Floor_CrushStop(1 ),
109:Light_ForceLightning(1),
110:Light_RaiseByValue(2),
111:Light_LowerByValue(2),
112:Light_ChangeToValue(2),
113:Light_Fade(3 ),
114:Light_Glow(4),
115:Light_Flicker(3),
116:Light_Strobe(5),
117:Light_Stop(1),
29:Pillar_Build(3),
94:Pillar_BuildAndCrush( 4),
30:Pillar_Open(4),
62:Plat_DownWaitUpStay(3),
63:Plat_DownByValue(4),
64:Plat_UpWaitDownStay(3),
65:Plat_UpByValue(4),
60:Pl at_PerpetualRaise(3),
61:Plat_Stop(1),
6:Polyobj_MoveTimes8(4),
4:Polyobj_Move(4),
2:Polyobj_RotateLeft(3),
3:Polyobj_RotateRight( 3),
7:Polyobj_DoorSwing(4),
8:Polyobj_DoorSlide(5),
93:Polyobj_OR_MoveTimes8(4),
92:Polyobj_OR_Move(4),
90:Polyobj_OR_RotateLeft(3 ),
91:Polyobj_OR_RotateRight(3),
120:Radius_Quake(5),
140:Sector_ChangeSound(2),
26:Stairs_BuildDown(5),
27:Stairs_BuildUp(5),
3 1:Stairs_BuildDownSync(4),
32:Stairs_BuildUpSync(4),
70:Teleport(1,3),
71:Teleport_NoFog(1,3),
74:Teleport_NewMap(2,3),
75:Telepor t_EndGame(0),
72:ThrustThing(2,4),
73:DamageThing(1),
130:Thing_Activate(1),
131:Thing_Deactivate(1),
133:Thing_Destroy(1,2),
13 4:Thing_Projectile(5),
136:Thing_ProjectileGravity(5),
132:Thing_Remove(1),
135:Thing_Spawn(3,4),
137:Thing_SpawnNoFog(3,4),
138:F loor_Waggle(5),

9:Line_Horizon(0),
14:Door_Animated(3),
15:Autosave(0),
17:Thing_Raise(1),
18:StartConversation(1,2),
33:ForceField(0),
34:ClearForceField(1),
38:Ceiling_Waggle(5),
39:Teleport_ZombieChanger(2),
49:GlassBreak(0,1),
76:TeleportOther(3),
77:TeleportGroup(5),
78:TeleportInSector(4,5),
84:ACS_ExecuteWithResult(1,4),
119:Thing_Damage(2,3),
125:Thing_Move(2,3),
127:Thing_SetSpecial(5),
128:ThrustThingZ(4),
139:Thing _SpawnFacing(2,4),
172:Plat_UpNearestWaitDownStay(3),
173:NoiseAlert(2),
174:SendToCommunicator(4),
175:Thing_ProjectileIntercept(5) ,
176:Thing_ChangeTID(2),
177:Thing_Hate(2,3),
178:Thing_ProjectileAimed(4,5),
179:ChangeSkill(1),
180:Thing_SetTranslation(2),
/ / 181:Plane_Align,
182:Line_Mirror(0),
183:Line_AlignCeiling(2),
184:Line_AlignFloor(2),
185:Sector_SetRotation(3),
186:Sector_SetC eilingPanning(5),
187:Sector_SetFloorPanning(5),
188:Sector_SetCeilingScale(5),
189:Sector_SetFloorScale(5),
191:SetPlayerProperty(3 ),
192:Ceiling_LowerToHighestFloor(2),
193:Ceiling_LowerInstant(3),
194:Ceiling_RaiseInstant(3),
195:Ceiling_CrushRaiseAndStayA(4),
1 96:Ceiling_CrushAndRaiseA(4),
197:Ceiling_CrushAndRaiseSilentA(4),
198:Ceiling_RaiseByValueTimes8(3),
199:Ceiling_LowerByValueTimes8(3 ),
200:Generic_Floor(5),
201:Generic_Ceiling(5),
202:Generic_Door(5),
203:Generic_Lift(5),
204:Generic_Stairs(5),
205:Generic_Cr usher(5),
206:Plat_DownWaitUpStayLip(4,5),
207:Plat_PerpetualRaiseLip(4),
208:TranslucentLine(2,3),
// 209:Transfer_Heights,
// 210:Transfer_FloorLight,
// 211:Transfer_CeilingLight,
212:Sector_SetColor(4,5),
213:Sector_SetFade(4),
214:Sector_SetDamage(3),
215:Teleport_Line(2),
216:Se ctor_SetGravity(3),
217:Stairs_BuildUpDoom(5),
218:Sector_SetWind(4),
219:Sector_SetFriction(2),
220:Sector_SetCurrent(4),
221:Scr oll_Texture_Both(5),
// 222:Scroll_Texture_Model,
223:Scroll_Floor(4),
224:Scroll_Ceiling(4),
// 225:Scroll_Texture_Offsets,
226:ACS_ExecuteAlways(2,5),
// 227:PointPush_SetForce,
228:Plat_RaiseAndStayTx0(2),
229:Thing_SetGoal(3),
230:Plat_UpByValueStayTx(3),
231:Plat_ToggleCeiling(1),
2 32:Light_StrobeDoom(3),
233:Light_MinNeighbor(1),
234:Light_MaxNeighbor(1),
235:Floor_TransferTrigger(1),
236:Floor_TransferNumeric( 1),
237:ChangeCamera(3),
238:Floor_RaiseToLowestCeiling(2),
239:Floor_RaiseByValueTxTy(3),
240:Floor_RaiseByTexture(2),
241:Floor_ LowerToLowestTxTy(2),
242:Floor_LowerToHighest(3),
243:Exit_Normal(1),
244:Exit_Secret(1),
245:Elevator_RaiseToNearest(2),
246:Ele vator_MoveToFloor(2),
247:Elevator_LowerToNearest(2),
248:HealThing(1,2),
249:Door_CloseWaitOpen(3),
250:Floor_Donut(3),
251:Floor AndCeiling_LowerRaise(3),
252:Ceiling_RaiseToNearest(2),
253:Ceiling_LowerToLowest(2),
254:Ceiling_LowerToFloor(2),
255:Ceiling_Crus hRaiseAndStaySilA(4),
159:Sector_SetPlaneReflection(3);


аниме спасет мир :3
 
VlaDMiRДата: Пятница, 2007-01-12, 10:07:43 | Сообщение # 9
Раубриттер
Группа: Хранители
Сообщений: 412
Статус: Offline
Reiko, прости конечно, но я по своей неопытности не понял, что ты хотел этим сказать ? biggrin

столько времени прошло..
 
ReikoДата: Пятница, 2007-01-12, 13:58:00 | Сообщение # 10
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
VladimirT, Это для скриптов

аниме спасет мир :3
 
VlaDMiRДата: Пятница, 2007-01-12, 14:25:05 | Сообщение # 11
Раубриттер
Группа: Хранители
Сообщений: 412
Статус: Offline
Ну ясно, ты перечислил все команды ACS, но зачем они идут с конкретными параметрами ?... happy

столько времени прошло..
 
ReikoДата: Пятница, 2007-01-12, 14:34:27 | Сообщение # 12
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
VladimirT, Для тех кто не знает biggrin

аниме спасет мир :3
 
DoomerДата: Вторник, 2007-01-30, 18:54:00 | Сообщение # 13
Паладин
Группа: Хранители
Сообщений: 1132
Статус: Offline
Reiko, есть вопрос. У меня две группы монстров, превая(эттины) имеет таг 5, вторая-разношерстная толпа имеет таг 6. После уничтожения 1 группы должна оживать вторая, после второй-перенос на новый уровень. Я пишу:
if(thigcount(T_ETTIN, 5)==0)
{
Thing_Activate(6);
}
if(thingcount(T_DEMON, 6)==0)
{
Teleport_NewMap(3);
}

Но он не работает. Объясни, пожалуйста, как правильно такое сделать


Фанаты старых игр-объединяйтесь!
 
ReikoДата: Вторник, 2007-01-30, 19:27:13 | Сообщение # 14
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
Doomer, А где ты взял T_ETTIN?

аниме спасет мир :3
 
ReikoДата: Вторник, 2007-01-30, 19:38:15 | Сообщение # 15
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
Вот, ломал голову ,как сделать, кажись получилось. посмотри карту -Zdoom(hexen)
А вот сам скрипт:
Code

#include "zcommon.acs"
script 1 (void)  
{  
int ImpCount1;
int ImpByNameCount1;  
for (ImpCount1=0;ImpCount1<5;ImpCount1++)  
{  
ImpByNameCount1 = thingcount(4,5);  
if (ImpByNameCount1!=0) {ImpCount1=ImpCount1-1;  
delay(35);}  
}  
thing_activate(6);  
}  

script 2 (void)  
{  
int ImpCount1;
int ImpByNameCount1;  
for (ImpCount1=0;ImpCount1<5;ImpCount1++)  
{  
ImpByNameCount1 = thingcount(0,6);  
if (ImpByNameCount1!=0) {ImpCount1=ImpCount1-1;  
delay(35);}  
}  
Teleport_NewMap(2,0);   
}  


Да, и не забуть в 1 группе одному эттину поставить Special action 80 и скрипт 1, во 2 группе, одному монстру указать тоже самое, токо скрипт указать второй
Прикрепления: 01783202.wad (2.2 Kb)


аниме спасет мир :3

Сообщение отредактировал Reiko - Вторник, 2007-01-30, 19:49:00
 
Форум » Техотдел » [Архив] » Скрипты для Hexen
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:


Hexen 2 Russian Fans © 2006-2024 Хостинг от uCoz