IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   dialog tasarladım fakat işlem yapptırmayı beceremedim (https://www.ircforumlari.net/mirc-scripting-sorunlari/1328-dialog-tasarladim-fakat-islem-yapptirmayi-beceremedim.html)

manyak 19 Şubat 2005 19:40

dialog tasarladım fakat işlem yapptırmayı beceremedim
 
arkadaşlar dialog yaptım fakat buna işlem yaptırcam ban ayardımcı olurmusunuz


on !1:JOIN:#:/msg $chan Welcome to $chan $nick

mesela burdaki welcome mesajını dialogtan değiştirmek istiyom nasıl yapabilirim

dialogta bir pencere açılcak oraya yazıcam mesajı bu mesaj komuttaki bulunnan welcome mesajı yerine gidicek ? ayrıca bir sorum daha olucak sizlere dialog yaparken mesela ben dialog penceresi üzerinde yazı yazma yeri yapıyorum ama mesela bir butona basarak bir yazı yazma penceresi açılmasını yapamıyorum bunu da anlatırsanız çok makbule geçer ?

Alience 19 Şubat 2005 19:55

ilk önce kendi yaptıgın dialogların kodlarını buraya yazsan bence daha iyi olur :) bana kalsa dialog yapmam welcome yerine $input veya $$? kullanırımda!

manyak 19 Şubat 2005 20:42

mesela şöle bişey var bunun üzerinde bana gerekli açıklamayı yaparsan çok makbule geçersin bunu anlarsam mantığı kavrıcam

dialog Dialog1 {

title "Dialog1"

size 177 106 350 255

check "aç", 1, 33 110 27 13

button "mesaj", 2, 71 105 75 25

button "&Hide", 3, 0 0 0 0, hide Ok

}

bu dialoğun şöle işlemesini istiyorum
1.mesela burda chek işareti konulan bir yer var orayı işaretlediğim zaman bu komut kullanıma açık olucak işaret kalktığında bu komut çalışmıycak
2. mesaj butonuna bastığımda bir yazı penceresi açılmasını istiyorum(ben beeceremedim ) ve buraya yazdığım yazı ordaki welcome yazısı yerine geçsin tabi sen input filan yaz diyosun bunu bu dialog üstünde ve komut üstünde gösterirsen sevinirim ark

Flyman 19 Şubat 2005 21:19

dialog yapmadan su sekild eyapila bilir dedigin ama isine yararsa menu menubar,channel {
karsilama mesaji gir: /set %karsilama.msg $$?="Lutfen mesajinizi yaziniz ->>` su anki mesajiniz %karsilama.msg ` " }
}


on !1:JOIN:#:/msg $chan %karsilama.msg $chan $nick
denemedim ama calisir tahmin ediyorum

manyak 19 Şubat 2005 21:30

ark teşekkür cevap için ama ben bir dialog penceresinde bi kaç şey toplamak istiyorum o yüzden yani bunu anlarsam diğerlerini de yapıcam buna göre ok
senin verdiğini kontrol ettim çalışıyo sadece bu kısmı yeterli oluyo bunda
karsilama mesaji gir: /set %karsilama.msg $$?="Lutfen mesajinizi yaziniz ->>` su anki mesajiniz %karsilama.msg ` "

bide remotedeki işte

dialog olarak yardımcı olursanız sevinirim lütfen

Alience 19 Şubat 2005 22:37

dialog Test {
title "Test Dialoğu 1"
;Altaki -1 lerin anlamı ekranın tam ortasıdır
size -1 -1 120 33
check "aç", 1, 5 10 30 14
button "mesaj", 2, 40 5 75 25
button "&Hide", 3, 0 0 0 0, hide Ok
}
;Dialoğumuzdaki yaptığımız işleri görmek için aşağıdaki event gerekli
on *:dialog:Test:*:*: {
;dialoğumuz ilk açıldığında yapılacak işlemler ben burada en son check box seçilimi değilmi onu kontrol ettirdim
if $devent == init {
if %::join-on-off == 1 { did -c $dname 1 }
}
;dialoğumuzda mausenin sol tuşu ile bir kere tıkladığımızda aktif olur
if $devent == sclick {
;Dialok yaparken her kontrole verdiğimiz id ler buralarda işe yarıyor :) hangi id ye sol tıkladık
if $did == 1 {
;eğer checkboxa tıkladıysak onu %::join-on-off değişkenine atıyoruz
set %::join-on-off $did(1).state
}
if $did == 2 {
if $input(Lütfen karşılama mesajını giriniz örn: $+ $crlf $+ Welcome to $!chan $!nick,e,Test dialoğu input titlesi(başlığı),%::joinmesaji) { set %::joinmesaji $ifmatch }
;Burada $input(içeridekimesaj,e[yazı yazılan mircnin internal input dialoğu için],başlığı,textkısmına yazılacak yazı)
}
}
}
en son olarakta
on !1:JOIN:#:/msg $chan Welcome to $chan $nick
yi
on !1:JOIN:#: if %::join-on-off == 1 { /msg $chan %::joinmesaji }
olarak değiştirmen gerek.
birde en son olarak $crlf yeni satıra geç demek enter tuşu mantıgı açılımı (carriage return field, türkçesi yani satır olarak çevirebiliriz), $+ larda aralarında yazılan kelime ve değişkenleri birleştirir örn: selam $+ nasılsın yazarsak selamnasılsın olur.

