Aile Sistemi v1.0 [Runuo 1.0]

Yazan Orhan KALAYCI Tarih 22 October 2008 | 8 Yorum

Evet, Ilk Yazi Bu, Bu Konuda Yazacagimi Tahmin Etmezdim Ama Yaziyorum i$te neyse Uzun Lafin Kisasi, Kendi Geli$tirdigim Bir Aile Scripti, Alin Kullanin Anasini Satayim, Gik Dersem Namerdim,

[Burdan Indirip Serverda Denedim Hicbir Sorun Yok gayet Guzel Cali$iyor, Guncel Surumu Indirip Ayarlari Tam Yaparsaniz Cali$acaktir]

Burdan Buyrun, [ Yeni Versiyon Buglar Fixlendi, Yeni Komutlar Eklendi ]

PlayerMobile.cs De Yapilacak ayarlamalar:

[CommandProperty( AccessLevel.GameMaster )]
public bool PublicMyRunUO
{
get{ return GetFlag( PlayerFlag.PublicMyRunUO ); }
set{ SetFlag( PlayerFlag.PublicMyRunUO, value );
InvalidateMyRunUO();
}
// Yukardaki Satiri Bulup Altina :
private ArrayList pFamilyMembers;
[CommandProperty(AccessLevel.GameMaster)]
public ArrayList FamilyMembers
{
get { return pFamilyMembers; }
set { pFamilyMembers = value; }
}

private FamilyEars pFamilyEars;
[CommandProperty( AccessLevel.GameMaster)]
public FamilyEars FamilyEars
{
get { return pFamilyEars; }
set { pFamilyEars = value; InvalidateProperties(); }
}

private string pFamilyName;
[CommandProperty(AccessLevel.GameMaster)]
public string FamilyName
{
get { return pFamilyName; }
set { pFamilyName = value; InvalidateProperties(); }
}

private bool pHaveFamily;
[CommandProperty(AccessLevel.GameMaster)]
public bool HaveFamily
{
get { return pHaveFamily; }
set { pHaveFamily = value; InvalidateProperties(); }
}

private bool pIsFamilyLeader;
[CommandProperty(AccessLevel.GameMaster)]
public bool IsFamilyLeader
{
get { return pIsFamilyLeader; }
set { pIsFamilyLeader = value; InvalidateProperties(); }
}

//Bu Satirlari Ekliyoruz,

Ardindan PlayerMobile in 2 Constructor ini (serialize ve normal) $u $ekilde Degi$tiriyoruz:

public PlayerMobile( Serial s ) : base( s )
{
m_VisList = new ArrayList();
pFamilyMembers = new ArrayList(); // Eklenecek Satir..
m_AntiMacroTable = new Hashtable();
InvalidateMyRunUO();
}
public PlayerMobile()
{
m_VisList = new ArrayList();
pFamilyMembers = new ArrayList(); // Eklenecek satir.
m_PermaFlags = new ArrayList();
m_AntiMacroTable = new Hashtable();
m_BOBFilter = new Engines.BulkOrders.BOBFilter();
m_GameTime = TimeSpan.Zero;
m_ShortTermElapse = TimeSpan.FromHours( 8.0 );
m_LongTermElapse = TimeSpan.FromHours( 40.0 );
m_JusticeProtectors = new ArrayList();
InvalidateMyRunUO();
}

//EGER Ailesi Olmayan Playerlarin Soy Adini Silmek Istiyorsaniz
//PlayerMobile.cs Nin Icinde OnLogin Methodunun Icine:

PlayerMobile Player = (PlayerMobile)e.Mobile;
if (!Player.HaveFamily && Player.FamilyEars == null
&& Player.FamilyName == null)
{
string[] NameArray = Player.Name.Split(' ');
Player.Name = NameArray[0];
}

//Satirlarini Eklemeniz Yeterli Olacaktir.

//Bunlari Ekledikten Sora Serialize
//ve Deserialize Methodlarinda
//Duzeltme yapmaya geldi sira:

public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 19 ); // Burdaki 19 Artik Kac //Ise 1 Artiracaksiniz... Ve Altina
writer.Write((FamilyEars)pFamilyEars);
writer.Write(pIsFamilyLeader);
writer.Write(pFamilyName);
writer.Write(pHaveFamily);
//Satirlarini Ekleyeceksiniz..
//Sorasinda DeSerialize Methodu..
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
switch ( version )
{
// Bunlari Ekliyeceksiniz..
case 19: // 19 Yukariya Yazdiginiz Versiyon...
{
pFamilyEars = reader.ReadItem() as FamilyEars;
pIsFamilyLeader = reader.ReadBool();
pFamilyName = reader.ReadString();
pHaveFamily = reader.ReadBool();
goto case 18;
// Bir Alt Satir Olmasi Lazim Yani Versiyon 20 ise
// sizin GoTo 19 yapmaniz Gerek.
}
// Burda Yukariya yazdiginiz Versiyonun 1 Eksigi Olacak
Case 18: // Bir Alt Versiyon......
}
}

