Перейти к содержанию
Авторизация  
obves

помогите! установка скрипта - говорящие гварды

Рекомендуемые сообщения

в архиве один файл ChattyGuard.java 
скачал отсюда http://blayzer.uz/1995-skript-govoryaschie-guardy.html

в какую папку его заливать? и как запустить?

 

код

package ai.custom;

import l2p.commons.util.Rnd;
import l2p.gameserver.ai.Guard;
import l2p.gameserver.model.Creature;
import l2p.gameserver.model.Player;
import l2p.gameserver.model.base.Sex;
import l2p.gameserver.model.instances.NpcInstance;
import l2p.gameserver.scripts.Functions;

public class ChattyGuard extends Guard
{
private static final int _chattyChance = 50; // Шанс того, что гвард после его респавна будет болтливым
private static final int _sayNormalChance = 5; // Шанс произнесения фразы, адресуемой проходящим мимо игрокам
private static final long _sayNormalPeriod = 120_000; // Минимальный период (в мс), с которым гвард произносит фразы, адресуемые проходящим мимо игрокам
private static final long _sayAggroPeriod = 10_000; // Минимальный период (в мс), с которым гвард произносит фразы, при начале атаки ПК

// Фразы, которые может произнести гвард, когда начинает атаковать ПК
private static final String[] _aggroText = {
"{name}, никуда не уходи, сейчас я тебя чуть-чуть убью!",
"{name}, я тебя зарэжу, мамой клянусь!",
"Ля-ля-ля, я сошел с ума. Сейчас всех буду убивать!",
"Сколько я зарезал, сколько перерезал, сколько я народу загубил! Будешь ты, {name}, еще одним в этом списке!",
"Я ужас, летящий на крыльях ночи! Я жвачка, прилипшая к вашей подошве! Я... Короче, {name}, сейчас я тебя буду убивать!",
"Я страх, трепещущий в ночи! Я хитроумный замок от подвала правосудия! Я любимец удачи! Я Чёрный Гвард!",
"Ух ты, моя будущая жертва. Это я к тебе обращаюсь, {name}! Не делай вид что ты не при делах!",
"Ура! За родину, за всех моих собратьев! Готовься к смерти, {name}!",
"{name}, кошелек или жизнь?",
"{name}, просто умри, не осложняй мне жизнь!",
"{name}, как ты предпочитаешь умереть? Быстро и легко или же медленно и мучительно?",
"{name}, пвп или засцал?",
"{name}, я убью тебя нежно.",
"{name}, я тебя порву как Тузик грелку!",
"Готовься к смерти, {name}!",
"{name}, ты дерешся как девчонка!",
"{name}, помолись перед смертью! Хотя... уже не успеешь!" };

// Фразы, которые может произнести гвард, адресуя их проходящим мимо игрокам мужского пола
private static final String[] _normalTextM = {
"{name}, есть чо?",
"{name}, превед!",
"{name}, привет!",
"{name}, привет пративный.",
"{name}, дай оружие на минутку, хочу скрин сделать.",
"{name}, удачной охоты.",
"{name}, в чем сила, брат?",
"{name}, больше фрагов тебе.",
"{name}, ты мне в кошмарах снился.",
"{name}, я тебя знаю - тебя давно разыскивают за убийства невинных монстров.",
"{name}, пвп или засцал?",
"{name}, у тебя кошелек выпал.",
"{name}, не пойду я с тобой на свидание, даже не проси.",
"Всем чмоке в этом чате." };

// Фразы, которые может произнести гвард, адресуя их проходящим мимо игрокам женского пола
private static final String[] _normalTextF = {
"{name}, привет красавица.",
"{name}, ух ты, какие у тебя... э... глаза.",
"{name}, не хочешь погулять с настоящим мачо?",
"{name}, привет!",
"{name}, дай потрогать... э... ну вобщем дай чего нибудь потрогать.",
"{name}, не женское это дело - врагов убивать.",
"{name}, у тебя верх порвался, не свети... глазками.",
"{name}, ах какие булочки...",
"{name}, ах какие ножки...",
"{name}, да ты красотка однако.",
"{name}, вах, какая женщина, мне бы такую.",
"{name}, а что вы делаете сегодня вечером?",
"{name}, вы согласны что с точки зрения банальной эрудиции, не всякий локально селектированный индивидуум способен игнорировать тенденции потенциальных эмоций и паритетно аллоцировать амбивалентные кванты логистики, экстрагируемой с учетом антропоморфности эвристического генезиса?",
"{name}, предлагаю руку и сердце. И кошелек после свадьбы." };

private boolean _chattyGuard;
private long _lastAggroSay;
private long _lastNormalSay;

public ChattyGuard(NpcInstance actor)
{
super(actor);

_chattyGuard = false;
_lastAggroSay = 0;
_lastNormalSay = 0;
}

@Override
protected void onEvtSpawn()
{
_lastAggroSay = 0;
_lastNormalSay = 0;
_chattyGuard = Rnd.chance(_chattyChance) ? true : false;

super.onEvtSpawn();
}

@Override
public boolean checkAggression(Creature target)
{
if (_chattyGuard && target.getPlayer() != null)
{
NpcInstance actor = getActor();
Player player = target.getPlayer();

if (actor == null || actor.isDead())
return false;

if (player.getKarma() >= 0)
{
if (Rnd.chance(_sayNormalChance) && _lastNormalSay + _sayNormalPeriod < System.currentTimeMillis() && actor.isInRange(player, 250L))
{
Functions.npcSay(actor, player.getAppearance().getSex() == Sex.MALE ? _normalTextM[Rnd.get(_normalTextM.length)].replace("{name}", player.getName()) : _normalTextF[Rnd.get(_normalTextF.length)].replace("{name}", player.getName()));
_lastNormalSay = System.currentTimeMillis();
}
}
else if (super.checkAggression(target))
{
if (_lastAggroSay + _sayAggroPeriod < System.currentTimeMillis())
{
Functions.npcSay(actor, _aggroText[Rnd.get(_aggroText.length)].replace("{name}", player.getName()));
_lastAggroSay = System.currentTimeMillis();
}

return true;
}
}

return super.checkAggression(target);
}
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в архиве один файл ChattyGuard.java 

скачал отсюда http://blayzer.uz/1995-skript-govoryaschie-guardy.html

 

в какую папку его заливать? и как запустить?

 

код

package ai.custom;

import l2p.commons.util.Rnd;

import l2p.gameserver.ai.Guard;

import l2p.gameserver.model.Creature;

import l2p.gameserver.model.Player;

import l2p.gameserver.model.base.Sex;

import l2p.gameserver.model.instances.NpcInstance;

import l2p.gameserver.scripts.Functions;

 

public class ChattyGuard extends Guard

{

private static final int _chattyChance = 50; // Шанс того, что гвард после его респавна будет болтливым

private static final int _sayNormalChance = 5; // Шанс произнесения фразы, адресуемой проходящим мимо игрокам

private static final long _sayNormalPeriod = 120_000; // Минимальный период (в мс), с которым гвард произносит фразы, адресуемые проходящим мимо игрокам

private static final long _sayAggroPeriod = 10_000; // Минимальный период (в мс), с которым гвард произносит фразы, при начале атаки ПК

 

// Фразы, которые может произнести гвард, когда начинает атаковать ПК

private static final String[] _aggroText = {

"{name}, никуда не уходи, сейчас я тебя чуть-чуть убью!",

"{name}, я тебя зарэжу, мамой клянусь!",

"Ля-ля-ля, я сошел с ума. Сейчас всех буду убивать!",

"Сколько я зарезал, сколько перерезал, сколько я народу загубил! Будешь ты, {name}, еще одним в этом списке!",

"Я ужас, летящий на крыльях ночи! Я жвачка, прилипшая к вашей подошве! Я... Короче, {name}, сейчас я тебя буду убивать!",

"Я страх, трепещущий в ночи! Я хитроумный замок от подвала правосудия! Я любимец удачи! Я Чёрный Гвард!",

"Ух ты, моя будущая жертва. Это я к тебе обращаюсь, {name}! Не делай вид что ты не при делах!",

"Ура! За родину, за всех моих собратьев! Готовься к смерти, {name}!",

"{name}, кошелек или жизнь?",

"{name}, просто умри, не осложняй мне жизнь!",

"{name}, как ты предпочитаешь умереть? Быстро и легко или же медленно и мучительно?",

"{name}, пвп или засцал?",

"{name}, я убью тебя нежно.",

"{name}, я тебя порву как Тузик грелку!",

"Готовься к смерти, {name}!",

"{name}, ты дерешся как девчонка!",

"{name}, помолись перед смертью! Хотя... уже не успеешь!" };

 

// Фразы, которые может произнести гвард, адресуя их проходящим мимо игрокам мужского пола

private static final String[] _normalTextM = {

"{name}, есть чо?",

"{name}, превед!",

"{name}, привет!",

"{name}, привет пративный.",

"{name}, дай оружие на минутку, хочу скрин сделать.",

"{name}, удачной охоты.",

"{name}, в чем сила, брат?",

"{name}, больше фрагов тебе.",

"{name}, ты мне в кошмарах снился.",

"{name}, я тебя знаю - тебя давно разыскивают за убийства невинных монстров.",

"{name}, пвп или засцал?",

"{name}, у тебя кошелек выпал.",

"{name}, не пойду я с тобой на свидание, даже не проси.",

"Всем чмоке в этом чате." };

 

// Фразы, которые может произнести гвард, адресуя их проходящим мимо игрокам женского пола

private static final String[] _normalTextF = {

"{name}, привет красавица.",

"{name}, ух ты, какие у тебя... э... глаза.",

"{name}, не хочешь погулять с настоящим мачо?",

"{name}, привет!",

"{name}, дай потрогать... э... ну вобщем дай чего нибудь потрогать.",

"{name}, не женское это дело - врагов убивать.",

"{name}, у тебя верх порвался, не свети... глазками.",

"{name}, ах какие булочки...",

"{name}, ах какие ножки...",

"{name}, да ты красотка однако.",

"{name}, вах, какая женщина, мне бы такую.",

"{name}, а что вы делаете сегодня вечером?",

"{name}, вы согласны что с точки зрения банальной эрудиции, не всякий локально селектированный индивидуум способен игнорировать тенденции потенциальных эмоций и паритетно аллоцировать амбивалентные кванты логистики, экстрагируемой с учетом антропоморфности эвристического генезиса?",

"{name}, предлагаю руку и сердце. И кошелек после свадьбы." };

 

private boolean _chattyGuard;

private long _lastAggroSay;

private long _lastNormalSay;

 

public ChattyGuard(NpcInstance actor)

{

super(actor);

 

_chattyGuard = false;

_lastAggroSay = 0;

_lastNormalSay = 0;

}

 

@Override

protected void onEvtSpawn()

{

_lastAggroSay = 0;

_lastNormalSay = 0;

_chattyGuard = Rnd.chance(_chattyChance) ? true : false;

 

super.onEvtSpawn();

}

 

@Override

public boolean checkAggression(Creature target)

{

if (_chattyGuard && target.getPlayer() != null)

{

NpcInstance actor = getActor();

Player player = target.getPlayer();

 

if (actor == null || actor.isDead())

return false;

 

if (player.getKarma() >= 0)

{

if (Rnd.chance(_sayNormalChance) && _lastNormalSay + _sayNormalPeriod < System.currentTimeMillis() && actor.isInRange(player, 250L))

{

Functions.npcSay(actor, player.getAppearance().getSex() == Sex.MALE ? _normalTextM[Rnd.get(_normalTextM.length)].replace("{name}", player.getName()) : _normalTextF[Rnd.get(_normalTextF.length)].replace("{name}", player.getName()));

_lastNormalSay = System.currentTimeMillis();

}

}

else if (super.checkAggression(target))

{

if (_lastAggroSay + _sayAggroPeriod < System.currentTimeMillis())

{

Functions.npcSay(actor, _aggroText[Rnd.get(_aggroText.length)].replace("{name}", player.getName()));

_lastAggroSay = System.currentTimeMillis();

}

 

return true;

}

}

 

return super.checkAggression(target);

}

}

 

Извените за вопрос но зачем вам ето? как помне вам помимо етого нужно ещо кучю других вещей исправить а ето невлияет ни хорошо ни плохо на сервер)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала нужно уточнить что у вас за сборка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

