Сообщений: 445
Тем: 46
Зарегистрирован: Oct 2011
apocalipce Написал:Мне нужна помощь, чтобы исправить charinfo
Извините за переводчик! Я из Польши
Я следить за работой всех здесь, smeli, VISTALL, Дарвин. Можно было бы разделить структуру нового пакета?
Cya
under which protocol you want?
Сообщений: 20
Тем: 0
Зарегистрирован: Feb 2012
Репутация:
4
Darvin Написал:under which protocol you want? 448 US Client
Сообщений: 445
Тем: 46
Зарегистрирован: Oct 2011
06-29-2012, 02:59 AM
(Сообщение последний раз редактировалось: 06-29-2012, 03:45 AM Darvin.)
apocalipce Написал:448 US Client
CharInfo
public class CharInfo extends L2GameServerPacket
{
private static final Logger _log = LoggerFactory.getLogger(CharInfo.class);
private int[][] _inv;
private int _mAtkSpd, _pAtkSpd;
private int _runSpd, _walkSpd, _swimRunSpd, _swimWalkSpd, _flRunSpd, _flWalkSpd, _flyRunSpd, _flyWalkSpd;
private Location _loc, _fishLoc;
private String _name, _title;
private int _objId, _race, _sex, base_class, pvp_flag, karma, rec_have;
private double speed_move, speed_atack, col_radius, col_height;
private int hair_style, hair_color, face;
private int clan_id, clan_crest_id, large_clan_crest_id, ally_id, ally_crest_id, class_id;
private int _sit, _run, _combat, _dead, private_store, _enchant;
private int _noble, _hero, _fishing, mount_type;
private int plg_class, pledge_type, clan_rep_score, cw_level, mount_id;
private int _nameColor, _title_color, _transform, _agathion, _clanBoatObjectId;
private EffectCubic[] cubics;
private boolean _isPartyRoomLeader, _isFlying;
private TeamType _team;
private TIntArrayList _abnormalEffects;
public CharInfo(Player cha)
{
this((Creature) cha);
}
public CharInfo(DecoyInstance cha)
{
this((Creature) cha);
}
public CharInfo(Creature cha)
{
if(cha == null)
{
System.out.println("CharInfo: cha is null!");
Thread.dumpStack();
return;
}
if(cha.isInvisible())
return;
if(cha.isDeleted())
return;
Player player = cha.getPlayer();
if(player == null)
return;
if(player.isInBoat())
{
_loc = player.getInBoatPosition();
if(player.isClanAirShipDriver())
{
_clanBoatObjectId = player.getBoat().getBoatId();
}
}
if(_loc == null)
_loc = cha.getLoc();
_objId = cha.getObjectId();
// Проклятое оружие и трансформации для ТВ скрывают имя и все остальные опознавательные знаки
if(player.getTransformationName() != null || (player.getReflection() == ReflectionManager.GIRAN_HARBOR || player.getReflection() == ReflectionManager.PARNASSUS) && player.getPrivateStoreType() != Player.STORE_PRIVATE_NONE)
{
_name = player.getTransformationName() != null ? player.getTransformationName() : player.getName();
_title = "";
clan_id = 0;
clan_crest_id = 0;
ally_id = 0;
ally_crest_id = 0;
large_clan_crest_id = 0;
if(player.isCursedWeaponEquipped())
cw_level = CursedWeaponsManager.getInstance().getLevel(player.getCursedWeaponEquippedId());
}
else
{
_name = player.getName();
if(player.getPrivateStoreType() != Player.STORE_PRIVATE_NONE)
_title = "";
else if(!player.isConnected())
{
_title = "NO CARRIER";
_title_color = 255;
}
else
{
_title = player.getTitle();
_title_color = player.getTitleColor();
}
Clan clan = player.getClan();
Alliance alliance = clan == null ? null : clan.getAlliance();
//
clan_id = clan == null ? 0 : clan.getClanId();
clan_crest_id = clan == null ? 0 : clan.getCrestId();
large_clan_crest_id = clan == null ? 0 : clan.getCrestLargeId();
//
ally_id = alliance == null ? 0 : alliance.getAllyId();
ally_crest_id = alliance == null ? 0 : alliance.getAllyCrestId();
cw_level = 0;
}
if(player.isMounted())
{
_enchant = 0;
mount_id = player.getMountNpcId() + 1000000;
mount_type = player.getMountType().ordinal();
}
else
{
_enchant = player.getEnchantEffect();
mount_id = 0;
mount_type = 0;
}
_inv = new int[PcInventory.PAPERDOLL_MAX][2];
for(int PAPERDOLL_ID : PAPERDOLL_ORDER)
{
_inv[PAPERDOLL_ID][0] = player.getInventory().getPaperdollItemId(PAPERDOLL_ID);
_inv[PAPERDOLL_ID][1] = player.getInventory().getPaperdollAugmentationId(PAPERDOLL_ID);
}
_mAtkSpd = player.getMAtkSpd();
_pAtkSpd = player.getPAtkSpd();
speed_move = player.getMovementSpeedMultiplier();
_runSpd = (int) (player.getRunSpeed() / speed_move);
_walkSpd = (int) (player.getWalkSpeed() / speed_move);
_flRunSpd = 0; // TODO
_flWalkSpd = 0; // TODO
if(player.isFlying())
{
_flyRunSpd = _runSpd;
_flyWalkSpd = _walkSpd;
}
else
{
_flyRunSpd = 0;
_flyWalkSpd = 0;
}
_swimRunSpd = player.getSwimRunSpeed();
_swimWalkSpd = player.getSwimWalkSpeed();
_race = player.getRace().ordinal();
_sex = player.getSex();
base_class = player.getBaseClassId();
pvp_flag = player.getPvpFlag();
karma = player.getKarma();
speed_atack = player.getAttackSpeedMultiplier();
col_radius = player.getColRadius();
col_height = player.getColHeight();
hair_style = player.getHairStyle();
hair_color = player.getHairColor();
face = player.getFace();
if(clan_id > 0 && player.getClan() != null)
clan_rep_score = player.getClan().getReputationScore();
else
clan_rep_score = 0;
_sit = player.isSitting() ? 0 : 1; // standing = 1 sitting = 0
_run = player.isRunning() ? 1 : 0; // running = 1 walking = 0
_combat = player.isInCombat() ? 1 : 0;
_dead = player.isAlikeDead() ? 1 : 0;
private_store = player.isInObserverMode() ? Player.STORE_OBSERVING_GAMES : player.getPrivateStoreType();
cubics = player.getCubics().toArray(new EffectCubic[player.getCubics().size()]);
_abnormalEffects = player.getAbnormalEffects();
rec_have = player.isGM() ? 0 : player.getRecomHave();
class_id = player.getClassId().getId();
_team = player.getTeam();
_noble = player.isNoble() ? 1 : 0; // 0x01: symbol on char menu ctrl+I
_hero = player.isHero() || player.isGM() && Config.GM_HERO_AURA ? 1 : 0; // 0x01: Hero Aura
_fishing = player.isFishing() ? 1 : 0;
_fishLoc = player.getFishLoc();
_nameColor = player.getNameColor(); // New C5
plg_class = player.getPledgeClass();
pledge_type = player.getPledgeType();
_transform = player.getTransformation();
_agathion = player.getAgathionId();
_isPartyRoomLeader = player.getMatchingRoom() != null && player.getMatchingRoom().getType() == MatchingRoom.PARTY_MATCHING && player.getMatchingRoom().getLeader() == player;
_isFlying = player.isInFlyingTransform();
}
@Override
protected final void writeImpl()
{
Player activeChar = getClient().getActiveChar();
if(activeChar == null)
return;
if(_objId == 0){ return; }
if(activeChar.getObjectId() == _objId)
{
_log.error("You cant send CharInfo about his character to active user!!!");
return;
}
writeC(0x31);
writeD(_loc.x);
writeD(_loc.y);
writeD(_loc.z + Config.CLIENT_Z_SHIFT);
writeD(_clanBoatObjectId);
writeD(_objId);
writeS(_name);
writeD(_race);
writeD(_sex);
writeD(base_class);
for(int PAPERDOLL_ID : PAPERDOLL_ORDER)
writeD(_inv[PAPERDOLL_ID][0]);
for(int PAPERDOLL_ID : PAPERDOLL_ORDER)
{
writeH(_inv[PAPERDOLL_ID][1]);
writeH(0x00);
}
writeD(0x00); //TODO talisman count(VISTALL)
writeD(0x00); //TODO cloak status(VISTALL)
writeD(pvp_flag);
writeD(karma);
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(_mAtkSpd);
writeD(_pAtkSpd);
writeD(0x00);
writeD(_runSpd);
writeD(_walkSpd);
writeD(_swimRunSpd);
writeD(_swimWalkSpd);
writeD(_flRunSpd);
writeD(_flWalkSpd);
writeD(_flyRunSpd);
writeD(_flyWalkSpd);
writeF(speed_move); // _cha.getProperMultiplier()
writeF(speed_atack); // _cha.getAttackSpeedMultiplier()
writeF(col_radius);
writeF(col_height);
writeD(hair_style);
writeD(hair_color);
writeD(face);
writeS(_title);
writeD(clan_id);
writeD(clan_crest_id);
writeD(ally_id);
writeD(ally_crest_id);
writeC(_sit);
writeC(_run);
writeC(_combat);
writeC(_dead);
writeC(0x00); // is invisible
writeC(mount_type); // 1-on Strider, 2-on Wyvern, 3-on Great Wolf, 0-no mount
writeC(private_store);
writeH(cubics.length);
for(EffectCubic cubic : cubics)
writeH(cubic == null ? 0 : cubic.getId());
writeC(_isPartyRoomLeader ? 0x01 : 0x00); // find party members
writeC(_isFlying ? 0x02 : 0x00);
writeH(rec_have);
writeD(mount_id);
writeD(class_id);
writeD(0x00);
writeC(_enchant);
writeC(_team.ordinal()); // team circle around feet 1 = Blue, 2 = red
writeD(large_clan_crest_id);
writeC(_noble);
writeC(_hero);
writeC(_fishing);
writeD(_fishLoc.x);
writeD(_fishLoc.y);
writeD(_fishLoc.z);
writeD(_nameColor);
writeD(_loc.h);
writeD(plg_class);
writeD(pledge_type);
writeD(_title_color);
writeD(cw_level);
writeD(clan_rep_score);
writeD(_transform);
writeD(_agathion);
writeD(0x01); // T2
/*START: Структура написана от балды, чтобы соответствовать размеру пакета:*/
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeC(0x00); // TAUTI
/*END: Структура написана от балды, чтобы соответствовать размеру пакета:*/
writeD(_abnormalEffects.size());
for(int abnormalId : _abnormalEffects.toArray())
writeD(abnormalId);
writeC(0x00); // TAUTI
}
public static final int[] PAPERDOLL_ORDER =
{
Inventory.PAPERDOLL_UNDER,
Inventory.PAPERDOLL_HEAD,
Inventory.PAPERDOLL_RHAND,
Inventory.PAPERDOLL_LHAND,
Inventory.PAPERDOLL_GLOVES,
Inventory.PAPERDOLL_CHEST,
Inventory.PAPERDOLL_LEGS,
Inventory.PAPERDOLL_FEET,
Inventory.PAPERDOLL_BACK,
Inventory.PAPERDOLL_LRHAND,
Inventory.PAPERDOLL_HAIR,
Inventory.PAPERDOLL_DHAIR,
Inventory.PAPERDOLL_RBRACELET,
Inventory.PAPERDOLL_LBRACELET,
Inventory.PAPERDOLL_DECO1,
Inventory.PAPERDOLL_DECO2,
Inventory.PAPERDOLL_DECO3,
Inventory.PAPERDOLL_DECO4,
Inventory.PAPERDOLL_DECO5,
Inventory.PAPERDOLL_DECO6,
Inventory.PAPERDOLL_BELT
};
}
and then edit yourself assembly
Добавлено через 46 минут
кто нибудь, дайте структуру даток таути
Сообщений: 20
Тем: 0
Зарегистрирован: Feb 2012
Репутация:
4
Darvin Написал:
CharInfo
public class CharInfo extends L2GameServerPacket
{
private static final Logger _log = LoggerFactory.getLogger(CharInfo.class);
private int[][] _inv;
private int _mAtkSpd, _pAtkSpd;
private int _runSpd, _walkSpd, _swimRunSpd, _swimWalkSpd, _flRunSpd, _flWalkSpd, _flyRunSpd, _flyWalkSpd;
private Location _loc, _fishLoc;
private String _name, _title;
private int _objId, _race, _sex, base_class, pvp_flag, karma, rec_have;
private double speed_move, speed_atack, col_radius, col_height;
private int hair_style, hair_color, face;
private int clan_id, clan_crest_id, large_clan_crest_id, ally_id, ally_crest_id, class_id;
private int _sit, _run, _combat, _dead, private_store, _enchant;
private int _noble, _hero, _fishing, mount_type;
private int plg_class, pledge_type, clan_rep_score, cw_level, mount_id;
private int _nameColor, _title_color, _transform, _agathion, _clanBoatObjectId;
private EffectCubic[] cubics;
private boolean _isPartyRoomLeader, _isFlying;
private TeamType _team;
private TIntArrayList _abnormalEffects;
public CharInfo(Player cha)
{
this((Creature) cha);
}
public CharInfo(DecoyInstance cha)
{
this((Creature) cha);
}
public CharInfo(Creature cha)
{
if(cha == null)
{
System.out.println("CharInfo: cha is null!");
Thread.dumpStack();
return;
}
if(cha.isInvisible())
return;
if(cha.isDeleted())
return;
Player player = cha.getPlayer();
if(player == null)
return;
if(player.isInBoat())
{
_loc = player.getInBoatPosition();
if(player.isClanAirShipDriver())
{
_clanBoatObjectId = player.getBoat().getBoatId();
}
}
if(_loc == null)
_loc = cha.getLoc();
_objId = cha.getObjectId();
// Проклятое оружие и трансформации для ТВ скрывают имя и все остальные опознавательные знаки
if(player.getTransformationName() != null || (player.getReflection() == ReflectionManager.GIRAN_HARBOR || player.getReflection() == ReflectionManager.PARNASSUS) && player.getPrivateStoreType() != Player.STORE_PRIVATE_NONE)
{
_name = player.getTransformationName() != null ? player.getTransformationName() : player.getName();
_title = "";
clan_id = 0;
clan_crest_id = 0;
ally_id = 0;
ally_crest_id = 0;
large_clan_crest_id = 0;
if(player.isCursedWeaponEquipped())
cw_level = CursedWeaponsManager.getInstance().getLevel(player.getCursedWeaponEquippedId());
}
else
{
_name = player.getName();
if(player.getPrivateStoreType() != Player.STORE_PRIVATE_NONE)
_title = "";
else if(!player.isConnected())
{
_title = "NO CARRIER";
_title_color = 255;
}
else
{
_title = player.getTitle();
_title_color = player.getTitleColor();
}
Clan clan = player.getClan();
Alliance alliance = clan == null ? null : clan.getAlliance();
//
clan_id = clan == null ? 0 : clan.getClanId();
clan_crest_id = clan == null ? 0 : clan.getCrestId();
large_clan_crest_id = clan == null ? 0 : clan.getCrestLargeId();
//
ally_id = alliance == null ? 0 : alliance.getAllyId();
ally_crest_id = alliance == null ? 0 : alliance.getAllyCrestId();
cw_level = 0;
}
if(player.isMounted())
{
_enchant = 0;
mount_id = player.getMountNpcId() + 1000000;
mount_type = player.getMountType().ordinal();
}
else
{
_enchant = player.getEnchantEffect();
mount_id = 0;
mount_type = 0;
}
_inv = new int[PcInventory.PAPERDOLL_MAX][2];
for(int PAPERDOLL_ID : PAPERDOLL_ORDER)
{
_inv[PAPERDOLL_ID][0] = player.getInventory().getPaperdollItemId(PAPERDOLL_ID);
_inv[PAPERDOLL_ID][1] = player.getInventory().getPaperdollAugmentationId(PAPERDOLL_ID);
}
_mAtkSpd = player.getMAtkSpd();
_pAtkSpd = player.getPAtkSpd();
speed_move = player.getMovementSpeedMultiplier();
_runSpd = (int) (player.getRunSpeed() / speed_move);
_walkSpd = (int) (player.getWalkSpeed() / speed_move);
_flRunSpd = 0; // TODO
_flWalkSpd = 0; // TODO
if(player.isFlying())
{
_flyRunSpd = _runSpd;
_flyWalkSpd = _walkSpd;
}
else
{
_flyRunSpd = 0;
_flyWalkSpd = 0;
}
_swimRunSpd = player.getSwimRunSpeed();
_swimWalkSpd = player.getSwimWalkSpeed();
_race = player.getRace().ordinal();
_sex = player.getSex();
base_class = player.getBaseClassId();
pvp_flag = player.getPvpFlag();
karma = player.getKarma();
speed_atack = player.getAttackSpeedMultiplier();
col_radius = player.getColRadius();
col_height = player.getColHeight();
hair_style = player.getHairStyle();
hair_color = player.getHairColor();
face = player.getFace();
if(clan_id > 0 && player.getClan() != null)
clan_rep_score = player.getClan().getReputationScore();
else
clan_rep_score = 0;
_sit = player.isSitting() ? 0 : 1; // standing = 1 sitting = 0
_run = player.isRunning() ? 1 : 0; // running = 1 walking = 0
_combat = player.isInCombat() ? 1 : 0;
_dead = player.isAlikeDead() ? 1 : 0;
private_store = player.isInObserverMode() ? Player.STORE_OBSERVING_GAMES : player.getPrivateStoreType();
cubics = player.getCubics().toArray(new EffectCubic[player.getCubics().size()]);
_abnormalEffects = player.getAbnormalEffects();
rec_have = player.isGM() ? 0 : player.getRecomHave();
class_id = player.getClassId().getId();
_team = player.getTeam();
_noble = player.isNoble() ? 1 : 0; // 0x01: symbol on char menu ctrl+I
_hero = player.isHero() || player.isGM() && Config.GM_HERO_AURA ? 1 : 0; // 0x01: Hero Aura
_fishing = player.isFishing() ? 1 : 0;
_fishLoc = player.getFishLoc();
_nameColor = player.getNameColor(); // New C5
plg_class = player.getPledgeClass();
pledge_type = player.getPledgeType();
_transform = player.getTransformation();
_agathion = player.getAgathionId();
_isPartyRoomLeader = player.getMatchingRoom() != null && player.getMatchingRoom().getType() == MatchingRoom.PARTY_MATCHING && player.getMatchingRoom().getLeader() == player;
_isFlying = player.isInFlyingTransform();
}
@Override
protected final void writeImpl()
{
Player activeChar = getClient().getActiveChar();
if(activeChar == null)
return;
if(_objId == 0){ return; }
if(activeChar.getObjectId() == _objId)
{
_log.error("You cant send CharInfo about his character to active user!!!");
return;
}
writeC(0x31);
writeD(_loc.x);
writeD(_loc.y);
writeD(_loc.z + Config.CLIENT_Z_SHIFT);
writeD(_clanBoatObjectId);
writeD(_objId);
writeS(_name);
writeD(_race);
writeD(_sex);
writeD(base_class);
for(int PAPERDOLL_ID : PAPERDOLL_ORDER)
writeD(_inv[PAPERDOLL_ID][0]);
for(int PAPERDOLL_ID : PAPERDOLL_ORDER)
{
writeH(_inv[PAPERDOLL_ID][1]);
writeH(0x00);
}
writeD(0x00); //TODO talisman count(VISTALL)
writeD(0x00); //TODO cloak status(VISTALL)
writeD(pvp_flag);
writeD(karma);
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(0x00); //???
writeD(_mAtkSpd);
writeD(_pAtkSpd);
writeD(0x00);
writeD(_runSpd);
writeD(_walkSpd);
writeD(_swimRunSpd);
writeD(_swimWalkSpd);
writeD(_flRunSpd);
writeD(_flWalkSpd);
writeD(_flyRunSpd);
writeD(_flyWalkSpd);
writeF(speed_move); // _cha.getProperMultiplier()
writeF(speed_atack); // _cha.getAttackSpeedMultiplier()
writeF(col_radius);
writeF(col_height);
writeD(hair_style);
writeD(hair_color);
writeD(face);
writeS(_title);
writeD(clan_id);
writeD(clan_crest_id);
writeD(ally_id);
writeD(ally_crest_id);
writeC(_sit);
writeC(_run);
writeC(_combat);
writeC(_dead);
writeC(0x00); // is invisible
writeC(mount_type); // 1-on Strider, 2-on Wyvern, 3-on Great Wolf, 0-no mount
writeC(private_store);
writeH(cubics.length);
for(EffectCubic cubic : cubics)
writeH(cubic == null ? 0 : cubic.getId());
writeC(_isPartyRoomLeader ? 0x01 : 0x00); // find party members
writeC(_isFlying ? 0x02 : 0x00);
writeH(rec_have);
writeD(mount_id);
writeD(class_id);
writeD(0x00);
writeC(_enchant);
writeC(_team.ordinal()); // team circle around feet 1 = Blue, 2 = red
writeD(large_clan_crest_id);
writeC(_noble);
writeC(_hero);
writeC(_fishing);
writeD(_fishLoc.x);
writeD(_fishLoc.y);
writeD(_fishLoc.z);
writeD(_nameColor);
writeD(_loc.h);
writeD(plg_class);
writeD(pledge_type);
writeD(_title_color);
writeD(cw_level);
writeD(clan_rep_score);
writeD(_transform);
writeD(_agathion);
writeD(0x01); // T2
/*START: Структура написана от балды, чтобы соответствовать размеру пакета:*/
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeD(0x00); // TAUTI
writeC(0x00); // TAUTI
/*END: Структура написана от балды, чтобы соответствовать размеру пакета:*/
writeD(_abnormalEffects.size());
for(int abnormalId : _abnormalEffects.toArray())
writeD(abnormalId);
writeC(0x00); // TAUTI
}
public static final int[] PAPERDOLL_ORDER =
{
Inventory.PAPERDOLL_UNDER,
Inventory.PAPERDOLL_HEAD,
Inventory.PAPERDOLL_RHAND,
Inventory.PAPERDOLL_LHAND,
Inventory.PAPERDOLL_GLOVES,
Inventory.PAPERDOLL_CHEST,
Inventory.PAPERDOLL_LEGS,
Inventory.PAPERDOLL_FEET,
Inventory.PAPERDOLL_BACK,
Inventory.PAPERDOLL_LRHAND,
Inventory.PAPERDOLL_HAIR,
Inventory.PAPERDOLL_DHAIR,
Inventory.PAPERDOLL_RBRACELET,
Inventory.PAPERDOLL_LBRACELET,
Inventory.PAPERDOLL_DECO1,
Inventory.PAPERDOLL_DECO2,
Inventory.PAPERDOLL_DECO3,
Inventory.PAPERDOLL_DECO4,
Inventory.PAPERDOLL_DECO5,
Inventory.PAPERDOLL_DECO6,
Inventory.PAPERDOLL_BELT
};
}
and then edit yourself assembly
Добавлено через 46 минут
кто нибудь, дайте структуру даток таути
Perfect! I still need to adjust the userinfo! could send what has changed? so I will not have problems.
Спасибо всем за помощь!
Сообщений: 527
Тем: 17
Зарегистрирован: Oct 2010
Репутация:
1,919
Куда перенесли абнормалы в UserInfo?
Сообщений: 445
Тем: 46
Зарегистрирован: Oct 2011
в самый низ пакета
writeD(_abnormalEffects.size());
for(int abnormalId : _abnormalEffects.toArray())
writeD(abnormalId);
Сообщений: 527
Тем: 17
Зарегистрирован: Oct 2010
Репутация:
1,919
выше в пакете сделал ошибку видимо, буду искать.
Сообщений: 445
Тем: 46
Зарегистрирован: Oct 2011
07-01-2012, 10:56 AM
(Сообщение последний раз редактировалось: 07-01-2012, 10:57 AM Darvin.)
сымсле ошибку. у меня там всё верно написано
Добавлено через 34 секунды
или ты сделал ошибку?
Сообщений: 527
Тем: 17
Зарегистрирован: Oct 2010
Репутация:
1,919
Сообщений: 445
Тем: 46
Зарегистрирован: Oct 2011
Знающие помогите плиз. создаю макрос но онв клиенте не отображаеться, но при этом он записываеться в базу. кто виноват клиент или пакет на макрос??
|