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/)
-   -   Yetkilendirme (https://www.ircforumlari.net/mirc-scripting-sorunlari/506871-yetkilendirme.html)

illusi0n 10 Ekim 2012 11:40

Yetkilendirme
 
Merhaba,

Aşağıdaki komutu sadece belirlediğim nickler kullansın istiyorum nasıl yapabilirim ?

on *:text:!atama*:#kanal {
:replay
var %n = $nick(#opkanali,$rand(1,$nick(#opkanali,0)))
if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) { goto replay }
/msg #opkanali " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
/msg #ircd - Liste kontrolü icin operatör atandı.
}

huSeyin 10 Ekim 2012 12:00

Cevap: Yetkilendirme
 
Kod:

on *:text:!atama*:#kanal { if (!$istok(Nick Nick1 Nick2,$nick,32)) { halt }
:replay
var %n = $nick(#opkanali,$rand(1,$nick(#opkanali,0)))
if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) { goto replay }
/msg #opkanali " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
/msg #ircd - Liste kontrolü icin operatör atandı.
}


illusi0n 10 Ekim 2012 12:32

Cevap: Yetkilendirme
 
Alıntı:

Canfeza Nickli Üyeden Alıntı (Mesaj 1041225236)
Kod:

on *:text:!atama*:#kanal { if (!$istok(Nick Nick1 Nick2,$nick,32)) { halt }
:replay
var %n = $nick(#opkanali,$rand(1,$nick(#opkanali,0)))
if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) { goto replay }
/msg #opkanali " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
/msg #ircd - Liste kontrolü icin operatör atandı.
}


Bu şekilde bende denedim. Çalışmıyor

huSeyin 10 Ekim 2012 12:50

Cevap: Yetkilendirme
 
Herhangi bir problem yok, test ettim, çalışıyor.
Bu şekilde bir bak
Kod:

if ($istok(Nick Nick1 Nick2,$nick,32)) {
veya
Kod:

on *:text:*:#kanal: {
  if ($1 == !atama && $nick == Nick || $nick == Nick) {


Veya - Text içinde geçen nicklerin kullanması için
Kod:

on *:text:!atama*:#kanal { if ($read(Nick.txt,w,$nick)) {
Buradaki her yol, aktif olarak test edildi.

Difuzyon 10 Ekim 2012 22:48

Cevap: Yetkilendirme
 
on *:text:!atama*:#kanal:

#kanal'dan sonra ki : işareti eksik yazılmış

illusi0n 12 Ekim 2012 23:48

Cevap: Yetkilendirme
 
Alıntı:

illusi0n Nickli Üyeden Alıntı (Mesaj 1041225232)
Merhaba,

Aşağıdaki komutu sadece belirlediğim nickler kullansın istiyorum nasıl yapabilirim ?

on *:text:!atama*:#kanal {
:replay
var %n = $nick(#opkanali,$rand(1,$nick(#opkanali,0)))
if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) { goto replay }
/msg #opkanali " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
/msg #ircd - Liste kontrolü icin operatör atandı.
}

Ek olarak bu koda şöyle birşey eklemek istiyorum; atadığı op'u bir txt dosyasına kayıt edecek ve bir dahaki atamada o op'u atamayacak atamalarda dağılımı eşitlemek istiyorum işin özü. Nasıl yapabilirim olabilir mi ?

illusi0n 16 Ekim 2012 12:16

Cevap: Yetkilendirme
 
Alıntı:

illusi0n Nickli Üyeden Alıntı (Mesaj 1041226323)
Ek olarak bu koda şöyle birşey eklemek istiyorum; atadığı op'u bir txt dosyasına kayıt edecek ve bir dahaki atamada o op'u atamayacak atamalarda dağılımı eşitlemek istiyorum işin özü. Nasıl yapabilirim olabilir mi ?

Yok mu cevap verebilecek bir zatı muhterem :)

Med Cezir 16 Ekim 2012 17:39

Cevap: Yetkilendirme
 
Bir txt dosyasına kayıt ettirmektense $addtok ile Variables de bu nickleri toplamak daha mantıklı geldi.

Kod:

on *:text:!atama*:#kanal: {
if (!$istok(Nick Nick1 Nick2,$nick,32)) { halt }
:replay
var %n = $nick(#opkanali,$rand(1,$nick(#opkanali,0)))
if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) || ($istok(%atama,$nick,32) == $true) { goto replay }
/msg #opkanali " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
.set -e %atama $addtok(%atama,%n,32)
/msg #ircd - Liste kontrolü icin operatör atandı.
}

set -e olarak kullandım yani mirc kapandığında %atama verisi temizlenecek eğer mirc kapandığında silinmesin atama listesi diyosan tavsiye etmesemde -e parametresini kaldırırsın.

illusi0n 22 Ekim 2012 11:21

Cevap: Yetkilendirme
 
Alıntı:

Med Cezir Nickli Üyeden Alıntı (Mesaj 1041228003)
Bir txt dosyasına kayıt ettirmektense $addtok ile Variables de bu nickleri toplamak daha mantıklı geldi.

Kod:

on *:text:!atama*:#kanal: {
if (!$istok(Nick Nick1 Nick2,$nick,32)) { halt }
:replay
var %n = $nick(#opkanali,$rand(1,$nick(#opkanali,0)))
if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) || ($istok(%atama,$nick,32) == $true) { goto replay }
/msg #opkanali " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
.set -e %atama $addtok(%atama,%n,32)
/msg #ircd - Liste kontrolü icin operatör atandı.
}

set -e olarak kullandım yani mirc kapandığında %atama verisi temizlenecek eğer mirc kapandığında silinmesin atama listesi diyosan tavsiye etmesemde -e parametresini kaldırırsın.


Belirtilen nickler dışında kullanan kişilere yetkiniz yoktur şeklinde uyarı vermesini istiyorum ek olarak.

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 11:21 -->-> Daha önceki mesaj 11:14 --

Alıntı:

illusi0n Nickli Üyeden Alıntı (Mesaj 1041230600)
Belirtilen nickler dışında kullanan kişilere yetkiniz yoktur şeklinde uyarı vermesini istiyorum ek olarak.



tamam hallettim.

illusi0n 05 Kasım 2012 14:14

Cevap: Yetkilendirme
 
Alıntı:

Med Cezir Nickli Üyeden Alıntı (Mesaj 1041228003)
Bir txt dosyasına kayıt ettirmektense $addtok ile Variables de bu nickleri toplamak daha mantıklı geldi.

Kod:

on *:text:!atama*:#kanal: {
if (!$istok(Nick Nick1 Nick2,$nick,32)) { halt }
:replay
var %n = $nick(#opkanali,$rand(1,$nick(#opkanali,0)))
if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) || ($istok(%atama,$nick,32) == $true) { goto replay }
/msg #opkanali " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
.set -e %atama $addtok(%atama,%n,32)
/msg #ircd - Liste kontrolü icin operatör atandı.
}

set -e olarak kullandım yani mirc kapandığında %atama verisi temizlenecek eğer mirc kapandığında silinmesin atama listesi diyosan tavsiye etmesemde -e parametresini kaldırırsın.

Merhaba,

Bir süre kullandıktan sonra fark ettim ki bu şekilde de dağılımda bir eşitlik olmuyor. Atadığı bir op'u bir dahaki atamada yeniden atıyor. Atamada atağı op'ları bir txt dosyasına kayıt edip bir sonraki atamada bu txt dosyasında o opun olup olmadığını kontrol ederek atama yapmasını sağlama şansımız olamaz mı?

Med Cezir 07 Kasım 2012 02:17

Cevap: Yetkilendirme
 
Neden txt dosyasına eklemeyi ısrarla istiyorsunki, bu nasıl bir fayda sağlayacak, ayrıca ilk kodda $nick olarak atamada sorgulatma yapmışız bunun yerine %n atanan nick üzerinden yapmamız gerekliydi.

Bunu düzeltmek istersen;
Kod:

if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) || ($istok(%atama,$nick,32) == $true) { goto replay }
satırını aşağıdaki gibi düzeltirsin.
Kod:

if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) || ($istok(%atama,%n,32) == $true) { goto replay }

illusi0n 07 Kasım 2012 11:45

Cevap: Yetkilendirme
 
Alıntı:

Med Cezir Nickli Üyeden Alıntı (Mesaj 1041240069)
Neden txt dosyasına eklemeyi ısrarla istiyorsunki, bu nasıl bir fayda sağlayacak, ayrıca ilk kodda $nick olarak atamada sorgulatma yapmışız bunun yerine %n atanan nick üzerinden yapmamız gerekliydi.

Bunu düzeltmek istersen;
Kod:

if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) || ($istok(%atama,$nick,32) == $true) { goto replay }
satırını aşağıdaki gibi düzeltirsin.
Kod:

if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) || ($istok(%atama,%n,32) == $true) { goto replay }

Şimdi oldu dostum dağılım eşitlendi yalnız bu %atama verisini mircı kapatmadan da belli aralıklarla sıfırlama gibi bir imkanımız olur mu? Şundan dolayı istiyorum; kanalda 3 op olduğunda %atama verisine bunları kayıt ettiğinde 4. sefer atama yaptığımda kilitleniyor bot

Med Cezir 08 Kasım 2012 05:33

Cevap: Yetkilendirme
 
Daha önceden yazılmış bir koda yama usulüyle eklemeler yapmak daha sonradan sıkıntılara yol açabiliyor. Başta düşünceniz doğrultusunda misal goto kulllanarak değilde, farklı bir mantıkla bu kod daha sorunsuzda yazılabilirdi.

Mevcut koda nasıl ekleme yaptım;
ilk olarak %atama daki nickler kanaldaki kişi sayısına eşitse veya büyükse %atama verisi sıfırlanacak.
İkinci olarak %atama verisine kayıtlı kişiler kanaldan part yapar veya sunucudan cıkarsada %atama verisinden silineceklerki kodun devamlılığı olsun.
Son olarakda %atama verisindeki bir nick nickini değişirse verideki nickide değiştirilecek.

Kod:

on *:text:!atama*:#kanal: {
if (!$istok(Nick Nick1 Nick2,$nick,32)) { halt }
if $token(%atama,0,32) >= $nick($chan,0) { unset %atama }
:replay
var %n = $nick(#opkanali,$rand(1,$nick(#opkanali,0)))
if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) || ($istok(%atama,%n,32) == $true) { goto replay }
/msg #opkanali " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
.set -e %atama $addtok(%atama,%n,32)
/msg #ircd - Liste kontrolü icin operatör atandı.
}
on *:Part:#opkanali:if $istok(%atama,$nick,32) == $true { $remove(%atama,$nick) }
on *:Quit:if $istok(%atama,$nick,32) == $true { $remove(%atama,$nick) }
on *:Nick:if $istok(%atama,$nick,32) == $true { $replace(%atama,$nick,$newnick) }

Bun dışında birşey istersen timer kullanarak unset %atama yaparak belirli zaman aralıklarıylada sıfırlayabilirsin.

Aklıma şuanlık gelen bu kadar :)

illusi0n 08 Kasım 2012 15:11

Cevap: Yetkilendirme
 
Alıntı:

Med Cezir Nickli Üyeden Alıntı (Mesaj 1041240614)
Daha önceden yazılmış bir koda yama usulüyle eklemeler yapmak daha sonradan sıkıntılara yol açabiliyor. Başta düşünceniz doğrultusunda misal goto kulllanarak değilde, farklı bir mantıkla bu kod daha sorunsuzda yazılabilirdi.

Mevcut koda nasıl ekleme yaptım;
ilk olarak %atama daki nickler kanaldaki kişi sayısına eşitse veya büyükse %atama verisi sıfırlanacak.
İkinci olarak %atama verisine kayıtlı kişiler kanaldan part yapar veya sunucudan cıkarsada %atama verisinden silineceklerki kodun devamlılığı olsun.
Son olarakda %atama verisindeki bir nick nickini değişirse verideki nickide değiştirilecek.

Kod:

on *:text:!atama*:#kanal: {
if (!$istok(Nick Nick1 Nick2,$nick,32)) { halt }
if $token(%atama,0,32) >= $nick($chan,0) { unset %atama }
:replay
var %n = $nick(#opkanali,$rand(1,$nick(#opkanali,0)))
if (%n isop #opkanali) || (%n ishop #opkanali) || (%n == $me) || ($istok(%atama,%n,32) == $true) { goto replay }
/msg #opkanali " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
.set -e %atama $addtok(%atama,%n,32)
/msg #ircd - Liste kontrolü icin operatör atandı.
}
on *:Part:#opkanali:if $istok(%atama,$nick,32) == $true { $remove(%atama,$nick) }
on *:Quit:if $istok(%atama,$nick,32) == $true { $remove(%atama,$nick) }
on *:Nick:if $istok(%atama,$nick,32) == $true { $replace(%atama,$nick,$newnick) }

Bun dışında birşey istersen timer kullanarak unset %atama yaparak belirli zaman aralıklarıylada sıfırlayabilirsin.

Aklıma şuanlık gelen bu kadar :)

Emeğine sağlık dostum :)

rX 27 Ocak 2013 10:48

Cevap: Yetkilendirme
 
Konuyu hortlatıyorum fakat ek olarak yapabileceğimiz birşey olabilir mi diye soracaktım?


#Founders kanalında; #Sohbet@ #kelime@ #yarisma@ #oyun@ founder'leri ve successor'leri bulunuyor.

#Founders kanalında sohbetop.txt içinde ekli olanlar !atama #sohbet@ komutunu kullanabilsinler
#Founders kanalında oyunop.txt içinde ekli olanlar !atama #oyun@ komutunu kullanabilsinler

ve diyelim ki sohbetop.txt içinde bulunan !atama #oyun@ yaptığında ona uyarı gönderecek;

Siz Oyun kanalı yetkilisi değilsiniz şeklinde...

verilen kodu bu şekilde uyarlamak mümkün müdür?

Tek kod ile yoksa her kanal için farklı kod mu türetmemiz gerekiyor?

Med Cezir 29 Ocak 2013 04:04

Cevap: Yetkilendirme
 
Koda yeterince yama yaptığımızı düşünüyordum :) Kodu denemedim sen dener sonucu bildirirsin. Ama aşağıda belirttiğim unsurları tamamen uygulaman gerekli, bunlardan kaynaklı bir hata oluşmasın

sohbetop.txt ve oyunop.txt oluşturup içine yetkili nickleri eklersin
sohbet kanalının op kanalı #sohbetop , oyun kanalının op kanalı #oyunop olmalı
#founder kanalında !atama #sohbet veya !atama #oyun kanalı olarak kullanılabilir.

Kod:

on *:text:!atama*:#founder: {
  if (!$istok(Nick Nick1 Nick2,$nick,32)) { halt }
  if $regex($2,/^(#sohbet|#oyun)$/i) {
    if $token($+(%,atama,.,$2),0,32) >= $nick($+($2,op),0) { unset %atama }
    if $read($+($right($2,-1),op,.,txt),w,$nick) { goto replay }
    else { msg $chan $2 kanalı yetkilisi değilsin işlem yapamazsın | halt }
  }
  else { msg $chan $2 kanalı erişim dahlinde değildir. | halt }
  :replay
  var %n = $nick($+($2,op),$rand(1,$nick($+($2,op),0)))
  if (%n isop $+($2,op)) || (%n ishop $+($2,op)) || (%n == $me) || ($istok($+(%,atama,.,$2),%n,32) == $true) { goto replay }
  /msg $+($2,op) " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
  .set -e %atama $addtok(%atama,%n,32)
  /msg #founder - Liste kontrolü icin operatör atandı.
}
on *:Part:#: {
  if $chan == #sohbetop && $istok(%atama.#sohbet,$nick,32) == $true { $remove(%atama.#sohbet,$nick) }
  if $chan == #oyunop && $istok(%atama.#oyun,$nick,32) == $true { $remove(%atama.#oyun,$nick) }
}
on *:Quit: {
  if $istok(%atama.#sohbet,$nick,32) == $true { $remove(%atama.#sohbet,$nick) }
  if $istok(%atama.#oyun,$nick,32) == $true { $remove(%atama.#oyun,$nick) }
}
on *:Nick: {
  if $istok(%atama.#sohbet,$nick,32) == $true { $replace(%atama.#sohbet,$nick,$newnick) }
  if $istok(%atama.#oyun,$nick,32) == $true { $replace(%atama.#oyun,$nick,$newnick) }
}


rX 09 Mart 2013 11:15

Cevap: Yetkilendirme
 
Alıntı:

Med Cezir Nickli Üyeden Alıntı (Mesaj 1041274443)
Koda yeterince yama yaptığımızı düşünüyordum :) Kodu denemedim sen dener sonucu bildirirsin. Ama aşağıda belirttiğim unsurları tamamen uygulaman gerekli, bunlardan kaynaklı bir hata oluşmasın

sohbetop.txt ve oyunop.txt oluşturup içine yetkili nickleri eklersin
sohbet kanalının op kanalı #sohbetop , oyun kanalının op kanalı #oyunop olmalı
#founder kanalında !atama #sohbet veya !atama #oyun kanalı olarak kullanılabilir.

Kod:

on *:text:!atama*:#founder: {
  if (!$istok(Nick Nick1 Nick2,$nick,32)) { halt }
  if $regex($2,/^(#sohbet|#oyun)$/i) {
    if $token($+(%,atama,.,$2),0,32) >= $nick($+($2,op),0) { unset %atama }
    if $read($+($right($2,-1),op,.,txt),w,$nick) { goto replay }
    else { msg $chan $2 kanalı yetkilisi değilsin işlem yapamazsın | halt }
  }
  else { msg $chan $2 kanalı erişim dahlinde değildir. | halt }
  :replay
  var %n = $nick($+($2,op),$rand(1,$nick($+($2,op),0)))
  if (%n isop $+($2,op)) || (%n ishop $+($2,op)) || (%n == $me) || ($istok($+(%,atama,.,$2),%n,32) == $true) { goto replay }
  /msg $+($2,op) " Badnick " kontrolü yapılıp bilgi verilsin lütfen atanan yetkili: $+(%n,))
  .set -e %atama $addtok(%atama,%n,32)
  /msg #founder - Liste kontrolü icin operatör atandı.
}
on *:Part:#: {
  if $chan == #sohbetop && $istok(%atama.#sohbet,$nick,32) == $true { $remove(%atama.#sohbet,$nick) }
  if $chan == #oyunop && $istok(%atama.#oyun,$nick,32) == $true { $remove(%atama.#oyun,$nick) }
}
on *:Quit: {
  if $istok(%atama.#sohbet,$nick,32) == $true { $remove(%atama.#sohbet,$nick) }
  if $istok(%atama.#oyun,$nick,32) == $true { $remove(%atama.#oyun,$nick) }
}
on *:Nick: {
  if $istok(%atama.#sohbet,$nick,32) == $true { $replace(%atama.#sohbet,$nick,$newnick) }
  if $istok(%atama.#oyun,$nick,32) == $true { $replace(%atama.#oyun,$nick,$newnick) }
}


Kodun çalışacağına eminim sağolasın şuan askerde oldugum için deneyemedim sunucu kapalı olduğu için, Deneyen var ise sonucunu yazarsa başkalarına da yararı olur.
İyi forumlar.

rX 07 Kasım 2013 03:55

Cevap: Yetkilendirme
 
Teşekkür ederim kod çalışıyor fakat istediğim kanal ismini aldıramadım $right ile nasıl yapacağım hakkında fikrimde yok açıkçası :)

$+($2,op) yerine $+($2,@) yaptım oluyor ama benim istediğim diyelim ki kanalın adı #IF-Sohbet bunu #Sohbet@ olarak aldırmak istiyorum fakat fazla parametre hatası alıyorum. $right($2,-2,-3,-4),@ şeklinde deneyince fazla parametre hatası alıyorum farklı bir yöntem var mıdır?

rX 06 Şubat 2014 11:15

Cevap: Yetkilendirme
 
Kod:

on *:text:!atama*:#founders: {
  if (!$istok(rX Read Nick2,$nick,32)) { halt }
  if $regex($2,/^(#KT-Sohbet|#KT-oyun|#KT-Kelime|#KT-Yarisma)$/i) {
    if $token($+(%,atama,.,$2),0,32) >= $nick($+($2,@),0) { unset %atama }
    if $read($+($token($2,2,45),@,.,txt),w,$nick) { goto replay }
    else { msg $chan $2 kanalı yetkilisi değilsin işlem yapamazsın | halt }
  }
  else { msg $chan $2 kanalı erişim dahlinde değildir. | halt }
  :replay
  var %:chan $+($chr(35),$token($2,2,45),$chr(64))
  var %n = $nick(%:chan,$r(1,$nick(%:chan,0)))
  if (%n isop %:chan) || (%n ishop %:chan) || (%n == $me) || $istok(Nick1 Nick2 Nick3,%n,32) { goto replay }
  .msg $+($chr(35),$token($2,2,45),$chr(64)) "4Badnick" 2kontrolü yapılıp bilgi verilsin lütfen. 4Atanan yetkili:5 $+(%n,))
  .set -e %atama $addtok(%atama,%n,32)
  .msg #founders - 2Liste kontrolü icin operatör atandı. 4Atanan yetkili:5 $+(%n,))
}
on *:Part:#: {
  if $chan == #sohbet@ && $istok(%atama.#KT-Sohbet,$nick,32) == $true { $remove(%atama.#KT-Sohbet,$nick) }
  if $chan == #Oyun@ && $istok(%atama.#oyun,$nick,32) == $true { $remove(%atama.#KT-oyun,$nick) }
  if $chan == #Kelime@ && $istok(%atama.#KT-Sohbet,$nick,32) == $true { $remove(%atama.#KT-Kelime,$nick) }
  if $chan == #Yarisma@ && $istok(%atama.#KT-Sohbet,$nick,32) == $true { $remove(%atama.#KT-Yarisma,$nick) }
}
on *:Quit: {
  if $istok(%atama.#KT-Sohbet,$nick,32) == $true { $remove(%atama.#KT-Sohbet,$nick) }
  if $istok(%atama.#KT-oyun,$nick,32) == $true { $remove(%atama.#KT-oyun,$nick) }
  if $istok(%atama.#KT-Kelime,$nick,32) == $true { $remove(%atama.#KT-Kelime,$nick) }
  if $istok(%atama.#KT-Yarisma,$nick,32) == $true { $remove(%atama.#KT-Yarisma,$nick) }
}
on *:Nick: {
  if $istok(%atama.#KT-Sohbet,$nick,32) == $true { $replace(%atama.#KT-Sohbet,$nick,$newnick) }
  if $istok(%atama.#KT-oyun,$nick,32) == $true { $replace(%atama.#KT-oyun,$nick,$newnick) }
  if $istok(%atama.#KT-Kelime,$nick,32) == $true { $replace(%atama.#KT-Kelime,$nick,$newnick) }
  if $istok(%atama.#KT-Yarisma,$nick,32) == $true { $replace(%atama.#KT-oyun,$nick,$newnick) }
}

Kod şu halde işlevi tamam fakat eksikliği var;

if (!$istok(rX Read Nick2,$nick,32)) { halt }

bu kısımdaki nickleri muaf tutmuyor atamaya dahil ediyor yetkili olduğunda dahil etmiyor atamaya sadece #Sohbet@ kanalındaki yetkisiz nickleri dahil ediyor ama arada muaf nickler de dahil oluyor ve diyelim #Sohbet@ kanalında X-System haricinde kullanıcı olmadığında mirci kasıyor kapanmasına sebep oluyor boş olduğunda kullanıcı olmadığında atama yapacak yönetici bulunamadı şeklinde yazması mümkün mü acaba?

TeknikShell 06 Şubat 2014 12:57

Cevap: Yetkilendirme
 
Alıntı:

rX Nickli Üyeden Alıntı (Mesaj 1041389309)
Kod:

on *:text:!atama*:#founders: {
  if (!$istok(rX Read Nick2,$nick,32)) { halt }
  if $regex($2,/^(#KT-Sohbet|#KT-oyun|#KT-Kelime|#KT-Yarisma)$/i) {
    if $token($+(%,atama,.,$2),0,32) >= $nick($+($2,@),0) { unset %atama }
    if $read($+($token($2,2,45),@,.,txt),w,$nick) { goto replay }
    else { msg $chan $2 kanalı yetkilisi değilsin işlem yapamazsın | halt }
  }
  else { msg $chan $2 kanalı erişim dahlinde değildir. | halt }
  :replay
  var %:chan $+($chr(35),$token($2,2,45),$chr(64))
  var %n = $nick(%:chan,$r(1,$nick(%:chan,0)))
  if (%n isop %:chan) || (%n ishop %:chan) || (%n == $me) || $istok(Nick1 Nick2 Nick3,%n,32) { goto replay }
  .msg $+($chr(35),$token($2,2,45),$chr(64)) "4Badnick" 2kontrolü yapılıp bilgi verilsin lütfen. 4Atanan yetkili:5 $+(%n,))
  .set -e %atama $addtok(%atama,%n,32)
  .msg #founders - 2Liste kontrolü icin operatör atandı. 4Atanan yetkili:5 $+(%n,))
}
on *:Part:#: {
  if $chan == #sohbet@ && $istok(%atama.#KT-Sohbet,$nick,32) == $true { $remove(%atama.#KT-Sohbet,$nick) }
  if $chan == #Oyun@ && $istok(%atama.#oyun,$nick,32) == $true { $remove(%atama.#KT-oyun,$nick) }
  if $chan == #Kelime@ && $istok(%atama.#KT-Sohbet,$nick,32) == $true { $remove(%atama.#KT-Kelime,$nick) }
  if $chan == #Yarisma@ && $istok(%atama.#KT-Sohbet,$nick,32) == $true { $remove(%atama.#KT-Yarisma,$nick) }
}
on *:Quit: {
  if $istok(%atama.#KT-Sohbet,$nick,32) == $true { $remove(%atama.#KT-Sohbet,$nick) }
  if $istok(%atama.#KT-oyun,$nick,32) == $true { $remove(%atama.#KT-oyun,$nick) }
  if $istok(%atama.#KT-Kelime,$nick,32) == $true { $remove(%atama.#KT-Kelime,$nick) }
  if $istok(%atama.#KT-Yarisma,$nick,32) == $true { $remove(%atama.#KT-Yarisma,$nick) }
}
on *:Nick: {
  if $istok(%atama.#KT-Sohbet,$nick,32) == $true { $replace(%atama.#KT-Sohbet,$nick,$newnick) }
  if $istok(%atama.#KT-oyun,$nick,32) == $true { $replace(%atama.#KT-oyun,$nick,$newnick) }
  if $istok(%atama.#KT-Kelime,$nick,32) == $true { $replace(%atama.#KT-Kelime,$nick,$newnick) }
  if $istok(%atama.#KT-Yarisma,$nick,32) == $true { $replace(%atama.#KT-oyun,$nick,$newnick) }
}

Kod şu halde işlevi tamam fakat eksikliği var;

if (!$istok(rX Read Nick2,$nick,32)) { halt }

bu kısımdaki nickleri muaf tutmuyor atamaya dahil ediyor yetkili olduğunda dahil etmiyor atamaya sadece #Sohbet@ kanalındaki yetkisiz nickleri dahil ediyor ama arada muaf nickler de dahil oluyor ve diyelim #Sohbet@ kanalında X-System haricinde kullanıcı olmadığında mirci kasıyor kapanmasına sebep oluyor boş olduğunda kullanıcı olmadığında atama yapacak yönetici bulunamadı şeklinde yazması mümkün mü acaba?

Senin verdigin o kisim !atama kpmutunu kullanan nickler onlarsa islem yapmasin icin. Telden girdigim icin fqzla goremedim ama muaf nick eklemek icin sanirim mirc klasoru icinde #kanal@.txt olup icine muaf nickleri yazmak #kanal@ ornekdi..

rX 06 Şubat 2014 13:35

Cevap: Yetkilendirme
 
Alıntı:

Teknikshell Nickli Üyeden Alıntı (Mesaj 1041389318)
Senin verdigin o kisim !atama kpmutunu kullanan nickler onlarsa islem yapmasin icin. Telden girdigim icin fqzla goremedim ama muaf nick eklemek icin sanirim mirc klasoru icinde #kanal@.txt olup icine muaf nickleri yazmak #kanal@ ornekdi..

kanal@.txt içindeki nickler !atama komutunu kullanabilsinler şeklinde düzenlendi kod benim istediğimse belirlediğim nicklerin !atama dışı olması ve atayacak kimse yoksa kimse yok desin mirci kasıyor aksi takdirde.


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

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