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

Ошибка В Коде

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

Появляется при любом изменении в коде. В оригинале работает норм.

pre_1388718410__.png

  • Upvote 1

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


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

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

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


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

Товарищ @BLaCkSHaRk, все верно сказал. Но, ТС, выложи весь код. Чтобы сразу решить проблему.

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


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

 

package custom.servicem;
import java.io.File;
import java.io.FileReader;
import java.io.LineNumberReader;
import java.util.HashMap;
import java.util.Map;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import ru.catssoftware.gameserver.network.SystemChatChannelId;
import ru.catssoftware.gameserver.network.serverpackets.CreatureSay;
import ru.catssoftware.gameserver.datatables.CharNameTable;
import ru.catssoftware.gameserver.datatables.ItemTable;
import ru.catssoftware.gameserver.handler.IVoicedCommandHandler;
import ru.catssoftware.gameserver.handler.VoicedCommandHandler;
import ru.catssoftware.gameserver.model.L2World;
import ru.catssoftware.gameserver.datatables.SkillTable;
import ru.catssoftware.gameserver.network.serverpackets.PledgeSkillList;
import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.model.quest.Quest;
import ru.catssoftware.gameserver.model.quest.QuestState;
import ru.catssoftware.gameserver.util.PcAction;
import ru.catssoftware.gameserver.model.itemcontainer.Inventory;
import ru.catssoftware.L2DatabaseFactory;
import ru.catssoftware.gameserver.model.L2ItemInstance;
public class ServiceManager extends Quest {

private static String qn = "ServiceManager";
private final static int ID_NPC_MANAGER = 50024; // ID Менеджера (NPC)
private static class Price {
private int []_itemId;
private int []_prices;
public Price(int []items, int[]count) {
_itemId = items;
_prices = count;
}
}

/**
* Настройки смены ника:
*/
int priceChangeNameId = 9303;
int priceChangeNameCount = 15;

int priceChangeColorNameId = 9303;
int priceChangeColorNameCount = 10;

int priceItemIdAugment = 4037;
int priceItemCountAugment = 40;
int attributes;
int skill;
int level;

int ItemIdClan = 9303;
int ClanLevel6 = 5;
int ClanLevel7 = 5;
int ClanLevel8 = 5;
int ClanCrpPrice = 5;
int ClanCrpCount = 10000;
int ClanSkillsCount = 30;
String str = "";
private static Map _premiumPrice = new HashMap();
private static Map _heroPrice = new HashMap();
private static Price _NoblesPrice = new Price(new int[] {9303}, new int [] {5});

private String colorTable = "
Смена цвета: [color="74bff5"]"+priceChangeColorNameCount+" "+(ItemTable.getInstance().getItemName(priceChangeColorNameId))+"[/color]
";
public ServiceManager() {
super(-1,qn,"custom");
// ================= ЦЕНЫ НА ДВОРЯНСТВО ========
// РґРЅРё, new Price(new int[] {через , РР” предметов},new int[] {через , количество});
_premiumPrice.put(1,new Price(new int[] { 9303},new int[] {1}));
_premiumPrice.put(7,new Price(new int[] { 9303},new int[] {5}));
_premiumPrice.put(14,new Price(new int[] { 9303},new int[] {10}));
_premiumPrice.put(31,new Price(new int[] { 9303},new int[] {20}));

// ================ ЦЕНЫ РќРђ ГЕРОРР—Рњ ===============
_heroPrice.put(1, new Price(new int[] { 9303},new int[] {2}));
_heroPrice.put(7, new Price(new int[] {9303},new int[] {15}));
_heroPrice.put(31, new Price(new int[] {9303},new int[] {50}));

// ================ Список цветов ника и титула ===============
/* _colorPrice.put(1, new ColorId(new int[] {FFFF00},new int[] {голубым}));
_colorPrice.put(2, new ColorId(new int[] {000000},new int[] {черным}));
_colorPrice.put(3, new ColorId(new int[] {FF0000},new int[] {синим}));
_colorPrice.put(4, new ColorId(new int[] {FF00FF},new int[] {розовым}));
_colorPrice.put(5, new ColorId(new int[] {808080},new int[] {серым}));
_colorPrice.put(6, new ColorId(new int[] {008000},new int[] {зеленым}));
_colorPrice.put(7, new ColorId(new int[] {00FF00},new int[] {лаймовым}));
_colorPrice.put(8, new ColorId(new int[] {800000},new int[] {темно-синим}));
_colorPrice.put(9, new ColorId(new int[] {008080},new int[] {оливковым}));
_colorPrice.put(10, new ColorId(new int[] {800080},new int[] {пурпурным}));
_colorPrice.put(11, new ColorId(new int[] {808000},new int[] {сине-зелёным}));
_colorPrice.put(12, new ColorId(new int[] {FFFFFF},new int[] {белым}));
_colorPrice.put(13, new ColorId(new int[] {00FFFF},new int[] {желтым}));
_colorPrice.put(14, new ColorId(new int[] {C0C0C0},new int[] {серебряным}));
_colorPrice.put(15, new ColorId(new int[] {17A0D4},new int[] {золотым}));
*/

// Таблица цветов из colors.table
File f = new File(getScriptFile());
try {
LineNumberReader lnr = new LineNumberReader(new FileReader(f.getParent()+"/colors.table"));
String line;
while((line=lnr.readLine())!=null) {
String []colors = line.split("\t");
for(int i=0;i[color="\""+colors[i]+"\""]Выбрать цвет титула[/color]
";
}
} catch(Exception e) {
System.out.println("Error reading "+f.getParent()+"/colors.table");
}
}

public void criticalTo(L2PcInstance player, String text)
{
CreatureSay cs = new CreatureSay(0, SystemChatChannelId.Chat_Critical_Announce, "", text);
player.sendPacket(cs);
}
private void updateAugment(L2PcInstance player, int attributes, int skill, int level) {
L2ItemInstance item = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null)
{
criticalTo(player, "Вы должны одеть оружие.");
}
else if (player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).isAugmented())
{
criticalTo(player, "В оружие уже присутствует аугументация.");
}
else if (!checkMoney(player, priceItemIdAugment, priceItemCountAugment, true))
{
criticalTo(player, "У Вас недостаточно денег.");
}
else
{
try
{
Connection con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement stm = con.prepareStatement("REPLACE INTO item_attributes VALUES(?,?,?,?)");
stm.setInt(1, item.getObjectId());
stm.setInt(2, attributes*65536+1);
stm.setInt(3, skill);
stm.setInt(4, level);
stm.execute();
criticalTo(player, "Аугументация прошла успешно. Вам нужно перезайти.");
stm.close();
}
catch (SQLException e)
{
_log.error("error creating augment shop data table ", e);
}
}
}
private boolean checkMoney(L2PcInstance player, Price price) {
for(int i=0;i if(player.getInventory().getItemByItemId(price._itemId[i])==null ||
player.getInventory().getItemByItemId(price._itemId[i]).getCount() < price._prices[i]) {
return false; // Нет денег? Сории
}
for(int i=0;i if(!player.destroyItemByItemId(qn, price._itemId[i], price._prices[i], null, true)) {
return false;
}
return true;
}

private boolean checkMoney(L2PcInstance player, int itemId, int count, boolean destroy)
{
if(player.getInventory().getItemByItemId(itemId)==null || player.getInventory().getItemByItemId(itemId).getCount() < count)
return false; // Нет денег? Сории

if(destroy && !player.destroyItemByItemId(qn, itemId, count, null, true))
return false;

return true;
}

@Override
public String onAdvEvent(String event, L2NpcInstance npc, L2PcInstance player) {

String []args = event.split(" "); // Разбираем строку параметров
if(args[0].equals("premiumlist")) { // Формируем список доступных дней премиума
String html = "
Покупка премиума:
		";
	for(int days : _premiumPrice.keySet()) {
	html+="[url=""]Покупка Геройства:[/url]
		[url=""] Price price = _heroPrice.get(days);
	for(int i=0;i if(i!=0) // Добавляем ,
	html+=",";
	html+=price._prices[i]+" "+ItemTable.getInstance().getTemplate(price._itemId[i]).getName();
	}
	}
	html+="[/url]	[url=""]Смена имени: [color="74bff5"]"+priceChangeNameCount+" "+(ItemTable.getInstance().getItemName(priceChangeNameId))+"[/color]";
htmltext += "[img=\]
[img=\]
";
htmltext += "			Введите желаемое имя:	";
htmltext += "				";
htmltext += "			";
	return colorTable;
	}
	else if(args[0].equals("clanlist"))
	{
	String html = "clanlist.htm";
	return html;
	}
	else if(args[0].equals("active"))
	{
	String htmltext = "active.htm";
	return htmltext;
	}
	else if(args[0].equals("passive"))
	{
	String htmltext = "passive.htm";
	return htmltext;
	}
	else if(args[0].equals("chance"))
	{
	String htmltext = "chance.htm";
	return htmltext;
	}
	return "donate.htm";
	}

	@Override
	public String onFirstTalk(L2NpcInstance npc, L2PcInstance player) {
	return onTalk(npc, player);
	}
	@Override
	public String onTalk(L2NpcInstance npc, L2PcInstance player) {
	QuestState qs = player.getQuestState(qn);
	if(qs==null)
	qs = newQuestState(player);
	return "donate.htm";
	}

	public static void main(String[] args) {
	ServiceManager ps = new ServiceManager();
	ps.addFirstTalkId(ID_NPC_MANAGER); // Мы не хотим писать диалог для этого НПЦ
	ps.addStartNpc(ID_NPC_MANAGER); // Автоматический контроль состояния квеста
	ps.addTalkId(ID_NPC_MANAGER); // NPC с которым можно говорить.
	}
	}

 

 

Изменено пользователем Gatsby
  • Upvote 1

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


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

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

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

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

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

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

Войти

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

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

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

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

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