manyak 19 Şubat 2005 23:01

son bişey sorucam bu diologtan sonra remotedeki yazdığımız koda aktarmaktaki arda yazdığın kodları tasarlamaya yardım eden prog varmı diolog tasarımı yapan prg lar gibi

Alience 19 Şubat 2005 23:25

benim bildiğim yok orası artık sizin kodlamanıza kalmış zaten orada dialog ile ilgili olan kodları verdim dclick, vs vs mirc helpinde var $input mirc nin başka bir komutu normalde dialogla alakası yoktur.
bu arada dialog yaparsanız tekrar /dialog -m test test diye girerseniz bir hatayla karşılaşırsınız aynı dialog acık diye bunu onlemek için
alias test { if !$dialog(Test) { /dialog -m Test Test } }
gibi yazarsanız dialog açıksa tekrardan açmaya kalkmaz ve hata cıkmaz

manyak 20 Şubat 2005 00:37

özür ark ama ben bu kodları *.mrc olarak kaydettim addon gibi scripte yükleme yapmak istiyom ne remoteye ekliyo ne popupa ekliyoo kodları sebebi nedir bunun ? addon olarak eklerkende ayrıyetten ek komut gerekiyomu
bu arada ark bahsettiğin

alias test { if !$dialog(Test) { /dialog -m Test Test } }

bu kodu nereye koyucaz ?
ark çok soru sordum umarım kızmazsın :) ama gösterdiğin alaka için gerçekten saol böle ilgi olduğu için bende yeni katıldım buralarda gezinicem artık :)

bu sekilde kaydettim xxx.mrc

dialog Test {
title "Test Dialoğu 1"
size -1 -1 120 33
check "aç", 1, 5 10 30 14
button "mesaj", 2, 40 5 75 25
button "&Hide", 3, 0 0 0 0, hide Ok
}
on *:dialog:Test:*:*: {
if $devent == init {
if %::join-on-off == 1 { did -c $dname 1 }
}
if $devent == sclick {
if $did == 1 {
set %::join-on-off $did(1).state
}
if $did == 2 {
if $input(Lütfen karşılama mesajını giriniz örn: $+ $crlf $+ Welcome to $!chan $!nick,e,Test dialoğu input titlesi(başlığı),%::joinmesaji) { set %::joinmesaji $ifmatch }
}
}
}
on !1:JOIN:#: if %::join-on-off == 1 { /msg $chan %::joinmesaji }


yardım için teşekürler
ayrıca o dialog hata komutunu nereye yazmamız gerekli

Alience 20 Şubat 2005 01:58

en basiti komut olarak /load -rs dosyayoluvedosyadile.uzantısı yüklkemesi gerekli
ayrıca remotede (alt + r) de File menüsünden > Load'tan yükleyebilrisin
olmadı remoteyi acar File menüsünden > New dersin oraya kodları yapıştırısın :).

manyak 20 Şubat 2005 16:13

load ile yapmıştım ama dediğim gibi kabul etmiyo load script yazıyo statusta ama remoteye baktığımda hiç bişiyok

bu 6.16 versiyonda bir koruma filanmı var 6.16 yükleyemediklerimi 6.12 ye aynı şekilde yüklüyorum bu 6.16 da böle sorun yaşıyomusun ark saol

Alience 20 Şubat 2005 16:24

yok hiçbir verisiyonda başıma öyle bir şey gelmedi su an kullandığımda 6.16 ondada sorun olmadı o zaman dediğim giib remotede File > new ile yeni script oluşturup içine kopyala.

manyak 20 Şubat 2005 16:39