PlayerMobile ida Duzelttiginizde Indirdiginiz Dosyalari Direkt Olarak Scripts Klasorune Acin Ve Server a Restart Atin..
[AileKur: Aile Kurmaniz Icin Gereken Komut : 500k Dir
[AileyeDavet: Ba$ka Bir Playeri Aileye Davet Etmek Icin Gerekli Olan Komut( Aileye Girecek Karakterin Bankasinda 50k Olmalidir)
[AileOnline: O An Oyunda Olan Aile Uyelerinin Listesini Gormenizi Saglar.
[AiledenAt: Aile Reisi Iseniz Aile Uyelerini Aileden Atmaya Yarar.
[AileChat: Ailedeki online Playerlara Mesaj Gonderimi Saglar
[AileAyril: Aileden Ayrilmanizi Saglar ( Kupeniz Silinir Soyadiniz Silinir ) Ayrica Aile Reisi Iseniz Aile Dagilir Ve Tum Uyelerin Soyadlari Ve Kupeleri Silinir. Ek Bir Komut:

[DeleteLastNames Soyad: Soyad Parametresine Girilen Soyad A Sahip Ki$ilerin Soyadlarini Siler. Hadi Kolay Gelsin…



Yorumlar (8)

 

  1. Önder says:

    Eline sağlık. .

  2. Teşekkürler Güle Güle Kullanın.

  3. Eraser says:

    Öncelikle eline sağlık fakat bi sorun var scrptte yada bende chras yedi :(

  4. Eğer Crash Log u atarsan buraya yardımcı olabilirm

  5. Eraser says:

    e-mail adresini yazabilirmisin, *

  6. İletişim sayfasında var :)

  7. Eraser says:

    yada ben size buradan yazayım

    [code]Server Crash Report
    ===================

    RunUO Version 1.0.0, Build 36918
    Operating System: Microsoft Windows NT 5.1.2600.0
    .NET Framework: 1.1.4322.2407
    Time: 01.07.2009 12:10:06
    Mobiles: 952
    Items: 76680
    Clients:
    - Count: 1
    + 5.116.109.231: (account = Admin) (mobile = 0x3 'Eric CAN')

    Exception:
    System.NullReferenceException: Object reference not set to an instance of an object.
    at Server.Gumps.FamilyCreateGump.OnResponse(NetState sender, RelayInfo info)
    at Server.Network.PacketHandlers.DisplayGumpResponse(NetState state, PacketReader pvSrc)
    at Server.Network.MessagePump.HandleReceive(NetState ns)
    at Server.Network.MessagePump.Slice()
    at Server.Core.Main(String[] args)
    [/code]

  8. Abacus says:

    NGU dada bu scripti görmek dileğiyle

Yorum Yapın



Etiket Bulutu

Son Konular