|
Animal Tameng System |
|
|
Soteric |
14.4.2009, 23:30
|
       
Master
Сообщений: 1.377
Регистрация: 7.8.2006 Группа: Пользователи Наличность: 507
Пользователь №: 7.166

|
Нет, я ожидал что-то вроде "А... не доглядел, сейчас исправлю" (IMG: style_emoticons/default/rolleyes.gif) Странно вообще, что это не было сделано автором скрипта. Смысл в том что если ты сериализовал какой-то объект, то обязательно должен его десериализовать. Например у тебя Код // Version 14 writer.Write( (bool)m_RemoveIfUntamed ); writer.Write( (int)m_RemoveStep ); // Version 17 FS:ATS EDITS writer.Write((bool)m_IsMating); writer.Write((int)m_ABPoints); Значит в десериализации следом за Код m_RemoveIfUntamed = reader.ReadBool(); m_RemoveStep = reader.ReadInt(); должны быть десериализованы булево и целочисленное значение Код if ( version >= 17 ) { m_IsMating = reader.ReadBool(); m_ABPoints = reader.ReadInt(); ... } и так далее в том же порядке P.S. Ну вот.. быстрее сообразил, чем я пример накатал (IMG: style_emoticons/default/biggrin.gif) Сообщение отредактировал Soteric - 14.4.2009, 23:31
|
|
|
|
ReSpoT |
15.4.2009, 12:27
|

    
Группа: Пользователи Наличность: 0
Пользователь №: 11.559
Возраст: 23

