Neler yeni

Foruma hoşgeldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

OynFrm Reklam Alani OynFrm Reklam Alani
OynFrm Reklam Alani OynFrm Reklam Alani

Timer, Timerd, Timerf Kullanımı

jusT

03ofkosucusu
Katılım
10 Yıl 10 Ay 4 Gün
Mesajlar
70
Tepkime puanı
0
Puanları
0
Yaş
26
Şube
Mersin
Spherede en önemli konulardan biriside timer olayıdır…Timeri 55r versiyonunda sadece item altında kullanabildik.Fakat 56b de bir functionda bile timer kullanabiliyoruz…

55r de sadece timer terimi varken 56b de ile timerd ve timerf gibi eklemeler yapılmıştır…
İşin kökü olan timer den başlayalım…
Timer adı üstünde zaman demektir.
Timer terimini itemler üzerinde kullanabiliriz.
Bir iteme timer veririz bu timer dolduğunda on=@timer triggeri altından işlem yaptırırız.

Örnek verelim;

Kod:
[itemdef i_deneme_icin]
id=i_memory
name=asdasdasd
type=t_eq_script
weight 0

on=@create
attr attr_decay|attr_newbie

on=@equip
timer 1

on=@timer
topobj.say saniye doldu
return 1


Yukarıdaki örnekte on=@equip triggeri altında timerini 1 yaptık 1 saniye sonra on=@timer altındaki işlemi uygulayacak.
Saniyemiz dolunca üstümüzde saniye doldu yazacaktır.İşlemi sürekli tekrar ettirmek için eşyaya yeniden timer vermeliyiz.

Kod:
on=@timer
topobj.say saniye doldu
timer 1
return 1


Şeklinde yaparsak her 1 saniyede saniye doldu diyecektir.
Bir not geçmek istiyorum çünkü birçok kişi bu hatayı yapıyor.

On=@timer altında src kullanamazsınız.çünkü bu bir item ve sizden bağımsız olarak çalışıyor.Src yi olgunun çalışmasını sağlayan kişi olarak düşünün.Buradaki timer tamamen kişiden bağımsız olarak çalıştığı için src kullanamayız.Konsolda hata verecektir.

E diyeceksiniz ki ben bu itemin sahibine nasıl işlem yaptırırım.Bu İtem eğer playerin üstünde ise src yerine cont yada topobj kullanacaksınız.Cont ve topobj nin anlamı bulunduğu yerdir.Cont.say asasd yaparsanız bu itemin bulunduğu çantanın sahibi nin üstünde asasd yazacaktır.Ne güzel anlattım demi :P

Birkaç şey daha söylemek istiyorum.Bir itemin timerini direk başlangıçta verdirebiliriz yani illaki equip ettireceğiz diye bir şey yok. On=@create altından verdiğiniz timer, item yaratıldığı andan itibaren saymaya başlar..Veya itemi verirken de bir timer belirleyebiliriz.

Kod:
serv.newitem i_deneme_icin
new.timer 10

gibi.

Timeri anladıysak timerd e geçebiliriz..
Timerd 56b sürümü ile birlikte gelen bir yeniliktir…1 saniye veya altında timer vermemizi sağlar…yani zaman anlayışı tamamıyla farklıdır…Timerin 10 da 1 i olarak düşünebilirsiniz…
Timerdi en güzel örnek olarak stafflarımızın kullandığı o janjanlı efectlerden anlayabiliriz…
Bir itemli bir efect scpsi yazalım..

Kod:
[function deneme_effect]
serv.newitem i_fx_field_fire
new.p <src.p>
new.attr attr_decay
new.timerd 1
return 1


Yukarıdaki functionu kullandığımızda hemen altımıza i_fx_field_fire itemi çıkacak ama çıktığı gibi kaybolacak.Çünkü timeri 1 saniyeden bile az.Bunu deneyerek görmeniz daha sağlıklı olacaktır.Bu functionu kurun ve ilk olarak new.timer 1 verin bakın sonra new.timerd 1 verin öyle bakın farkı anlayacaksınız..(Bu sistem sadece 56b surumu içindir)

İtemin attrsini attr_decay yapma sebebimiz timer dolduktan sonra kendisini silmesidir.Bir itemin on=@timer triggeri yoksa ve attrsi attr_decay ise o item timeri 0 olunca kendisini siler.

Evet geldik son terimimiz olan timerf e buda 56b ile gelen muhteşem bir yeniliktir…Normal timeri 55r de sadece item ile kullanabilirken ve bu işlem 10 20 satıra çıkarken şimdi tek satırda yapabilmek büyük bir kolaylık.Fazla konuşmadan hemen olaya geçeyim..

Bir komutumuz olsun bu komutu kullandıktan 5 saniye sonra üstümüzde okedir yazsın.

Kod:
[function denedegor]
timerf 5,say okedir


timerf den sonra kaç saniye sonra bu işlemi yapması gerektiğini bildiriyoruz , koyup yapması gereken işlemi belirliyoruz.Her türlü şeyi yapabilirsiniz timerf 5,go britain vs vs vs.

Timerf altında src kullanmanızda sakınca yok.Çünkü ortada bir item yok…

Bir karakter üzerinde birden fazla timerf çalışabileceğini belirtelim. Örn;

Kod:
[function f_timer_dene]
timerf 10,say 10 bitti
timerf 5,say 5 bitti
timerf 20,say 20 bitti

Geniş kapsamlı bir sistemde örneğin jail sisteminde
jaile giren playera timerf verilirse;

timerf 222,f_forgive // gibi,


cezası bitmeden dışarıdan başka bir komut ile affet diyip adamı jailden çıkardığınızda hala timerf saymaya devam eder.

Timerf i sıfırlamak için ise, affedilen oyuncu için timerf -1 kullanılır. Bu işlem karakter üzerindeki tüm timerf leri sıfırlar.

Evet terimlerimiz bu kadardı…Umarım açıklayıcı olmuştur…
İyi Günler, iyi çalışmalar…
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

  • Geniş / Dar görünüm

    Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

    Izgara görünümlü forum listesi

    Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

    Resimli ızgara modu

    Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

    Kenar çubuğunu kapat

    Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

    Sabit kenar çubuğu

    Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

    Köşe kıvrımlarını kapat

    Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

  • Zevkini yansıtan renk kombinasyonunu seç
    Arkaplan resimleri
    Renk geçişli arkaplanlar
Geri