Sphere-wikisw

Sphere-wiki.com

 
Yazan Kullanıcı Yazdığı Mesaj   #25714  2008-11-20 20:07 GMT  
  Online Durumu  asilblade
Seviye: Sw Üyesi
Oyun Tarzı:
Sphere:
Yaş:

Chernobelin gönderdiği aile sistemine çıkış fonksiyonu nasıl ekleyebiliriz,çok uğraştım bulamadım

Yardımcı olursanız cok Sevniim arkadaşlar...
Şimdiden teşekkeürler

Kod:
// * writer : Slothere ( Family System )
// * date: 18.08.2008
// * version: 056b+

// Eksikler;
//# Aile Chat
//# Üyeler için çıkış fonksiyonu.

[COMMENT FAMILYSYSTEM]
- Sunucuda kurulan aile isimlerinin tek olması eklendi.
- Üye alımı aktif edildi.
- Üye listesi eklendi.
- Üye'lerin detaylarının incelenmesi eklenildi.
- Soy isim alırken ' karakteri ile alınması eklendi.
- Aileden üye atılması eklendi.
# finish: 18.08.2008 - 05:00

[DEFNAME FAMILYSYSTEM]
// Aileye alınacak max. kişi sayısı
familymaxmember 15
// Üye alımında alınacak ücret
familyinvitecash 25000

[ITEMDEF i_deed_family]
ID = i_deed
TYPE = t_script
WEIGHT = 2
NAME = Family Deed
VALUE = 270000

ON=@CREATE
COLOR = 0810
ATTR = ATTR_NEWBIE

ON=@CLICK
message @1153 <name>
return 1

ON=@DCLICK
IF (<src.uid> != <topobj.uid>)
src.sysmessage Sadece cantanizda kullanabilirsiniz..
return 1
ELIF (<src.flags>&statf_dead)
src.sysmessage Su anki halinizle kullanamazsiniz..
return 1
ENDIF
IF !(<isempty <src.tag.soyisim>>)
src.sysmessage Siz bir aileye uyesiniz.
return 1
ELSE
src.sdialog d_createfamily
return 1
ENDIF

[Dialog d_createfamily]
0,0

PAGE 0
resizepic 200 100 5120 300 150
resizepic 210 110 3000 280 130
resizepic 280 150 3000 200 25
dtext 220 110 1153 <serv.name> Aile Sistemi
dtext 215 150 1153 Soyisim:
dtextentry 285 148 150 20 030 1
button 230 190 4006 4007 1 0 1
dtext 270 190 1153 Aileyi Kur

[Dialog d_createfamily button]
on = 1
FORPLAYERS 6144
IF (<src.uid> != <uid>) && (strmatch('<argtxt[1]>','<uid.<uid>.tag0.soyisim>')
src.sysmessage Bu soyisimden sunucuda bulunuyor.
return 1
ENDIF
ENDFOR
IF (strlen(<argtxt[1]>) < 4) || (strlen(<argtxt[1]>) > 12)
src.sysmessage Soyisim en az 4, en fazla 12 karakter olabilir..
return 1
ENDIF
if (strmatch('<strsub <eval <local._for>> 1 <argtxt[1]>>',' '))
src.sysmessage @38,6,1 Aile isimlerinde bosluk olamaz
return 1
endif
if (<isnum <strsub <eval <local._for>> 1 <argtxt[1]>>>)
src.sysmessage @38,6,1 Aile isimlerinde numaralandirma olmaz.
return 1
endif
FOR s 1 <eval (strlen(<argtxt[1]>))-1>
IF !(strmatch('[abcdefghijklmnoprstuvyz']','<strsub <dlocal.s> 1 <argtxt[1]>>'))
src.sysmessage Soy isminizde gecersiz karakterler bulunuyor.
return 1
ENDIF
ENDFOR
serv.newitem i_family_necklace_owner
new.tag.soyisim = <argtxt[1]>
new.tag.membernum= 0
new.tag.member0 = <src.uid>
new.link <src.uid>
new.equip
src.tag.soyisim <argtxt[1]>
src.tag.realname <src.name>
local.isim = <strtoupper(<strsub 0 1 <src.name>>)><strtolower(<strsub 1 12 <src.name>>)>
local.soyisim = <strtoupper(<strsub 0 1 <argtxt[1]>>)>
src.name <local.isim> <argtxt[1]>
serv.allclients sysmessage @1153 <argtxt[1]> isimli aile <local.isim> tarafindan kurulmustur.
src.findid.i_deed_family.remove
return 1

[ITEMDEF i_family_necklace_member]
ID = i_necklace_gold
TYPE t_jewelry
name = uye kolyesi
weight = 0.5

ON=@Create
COLOR = 07a1
ATTR = attr_newbie

ON=@CLICK
message @1153 [<link.name>]
message @030 Uye: <tag0.soyisim>
return 1

ON=@DCLICK
obj = <tag.masternecklace>
sdialog d_uyeler
return 1

[ITEMDEF i_family_necklace_owner]
ID = i_necklace_gold
TYPE = t_jewelry
name = aile kolyesi
weight = 0.5

ON=@CREATE
COLOR = 07a1
ATTR = attr_newbie

ON=@CLICK
message @1153 [<link.name>]
message @030 Reis: <tag0.soyisim>
return 1

ON=@EQUIP
IF (<link.uid> != <src.uid>)
src.sysmessage Bu kolye size ait degil.
return 1
ENDIF

ON=@DCLICK
IF (<link.uid> != <src.uid>)
src.sysmessage Bu kolye size ait degil..
return 1
ELIF (<src.uid> != <topobj.uid>)
src.sysmessage Bunu sadece uzerinizdeyken kullanabilirsiniz
return 1
ENDIF
obj = <uid>
sdialog d_familycontrol
return 1

[Dialog d_familycontrol]
0,0

PAGE 0
resizepic 150 90 5120 250 200
resizepic 160 100 3000 230 180
dcroppedtext 200 110 200 20 1153 <serv.name> Aile Menusu

dtext 220 140 0456 Aileye Uye Al
dtext 220 160 0456 Aileden Uye At
dtext 220 180 0456 Uyelere Bak
dtext 220 200 0456 Aileyi Sil
button 200 140 2714 2715 1 0 1
button 200 160 2714 2715 1 0 2
button 200 180 2714 2715 1 0 3
button 200 200 2714 2715 1 0 4

[Dialog d_familycontrol BUTTON]
on=1
IF !(<src.flags> & statf_dead)
src.targetf f_uyealimi <uid>
src.sysmessage Ailenize almak istediginiz kisiyi secin?
return 1
ENDIF

on=2
obj = <uid>
sdialog d_uyeat
return 1

on=3
obj = <uid>
sdialog d_uyeler
return 1

on=4
obj = <uid>
sdialog d_ailedagit
return 1

// üye alımı

[FUNCTION f_uyealimi]
ref1 = <argv[0]>
IF (<isempty <ref1>>) || (<isempty <ref2>>)
src.sysmessage Bir hata olustu yetkiliye basvurunuz.
return 1
ENDIF
IF !(<argo.isplayer>)
src.sysmessage Sadece oyunculari secebilirsiniz.
return 1
ENDIF
IF !(<isempty <argo.tag.soyisim>>)
src.sysmessage <argo.name>'in bir ailesi var.
return 1
ENDIF
IF (<argo.flags> & statf_dead)
src.sysmessage <argo.name>'i su anda ailenize alamazsiniz.
return 1
ENDIF
IF (<ref1.tag0.membernum> == <eval (<def0.familymaxmember>)>
src.sysmessage Bir aile <eval (<def0.familymaxmember>)>'den fazla uye alamaz.
return 1
ENDIF
IF !(<argo.restest <eval (<def0.familyinvitecash>)> i_gold>)
src.sysmessage <argo.name>'in yaninda <eval (<def0.familyinvitecash>)> altin bulunmuyor.
return 1
ENDIF
OBJ = <REF1>
TRYSRC <ARGO> sdialog d_invitefamily
//ARGO.TIMERF 10, dialogclose d_invitefamily
src.sysmessage <argo.name> davet edildi cevap bekleniyor.
argo.sysmessage <src.name> sizi <src.tag0.soyisim> ailesine davet ediyor.

[DIALOG d_invitefamily]
0,0

resizepic 100 100 5120 250 150
resizepic 110 110 3000 230 130

dtext 115 130 0456 <obj.tag0.soyisim> ailesine davet edildiniz.
dtext 115 150 0456 Kabul ediyor musunuz?
button 125 180 2714 2715 1 0 1
button 125 200 2714 2715 1 0 2
dtext 145 180 0456 Evet
dtext 145 200 0456 Hayir

[DIALOG d_invitefamily BUTTON]
ON=0
try uid.<obj.link.uid>.sysmessage <src.name> davetinizi red etti.
src.sysmessage Daveti red ettiniz.

ON=2
try uid.<obj.link.uid>.sysmessage <src.name> davetinizi red etti.
src.sysmessage Daveti red ettiniz.
return 1

ON=1
IF (<obj.tag0.membernum> == <eval (<def0.familymaxmember>)>)
src.sysmessage <obj.tag0.soyisim> ailesinin uye sayisi dolmus.
return 1
ENDIF
IF !(<isempty <src.tag.soyisim>>)
src.sysmessage Sizin zaten bir aileniz bulunuyor. (<src.tag0.soyisim>)
try uid.<obj.link.uid>.sysmessage <src.name>'in bir ailesi bulunuyor. (<src.tag0.soyisim>)
return 1
ENDIF
IF !(<src.restest <eval (<def0.familyinvitecash>)> i_gold>)
src.sysmessage Uzerinizde <eval (<def0.familyinvitecash>)> altin bulunmuyor.
try uid.<obj.link.uid>.sysmessage <src.name>'in uzerinde <eval (<def0.familyinvitecash>)> altin bulunmuyor.
return 1
ENDIF
FOR <eval (<def0.familymaxmember>)> 1
IF (<isempty <obj.tag.member<dlocal._for>>>)
local.bosslot = <dlocal._for>
ENDIF
ENDFOR
IF (<local.bosslot>)
obj.tag.member<dlocal.bosslot> = <src.uid>
obj.tag.membernum +=1
src.tag.soyisim = <obj.tag0.soyisim>
src.tag.realname = <src.name>
src.name = <src.name> <obj.tag0.soyisim>
serv.newitem i_family_necklace_member
new.tag.soyisim = <obj.tag0.soyisim>
new.tag.masternecklace = <obj.uid>
new.link = <src.uid>
new.equip <src>
src.consume <eval (<def0.familyinvitecash>)> i_gold
src.sysmessage <obj.tag0.soyisim> ailesine katildiniz.
try uid.<obj.link.uid>.sysmessage <src.name> ailenize katildi.
try uid.<obj.link.uid>.sysmessage Toplam: <eval (<obj.tag0.membernum>)> uyeniz var.
return 1
ELSE
src.sysmessage Ailede bos yer kalmamis.
try uid.<obj.link.uid>.sysmessage Ailede bos yer kalmamis.
return 1
ENDIF


// üyeyi atma işlemleri
[DIALOG d_uyeat]
0,0

resizepic 0 35 5120 250 400
resizepic 10 45 3500 230 380
dtext 30 55 1153 <obj.tag0.soyisim> Ailesinin Uyeleri

FOR 1 <eval (<def0.familymaxmember>)-1>
IF !(<isempty <obj.tag.member<dlocal._for>>>)
dtext 35 <eval (<local._for>*20)+70> <qval (<uid.<obj.tag.member<dlocal._for>>.isonline>)? 040:025> <uid.<obj.tag.member<dlocal._for>>.name>
button 15 <eval (<local._for>*20)+70> 2714 2715 1 0 <dlocal._for>
ENDIF
ENDFOR

[DIALOG d_uyeat button]
on=1 15
src.ctag.atilacak = <obj.tag.member<dargn>>
obj = <src.ctag0.atilacak>
sdialog d_atilimonay
return 1

[dialog d_atilimonay]
0,0

resizepic 100 100 5120 300 150
resizepic 110 110 3000 280 130

dtext 130 130 0456 <obj.name> isimli kisiyi
dtext 130 149 0456 atmak istediginize emin misiniz?

button 150 180 2714 2715 1 0 1
button 150 200 2714 2715 1 0 2
dtext 170 180 0456 Evet
dtext 170 200 0456 Hayir

[dialog d_atilimonay button]
on=2
return 1

on=1
targetf f_uyeat
src.sysmessage Lutfen aile kolyenizi seciniz.
return 1


[function f_uyeat]
ref1 = <ctag.atilacak>
IF (<argo.baseid> == i_family_necklace_owner) && (strmatch('<argo.tag0.soyisim>','<src.tag0.soyisim>')
src.sysmessage <ref1.name> isimli kisi aileden atildi.
argo.tag.membernum -=1
ref1.tag.soyisim =
ref1.name = <obj.tag.realname>
ref1.findid.i_family_necklace_member.remove
ctag.atilacak =
FOR 1 <eval (<def0.familymaxmember>)-1>
IF (<argo.tag0.member<dlocal._for>> == <ref1.uid>)
argo.tag.member<dlocal._for> =
return 1
ENDIF
ENDFOR
else
src.sysmessage Bu kolye degil..
return 1
ENDIF

[dialog d_ailedagit]
0,0

resizepic 100 100 5120 300 150
resizepic 110 110 3000 280 130

dtext 130 130 0456 <obj.tag0.soyisim> ailesini
dtext 130 149 0456 dagitmak istediginize emin misiniz?

button 150 180 2714 2715 1 0 1
button 150 200 2714 2715 1 0 2
dtext 170 180 0456 Evet
dtext 170 200 0456 Hayir

[dialog d_ailedagit button]
on=2
return 1

on=1
serv.allclients sysmessage @1153 <obj.tag0.soyisim> ailesi dagitilmistir.
FOR 1 <eval (<def0.familymaxmember>)-1>
IF !(<isempty <obj.tag.member<dlocal._for>>>)
try uid.<obj.tag.member<dlocal._for>>.name = <uid.<obj.tag.member<dlocal._for>>.tag.realname>
try uid.<obj.tag.member<dlocal._for>>.tag.soyisim =
try uid.<obj.tag.member<dlocal._for>>.tag.realname =
try uid.<obj.tag.member<dlocal._for>>.findid.i_family_necklace_member.remove
src.sysmessage <uid.<obj.tag.member<dlocal._for>>.name> aileden cikartildi.
obj.tag.member<dlocal._for> =
ENDIF
ENDFOR
obj.remove
src.tag.soyisim =
src.update
src.name = <src.tag.realname>
src.tag.realname =
src.sysmessage Aileyi dagittiniz.

// kolyedeki üye listeleri
[DIALOG d_uyeler]
0,0

resizepic 0 35 5120 250 400
resizepic 10 45 3000 230 380
dtext 30 45 1153 <obj.tag0.soyisim> Ailesinin Uyeleri

FOR 0 <eval (<def0.familymaxmember>)>
IF !(<isempty <obj.tag.member<dlocal._for>>>)
dtext 35 <eval (<local._for>*20)+70> <qval (<uid.<obj.tag.member<dlocal._for>>.isonline>)? 040:025> <uid.<obj.tag.member<dlocal._for>>.name>
button 15 <eval (<local._for>*20)+70> 2714 2715 1 0 <eval (<dlocal._for>)+1>
ENDIF
ENDFOR

[DIALOG d_uyeler button]
on=1 15
src.ctag.member = <obj.tag.member<eval (<argn>)-1>>
sdialog d_uyedetay
return 1

[dialog d_uyedetay]
0,0

obj = <src.ctag0.member>
resizepic 100 100 5120 350 300
resizepic 110 110 3000 330 280
FOR 1 10
resizepic 125 <eval (<local._for>*20)+130> 3000 120 20
ENDFOR
FOR 1 10
resizepic 220 <eval (<local._for>*20)+130> 3000 200 20
ENDFOR
dtext 130 150 0456 Isim:
dtext 130 170 0456 Str:
dtext 130 190 0456 Dex:
dtext 130 210 0456 Int:
dtext 130 230 0456 Fame:
dtext 130 250 0456 Karma:
dtext 130 270 0456 Kills:
dtext 130 290 0456 Region:
dtext 130 310 0456 Skilltotal:
dtext 130 330 0456 Bankbalance:
dtext 230 150 0 <obj.name>
dtext 230 170 0 <obj.str> / <obj.hits>
dtext 230 190 0 <obj.dex> / <obj.stam>
dtext 230 210 0 <obj.int> / <obj.mana>
dtext 230 230 0 <obj.fame>
dtext 230 250 0 <obj.karma>
dtext 230 270 0 <obj.kills>
dtext 230 290 0 <obj.region.name>
dtext 230 310 0 <fval <obj.skilltotal>>
dtext 230 330 0 <obj.bankbalance>



             

Yazan Kullanıcı Yazdığı Mesaj   #25715  2008-11-20 20:09 GMT  
  Online Durumu  Alcholic
Seviye: Sw Üyesi
Oyun Tarzı: Pp
Sphere: 0.56b
Yaş: 18

hocam kod içinde koysan çok daha iyi olurdu

Kod:
scriptin


şeklinde koyabiilirsin.




Sanma şahım herkezi sen sadıkhane yar olur.
Herkezi sen dostmu sandın belki ol ağyar olur.
Sadıkhane belki ol alemde serdar olur.
Yar olur,ağyar olur,serdar olur,didar olur.


Selimi
             

Yazan Kullanıcı Yazdığı Mesaj   #25716  2008-11-20 20:11 GMT  
  Online Durumu  asilblade
Seviye: Sw Üyesi
Oyun Tarzı:
Sphere:
Yaş:

tabii ki kusura bakamyın hemen düzeltiorm...



             

> 1 <
BENZER KONULAR
KonuKonuyu Başlatan
Scpter ArıyorumSokrates
Yaptığım Scp'e yardımTedbunndy
Sistem Scpsinde Son durumMagLor
Fix.scpcamper
Ücret karsılıgı scpriterMatt



Sphere-Wiki İletişim