Hexen 2 Russian Fans Пятница
2024-04-19
06:52:52
Приветствую Вас Гость | RSS Главная страница | Скрипты! - Страница 3 - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: DraculaX, RaVeN, Reiko  
Форум » Редактирование игр » Редактирование игр Heretic, Hexen » Скрипты!
Скрипты!
HereticДата: Среда, 2013-01-02, 18:59:50 | Сообщение # 31
Ψ ωοrld ξνil Ψ
Группа: Администраторы
Сообщений: 1165
Статус: Offline
Reiko, ок, спс

 
HereticДата: Вторник, 2013-01-15, 23:34:42 | Сообщение # 32
Ψ ωοrld ξνil Ψ
Группа: Администраторы
Сообщений: 1165
Статус: Offline
Типа скрипт biggrin
вычисляет дистанцию (тут я взял готовый код с здум вики) между игроком (TID 10) и объектом (TID 3), и если она больше 500 в данном случае то телепортит в точку (коорд игрока по X + 100)(коорд игрока по Y + 100).
вот важная часть скрипта
Код
    int x, y, z, x1, y1, z1, len;
     while (TRUE)
     {
     y = getactory(10) - getactory(3);
     x = getactorx(10) - getactorx(3);
     z = getactorz(10) - getactorz(3);

     int ang = vectorangle(x,y);
     if(((ang+0.125)%0.5) > 0.25) len = fixeddiv(y, sin(ang));
     else len = fixeddiv(x, cos(ang));

     ang = vectorangle(len, z);
     if(((ang+0.125)%0.5) > 0.25) len = fixeddiv(z, sin(ang));
     else len = fixeddiv(len, cos(ang));

     print(f:len);
     if (len>500.0)
     {
         SetActorPosition(3, 100.0+getactorx(10), 100.0+getactory(10), 0, 1);
         delay(1);
          
     }

файл с тестом (дружелюбная мумия) я прилепил.

еще заодно продемонстрирую другой скрипт,
где злобный мобик должен притягивать к себе чела, перед атакой.
256 -- это игрок, 5 -- это плохой дядя, в принципе места ThrustThing можно использовать чтонить другое, да и силу тут полюбому лучше уменьшить наверно, для массы игрока эт слишком много, но идея такая. Запуск скрипта в моем случае был прописан в декорейте плохого мобика
Код
script 12 (void)
{
int vang, angle;
vang = VectorAngle (GetActorX (5) - GetActorX (256), GetActorY (5) - GetActorY (256));
angle = vang >> 8;
print(d:angle);
ThrustThing(angle, 50, 0, 256);
}


принты есесно везде ток для отладки использовались...)
Прикрепления: 7869468.wad (3.7 Kb)


 
HereticДата: Среда, 2013-01-16, 10:14:25 | Сообщение # 33
Ψ ωοrld ξνil Ψ
Группа: Администраторы
Сообщений: 1165
Статус: Offline
добавлю небольшое замечание:
Код
int x, y, z, x1, y1, z1, len;

здесь я не юзаю x1, y1 и z1, это с предыдущего скрипта забыл удалить biggrin

Код
SetActorPosition(3, 100.0+getactorx(10), 100.0+getactory(10), 0, 1);

здесь z ноль, я делал чтоб побыстрей, для теста, но в принципе там конечно можно к примеру поставить координату Z игрока

во втором примере кстати высота тоже не учитывалась, но можно прикрутить аналогичным образом с первым примером


 
ReikoДата: Пятница, 2013-01-18, 20:06:49 | Сообщение # 34
Темный воин внешнего мира
Группа: Модераторы
Сообщений: 2482
Статус: Offline
Heretic, спс, пригодится где-нибудь

аниме спасет мир :3
 
Форум » Редактирование игр » Редактирование игр Heretic, Hexen » Скрипты!
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:


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