123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- /*
- * This program 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.
- *
- * This program 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 net.sf.l2j.gameserver.serverpackets;
- import java.util.Vector;
- /**
- * @author kombat
- * Format: cd d[d s/d/dd/ddd]
- */
- public class ConfirmDlg extends L2GameServerPacket
- {
- private static final String _S__ED_CONFIRMDLG = "[S] f3 ConfirmDlg";
- private int _messageId;
- private int _skillLvL = 1;
- private static final int TYPE_ZONE_NAME = 7;
- private static final int TYPE_SKILL_NAME = 4;
- private static final int TYPE_ITEM_NAME = 3;
- private static final int TYPE_NPC_NAME = 2;
- private static final int TYPE_NUMBER = 1;
- private static final int TYPE_TEXT = 0;
- private Vector<Integer> _types = new Vector<Integer>();
- private Vector<Object> _values = new Vector<Object>();
- public ConfirmDlg(int messageId)
- {
- _messageId = messageId;
- }
- public ConfirmDlg addString(String text)
- {
- _types.add(new Integer(TYPE_TEXT));
- _values.add(text);
- return this;
- }
- public ConfirmDlg addNumber(int number)
- {
- _types.add(new Integer(TYPE_NUMBER));
- _values.add(new Integer(number));
- return this;
- }
- public ConfirmDlg addNpcName(int id)
- {
- _types.add(new Integer(TYPE_NPC_NAME));
- _values.add(new Integer(1000000 + id));
- return this;
- }
- public ConfirmDlg addItemName(int id)
- {
- _types.add(new Integer(TYPE_ITEM_NAME));
- _values.add(new Integer(id));
- return this;
- }
- public ConfirmDlg addZoneName(int x, int y, int z)
- {
- _types.add(new Integer(TYPE_ZONE_NAME));
- int[] coord = {x, y, z};
- _values.add(coord);
- return this;
- }
- public ConfirmDlg addSkillName(int id)
- {
- return addSkillName(id, 1);
- }
- public ConfirmDlg addSkillName(int id, int lvl)
- {
- _types.add(new Integer(TYPE_SKILL_NAME));
- _values.add(new Integer(id));
- _skillLvL = lvl;
- return this;
- }
- @Override
- protected final void writeImpl()
- {
- writeC(0xf3);
- writeD(_messageId);
- writeD(_types.size());
- for (int i = 0; i < _types.size(); i++)
- {
- int t = _types.get(i).intValue();
- writeD(t);
- switch (t)
- {
- case TYPE_TEXT:
- {
- writeS( (String)_values.get(i));
- break;
- }
- case TYPE_NUMBER:
- case TYPE_NPC_NAME:
- case TYPE_ITEM_NAME:
- {
- int t1 = ((Integer)_values.get(i)).intValue();
- writeD(t1);
- break;
- }
- case TYPE_SKILL_NAME:
- {
- int t1 = ((Integer)_values.get(i)).intValue();
- writeD(t1); // Skill Id
- writeD(_skillLvL); // Skill lvl
- break;
- }
- case TYPE_ZONE_NAME:
- {
- int t1 = ((int[])_values.get(i))[0];
- int t2 = ((int[])_values.get(i))[1];
- int t3 = ((int[])_values.get(i))[2];
- writeD(t1);
- writeD(t2);
- writeD(t3);
- break;
- }
- }
- }
- }
- /* (non-Javadoc)
- * @see net.sf.l2j.gameserver.serverpackets.ServerBasePacket#getType()
- */
- @Override
- public String getType()
- {
- return _S__ED_CONFIRMDLG;
- }
- }
|