Цитата:
Сообщение от ivanius
Простите за возможный оффтоп.
Подскажите пожалуйста, что должно отправляться, чтобы в менялось число в квестовом окошке - это которое (FE C6 ExQuestNpcLogList), сижу на оффе смотрю не вижу ничего такого, после 00 ничего примечательного нету вроде бы. Может дело в клиентской части?
|
Код:
public class ExQuestNpcLogList extends L2GameServerPacket
{
private int _questId;
private List<int[]> _logList = Collections.emptyList();
public ExQuestNpcLogList(QuestState state)
{
_questId = state.getQuest().getId();
int cond = state.getCond();
List<QuestNpcLogInfo> vars = state.getQuest().getNpcLogList(cond);
if (vars == null)
return;
_logList = new ArrayList<int[]>(vars.size());
for (QuestNpcLogInfo entry : vars)
if (entry.getActionId() == 0)
_logList.add(new int[] { entry.getNpcIds()[0] + 1000000, 0, state.getInt(entry.getVarName()) });
else
_logList.add(new int[] { entry.getActionId(), 1, state.getInt(entry.getVarName()) });
}
@Override
protected void writeImpl()
{
writeEx(Opcode.ExQuestNpcLogList);
writeD(_questId);
writeC(_logList.size());
for (int i = 0; i < _logList.size(); i++)
{
int[] info = _logList.get(i);
writeD(info[0]);
writeC(info[1]);
writeD(info[2]);
}
}
}
вариант с actionId - это для тех услвоий когда требуется отобразить не количество убитых определенных мобов, а что-то другое. проще говоря для действий, которые в questame имеют id 5ххххх