Merhabalar arkadaşlar;
Küfür sistemiyle ilgili birçok sunucu sıkıntı yaşayabiliyor ve oyun içerisinde küfürden ceza-i işlem uygulamanın acımasız olduğunu düşünenlerde mevcut. Küfür sisteminden kaynaklanan cezalarıda oyuncular için zevkli bir hale dönüştürebileceğimizi düşünerek Erador için yazdığım Tövbe Sistemini diğer sunucularada yardımcı olabileceği düşüncesiyle public ediyorum.
Bilgilendirmeler;
*cezalar ve ayarlar bölümünden sistemi kendi istediğiniz gibi yönlendirebilirsiniz.
*sistem içerisinde kullandığım functionlar en altta mevcuttur. onlarıda almalısınız.
*sistem british'ten özür dileyerek, cezanızı ödeme üzerinedir.
*affetmeyi aktif/pasif duruma getirebilirsiniz.
*sistemde event yoktur guard zone dışı ve safe bir alanda kullanmalısınız.
*c_h_brit NPC'sini yukarıda bahsettiğim tarzdaki alana yerleştirmelisiniz.
*speech ayarlarını kendinize göre geliştirebilirsiniz.
eklentiler; , 11.08.2011, 15:40
*oyuncular belirlenmiş küfürleri ederse staff çantasına deed gelmesi eklendi
*deed'den küfürü, kimin ettiğini, ne zaman ve nerede ettiğini görebilirsiniz.
*bu kişiye deed aracılığıyla ceza verebilir, yanınıza çekebilir veya banlayabilirsiniz.*
*deed'de yer alan küfür tüm cümleyi kapsar
eklentiler;, 11.08.2011, 21.24
*deed panelden küfür eden oyuncuyu uyarma seçeneği eklendi.
*tövbe esnasında arınmayı temslik eden effectler ve yalvarmayı temsil eden animler eklendi
[Comment TovbeSys]
yazan: buxiun
tarih: 11/08/2011 - 08:33
version: 056b+
for erador.gen.tr, spherescript.com
*kullanacak sunucular emeğe saygı göstermelidir*
[defname cezalar]
toplamceza 5
kufur1 Ağır seviye küfür,1000
kufur2 Orta seviye küfür,500
kufur3 Hafif seviye küfür,300
kufur4 Affet,_affedelim
kufur5 Küfür kademesi sıfırla,_sifirlayalim
cezakoordinat1 1303,1686,30 // aynı anda 3 kişiye ceza verme durumunda üst üste düşmemeleri için 3 koordinat var
cezakoordinat2 1301,1688,30
cezakoordinat3 1303,1690,30
kimegelsin 0138e6 // buraya küfür bildiri deed'inin geleceği staff'ın uid sini yazıyorsunuz.
pkoordinat delucia // affedilen ve cezası biten pk nereye gitsin?
mavikoordinat britain // affedilen ve cezası biten mavi nereye gitsin?
kacartsin 1 // her +1 arttırmak cezayı x2 arttıracaktır.
kufurkademe 4 // kufur kademesi max kaç olsun
yenile 1 // 3. kademede alınan cezadan sonra kufur kademesi yenilensinmi? 1-evet 0-hayır
cezaaffet 1 // stafflar ceza ve kademeleri affedilsin mi? 1-evet 0-hayır
[plevel 3]
kufur
[function kufurvaar]
sdialog d_kufurceza
[dialog d_kufurceza]
150,100
if (<eval <def.cezaaffet>==1>)
makebg 50,50,210,170
for x 1 <def.toplamceza>
menubutton 70, <eval (<dlocal.x>*25)+50>, <dlocal.x>, <f_buxiun <def.kufur<dlocal.x>>,1>
endfor
else
makebg 50,50,200,120
for x 1 3
menubutton 70, <eval (<dlocal.x>*25)+50>, <dlocal.x>, <f_buxiun <def.kufur<dlocal.x>>,1>
endfor
endif
[dialog d_kufurceza button]
on 1 3
kufurbelirle <f_buxiun <def.kufur<dargn>>,2>
on 4 5
targetf <f_buxiun <def.kufur<dargn>>,2>
src.sys_normal Kimin cezasını affetmek istiyorsunuz?
[function kufurbelirle]
targetf _kufurbelirle <args>
src.sys_normal Kimi <args> cümle küfür cezasına çarptırmak istiyorsunuz?
[function _kufurbelirle]
ref1 <argo>
if !(<ref1.tag0.gerisayim>)
if (<eval <ref1.dtag.kufurkademe>==1>)
ref1.tag.gerisayim=<eval <args>*<eval <def.kacartsin>*2>>
elif (<eval <ref1.dtag.kufurkademe>==2>)
ref1.tag.gerisayim=<eval <args>*<eval <def.kacartsin>*3>>
elif (<eval <ref1.dtag.kufurkademe> > 2>) && (<eval <ref1.dtag.kufurkademe> =< <def.kufurkademe>>)
ref1.tag.gerisayim=<eval <args>*<eval <def.kacartsin>*4>>
if (<eval <def.yenile>==1>)
ref1.newitem i_kademesifirla
new.equip
new.timer 2
endif
else
ref1.tag.gerisayim=<args>
endif
ref1.notice Şuanda <src.name> adlı yetkili tarafından kelime küfürü cezasına çarptırıldınız ve Lord British sizi esir aldı. Lord British'ten af dilemeye başlayınız. Verilen özür dileme cezanızı .sure komutuyla öğrenebilirsiniz. Cezanızı tamamladığınızda oyuna dönebilirsiniz.
dorand 3
ref1.go <def.cezakoordinat1>
ref1.go <def.cezakoordinat2>
ref1.go <def.cezakoordinat3>
enddo
ref1.flags <ref1.flags>|statf_freeze
src.sys_error <argo.name> adlı kişiye kelime cezası verdiniz.
serv.allclients sysmessage @027,1,1 Küfür Sistemi:
serv.allclients sysmessage @1153,,1 <ref1.name> adlı oyuncu küfür ettiği için Lord British tarafından yargılanmaya gönderildi.
if !(<ref1.tag.kufurkademe>)
ref1.tag.kufurkademe 00
ref1.tag.kufurkademe +=1
else
if (<eval <ref1.dtag.kufurkademe> < <def.kufurkademe>>)
ref1.tag.kufurkademe +=1
endif
endif
else
src.sys_error <argo.name> isimli kişi zaten bir ceza içerisinde.
return 1
endif
[function _affedelim]
ref1 <argo>
if (<ref1.tag0.gerisayim>)
src.sys_normal <ref1.name> adlı kişinin <ref1.dtag.gerisayim> özür cezasını affettiniz.
ref1.notice <ref1.dtag.gerisayim> kelime özür cezanız <src.name> tarafından affedilmiştir.
ref1.flags <ref1.flags>&~statf_freeze
ref1.cleartags gerisayim
ref1.cleartags affetdedim
if <ispk>
ref1.go <def.pkoordinat>
else
ref1.go <def.mavikoordinat>
endif
else
src.sys_error <ref1.name> adlı kişinin bir cezası bulunmuyor.
return 1
endif
[function _sifirlayalim]
ref1 <argo>
if (<ref1.tag0.kufurkademe>)
src.sys_normal <ref1.name> adlı kişinin <ref1.dtag.kufurkademe> küfür kademesini kaldırdınız.
ref1.notice <ref1.dtag.kufurkademe>. seviyede olan küfür kademeniz <src.name> tarafından kaldırılmıştır.
ref1.flags <ref1.flags>&~statf_freeze
ref1.cleartags kufurkademe
ref1.cleartags gerisayim
ref1.cleartags affetdedim
else
src.sys_error <ref1.name> adlı kişinin küfür sicili bulunmuyor.
return 1
endif
[plevel 1]
sure
kademe
[function sure]
if (<src.tag.gerisayim>)
src.sys_error <src.dtag.gerisayim> özür cezanız mevcut.
return 1
else
src.sys_error Herhangi bir özür cezanız bulunmuyor.
return 1
endif
[function kademe]
if (<src.tag.kufurkademe>)
src.sys_error Küfür kademeniz: <src.dtag.kufurkademe>
return 1
else
src.sys_normal Küfür siciliniz bulunmuyor.
return 1
endif
[itemdef i_kademesifirla]
id i_memory
name kademeci
type t_eq_script
defname i_kademesifirla
on=@unequip
cont.tag.kufurkademe
on=@timer
cont.sys_normal Küfür kademe siciliniz sıfırlanmıştır.
remove
[itemdef i_deed_kufur]
id i_deed
name Küfür Bildirisi
type t_eq_script
defname i_deed_kufur
on @create
attr=attr_newbie
color 0845
on @click
msg_error <uid.<tag0.kufureden>.name>
msg_normal <name>
return 1
on=@dclick
dialog d_kufurdeed
return 1
[dialog d_kufurdeed]
100,100
makebg 50,50,470,300
local.renk <def.bfont_dred>
local.x=70
dhtmlgump 70 <local.x> 800 25 0 0 Küfür: <local.renk><tag0.sozcuk>
dhtmlgump 70 <eval <local.x>+25> 800 30 0 0 Küfür eden: <local.renk><uid.<tag0.kufureden>.name>
dhtmlgump 70 <eval <local.x>+50> 800 30 0 0 Küfür tarihi: <local.renk><tag0.kufurtarih>
dhtmlgump 70 <eval <local.x>+75> 800 30 0 0 Küfür bölgesi: <local.renk><tag0.kufurbolge>
menubutton 70, <eval <local.x>+120>, 1, Küfür edeni çek
menubutton 70, <eval <local.x>+145>, 2, Küfür edeni cezalandır
menubutton 70, <eval <local.x>+170>, 3, Küfür edeni banla
menubutton 70, <eval <local.x>+195>, 4, Küfür bildirisini sil
menubutton 70, <eval <local.x>+220>, 5, Küfür edeni uyar
[dialog d_kufurdeed button]
on 1
ref1 <tag0.kufureden>
try uid.<ref1>.summonto
on 2
ref1 <tag0.kufureden>
try uid.<ref1>.tag.gerisayim 100
try uid.<ref1>.go 1303,1687,30
try uid.<ref1>.flags <uid.<ref1>.flags>|statf_freeze
try uid.<ref1>.sys_error 600 özür cümlesi cezası aldınız.
try uid.<ref1>.notice <src.name> adlı yetkili tarafından kelime küfürü cezasına çarptırıldınız ve Lord British sizi esir aldı. Lord British'ten af dilemeye başlayınız. Verilen özür dileme cezanızı .sure komutuyla öğrenebilirsiniz. Cezanızı tamamladığınızda oyuna dönebilirsiniz.
remove
on 3
ref1 <tag0.kufureden>
try uid.<ref1>.kick
try uid.<ref1>.sys_error Küfür suçundan <src.name> tarafından banlandınız.
on 4
ref1 <tag0.kufureden>
remove
src.sys_error <uid.<ref1>.name> adlı oyuncunun küfür belgesi silindi.
on 5
ref1 <tag0.kufureden>
try uid.<ref1>.notice <tag0.sozcuk> - küfürünüz tarafımıza iletilmiştir. Birdahaki küfürünüzde cezalandırılacaksınız. <src.name>
[function kufurdenkurtar]
src.flags <src.flags>&~statf_freeze
src.tag.gerisayim
src.tag.kufurkademe
[function denebakam]
try uid.011dae.temizlikk
[SPEECH spk_affet]
ON=*affet*
if (<eval <src.tag0.gerisayim>==1>)
src.go britain moongate
src.tag.gerisayim
src.tag.affetdedim
src.flags <src.flags>&~statf_freeze
src.notice Verilen özür dileme cezanız sona erdi ve Lord British tarafından affedildiniz. Birden fazla küfür cezası alırsanız, cezanızda aynı oranda katlanacaktır. Lütfen birdahakine dikkatli olunuz.
return 1
endif
if !(<src.tag.gerisayim>)
say @1153,,1 Affetmeye gerek yok.
return 1
else
if (<src.tag0.affetdedim>)
say @1153,,1 Zaten affet dedin. Yalvariyorum de.
else
src.tag.affetdedim 01
say @1153,,1 Seni affetmek kolay olmayacak, simdi yalvar!
src.tag.gerisayim -=1
src.say @1153,,1 <src.dtag.gerisayim>
if (rand(2))
src.effect 3,0376a,2,10,1
endif
dorand 2
src.anim 32
src.anim 33
enddo
endif
endif
ON=*yalvariyorum*
if (<eval <src.tag0.gerisayim>==1>)
src.go britain moongate
src.tag.gerisayim
src.tag.affetdedim
src.flags <src.flags>&~statf_freeze
src.notice Verilen özür dileme cezanız sona erdi ve Lord British tarafından affedildiniz. Birden fazla küfür cezası alırsanız, cezanızda aynı oranda katlanacaktır. Lütfen birdahakine dikkatli olunuz.
return 1
endif
if !(<src.tag.gerisayim>)
say @1153,,1 Yalvarmana gerek yok.
return 1
else
if (<src.tag.affetdedim>)
say @1153,,1 Aferin iyi yalvarıyorsun.
src.tag.affetdedim 00
src.tag.gerisayim -=1
src.say @1153,,1 <src.dtag.gerisayim>
if (rand(2))
src.effect 3,0376a,2,10,1
endif
dorand 2
src.anim 32
src.anim 33
enddo
else
say @1153,,1 Önce affetmemi iste.
endif
endif
// affedici british //
[chardef c_h_brit]
defname c_h_brit
name British
id c_man
can mt_nonmover
tspeech=spk_affet
ON=@create
NPC=brain_vendor
COLOR=0
STR={36 50}
DEX=0
INT={51 65}
ON=@npcrestock
item=i_katana
color=0
item=i_person_lord_british
color=0
ON=@click
msg_normal [Britain Lord]
message @100 <name>
return 1
ON=@dclick
return 1
Sistemde kullanılan functionlar;
[Comment FunctS]
yazan: buxiun
tarih: 18/03/2011 - 02:47
version: 056b+
for erador.gen.tr, spherescripts.com
*kullanacak sunucular emeğe saygı göstermelidir*
[FUNCTION menubutton]
button <ARGV0> <ARGV1> 4005 4006 1 0 <ARGV2>
dhtmlgump <eval <ARGV0>+35> <ARGV1> 185 26 0 0 <ARGV3>
[function softground]
resizepic <eval <argv[0]>-10> <eval <argv[1]>-10> 5120 <eval <argv[2]>+20> <eval <argv[3]>+20>
resizepic <argv[0]> <argv[1]> 3500 <argv[2]> <argv[3]>
[FUNCTION f_buxiun]
local.temp = <argv[<eval <argv> - 1>]> -1
return <argv[<dlocal.temp>]>
[function sys_normal]
sysmessage @,,1 <args>
[function sys_error]
sysmessage @455,,1 <args>
[function msg_normal]
message @,,1 <args>
[FUNCTION ispk]
IF (<NPC>)
IF (<KARMA> < -2000)
RETURN 1
ELSE
RETURN 0
ENDIF
ENDIF
IF !(<KARMA> > -8001) || (<KILLS> > <SERV.MURDERMINCOUNT>)
RETURN 1
ENDIF
RETURN 0
Küfür sorguları ve bildirilerin size ulaşması için, player speech'i spk_player altına aşağıdaki sorguyu ekleyiniz.
for purgatory
ON=*sikerim* // bu şekilde sorgular ekleyebilirsiniz istediğiniz gibi.
ON=*orospu*
ON=*siktim*
ON=*anan*ı*
ON=*ibne*
newitem i_deed_kufur
try uid.<def.kimegelsin>.bounce <new>
new.tag0.sozcuk=<args>
new.tag0.kufureden=<src.uid>
new.tag0.kufurtarih=<serv.rtime>
new.tag0.kufurbolge=<region.name>
Bu konu Buxiun tarafından düzenlendi(2011-08-13 02:10, 13 yıl önce)