|
вот что получилось Код public override void Serialize( GenericWriter writer ) { base.Serialize( writer );
writer.Write( (int) 17 ); // version
writer.Write( (int)m_CurrentAI ); writer.Write( (int)m_DefaultAI );
writer.Write( (int)m_iRangePerception ); writer.Write( (int)m_iRangeFight );
writer.Write( (int)m_iTeam );
writer.Write( (double)m_dActiveSpeed ); writer.Write( (double)m_dPassiveSpeed ); writer.Write( (double)m_dCurrentSpeed );
writer.Write( (int) m_pHome.X ); writer.Write( (int) m_pHome.Y ); writer.Write( (int) m_pHome.Z );
// Version 1 writer.Write( (int) m_iRangeHome );
int i=0;
writer.Write( (int) m_arSpellAttack.Count ); for ( i=0; i< m_arSpellAttack.Count; i++ ) { writer.Write( m_arSpellAttack[i].ToString() ); }
writer.Write( (int) m_arSpellDefense.Count ); for ( i=0; i< m_arSpellDefense.Count; i++ ) { writer.Write( m_arSpellDefense[i].ToString() ); }
// Version 2 writer.Write( (int) m_FightMode );
writer.Write( (bool) m_bControlled ); writer.Write( (Mobile) m_ControlMaster ); writer.Write( (Mobile) m_ControlTarget ); writer.Write( (Point3D) m_ControlDest ); writer.Write( (int) m_ControlOrder ); writer.Write( (double) m_dMinTameSkill ); // Removed in version 9 //writer.Write( (double) m_dMaxTameSkill ); writer.Write( (bool) m_bTamable ); writer.Write( (bool) m_bSummoned );
if ( m_bSummoned ) writer.WriteDeltaTime( m_SummonEnd );
writer.Write( (int) m_iControlSlots );
// Version 3 writer.Write( (int)m_Loyalty );
// Version 4 writer.Write( m_CurrentWayPoint );
// Verison 5 writer.Write( m_SummonMaster );
// Version 6 writer.Write( (int) m_HitsMax ); writer.Write( (int) m_StamMax ); writer.Write( (int) m_ManaMax ); writer.Write( (int) m_DamageMin ); writer.Write( (int) m_DamageMax );
// Version 7 writer.Write( (int) m_PhysicalResistance ); writer.Write( (int) m_PhysicalDamage );
writer.Write( (int) m_FireResistance ); writer.Write( (int) m_FireDamage );
writer.Write( (int) m_ColdResistance ); writer.Write( (int) m_ColdDamage );
writer.Write( (int) m_PoisonResistance ); writer.Write( (int) m_PoisonDamage );
writer.Write( (int) m_EnergyResistance ); writer.Write( (int) m_EnergyDamage );
// Version 8 writer.Write( m_Owners, true );
// Version 10 writer.Write( (bool) m_IsDeadPet ); writer.Write( (bool) m_IsBonded ); writer.Write( (DateTime) m_BondingBegin ); writer.Write( (DateTime) m_OwnerAbandonTime );
// Version 11 writer.Write( (bool) m_HasGeneratedLoot );
// Version 12 writer.Write( (bool) m_Paragon );
// Version 13 writer.Write( (bool) ( m_Friends != null && m_Friends.Count > 0 ) );
if ( m_Friends != null && m_Friends.Count > 0 ) writer.Write( m_Friends, true );
// Version 14 writer.Write( (bool)m_RemoveIfUntamed ); writer.Write( (int)m_RemoveStep );
// Version 17 FS:ATS EDITS writer.Write((bool)m_IsMating); writer.Write((int)m_ABPoints); writer.Write((int)m_Exp); writer.Write((int)m_NextLevel); writer.Write((int)m_Level); writer.Write((int)m_MaxLevel); writer.Write((bool)m_AllowMating); writer.Write((bool)m_Evolves); writer.Write((int)m_Gen); writer.Write((DateTime)m_MatingDelay); writer.Write((int)m_Form1); writer.Write((int)m_Form2); writer.Write((int)m_Form3); writer.Write((int)m_Form4); writer.Write((int)m_Form5); writer.Write((int)m_Form6); writer.Write((int)m_Form7); writer.Write((int)m_Form8); writer.Write((int)m_Form9); writer.Write((int)m_Sound1); writer.Write((int)m_Sound2); writer.Write((int)m_Sound3); writer.Write((int)m_Sound4); writer.Write((int)m_Sound5); writer.Write((int)m_Sound6); writer.Write((int)m_Sound7); writer.Write((int)m_Sound8); writer.Write((int)m_Sound9); writer.Write((bool)m_UsesForm1); writer.Write((bool)m_UsesForm2); writer.Write((bool)m_UsesForm3); writer.Write((bool)m_UsesForm4); writer.Write((bool)m_UsesForm5); writer.Write((bool)m_UsesForm6); writer.Write((bool)m_UsesForm7); writer.Write((bool)m_UsesForm8); writer.Write((bool)m_UsesForm9); writer.Write((bool)m_F0); writer.Write((bool)m_F1); writer.Write((bool)m_F2); writer.Write((bool)m_F3); writer.Write((bool)m_F4); writer.Write((bool)m_F5); writer.Write((bool)m_F6); writer.Write((bool)m_F7); writer.Write((bool)m_F8); writer.Write((bool)m_F9); writer.Write((int)m_RoarAttack); writer.Write((int)m_PetPoisonAttack); writer.Write((int)m_FireBreathAttack);
#region Mondain's Legacy version 15 writer.Write( (bool) m_Allured ); #endregion }
private static double[] m_StandardActiveSpeeds = new double[] { 0.175, 0.1, 0.15, 0.2, 0.25, 0.3, 0.4, 0.5, 0.6, 0.8 };
private static double[] m_StandardPassiveSpeeds = new double[] { 0.350, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 1.2, 1.6, 2.0 };
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader );
int version = reader.ReadInt();
m_CurrentAI = (AIType)reader.ReadInt(); m_DefaultAI = (AIType)reader.ReadInt();
m_iRangePerception = reader.ReadInt(); m_iRangeFight = reader.ReadInt();
m_iTeam = reader.ReadInt();
m_dActiveSpeed = reader.ReadDouble(); m_dPassiveSpeed = reader.ReadDouble(); m_dCurrentSpeed = reader.ReadDouble();
if ( m_iRangePerception == OldRangePerception ) m_iRangePerception = DefaultRangePerception;
m_pHome.X = reader.ReadInt(); m_pHome.Y = reader.ReadInt(); m_pHome.Z = reader.ReadInt();
if ( version >= 1 ) { m_iRangeHome = reader.ReadInt();
int i, iCount; iCount = reader.ReadInt(); for ( i=0; i< iCount; i++ ) { string str = reader.ReadString(); Type type = Type.GetType( str );
if ( type != null ) { m_arSpellAttack.Add( type ); } }
iCount = reader.ReadInt(); for ( i=0; i< iCount; i++ ) { string str = reader.ReadString(); Type type = Type.GetType( str );
if ( type != null ) { m_arSpellDefense.Add( type ); } } } else { m_iRangeHome = 0; }
if ( version >= 2 ) { m_FightMode = ( FightMode )reader.ReadInt();
m_bControlled = reader.ReadBool(); m_ControlMaster = reader.ReadMobile(); m_ControlTarget = reader.ReadMobile(); m_ControlDest = reader.ReadPoint3D(); m_ControlOrder = (OrderType) reader.ReadInt();
m_dMinTameSkill = reader.ReadDouble();
if ( version < 9 ) reader.ReadDouble();
m_bTamable = reader.ReadBool(); m_bSummoned = reader.ReadBool();
if ( m_bSummoned ) { m_SummonEnd = reader.ReadDeltaTime(); new UnsummonTimer( m_ControlMaster, this, m_SummonEnd - DateTime.Now ).Start(); }
m_iControlSlots = reader.ReadInt(); } else { m_FightMode = FightMode.Closest;
m_bControlled = false; m_ControlMaster = null; m_ControlTarget = null; m_ControlOrder = OrderType.None; }
if ( version >= 3 ) m_Loyalty = reader.ReadInt(); else m_Loyalty = MaxLoyalty; // Wonderfully Happy
if ( version >= 4 ) m_CurrentWayPoint = reader.ReadItem() as WayPoint;
if ( version >= 5 ) m_SummonMaster = reader.ReadMobile();
if ( version >= 6 ) { m_HitsMax = reader.ReadInt(); m_StamMax = reader.ReadInt(); m_ManaMax = reader.ReadInt(); m_DamageMin = reader.ReadInt(); m_DamageMax = reader.ReadInt(); }
if ( version >= 7 ) { m_PhysicalResistance = reader.ReadInt(); m_PhysicalDamage = reader.ReadInt();
m_FireResistance = reader.ReadInt(); m_FireDamage = reader.ReadInt();
m_ColdResistance = reader.ReadInt(); m_ColdDamage = reader.ReadInt();
m_PoisonResistance = reader.ReadInt(); m_PoisonDamage = reader.ReadInt();
m_EnergyResistance = reader.ReadInt(); m_EnergyDamage = reader.ReadInt(); }
if ( version >= 8 ) m_Owners = reader.ReadStrongMobileList(); else m_Owners = new List<Mobile>();
if ( version >= 10 ) { m_IsDeadPet = reader.ReadBool(); m_IsBonded = reader.ReadBool(); m_BondingBegin = reader.ReadDateTime(); m_OwnerAbandonTime = reader.ReadDateTime(); }
if ( version >= 11 ) m_HasGeneratedLoot = reader.ReadBool(); else m_HasGeneratedLoot = true;
if ( version >= 12 ) m_Paragon = reader.ReadBool(); else m_Paragon = false;
if ( version >= 13 && reader.ReadBool() ) m_Friends = reader.ReadStrongMobileList(); else if ( version < 13 && m_ControlOrder >= OrderType.Unfriend ) ++m_ControlOrder;
if ( version < 16 ) Loyalty *= 10;
double activeSpeed = m_dActiveSpeed; double passiveSpeed = m_dPassiveSpeed;
SpeedInfo.GetSpeeds( this, ref activeSpeed, ref passiveSpeed );
bool isStandardActive = false; for ( int i = 0; !isStandardActive && i < m_StandardActiveSpeeds.Length; ++i ) isStandardActive = ( m_dActiveSpeed == m_StandardActiveSpeeds[i] );
bool isStandardPassive = false; for ( int i = 0; !isStandardPassive && i < m_StandardPassiveSpeeds.Length; ++i ) isStandardPassive = ( m_dPassiveSpeed == m_StandardPassiveSpeeds[i] );
if ( isStandardActive && m_dCurrentSpeed == m_dActiveSpeed ) m_dCurrentSpeed = activeSpeed; else if ( isStandardPassive && m_dCurrentSpeed == m_dPassiveSpeed ) m_dCurrentSpeed = passiveSpeed;
if ( isStandardActive && !m_Paragon ) m_dActiveSpeed = activeSpeed;
if ( isStandardPassive && !m_Paragon ) m_dPassiveSpeed = passiveSpeed;
if ( version >= 14 ) { m_RemoveIfUntamed = reader.ReadBool(); m_RemoveStep = reader.ReadInt(); }
#region Mondain's Legacy version 15 if (version >= 17) m_Allured = reader.ReadBool(); #endregion
if (version >= 17) { m_IsMating = reader.ReadBool(); m_ABPoints = reader.ReadInt(); m_Exp = reader.ReadInt(); m_NextLevel = reader.ReadInt(); m_Level = reader.ReadInt(); m_MaxLevel = reader.ReadInt(); m_AllowMating = reader.ReadBool(); m_Evolves = reader.ReadBool(); m_Gen = reader.ReadInt(); m_MatingDelay = reader.ReadDateTime(); m_Form1 = reader.ReadInt(); m_Form2 = reader.ReadInt(); m_Form3 = reader.ReadInt(); m_Form4 = reader.ReadInt(); m_Form5 = reader.ReadInt(); m_Form6 = reader.ReadInt(); m_Form7 = reader.ReadInt(); m_Form8 = reader.ReadInt(); m_Form9 = reader.ReadInt(); m_Sound1 = reader.ReadInt(); m_Sound2 = reader.ReadInt(); m_Sound3 = reader.ReadInt(); m_Sound4 = reader.ReadInt(); m_Sound5 = reader.ReadInt(); m_Sound6 = reader.ReadInt(); m_Sound7 = reader.ReadInt(); m_Sound8 = reader.ReadInt(); m_Sound9 = reader.ReadInt(); m_UsesForm1 = reader.ReadBool(); m_UsesForm2 = reader.ReadBool(); m_UsesForm3 = reader.ReadBool(); m_UsesForm4 = reader.ReadBool(); m_UsesForm5 = reader.ReadBool(); m_UsesForm6 = reader.ReadBool(); m_UsesForm7 = reader.ReadBool(); m_UsesForm8 = reader.ReadBool(); m_UsesForm9 = reader.ReadBool(); m_F0 = reader.ReadBool(); m_F1 = reader.ReadBool(); m_F2 = reader.ReadBool(); m_F3 = reader.ReadBool(); m_F4 = reader.ReadBool(); m_F5 = reader.ReadBool(); m_F6 = reader.ReadBool(); m_F7 = reader.ReadBool(); m_F8 = reader.ReadBool(); m_F9 = reader.ReadBool(); m_RoarAttack = reader.ReadInt(); m_PetPoisonAttack = reader.ReadInt(); m_FireBreathAttack = reader.ReadInt(); }
if( version <= 14 && m_Paragon && Hue == 0x31 ) { Hue = Paragon.Hue; //Paragon hue fixed, should now be 0x501. }
CheckStatTimers();
ChangeAIType(m_CurrentAI);
AddFollowers();
if ( IsAnimatedDead ) Spells.Necromancy.AnimateDeadSpell.Register( m_SummonMaster, this ); }
|
|
|
|
ReSpoT |
15.4.2009, 17:21
|

    
Группа: Пользователи Наличность: 0
Пользователь №: 11.559
Возраст: 23