No Comment. Там же написано:

ai.custom

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

No Comment. Там же написано:

ai.custom

а что это значит? конкретно 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала нужно уточнить что у вас за сборка

сборка пв софт

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что это значит? конкретно 

это путь куда вкинуть скрипт в папке скриптс

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это путь куда вкинуть скрипт в папке скриптс

перенес скрипт в папку scripts/ai    я правильно понял?  перезапустил сервер ничего не изменилось, гварды молчат, что ещё нужно сделать? как запустить скрипт? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

перенес скрипт в папку scripts/ai    я правильно понял?  перезапустил сервер ничего не изменилось, гварды молчат, что ещё нужно сделать? как запустить скрипт? 

Скрипт прогрузился? Никаких ошибок нет в гс ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скрипт прогрузился? Никаких ошибок нет в гс ?

 

 

ошибок нет, его не видно, нашел в гейм серве две папки скрипт -  я засунул в обе data\scripts\ai   и  \data\jscript\ai  ничего не происходит, где то надо прописать что бы их читал сервер? или как то включать?  или я что то не правильно понял? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так как его правильно установить? кто знает?  проблема не решена !   нужна помощь! 

Изменено пользователем obves

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пропиши файл чтобы он загрузил его на сервер. Как на пв я не знаю, но у меня за это отвечают эти файлы:

  1. scripts.cfg
  2. MasterHandler.java

И это точно скрипт для ПВ? Вроде это скрипт от фениксов\оверов. Если так, то придется еще переписывать импорты под себя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...