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

Server Guard 0.0.0.3+

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

Добрый день сталкнулся с проблемкой скрипта

Server Guard 0.0.0.3+

 

 

Скачал конфиги все записал, гс пишет ошибку не могу понять в чем проблемка, в скриптах плохо разбираьсю. мб кто наталкнет на правильный путь =) что я не так сделал Ставлю на L2JFatum(acis)

 

скрипт

 

package ServerGuard;
import java.util.Collection;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.instancemanager.QuestManager;
import net.sf.l2j.gameserver.model.actor.L2Npc;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.quest.Quest;
/**
* Кодировка скрипта (UTF-8(Без BOM)
* @author LifeGame32
* @version 0.0.0.3+ aCis
*/
public class ServerGuard extends Quest
{
// Включить true Выключить false
public static final boolean SERVER_GUARD = true;
// Через N-e Время после загрузки скрипта начнется его работа.(в милисекундах 1сек == 1000мкс)
private static final int START_TIME = 60000;
// Автозапуск через.
private static final int RESTART_TIME = 120000;

// Что ищем? И Сколько?
// {{ид,количество},{ид,количество},{ид,количество}};
private static final int ITEM_ID_AND_MAX_COUNT[][] =
{
 {
  4037,// ИД
  100

 },
 {
  57,
  500
 },
 {
  57,
  300
 }
};

// Наказание за превышение количетсва предметов.
// Бан аккаунта : true
// Удаление предметов: false
public static final boolean BANNED_OR_REMOVE = true;

// Сообщения в консоль. да true нет false
public static final boolean MESSAGE = true;

public ServerGuard()
{
 super(-1, ServerGuard.class.getSimpleName(), "Server Guard");
 ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new GuardServer(), START_TIME, RESTART_TIME);
}

@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
 if (event.equalsIgnoreCase("Scanner"))
 {
  System.out.println("Guard Server: Star search.");
  Collection<L2PcInstance> onlinePlayers = L2World.getInstance().getAllPlayers().values();
  for (L2PcInstance players : onlinePlayers)
  {
   L2ItemInstance item;
   for (int[] element : ITEM_ID_AND_MAX_COUNT)
   {
 item = players.getInventory().getItemByItemId(element[0]);
 if ((item != null) && (item.getCount() >= element[1]))
 {
  if (BANNED_OR_REMOVE)
  {
   if (MESSAGE)
   {
    System.out.println("Guard Server: Banned accaunt [" + players.getAccountName() + "] player name:[" + players.getName() + "] _ Item:[" + item.getName() + "[ Count:[" + item.getCount() + "]");
   }
   players.setAccountAccesslevel(-100);
   players.logout();
  }
  else
  {
   if (MESSAGE)
   {
    System.out.println("Guard Server: Remove item accaunt [" + players.getAccountName() + "]  player name:[" + players.getName() + "] _ Item:[" + item.getName() + "[ Count:[" + item.getCount() + "]");
   }
   players.destroyItemByItemId("GuardServer", element[0], item.getCount(), players, true);
  }
 }
   }
  }
  System.out.println("Guard Server: Finish search. RESTART_TIME: " + ((RESTART_TIME / 1000) / 60) + " minut.");
 }
 return null;
}

public class GuardServer implements Runnable
{
 @Override
 public void run()
 {
  QuestManager.getInstance().getQuest("ServerGuard").notifyEvent("Scanner", null, null);
 }
}

public static void main(String[] arg)
{
 if (SERVER_GUARD)
 {
  new ServerGuard();
  System.out.println("Guard Server: ON");
 }
 else
 {
  System.out.println("Guard Server: OFF");
 }
}
}

 

Гс

post-3072-0-12588000-1415070720_thumb.jpg

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


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

У нас нет L2ItemInstance. Есть ItemInstance. :)

 

щяз проверим =)

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


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

щяз проверим =)

Рассказываю более подробно.

Меняем L2ItemInstance на ItemInstance.

Меняем импорт net.sf.l2j.gameserver.model.L2ItemInstance на net.sf.l2j.gameserver.model.item.instance.ItemInstance и радуемся рабочему сркипту. :)

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


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

Грустим не рабочему скрипту.

 

custom/ServerGuard/ServerGuard.java

 

 

package ServerGuard;
import java.util.Collection;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.instancemanager.QuestManager;
import net.sf.l2j.gameserver.model.actor.L2Npc;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
import net.sf.l2j.gameserver.model.quest.Quest;
/**
* Кодировка скрипта (UTF-8(Без BOM)
* @author LifeGame32
* @version 0.0.0.3+ aCis
*/
public class ServerGuard extends Quest
{
// Включить true Выключить false
public static final boolean SERVER_GUARD = true;
// Через N-e Время после загрузки скрипта начнется его работа.(в милисекундах 1сек == 1000мкс)
private static final int START_TIME = 60000;
// Автозапуск через.
private static final int RESTART_TIME = 120000;

// Что ищем? И Сколько?
// {{ид,количество},{ид,количество},{ид,количество}};
private static final int ITEM_ID_AND_MAX_COUNT[][] =
{
{
57,// ИД
1000

},
{
57,
500
},
{
57,
300
}
};

// Наказание за превышение количетсва предметов.
// Бан аккаунта : true
// Удаление предметов: false
public static final boolean BANNED_OR_REMOVE = true;

// Сообщения в консоль. да true нет false
public static final boolean MESSAGE = true;

public ServerGuard()
{
super(-1, ServerGuard.class.getSimpleName(), "Server Guard");
ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new GuardServer(), START_TIME, RESTART_TIME);
}

@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equalsIgnoreCase("Scanner"))
{
System.out.println("Guard Server: Star search.");
Collection<L2PcInstance> onlinePlayers = L2World.getInstance().getAllPlayers().values();
for (L2PcInstance players : onlinePlayers)
{
ItemInstance item;
for (int[] element : ITEM_ID_AND_MAX_COUNT)
{
 item = players.getInventory().getItemByItemId(element[0]);
 if ((item != null) && (item.getCount() >= element[1]))
 {
 if (BANNED_OR_REMOVE)
 {
 if (MESSAGE)
 {
 System.out.println("Guard Server: Banned accaunt [" + players.getAccountName() + "] player name:[" + players.getName() + "] _ Item:[" + item.getName() + "[ Count:[" + item.getCount() + "]");
 }
 players.setAccountAccesslevel(-100);
 players.logout();
 }
 else
 {
 if (MESSAGE)
 {
 System.out.println("Guard Server: Remove item accaunt [" + players.getAccountName() + "] player name:[" + players.getName() + "] _ Item:[" + item.getName() + "[ Count:[" + item.getCount() + "]");
 }
 players.destroyItemByItemId("GuardServer", element[0], item.getCount(), players, true);
 }
 }
}
}
System.out.println("Guard Server: Finish search. RESTART_TIME: " + ((RESTART_TIME / 1000) / 60) + " minut.");
}
return null;
}

public class GuardServer implements Runnable
{
@Override
public void run()
{
QuestManager.getInstance().getQuest("ServerGuard").notifyEvent("Scanner", null, null);
}
}

public static void main(String[] arg)
{
if (SERVER_GUARD)
{
new ServerGuard();
System.out.println("Guard Server: ON");
}
else
{
System.out.println("Guard Server: OFF");
}
}
}

post-3072-0-40612900-1415077280_thumb.jpg

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

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


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

Если скрипт лежит в директории custom, то, соответственно, необходимо заменить package ServerGuard; на package custom.ServerGuard;

  • Upvote 1

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


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

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

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

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

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

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

Войти

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

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

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

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

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