Сообщений: 25
Тем: 10
Зарегистрирован: Mar 2016
Репутация:
0
hi everybody. i want to know how to use this coupons enum for working effect. if anybody know please help me.
credits of enum > PROGRAMMATOR
Цитата:[Flags]
enum SlotItemEffect
{
QUICK_CHANGE_WEAPON = 0x8000,
QUICK_CHANGE_MAGAZINE = 0x4000,
MEGA_HP10 = 0x2000,
INCREASE_INVINCIBLE_TIME = 0x1000,
BULLET_PROOF_VEST = 0x800,
FULLMETALJACKETAMMO = 0x400,
HOLLOW_POINT_AMMO = 0x200,
C4_SPEED_KIT = 0x100,
INCREASE_GRENADE_SLOT = 0x80,
JACKETED_HELLOW_POINT_AMMO = 0x40,
MEGA_HP5 = 0x20,
BULLET_PROOF_VEST_PLUS = 0x10,
HOLLOW_POINT_AMMO_PLUS = 0x08,
BULLET_PROOF_VEST_METAL = 0x04,
KETUPAT = 0x02, // 르바란 이벤트 관련 ( 2010.09.07 ~ 2010.09.14 이벤트 기간 종료 후 삭제 )
}
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
Сообщений: 25
Тем: 10
Зарегистрирован: Mar 2016
Репутация:
0
PROGRAMMATOR Написал:PROTOCOL_ROOM_GET_SLOTINFO_ACK
like that?
Цитата:WriteC(8); // Slot.State
WriteC(0); // Player.Rank
WriteD(0); // ClanId
WriteD(0); // ClanRole
WriteC(0); // Clan.Rank
WriteD(-1); // Clan.Mark
WriteC(0); // Player.Premium
WriteC(0); // Player.TournamentRank
WriteD(0x8000); // Coupons (QUICK CHANGE WEAPON)
WriteS("", Clan.NAME_LENGTH);
WriteD(0); // ?
WriteC(0); // ClanNameColor
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
Yes like that.
As these are flags so you also can use:
Код: Effect1 | Effect2 | Effect3
Сообщений: 21
Тем: 7
Зарегистрирован: Dec 2015
Репутация:
-1
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
Что прописываете в Quantity при активации предмета?
Сообщений: 21
Тем: 7
Зарегистрирован: Dec 2015
Репутация:
-1
SM_INVENTORY_ITEM_EQUIP
Цитата: public class SM_INVENTORY_ITEM_EQUIP : SendBaseGamePacket
{
private int _objId;
private Account _p;
private int _type;
private int item_id;
public SM_INVENTORY_ITEM_EQUIP(int id, int type, Account player)
{
base.makeme();
this._objId = id;
this._type = type;
this._p = player;
}
protected internal override void write()
{
base.writeH(0x217);
if (this._type == 2)
{
if (DAOM.getInstance().getItem(this._objId) != null)
{
this.item_id = DAOM.getInstance().getItem(this._objId).id;
}
else
{
this.item_id = 0;
}
base.writeD(1);
base.writeD(Convert.ToInt32(DateTime.Now.ToString("yyMMddHHmm")));
base.writeQ((long) this._objId);
if ((this.item_id < 0x8000) && (this.item_id > 0x4000) && (this.item_id > 0x20) && (this.item_id > 0x08))
{
base.writeD(this.item_id);
base.writeC(1);
base.writeD(1);
}
else
{
base.writeD(this.item_id);
base.writeC(2);
int count = 0x15180;
if (DAOM.getInstance().getItem(this._objId) != null)
{
count = DAOM.getInstance().getItem(this._objId).count;
}
int num2 = count / 0x15180;
DateTime time = new DateTime();
time.AddDays((double) num2);
int num3 = Convert.ToInt32(time.ToString("yyMMddHHmm"));
base.writeD(num3);
}
}
else
{
base.writeD(1);
base.writeD(Convert.ToInt32(DateTime.Now.ToString("yyMMddHHmm")));
base.writeD(1);
base.writeD(0);
base.writeD(0);
base.writeC(1);
base.writeD(0);
}
}
}
}
это пакет, Что дает ошибку здесь?
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
Увы, это не возможно прочитать.
Код: int num2 = count / 0x15180;
DateTime time = new DateTime();
time.AddDays((double) num2);
...
[SRC="csharp"]var expiredAt = DateTime.Now.AddSeconds(count);
[/SRC]
count / 0x15180 - вот тут могло и потеряться, если изначально count < 86400. Смотрите, что там в базе прописано у этого предмета. Да и проверки эти должны быть как минимум в клиентском пакете, а не серверном.
Сообщений: 21
Тем: 7
Зарегистрирован: Dec 2015
Репутация:
-1
хорошо,
Я был бы рад, если вы поможете в теме ))
Цитата:WriteD(0x8000); // Cupon
код гиперссылок при вводе Cupon "QUICK_CHANGE_WEAPON" это просто пытается
все работы на том, что должно быть сделано?
Сообщений: 357
Тем: 58
Зарегистрирован: Jan 2016
Репутация:
116
Yusqa Написал:Цитата:WriteD(0x8000); // Cupon
код гиперссылок при вводе Cupon "QUICK_CHANGE_WEAPON" это просто пытается
все работы на том, что должно быть сделано? Лучше писать английском чем пользоваться переводчиком ибо получается белиберда
|