|
можете конкретно сказать вот тут в чем ошибка и как ее исправить сериализация/десиарилизация Код public override void Serialize( GenericWriter writer ) { base.Serialize( writer );
writer.Write( (int) 17 ); // version
writer.Write( (int)m_CurrentAI ); writer.Write( (int)m_DefaultAI );
writer.Write( (int)m_iRangePerception ); writer.Write( (int)m_iRangeFight );
writer.Write( (int)m_iTeam );
writer.Write( (double)m_dActiveSpeed ); writer.Write( (double)m_dPassiveSpeed ); writer.Write( (double)m_dCurrentSpeed );
writer.Write( (int) m_pHome.X ); writer.Write( (int) m_pHome.Y ); writer.Write( (int) m_pHome.Z );
// Version 1 writer.Write( (int) m_iRangeHome );
int i=0;
writer.Write( (int) m_arSpellAttack.Count ); for ( i=0; i< m_arSpellAttack.Count; i++ ) { writer.Write( m_arSpellAttack[i].ToString() ); }
writer.Write( (int) m_arSpellDefense.Count ); for ( i=0; i< m_arSpellDefense.Count; i++ ) { writer.Write( m_arSpellDefense[i].ToString() ); }
// Version 2 writer.Write( (int) m_FightMode );
writer.Write( (bool) m_bControlled ); writer.Write( (Mobile) m_ControlMaster ); writer.Write( (Mobile) m_ControlTarget ); writer.Write( (Point3D) m_ControlDest ); writer.Write( (int) m_ControlOrder ); writer.Write( (double) m_dMinTameSkill ); // Removed in version 9 //writer.Write( (double) m_dMaxTameSkill ); writer.Write( (bool) m_bTamable ); writer.Write( (bool) m_bSummoned );
if ( m_bSummoned ) writer.WriteDeltaTime( m_SummonEnd );
writer.Write( (int) m_iControlSlots );
// Version 3 writer.Write( (int)m_Loyalty );
// Version 4 writer.Write( m_CurrentWayPoint );
// Verison 5 writer.Write( m_SummonMaster );
// Version 6 writer.Write( (int) m_HitsMax ); writer.Write( (int) m_StamMax ); writer.Write( (int) m_ManaMax ); writer.Write( (int) m_DamageMin ); writer.Write( (int) m_DamageMax );
// Version 7 writer.Write( (int) m_PhysicalResistance ); writer.Write( (int) m_PhysicalDamage );
writer.Write( (int) m_FireResistance ); writer.Write( (int) m_FireDamage );
writer.Write( (int) m_ColdResistance ); writer.Write( (int) m_ColdDamage );
writer.Write( (int) m_PoisonResistance ); writer.Write( (int) m_PoisonDamage );
writer.Write( (int) m_EnergyResistance ); writer.Write( (int) m_EnergyDamage );
// Version 8 writer.Write( m_Owners, true );
// Version 10 writer.Write( (bool) m_IsDeadPet ); writer.Write( (bool) m_IsBonded ); writer.Write( (DateTime) m_BondingBegin ); writer.Write( (DateTime) m_OwnerAbandonTime );
// Version 11 writer.Write( (bool) m_HasGeneratedLoot );
// Version 12 writer.Write( (bool) m_Paragon );
// Version 13 writer.Write( (bool) ( m_Friends != null && m_Friends.Count > 0 ) );
if ( m_Friends != null && m_Friends.Count > 0 ) writer.Write( m_Friends, true );
// Version 14 writer.Write( (bool)m_RemoveIfUntamed ); writer.Write( (int)m_RemoveStep );
// Version 17 FS:ATS EDITS writer.Write((bool)m_IsMating); writer.Write((int)m_ABPoints); writer.Write((int)m_Exp); writer.Write((int)m_NextLevel); writer.Write((int)m_Level); writer.Write((int)m_MaxLevel); writer.Write((bool)m_AllowMating); writer.Write((bool)m_Evolves); writer.Write((int)m_Gen); writer.Write((DateTime)m_MatingDelay); writer.Write((int)m_Form1); writer.Write((int)m_Form2); writer.Write((int)m_Form3); writer.Write((int)m_Form4); writer.Write((int)m_Form5); writer.Write((int)m_Form6); writer.Write((int)m_Form7); writer.Write((int)m_Form8); writer.Write((int)m_Form9); writer.Write((int)m_Sound1); writer.Write((int)m_Sound2); writer.Write((int)m_Sound3); writer.Write((int)m_Sound4); writer.Write((int)m_Sound5); writer.Write((int)m_Sound6); writer.Write((int)m_Sound7); writer.Write((int)m_Sound8); writer.Write((int)m_Sound9); writer.Write((bool)m_UsesForm1); writer.Write((bool)m_UsesForm2); writer.Write((bool)m_UsesForm3); writer.Write((bool)m_UsesForm4); writer.Write((bool)m_UsesForm5); writer.Write((bool)m_UsesForm6); writer.Write((bool)m_UsesForm7); writer.Write((bool)m_UsesForm8); writer.Write((bool)m_UsesForm9); writer.Write((bool)m_F0); writer.Write((bool)m_F1); writer.Write((bool)m_F2); writer.Write((bool)m_F3); writer.Write((bool)m_F4); writer.Write((bool)m_F5); writer.Write((bool)m_F6); writer.Write((bool)m_F7); writer.Write((bool)m_F8); writer.Write((bool)m_F9); writer.Write((int)m_RoarAttack); writer.Write((int)m_PetPoisonAttack); writer.Write((int)m_FireBreathAttack);
#region Mondain's Legacy version 15 writer.Write( (bool) m_Allured ); #endregion }
private static double[] m_StandardActiveSpeeds = new double[] { 0.175, 0.1, 0.15, 0.2, 0.25, 0.3, 0.4, 0.5, 0.6, 0.8 };
private static double[] m_StandardPassiveSpeeds = new double[] { 0.350, 0.2, 0.4, 0.5, 0.6, 0.8, 1.0, 1.2, 1.6, 2.0 };
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader );
int version = reader.ReadInt();
m_CurrentAI = (AIType)reader.ReadInt(); m_DefaultAI = (AIType)reader.ReadInt();
m_iRangePerception = reader.ReadInt(); m_iRangeFight = reader.ReadInt();
m_iTeam = reader.ReadInt();
m_dActiveSpeed = reader.ReadDouble(); m_dPassiveSpeed = reader.ReadDouble(); m_dCurrentSpeed = reader.ReadDouble();
if ( m_iRangePerception == OldRangePerception ) m_iRangePerception = DefaultRangePerception;
m_pHome.X = reader.ReadInt(); m_pHome.Y = reader.ReadInt(); m_pHome.Z = reader.ReadInt();
if ( version >= 1 ) { m_iRangeHome = reader.ReadInt();
int i, iCount; iCount = reader.ReadInt(); for ( i=0; i< iCount; i++ ) { string str = reader.ReadString(); Type type = Type.GetType( str );
if ( type != null ) { m_arSpellAttack.Add( type ); } }
iCount = reader.ReadInt(); for ( i=0; i< iCount; i++ ) { string str = reader.ReadString(); Type type = Type.GetType( str );
if ( type != null ) { m_arSpellDefense.Add( type ); } } } else { m_iRangeHome = 0; }
if ( version >= 2 ) { m_FightMode = ( FightMode )reader.ReadInt();
m_bControlled = reader.ReadBool(); m_ControlMaster = reader.ReadMobile(); m_ControlTarget = reader.ReadMobile(); m_ControlDest = reader.ReadPoint3D(); m_ControlOrder = (OrderType) reader.ReadInt();
m_dMinTameSkill = reader.ReadDouble();
if ( version < 9 ) reader.ReadDouble();
m_bTamable = reader.ReadBool(); m_bSummoned = reader.ReadBool();
if ( m_bSummoned ) { m_SummonEnd = reader.ReadDeltaTime(); new UnsummonTimer( m_ControlMaster, this, m_SummonEnd - DateTime.Now ).Start(); }
m_iControlSlots = reader.ReadInt(); } else { m_FightMode = FightMode.Closest;
m_bControlled = false; m_ControlMaster = null; m_ControlTarget = null; m_ControlOrder = OrderType.None; }
if ( version >= 3 ) m_Loyalty = reader.ReadInt(); else m_Loyalty = MaxLoyalty; // Wonderfully Happy
if ( version >= 4 ) m_CurrentWayPoint = reader.ReadItem() as WayPoint;
if ( version >= 5 ) m_SummonMaster = reader.ReadMobile();
if ( version >= 6 ) { m_HitsMax = reader.ReadInt(); m_StamMax = reader.ReadInt(); m_ManaMax = reader.ReadInt(); m_DamageMin = reader.ReadInt(); m_DamageMax = reader.ReadInt(); }
if ( version >= 7 ) { m_PhysicalResistance = reader.ReadInt(); m_PhysicalDamage = reader.ReadInt();
m_FireResistance = reader.ReadInt(); m_FireDamage = reader.ReadInt();
m_ColdResistance = reader.ReadInt(); m_ColdDamage = reader.ReadInt();
m_PoisonResistance = reader.ReadInt(); m_PoisonDamage = reader.ReadInt();
m_EnergyResistance = reader.ReadInt(); m_EnergyDamage = reader.ReadInt(); }
if ( version >= 8 ) m_Owners = reader.ReadStrongMobileList(); else m_Owners = new List<Mobile>();
if ( version >= 10 ) { m_IsDeadPet = reader.ReadBool(); m_IsBonded = reader.ReadBool(); m_BondingBegin = reader.ReadDateTime(); m_OwnerAbandonTime = reader.ReadDateTime(); }
if ( version >= 11 ) m_HasGeneratedLoot = reader.ReadBool(); else m_HasGeneratedLoot = true;
if ( version >= 12 ) m_Paragon = reader.ReadBool(); else m_Paragon = false;
if ( version >= 13 && reader.ReadBool() ) m_Friends = reader.ReadStrongMobileList(); else if ( version < 13 && m_ControlOrder >= OrderType.Unfriend ) ++m_ControlOrder;
if ( version < 16 ) Loyalty *= 10;
double activeSpeed = m_dActiveSpeed; double passiveSpeed = m_dPassiveSpeed;
SpeedInfo.GetSpeeds( this, ref activeSpeed, ref passiveSpeed );
bool isStandardActive = false; for ( int i = 0; !isStandardActive && i < m_StandardActiveSpeeds.Length; ++i ) isStandardActive = ( m_dActiveSpeed == m_StandardActiveSpeeds[i] );
bool isStandardPassive = false; for ( int i = 0; !isStandardPassive && i < m_StandardPassiveSpeeds.Length; ++i ) isStandardPassive = ( m_dPassiveSpeed == m_StandardPassiveSpeeds[i] );
if ( isStandardActive && m_dCurrentSpeed == m_dActiveSpeed ) m_dCurrentSpeed = activeSpeed; else if ( isStandardPassive && m_dCurrentSpeed == m_dPassiveSpeed ) m_dCurrentSpeed = passiveSpeed;
if ( isStandardActive && !m_Paragon ) m_dActiveSpeed = activeSpeed;
if ( isStandardPassive && !m_Paragon ) m_dPassiveSpeed = passiveSpeed;
if ( version >= 14 ) { m_RemoveIfUntamed = reader.ReadBool(); m_RemoveStep = reader.ReadInt(); }
if (version >= 17) { m_IsMating = reader.ReadBool(); m_ABPoints = reader.ReadInt(); m_Exp = reader.ReadInt(); m_NextLevel = reader.ReadInt(); m_Level = reader.ReadInt(); m_MaxLevel = reader.ReadInt(); m_AllowMating = reader.ReadBool(); m_Evolves = reader.ReadBool(); m_Gen = reader.ReadInt(); m_MatingDelay = reader.ReadDateTime(); m_Form1 = reader.ReadInt(); m_Form2 = reader.ReadInt(); m_Form3 = reader.ReadInt(); m_Form4 = reader.ReadInt(); m_Form5 = reader.ReadInt(); m_Form6 = reader.ReadInt(); m_Form7 = reader.ReadInt(); m_Form8 = reader.ReadInt(); m_Form9 = reader.ReadInt(); m_Sound1 = reader.ReadInt(); m_Sound2 = reader.ReadInt(); m_Sound3 = reader.ReadInt(); m_Sound4 = reader.ReadInt(); m_Sound5 = reader.ReadInt(); m_Sound6 = reader.ReadInt(); m_Sound7 = reader.ReadInt(); m_Sound8 = reader.ReadInt(); m_Sound9 = reader.ReadInt(); m_UsesForm1 = reader.ReadBool(); m_UsesForm2 = reader.ReadBool(); m_UsesForm3 = reader.ReadBool(); m_UsesForm4 = reader.ReadBool(); m_UsesForm5 = reader.ReadBool(); m_UsesForm6 = reader.ReadBool(); m_UsesForm7 = reader.ReadBool(); m_UsesForm8 = reader.ReadBool(); m_UsesForm9 = reader.ReadBool(); m_F0 = reader.ReadBool(); m_F1 = reader.ReadBool(); m_F2 = reader.ReadBool(); m_F3 = reader.ReadBool(); m_F4 = reader.ReadBool(); m_F5 = reader.ReadBool(); m_F6 = reader.ReadBool(); m_F7 = reader.ReadBool(); m_F8 = reader.ReadBool(); m_F9 = reader.ReadBool(); m_RoarAttack = reader.ReadInt(); m_PetPoisonAttack = reader.ReadInt(); m_FireBreathAttack = reader.ReadInt(); } #region Mondain's Legacy version 15 if (version >= 17) m_Allured = reader.ReadBool(); #endregion
if( version <= 14 && m_Paragon && Hue == 0x31 ) { Hue = Paragon.Hue; //Paragon hue fixed, should now be 0x501. }
CheckStatTimers();
ChangeAIType(m_CurrentAI);
AddFollowers();
if ( IsAnimatedDead ) Spells.Necromancy.AnimateDeadSpell.Register( m_SummonMaster, this ); }
|
|
|
|
ReSpoT |
17.4.2009, 1:26
|

    
Группа: Пользователи Наличность: 0
Пользователь №: 11.559
Возраст: 23

|
Откатил все скрипты до исходного состояния, сейвы тоже вставил примерно тогоже состояния, но теперь есть проблема : делит много вещей, причем как было сказано выше удаляюца произовольно, у одного чара пропала токуновская шапка, сережки (с моба выбитые) и рукава (тоже с моба выбитые), у другого почти все вещи. Еще некоторые предметы "есть, но их нету", например админским чаром я вижу на чаре шапку, но у чара она лежит в бакпаке и одеть он ее не может (также как и любую другую, пробовал ее удалить, но одеть что-нибудь другое также нельзя), если чара убить, потом реснуть, то та шапка окажеца одетая на нем. вот както так получилось. Почему? Изза чего ? и как ?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|