Я компилил через Eclipse + плагины Gradle, который есть в Help->Eclipse Marketplace, называется Gradle IDE Pack 3.8.x +1.0.x +2.2.xчерез че компилить?
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Я компилил через Eclipse + плагины Gradle, который есть в Help->Eclipse Marketplace, называется Gradle IDE Pack 3.8.x +1.0.x +2.2.xчерез че компилить?
[2018-03-02 03:57:53,281] [nioEventLoopGroup-4-1] [WARN] o.l.g.c.HtmCache: Missing HTML page: data/scripts/org/l2junity/scripts/quests/Q10358_DividedSakumPoslof/33510-02.htm
/*
* Copyright (C) 2004-2016 L2J Unity
*
* This file is part of L2J Unity.
*
* L2J Unity is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J Unity is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2junity.scripts.quests.Q10358_DividedSakumPoslof;
import java.util.HashSet;
import java.util.Set;
import org.l2junity.gameserver.enums.QuestSound;
import org.l2junity.gameserver.model.actor.Npc;
import org.l2junity.gameserver.model.actor.instance.PlayerInstance;
import org.l2junity.gameserver.model.holders.NpcLogListHolder;
import org.l2junity.gameserver.model.quest.Quest;
import org.l2junity.gameserver.model.quest.QuestState;
import org.l2junity.gameserver.model.quest.State;
import org.l2junity.scripts.quests.Q10337_SakumsImpact.Q10337_SakumsImpact;
/**
* Divided Sakum, Poslof (10358)
* @author St3eT
*/
public final class Q10358_DividedSakumPoslof extends Quest
{
// NPCs
private static final int LEF = 33510;
private static final int ADVENTURER_GUIDE = 31795;
private static final int ZOMBIE_WARRIOR = 20458;
private static final int VEELEAN = 20402; // Veelan Bugbear Warrior
private static final int POSLOF = 27452;
// Items
private static final int SAKUM_SKETCH = 17585;
// Misc
private static final int MIN_LEVEL = 33;
private static final int MAX_LEVEL = 40;
public Q10358_DividedSakumPoslof()
{
super(10358);
addStartNpc(LEF);
addTalkId(LEF, ADVENTURER_GUIDE);
addKillId(ZOMBIE_WARRIOR, VEELEAN, POSLOF);
registerQuestItems(SAKUM_SKETCH);
addCondCompletedQuest(Q10337_SakumsImpact.class.getSimpleName(), "33510-09.htm");
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33510-09.htm");
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "33510-02.htm":
case "31795-04.htm":
{
htmltext = event;
break;
}
case "33510-03.htm":
{
st.startQuest();
htmltext = event;
break;
}
case "31795-05.htm":
{
if (st.isCond(4))
{
if ((player.getLevel() >= MIN_LEVEL))
{
addExp(player, 750_000);
addSp(player, 180);
st.exitQuest(false, true);
htmltext = event;
}
else
{
htmltext = getNoQuestLevelRewardMsg(player);
}
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, PlayerInstance player, boolean isSimulated)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
switch (st.getState())
{
case State.CREATED:
{
htmltext = npc.getId() == LEF ? "33510-01.htm" : "31795-02.htm";
break;
}
case State.STARTED:
{
switch (st.getCond())
{
case 1:
{
htmltext = npc.getId() == LEF ? "33510-04.htm" : "31795-01.htm";
break;
}
case 2:
{
if (npc.getId() == LEF)
{
if (!isSimulated)
{
st.setCond(3);
giveItems(player, SAKUM_SKETCH, 1);
}
htmltext = "33510-05.htm";
}
else if (npc.getId() == ADVENTURER_GUIDE)
{
htmltext = "31795-01.htm";
}
break;
}
case 3:
{
htmltext = npc.getId() == LEF ? "33510-06.htm" : "31795-01.htm";
break;
}
case 4:
{
htmltext = npc.getId() == LEF ? "33510-07.htm" : "31795-03.htm";
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = npc.getId() == LEF ? "33510-08.htm" : "31795-06.htm";
break;
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
final QuestState st = getQuestState(killer, false);
if ((st != null) && st.isStarted())
{
if (st.isCond(1))
{
int killedZombies = st.getInt("killed_" + ZOMBIE_WARRIOR);
int killedVeelans = st.getInt("killed_" + VEELEAN);
if (npc.getId() == ZOMBIE_WARRIOR)
{
if (killedZombies < 20)
{
killedZombies++;
st.set("killed_" + ZOMBIE_WARRIOR, killedZombies);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
else
{
if (killedVeelans < 23)
{
killedVeelans++;
st.set("killed_" + VEELEAN, killedVeelans);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
if ((killedZombies == 20) && (killedVeelans == 23))
{
st.setCond(2, true);
}
sendNpcLogList(killer);
}
else if (st.isCond(3))
{
st.set("killed_" + POSLOF, 1);
st.setCond(4);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(PlayerInstance activeChar)
{
final QuestState st = getQuestState(activeChar, false);
if ((st != null) && st.isStarted())
{
if (st.isCond(1))
{
final Set<NpcLogListHolder> npcLogList = new HashSet<>(2);
npcLogList.add(new NpcLogListHolder(ZOMBIE_WARRIOR, false, st.getInt("killed_" + ZOMBIE_WARRIOR)));
npcLogList.add(new NpcLogListHolder(VEELEAN, false, st.getInt("killed_" + VEELEAN)));
return npcLogList;
}
else if (st.isCond(3))
{
final Set<NpcLogListHolder> npcLogList = new HashSet<>(1);
npcLogList.add(new NpcLogListHolder(POSLOF, false, st.getInt("killed_" + POSLOF)));
return npcLogList;
}
}
return super.getNpcLogList(activeChar);
}
}
Так и есть, была кодировка ansi.Проверь кодировку этого файла. Возможно UTF16-LE. Если файл физически существует, то проблемы с чтение содержимого. Ошибка в логе не только по отсутствию файла, но и по null содержимому.
public static int getServerTypeId(String[] serverTypes)
{
int serverType = 0;
for (String cType : serverTypes)
{
switch (cType.trim().toLowerCase())
{
case "normal":
serverType |= 0x01;
break;
case "relax":
serverType |= 0x02;
break;
case "test":
serverType |= 0x04;
break;
case "broad":
serverType |= 0x08;
break;
case "restricted":
serverType |= 0x10;
break;
case "event":
serverType |= 0x20;
break;
case "free":
serverType |= 0x40;
break;
case "world":
serverType |= 0x100;
break;
case "new":
serverType |= 0x200;
break;
case "classic":
serverType |= 0x400;
break;
}
}
return serverType;
}
Этот конфиг должен генерироваться при первом запуске сервера в General.properties, там поставь Classic и всеКак заставить зайти на классик?
Нашел вот такое:
Если я int serverType = 9; укажу, прокатит?Код:public static int getServerTypeId(String[] serverTypes) { int serverType = 0; for (String cType : serverTypes) { switch (cType.trim().toLowerCase()) { case "normal": serverType |= 0x01; break; case "relax": serverType |= 0x02; break; case "test": serverType |= 0x04; break; case "broad": serverType |= 0x08; break; case "restricted": serverType |= 0x10; break; case "event": serverType |= 0x20; break; case "free": serverType |= 0x40; break; case "world": serverType |= 0x100; break; case "new": serverType |= 0x200; break; case "classic": serverType |= 0x400; break; } } return serverType; }
Подскажи, из-за чего бафы не отображаются(показывает только 1 баф и вечные 0 сек), скилы пустые в изучении(хотя правил скил трее). Запустил как классик. Это пакетка или как?Этот конфиг должен генерироваться при первом запуске сервера в General.properties, там поставь Classic и все
Обновите ссылку пожалуйста.
In English as requested earlier :
You can now drop that crap, free version has been updated
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
Апну вопрос. Мб кто-то шарит?Подскажи, из-за чего бафы не отображаются(показывает только 1 баф и вечные 0 сек), скилы пустые в изучении(хотя правил скил трее). Запустил как классик. Это пакетка или как?
Скрин дать сейчас не могу, делаю ремонт, комп отключил.
глупый вопрос, но все же, какой клиент нужен под сие чудо?In English as requested earlier :
You can now drop that crap, free version has been updated
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрация
Когда тестил заходил с обычного GC, вроде бы 109 протокол(там в конфигах по дефолту стоит или 109 или 110) поставь просто тот который у тебя в клиентеглупый вопрос, но все же, какой клиент нужен под сие чудо?
# Numbers of protocol revisions that server allows to connect.
# Delimiter is ;
# WARNING: <u><b><font color="red">Changing the protocol revision may result in incompatible communication and many errors in game!</font></b></u>
# Default: 28
AllowedProtocolRevisions = 28
Не знаю что вы там скачали, в оригинальном виде там 110странно скачал именно по ссылке, в конфигах
Код:# Numbers of protocol revisions that server allows to connect. # Delimiter is ; # WARNING: <u><b><font color="red">Changing the protocol revision may result in incompatible communication and many errors in game!</font></b></u> # Default: 28 AllowedProtocolRevisions = 28
110 качай.глупый вопрос, но все же, какой клиент нужен под сие чудо?
Ты скачал видимо из раздела Download, там лежит компил 2016-06-04, вот там как раз 28 протоколстранно скачал именно по ссылке, в конфигах
Код:# Numbers of protocol revisions that server allows to connect. # Delimiter is ; # WARNING: <u><b><font color="red">Changing the protocol revision may result in incompatible communication and many errors in game!</font></b></u> # Default: 28 AllowedProtocolRevisions = 28
Ну да) там же черным по белому написано "загрузки")Ты скачал видимо из раздела Download, там лежит компил 2016-06-04, вот там как раз 28 протокол
Ну да) там же черным по белому написано "загрузки")
А как там скачать актуальную хрень?
Актуальную надо скомпилитьНу да) там же черным по белому написано "загрузки")
А как там скачать актуальную хрень?