ok tamam öle yaptım bu sefer alıyoo remoteye ben yükledim remoteye ama bu sefer bu dialogu aaçamıyorum :( dialog penceresini nasıl açıcam ? sorulşar için kusura bakma ark böle senide yoruyom

bu arada mmirci sildim yeniden yükledim yüklüyoo ok oldu şimdi bu dialog penceresini açamadım bi okaldı

Alience 20 Şubat 2005 16:53

alias test { if !$dialog(Test) { /dialog -m Test Test } }
yukarıdaki koduda daha önce dediğim gibi remoteye kodu kopyaladığın yere kopyala en uste veya en alta sonra komut olarak /test yaz mircde.

manyak 20 Şubat 2005 17:08

alias test { if !$dialog(Test) { /dialog -m Test Test } }
ok ark bunu yazdıktan sonra açıldı daha önce yaıyodum açmıyodu saol teşk

bu arada ark mrc olarak yüklemede bütün komutlar remoteye gidiyo popup olan yere hiç komut gitmiyo normalde dialoglar popup ta olması gerekmiyomu ark

bide şunu merak ediyorum bazı scriptlerde remotede o kadar komut yok mırc klasöründe bulunan dosyalarla işlem yapıyolar remoteden bunu nasıl mırc klasöründeki dosya içindeki komutlara yönlendirebiliriz

remotenin bir kod alma sınırı var sanırım dim ?

Alience 20 Şubat 2005 17:41

remotede koldarın başında alias yazıyorsa bunları alias ini silip aliasese kopyalayabilirsin
alias test { if !$dialog(Test) { /dialog -m Test Test } }
bu kodu aliasese yazacak olursak
test { if !$dialog(Test) { /dialog -m Test Test } }
senin dediğini bu cevaplıyor addon olarak düşünürsen herşeyi remoteye yazarsın ama script yazarsan ki genelde sadece eventsleri (on dialog, on join vs vs) remoteye yazsan onunkadar ve daha fazla kodu aliasese yazabilirsin ki remotede fazla gözükmemesinin sebebi budur.
popups dialog değildir menülerdir mause ile sağ tıklayınca acılan menüler.

manyak 20 Şubat 2005 18:07

ok anladım saol

bide şey isticem senden timer omutu varyaa
mesela o benim koddaki mesj atıyo yaa onu 3 sn sonra atsın timer 0 3 yazsak hep 3 saniyede bir mesaj atacak bir jere atması için nasıl olucak 3 sn sonra bi r kere yazıcak ?

Alience 20 Şubat 2005 19:43

timer 1 3 olacak

manyak 20 Şubat 2005 20:32

ok saol şimdi ark böle bir problem oldu şimdi
bir dialog içinde 5 6 mesaj giriş kutusu 5 6 tane check atma yeri olunca ne yapacaz peki ?

nasıl bunları birbirinden ayırıcam

mesela şöle bişey
3 tane var bunda nasıl yapıcaz yönlenndirmeyi 3 de farklı işlem yapıcak
alias mesaj { if !$dialog(mesaj) { /dialog -m mesaj mesaj } }
dialog mesaj{
title "mesaj"
size 179 108 350 255
button "Mesaj girin", 1, 71 25 75 17
check "aç", 3, 37 23 35 13
check "aç", 4, 33 73 27 13
button "Mesaj Girin", 6, 73 71 75 17
check "aç", 7, 32 118 75 13
button "Mesaj Girin", 8, 71 118 75 17
button "&Hide", 10, 0 0 0 0, hide Ok
}

manyak 20 Şubat 2005 20:34

bide en alta okey butonu ekliyelim buna dialogtan çıkarken ok e basalım

Alience 22 Şubat 2005 23:35

f $did == 2 {
if $input(Lütfen karşılama mesajını giriniz örn: $+ $crlf $+ Welcome to $!chan $!nick,e,Test dialoğu input titlesi(başlığı),%::joinmesaji) { set %::joinmesaji $ifmatch }
;Burada $input(içeridekimesaj,e[yazı yazılan mircnin internal input dialoğu için],başlığı,textkısmına yazılacak yazı)
}
sana verdiğim örneğe bakarsan buradaki $did == 2 buttonun id si sen buraya button "Mesaj Girin", 6, 73 71 75 17 butonu eklemişsin bunun id si ilk rakam olan 6 dır demekki on *:dialog.. nın içindeki $devent == sclick in icine if $did == 6 { komutların } gibi eklersen o duğmenin ne iş yapıcagını anlayabilirsin komutların yerine kendi komutlarını yazıcaksın örnekteki gibi ok buttonu içinde
button "&Hide", 10, 0 0 0 0, hide Ok zaten olan duğme onu
button "Kapat", 10, 2 2 50 25, cancel olarak değiştir sol ustte gozukecek onuda mirc helpten button "ismi", idsi, x y w h buradaki x y bildiğimiz kartezyen koordinatlar w genişligi, h yuksekligi, bundan sonrası sana kalmış eğer scripting bilen bir tanıdığın varsa sana realde anlatsa çok daha iyi olur keza bukadar şeyi yazmak zor oluyor :), yoksa oyle kişi kodun çalışan halini yedekle kurcala.

manyak 23 Şubat 2005 22:43

valla saol arkadaş ellerin dertgörmesin bilgiler baya işime yaradı butondan sonrakiler onun id si olduğuunu bilmiyodum aslında biraz qbasic biliyorum komutları az çok irdeleyebiliyorum yinede ama mirc te bazı şeyler farklılık var haliyle bunlarıdayvaş yavaş sökecez


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 18:03.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk