Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor. Türkiye'nin en eski ve aktif online oyun platformu, Ultima Online, Counter-Strike ve diğer online oyunlar hakkında Türkçe haber, bilgi ve forum sunuyor.
  • ANASAYFA
  • ULTIMA ONLINE
    • Ultima Online Oyuncu Rehberi

      Ultima Online Oyuncu Rehberi

      Oyunu hakkında tanıcı bilgiler ve ipuçları

    • Ultima Online Server List

      Ultima Online Server List

      Önemli özellikleri ve online oyuncu sayıları

    • Ultima Online Script

      Ultima Online Script

      Sphere, RunUO, Razor scriptleri

    • Ultima Online Forum

      Ultima Online Forum

      UO hakkında görüş alışverişi

  • FORUM
  • DOKÜMAN
  • İNDİR
  • DISCORD 56
   Üye ol    Giriş
145
  1. UO Scriptleri
  2. Sphere Scripts
  3. Items
  4. klasik aile sistemi v1.0
Slothere

klasik aile sistemi v1.0

  • Slothere
  • 2009-07-29 18:39
  • 0 Yorumlar
  • 1689 Görüntüleme
[comment aile_sistemi]
yazan: Slothere
tarih: 29/07/2009
version: 056b+
-------------------------
Kullanımı:
- Sistemin kullanımda ihtiyaç duyduğu tek ve en önemli şey karakterlerin başlangıçta bir soy ismi olmamasıdır. Bunu engellemek için "f_onchar_create" altında kullanmanız amaçlı f_isim_duzenle isimli fonksiyon da size sistem ile birlikte verilmiştir.
- def.maxuye bölümünden ailenin alacağı max. üye sayısını belirleyebilirsiniz.
- sistem aile isimlerini tesciller. tekrar alınan soy ismi bir daha alınamaz.
- şu an default olarak üye alım ücreti 50.000gp olarak belirlendi. scriptte ilgili kısımlar değiştirilecek güncellenebilir.
-------------------------


[defname aile_sistemi]
maxuye 50 // ailenin alabilecegi max. üye sayısı.

// * fonksiyonlar

[function f_isim_duzenle]
local.isim = <strarg <strtoupper(<strsub 0 1 <src.name>>)><strtolower(<strsub 1 15 <src.name>>)>>
src.name <local.isim>
src.sysmessage @1153 isminiz <local.isim> olarak tekrar duzenlendi.

[function f_isim_kontrolu]
local.num = 0
for 0 <eval (strlen(<args>)) -1>
if !strmatch('[abcdefghijklmnoprstuvyz']','<strsub <dlocal._for> 1 <args>>')
local.num ++
endif
endfor
return <local.num>

[function f_soyadi_kontrolu]
for 0 <eval (<serv.accounts>) -1>
if (<serv.account.<dlocal._for>>)
for x 0 <eval (<serv.account.<dlocal._for>.chars>) -1>
local.soyad = <streat <serv.account.<dlocal._for>.char.<dlocal.x>.name>>
if !strcmpi('<local.soyad>','<args>')
local.return ++
endif
endfor
endif
endfor
return <dlocal.return>

[function f_yeniuye]
ref1 = <args>
if (<argo> == <src>)
src.sysmessage @1153 kendinizi secemezsiniz.
elif !(<argo.isplayer>) || (<argo.isgm>) || (<argo.isitem>)
src.sysmessage @1153 sadece oyunculari secebilirsiniz.
elif strcmpi('<argo.tag.soyad>','')
src.sysmessage @1153 <argo.name>, <argo.tag0.soyad> ailesine kayitli
elif (<argo.isdialogopen d_uye_kayidi>)
src.sysmessage @1153 <argo.name> baska bir aile teklifi almis.
elif (<argo.gold> < 50000)
src.sysmessage @1153 <argo.name>'in uzerinde yeterli altin bulunmuyor (50.000gp)
elif (<eval <ref1.f_uyesayisi_kontrolu>> < 1)
src.sysmessage @1153 ailenizde bos yer kalmamis.
else
trysrc <argo> sdialog d_uye_kayidi,0,<args>,<src>
src.sysmessage @1153 teklif yapildi, cevap bekleniyor.
endif
return 1

[function f_uyesayisi_kontrolu]
for <eval <def.maxuye>> 0
if !strcmpi('<tag.uye<dlocal._for>>','')
local.bos = <dlocal._for>
endif
endif
return <dlocal.bos>

// * //


// * eşyalar

[itemdef i_aile_belgesi]
id = i_deed
type = t_script
value = 52356
name = aile belgesi
weight = 2

on=@create
color = 0455
attr = attr_newbie

on=@dclick
if (<topobj> != <src>)
src.sysmessage @1153 bunu sadece uzerinizdeyken kullanabilirsiniz.
elif strcmpi('<src.tag.soyad>','')
src.sysmessage @1153 <src.tag0.soyad> ailesine kayitlisiniz.
elif (<src.isdialogopen d_aile_kurulum>)
src.sysmessage @1153 aktif islemi bitirmeden kullanamazsiniz.
else
sdialog d_aile_kurulum
endif
return 1

[dialog d_aile_kurulum]
0,0
nomove

resizepic 50 50 5054 300 150
dtext 132 75 1152 Aile Kurulum Menusu
resizepic 100 110 3000 200 22
dtextentry 110 110 170 20 1152 0 <var.blank>
button 100 150 4005 4007 1 0 1
dtext 132 150 1152 Tamam

[dialog d_aile_kurulum button]
on = 1
if strlen(<argtxt[0]>) < 3 || strlen(<argtxt[0]>) > 15
src.sysmessage @1153 soy ismi en az 3, en fazla 15 karakterden olusmalidir.
elif (<f_isim_kontrolu <argtxt[0]>> > 0)
src.sysmessage @1153 soy isminizde gecersiz karakterler bulunuyor.
elif (<f_soyadi_kontrolu <argtxt[0]>> > 0)
src.sysmessage @1153 <argtxt[0]> ailesi kayitli durumda.
else
local.isim <strarg <src.name>>
local.soyisim <strtoupper(<strsub 0 1 <argtxt[0]>>)><strtolower(<strsub 1 15 <argtxt[0]>>)>
src.name <local.isim> <local.soyisim>
src.tag.soyad <argtxt[0]>
serv.newitem i_reis_kolyesi,1,<src>
new.link <src>
new.tag.uye0 <src>
new.tag.uyeler 1
src.equip <new>
src.tag.kolye = <new>
serv.b @1153,1,1 <local.soyisim> ailesi, <local.isim> tarafindan kuruldu.
remove
endif
return 1

[itemdef i_reis_kolyesi]
id = i_necklace_gold
type = t_jewelry
value = 0
weight = 0
name = aile kolyesi

on=@create
color = 1153
attr = attr_newbie

on=@click
message @1153 [<link.tag0.soyad> Aile Reisi]
message @1153 <link.name>
return 1

on=@dclick
if (<link> == <src>) && (<topobj> == <src>)
sdialog d_aile_kontrolu,0,0
endif

[itemdef i_uye_kolyesi]
id = i_necklace_gold
type = t_jewelry
value = 0
weight = 0
name = aile kolyesi

on=@create
color = 1153
attr = attr_newbie

on=@click
message @1153 [<link.tag0.soyad> Aile Uyesi]
message @1153 <link.name>
return 1

on=@dclick
if (<link> == <src>) && (<topobj> == <src>)
ref1 = <more1>
ref1.sdialog d_uye_menusu,0,0
endif

// * //

[dialog d_uye_menusu]
0,0

src.ctag.siralama = <argv[0]>
resizepic 20 50 5054 250 300
resizepic 30 60 3000 230 280
button 240 315 015e1 015e5 1 0 1
button 210 315 015e3 015e7 1 0 2
resizepic 20 350 5054 250 70
resizepic 30 360 3000 230 50
button 65 375 4005 4007 1 0 3
dtext 100 375 1000 Aileden Ayril
dorigin 60 60
for <eval (<src.ctag0.siralama>)> <eval (<src.ctag0.siralama> + 10)>
if strcmpi('<tag.uye<dlocal._for>>','')
ref2 = <tag.uye<dlocal._for>>
dtext +0 *20 <qval (<ref2.isonline>) ? 040 : 025> <ref2.name>
endif
endfor

[dialog d_uye_menusu button]
on = 0
src.ctag0.siralama =

on = 1 2
ref1 = <uid>
if <dargn> == 1
src.ctag.siralama +=10
else
if (<src.dctag0.siralama> > 0)
src.ctag.siralama -=10
endif
endif
ref1.sdialog d_uye_menusu,0,<src.dctag0.siralama>,<src.ctag0.aile>
return 1

on = 3
ref1 = <uid>
ref1.sdialog d_cikart,3,0
return 1

[dialog d_aile_kontrolu]
0,0
nomove

src.ctag.siralama = <dargv[0]>
page 0
resizepic 20 50 5054 250 170
resizepic 30 60 3000 230 150
dhtmlgump 50 70 200 20 0 0 <link.tag0.soyad> Aile Menusu (<dtag0.uyeler>/<eval <def.maxuye>> uye)
button 65 100 4005 4007 0 2 0
dtext 105 100 1000 Uyeleri Yonet
button 65 120 4005 4006 1 0 902
dtext 105 120 1000 Yeni Uye Al
button 65 140 4005 4006 1 0 904
dtext 105 140 1000 Aileyi Dagit

page 2
resizepic 20 220 5054 250 300
resizepic 30 230 3000 230 280
button 240 490 015e1 015e5 1 0 900
button 210 490 015e3 015e7 1 0 901
dorigin 100 220
for <eval (<src.ctag0.siralama>)> <eval (<src.ctag0.siralama> + 10)>
if strcmpi('<tag.uye<dlocal._for>>','')
ref1 = <tag.uye<dlocal._for>>
dtext +0 *20 <qval (<ref1.isonline>) ? 040 : 025> <ref1.name>
button -35 *0 0FA2 0FA4 1 0 <eval <local._for> + 1>
endif
endfor

[dialog d_aile_kontrolu button]
on = 0
src.ctag.siralama =

on = 1 899
ref1 = <uid>
if (<tag.uye<eval <argn> -1>> == <src>)
src.sysmessage @1153 kendi kendinizi aileden cikartamazsiniz.
else
ref1.sdialog d_cikart,1,<eval <argn> -1>
endif
return 1

on = 900 901
ref1 = <uid>
if <dargn> == 900
src.ctag.siralama +=10
else
if (<src.dctag0.siralama> > 0)
src.ctag.siralama -=10
endif
endif
ref1.sdialog d_aile_kontrolu,2,<src.dctag0.siralama>
return 1

on = 902
if !((<src.flags> & statf_dead) || (<src.flags> & statf_freeze))
src.targetf f_yeniuye <uid>
endif
return 1

on = 904
ref1 = <uid>
ref1.sdialog d_cikart,2,0
return 1


[dialog d_cikart]
0,0
nomove

resizepic 50 50 5054 300 150
resizepic 60 60 3000 280 130

page 1
src.ctag.uye = <tag.uye<dargv[0]>>
src.ctag.numara = <dargv[0]>
ref1 = <src.ctag0.uye>
dhtmlgump 95 70 230 50 0 0 <ref1.name> isimli aile uyesini aileden cikartmak istediginize emin misiniz?
button 90 150 4005 4007 1 0 1
dtext 125 150 1000 Evet

page 2
dhtmlgump 95 70 230 50 0 0 <src.tag0.soyad> isimli ailenizi dagitmak istediginize emin misiniz?
button 90 150 4005 4007 1 0 2
dtext 125 150 1000 Evet

page 3
dhtmlgump 95 70 230 50 0 0 <link.tag0.soyad> isimli ailenizden ayrilmak istediğinize emin misiniz?
button 90 150 4005 4007 1 0 3
dtext 125 150 1000 Evet

[dialog d_cikart button]
on = 0
src.ctag.uye =

on = 1
ref1 = <src.ctag0.uye>
ref1.tag.soyad =
ref1.name <strarg <ref1.name>>
try uid.<ref1.tag0.kolye>.remove
ref1.tag.kolye =
tag.uye<src.dctag0.numara> =
tag.uyeler --
src.sysmessage @1153 <ref1.name> isimli kisiyi ailenizden cikarttiniz.
if (<ref1.isonline>)
ref1.sysmessage @1153 Ailenizden cikartildiniz.
endif
src.ctag.uye =
src.ctag.numara =
return 1

on = 2
for <eval <def.maxuye>> 1
if strcmpi('<tag.uye<dlocal._for>>','') && (<tag.uye<dlocal._for>> != <src>)
ref6 = <tag.uye<dlocal._for>>
ref6.name <strarg <ref6.name>>
ref6.tag.soyad =
try uid.<ref6.tag0.kolye>.remove
ref6.tag.kolye =
tag.uye<dlocal._for>> =
endif
endfor
src.name <strarg <src.name>>
serv.b @1153,1,1 <src.tag0.soyad> ailesi, <src.name> tarafından dagitildi.
src.tag.soyad =
try uid.<src.tag0.kolye>.remove
src.tag.kolye =
return 1

on = 3
src.name <strarg <src.name>>
src.tag.soyad =
try uid.<tag0.kolye>.remove
src.tag.kolye =
for <eval <def.maxuye>> 1
if strcmpi('<tag.uye<dlocal._for>>','') && (<tag0.uye<dlocal._for>> == <src>)
tag0.uye<dlocal._for> =
tag0.uyeler --
endif
endfor
ref1 = <link>
ref1.sysmessage @1153 <src.name> isimli uye ailenizden ayrildi.
src.sysmessage @1153 Ailenizden ayrildiniz.
return 1


[dialog d_uye_kayidi]
0,0
nomove

src.ctag0.aile = <argv[0]>
src.ctag0.reis = <argv[1]>
resizepic 50 50 5054 320 150
resizepic 60 60 3000 300 130
dhtmlgump 100 75 250 60 0 0 <uid.<argv[1]>.name> sizi, <uid.<argv[1]>.tag0.soyad> ailesine davet ediyor. Kabul ediyor musunuz? (Giris 50.000gp)
button 90 150 4005 4007 1 0 1
dtext 125 150 1000 Evet
button 250 150 4005 4007 1 0 2
dtext 285 150 1000 Hayir

[dialog d_uye_kayidi button]
on = 0
ref1 = <src.ctag0.reis>
ref1.sysmessage @1153 <src.name> teklifinizi red etti.
src.ctag0.aile =
src.ctag0.reis =

on = 1
ref1 = <src.ctag0.aile>
ref2 = <src.ctag0.reis>
local.bos = <eval <ref1.f_uyesayisi_kontrolu>>
if !(<dlocal.bos>)
src.sysmessage @1153 <ref2.tag0.soyad> ailesinde bos yer kalmamis.
ref2.sysmessage @1153 ailenizde bos yer kalmamis.
elif (<src.gold> < 50000)
src.sysmessage @1153 Karakterinizde yeterli altin bulunmuyor (50.000gp)
ref2.sysmessage @1153 <src.name> uzerinde yeterli altin bulunmuyor (50.000gp)
else
local.isim <strarg <src.name>>
src.name <local.isim> <ref2.tag0.soyad>
src.tag.soyad <ref2.tag0.soyad>
ref1.tag.uyeler ++
ref1.tag.uye<dlocal.bos> = <src>
serv.newitem i_uye_kolyesi,1,<src>
new.link <src>
new.more1 = <ref1>
src.equip <new>
src.tag.kolye = <new>
src.gold -=50000
src.sysmessage <ref2.tag0.soyad> ailesine katildiniz.
for <eval <def.maxuye>> 0
if strcmpi('<ref1.tag.uye<dlocal._for>>','')
ref3 = <ref1.tag.uye<dlocal._for>>
if (<ref3> != <src>)
ref3.sysmessage @1153 <src.name> ailenize katildi.
endif
endif
endfor
src.ctag0.aile =
src.ctag0.reis =
endif
return 1

on = 2
ref1 = <src.ctag0.reis>
ref1.sysmessage @1153 <src.name> teklifinizi red etti.
src.ctag0.aile =
src.ctag0.reis =

[eof]

Değerlendirmeler

0 0

Total votes: 0

Üye Ol veya Giriş Yap

Bu içeriğe yorum atmak istiyorsanız hemen üye olun veya giriş yapın.

Discord ile Bağlan
Twitch ile Bağlan
Steam ile Bağlan
Google ile Bağlan

Yorumlar (0)

Henüz yorum yapılmamış
Sadece kayıtlı kullanıcılar yeni yorum yapabilir.


Ultima-Strike Discord
Benzer Sayfalar
  • Aile Sistemi

    2008-12-08 10:35

  • Aile Kurma Kağıdı

    2008-07-10 00:19

  • Ban Sistemi

    2007-12-02 12:20

  • Help Sistemi

    2008-10-24 22:29

  • Pin Sistemi.

    2009-04-28 11:01



  • Son Forumlar
  • Sayfalar
  • Arizone
    Üyeliği 15 yıl ve üzerinde olanlar.

    Ultima Online 8 dakika önce

  • Nefrelius
    Alcor UO Reborn

    Sunucular 6 gün önce

  • System_Error
    Client Patlaması

    Ultima Online 1 hafta önce

  • georgm15
    CS2 turnuvaları tartışmalı başladı.

    Counter-Strike 2 1 hafta önce

  • georgm15
    Counter-Strike 1.6 İndir - Tek Link Hızlı-

    Counter-Strike 1 hafta önce

  • Cihangir algın
    Razor Kullanımı

    RunUo Scripting 3 hafta önce

  • Lucretius
    Rampage Pvp

    Sunucular 4 hafta önce

  • Lucretius
    Nephilim Pvp

    Sunucular 4 hafta önce

  • redi4817
    NightUO

    Sunucular 4 hafta önce

  • Cengiz MERDİT
    Sphere 56T Nightly Sürümü

    Ultima Online 1 ay önce

  • aygun
    Esgaroth UO

    Sunucular 1 ay önce

  • deonist
    Alysa Pvp ( Aktif ! )

    Sunucular 1 ay önce

  • mthN
    Nebula Uo gerçekleri

    Ultima Online 2 ay önce

  • buffa
    Kullanılması Gereken Rate Ayarları

    Counter-Strike 2 ay önce

  • Lucretius
    Aktif Satılık Server !

    Sunucular 2 ay önce

  • Skill seçimlerinizi planlamak artık çok daha kolay

    Ultima Online Karakter Yapılandırma Aracı Bölümü Açıldı!

    2024-10-31 22:47

  • Ultima Online topluluğu, ClassicUO'nun sadece web client olarak kullanılabileceğinin açıklanmasının ardından tepkili.

    Resmi UO, Oyuncuları İkiye Böldü: Web Client Yeterli mi?

    2024-10-14 17:45

  • Ultima Online, ClassicUO ile resmi işbirliği yapıyor! Performans iyileştirmeleri, geniş oyun penceresi ve daha fazlası geliyor.

    Ultima Online, ClassicUO ile Resmi İşbirliğine Gidiyor

    2024-09-26 14:21

  • Centred#

    2024-07-08 22:50

  • CentrED+ 7.9

    2024-07-08 22:34

  • Distance(uzaklık) Sorgusu Hakkında

    2024-06-19 22:05

  • UoFiddler

    2024-06-01 02:19

  • UoFiddler ile Map Kopyalama

    2024-05-31 21:17

Menü
  • ANASAYFA
  • FORUM
  • DOKÜMAN
  • İNDİR
  • İLETİŞİM
  • Bağlantılar
  • CS 1.6 indir
  • CS 1.6 Türkçe
  • CS 1.6 Bot
  • CS 1.6 CFG
  • CS 1.6 Rate Ayarları
  • UO Server
  • Ghost Mouse indir
  • FPS Nedir?
  • Ultima Online PVP Server
  • Makroman
  • UO Karakter Yapılandırma
    © 2004 - 2025 Ultima-Strike. Her hakkı saklıdır.