Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Баф, и гнев шиид (https://forum.zone-game.info/showthread.php?t=12970)

krisadr 07.03.2011 23:04

Баф, и гнев шиид
 
Всем привет. Сразу к делу.
Помогите написать аи под Гнездо Стакато, а именно нужен скрипт, который, если Королева Шиид убита, будет вешать на всех персонажей находящихся в Гнезде Стакато баф "Необоримая Воля" (ID 6171), а если она жива, то кидает на всех в этой локации дебаф "Гнев Шиид" (ID 6169).
в принципе я знаю как его написать, только хз как сделать проверку на расположение персонажа...
-----------------------------------------------------------
Направьте меня на путь истинный! :_smile_:
__________________________________________________ _

incognito 08.03.2011 01:32

Re: Баф, и гнев шиид
 
проверку на координаты чара вероисповедание не позволяет сделать?!
самый простой и топорный вариант берем центр гнезда добавляем к нему какую то константу и смотрим если координаты лежат в пределах, то вешаем хоть гнев зхоть благославление хоть итемы даем каждую секунду

krisadr 08.03.2011 01:44

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

incognito 08.03.2011 03:23

Re: Баф, и гнев шиид
 
Цитата:

Сообщение от krisadr (Сообщение 112008)
а можно зделать поправку на то что я никакой не программист, и если для вас не будет сложным показать наглядный шаблон от которого отталкиваться... вот допустим как в коде прописать что когда перс входит в такую то зону то происходит такое то действие... как вы считаете зачем я стал писать на форуме программистов об этом... чтобы мне помогли составить блок схему)?

ну самый топорный кусок кода:
Код:

int x= activechar.getX;
int y= activechar.getY;
int z= activechar.getZ;
if (
  ((x > Xc - const1 ) && (x < Xc + const1 ))
  && ((y > Yc - const2 ) && (y < Yc + const2 ))
  && ((z > Zc - const3 ) && (z < Zc + const3 ))
 )
{
//как я понял ето ГБ значит
  if(GrandBossTable.getinstance().getbossStatus(id_boss) == ALIVE)
  {
  // обычно инт переменная и равна 1
  // здесь будет что-то типо
      SkillTable.getinstance().getInfo(id_skill,skill_lvl);
  }
  else
  {
      SkillTable.getinstance().getInfo(id_skill1,skill_lvl1);
    }
}
x, y, z текущие координаты перса
Xc, Yc, Zc координаты центра логова
const1, const2, const3 некоторые константы что-тог типо радиуса
id_skill, skill_lvl id, id_skill1, skill_lvl1 скилла и его уровень
id_boss id босса


krisadr 08.03.2011 03:38

Re: Баф, и гнев шиид
 
все и на том спасибо, дальше разберусь

bloodshed 08.03.2011 04:33

Re: Баф, и гнев шиид
 
проще сделать две зоны и вкл/выкл их при смерти/спауне РБ.
зонам прописываешь соответствующие скилы.

Drizzy 08.03.2011 09:41

Re: Баф, и гнев шиид
 
Проще конечно вкл\выкл, но эту штуку на фениксе Я придумывал долго.. та версия то что в шаре косячная (бьёт нпе (в некоторых случаях сервер выключается)).
А так на лыже только тот вариант который тебе посоветовали выше. Сравнивай координату с положением чара.

bloodshed 08.03.2011 11:29

Re: Баф, и гнев шиид
 
Цитата:

Сообщение от Drizzy (Сообщение 112044)
Проще конечно вкл\выкл, но эту штуку на фениксе Я придумал долго.. та версия то что в шаре косячная (бьёт нпе (в некоторых случаях сервер выключается)).
А так на лыже только тот вариант который тебе посоветовали выше. Сравнивай координату с положением чара.

google translate?:confused:

PaInKiLlEr 08.03.2011 11:56

Re: Баф, и гнев шиид
 
данный АИ что на лыже что на фениксе делается минимум 2 минуты, максимум 5 минут

ANZO 08.03.2011 12:40

Re: Баф, и гнев шиид
 
Чек на zone.charactersInside и таск на выполнение бафа, в зависимости жива ли королева или нет. Как говорит пейнкиллер, 5 минут от силы.

Добавлено через 53 секунды
Цитата:

Сообщение от incognito (Сообщение 112021)
ну самый топорный кусок кода:
Код:

int x= activechar.getX;
int y= activechar.getY;
int z= activechar.getZ;
if (
  ((x > Xc - const1 ) && (x < Xc + const1 ))
  && ((y > Yc - const2 ) && (y < Yc + const2 ))
  && ((z > Zc - const3 ) && (z < Zc + const3 ))
 )
{
//как я понял ето ГБ значит
  if(GrandBossTable.getinstance().getbossStatus(id_boss) == ALIVE)
  {
  // обычно инт переменная и равна 1
  // здесь будет что-то типо
      SkillTable.getinstance().getInfo(id_skill,skill_lvl);
  }
  else
  {
      SkillTable.getinstance().getInfo(id_skill1,skill_lvl1);
    }
}
x, y, z текущие координаты перса
Xc, Yc, Zc координаты центра логова
const1, const2, const3 некоторые константы что-тог типо радиуса
id_skill, skill_lvl id, id_skill1, skill_lvl1 скилла и его уровень
id_boss id босса


а зоны для кого придумали? XD


Текущее время: 16:29. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot