Tekil Mesaj gösterimi
Alt 07 Temmuz 2008, 01:31   #1
Çevrimdışı
SaW
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Tek kodla tüm dialoglara animasyon ve renklendirme




Bildiğimiz üzere mdx.dll ile dialogları renklendiriyoruz.
Dialogların açılışta animasyon ile açılması için ise genel olarak SeRDaR406'nın yazdığı aniwin.dll kullanılıyor.
Bu kodda ise animasyon için dll kullanmıyoruz. Bence en güzel tarafı da bu.
Ayrıca dll ile yapılanda bir dialog için sadece bir çeşit animasyon belirlenebiliyor.
Burada ise dialog her açılışta farklı bir animasyon ile açılıyor, tamamen random ve üç çeşit animasyon ile açılıyor.
Yapmanız gereken aşağıdaki kodu scriptinize eklemek..
Dikkat etmeniz gereken nokta ise scriptinizde bulunan bütün dialoglarda size kısmında şu değişikliği yapmaktır


Örnek:

size -1 -1 200 100

Dialogun içinde böyle belirlenen kısmı

size -1000 -1000 200 100

Şeklinde değiştirmek olacaktır. Yani script editörü açıp size -1 -1 ile size -1000 -1000 'i replace yaptırmanız yetecektir. (size -1 -1'den farklı belirlenen yerler var ise onları da bu şekle getirmeniz lazım, genel olarak -1 -1 kullanıldığı için onu verdim.)

Bunları yapıp kodu eklediğinizde bütün dialoglarınız bir düzen içerisinde renklenmiş ve animasyonlu hale gelmiş olacaktır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
;;Coded By SaW (Nebiliymben) ;;07 Temmuz 2008 ;;Kaynak belirtilmeden kullanılmaması rica olunur. ;;iletişim:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
; dll'i tanıtıyoruz. (mdx aliasına atıyoruz.) alias mdx return $dll(mdx.dll,$1,$2-) ;Animasyonu yapan kısım. alias animac { var %i 0, %t 0, %s $rand(1,3) ; En sabit yukarı ve aşağı doğru animasyon if %s == 1 { while (%i <= $1 || %t <= $2) { dialog -srb $3 -1 -1 %i $2 if (%t < $2) inc %t if (%i < $1) inc %i } } ; Boy sabit sağa ve sola doğru animasyon if %s == 2 { while (%i <= $1 || %t <= $2) { dialog -srb $3 -1 -1 $1 %t if (%t < $2) inc %t if (%i < $1) inc %i } } ; merkezden kenarlara doğru animasyon if %s == 3 { while (%i <= $1 || %t <= $2) { dialog -srb $3 -1 -1 %i %t if (%t < $2) inc %t if (%i < $1) inc %i } } } ; Burada Dialogları Hem renklendiriyoruz, hemde animasyon komutunu burada veriyoruz on *:DIALOG:*:init:*:{ ; Bir dialog açıldığında o d dialogun enini, boyunu ve adını değişkene atıyoruz var %v = $calc($dialog($dname).w * 82 / 166) $calc($dialog($dname).h * 60 / 134) $dname mdx SetMircVersion $version mdx MarkDialog $dname ; Dialogun arka plan rengini belirliyoruz. Buradan renkte değişiklik yapabilirsiniz mdx SetDialog $dname bgcolor $rgb(74,112,139) var %~ = 1 ; Bu %j değişkeni bir dialogun içindeki id sayısıdır, genelde daha az olur ; ama büyük dialoglarda bu ve bundan daha fazlası da olabilir, ancak ; açılışta hem döngünün çok uzun sürüp yavaşlamaması hem de mümkün ; olduğunca eksik id kalmaması için 700 sayısını seçtim, eğer sizin ; scriptinizde daha fazla id'li dialog varsa artırın, eğer hep daha az id'ler varsa azaltabilirsiniz. var %j = 700 var %s = 0 ; Bütün 1'den 700'e kadar tüm id'ler için aşağıdaki komutları uygulatıyoruz. while %~ <= %j { ; Bu if'in açılmasının nedeni, dialogun içindeki bazı edit ve box kısımlarını ; (değer girilebilen) mdx'in değiştirmemesi ve o kutucuk ve yazıların belirgin kalabilmesi.. if ($did(%~).isid == $true) { ; Bu if ise, "eğer %~ değişkeninin ifade ettiği id değeri var ise" manasına gelmektedir. if ($did($dname,%~)) { ; Dialog içindeki yazı arka plan rengidir.. Dilerseniz değiştirebilirsiniz. mdx SetColor $dname %~ textbg $rgb(108,166,205) ; Dialog içindeki yazı rengidir.. Dilerseniz değiştirebilirsiniz. mdx SetColor $dname %~ text $rgb(232,232,232) ; Dialog içindeki genel arka plan rengidir.. Dilerseniz değiştirebilirsiniz. mdx SetColor $dname %~ background $rgb(108,166,205) ; Genel yazı fontu ve ayarlarıdır.. Dilerseniz değiştirebilirsiniz. mdx SetFont $dname %~ Turkish 14 200 arial } inc %s } inc %~ } ; dialog açıldığında 1 milisaniye sonra animasyona başlatır. .timer -m 1 1 animac %v }

Umarım beğenirsiniz.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet bizimmekan