mIRC Scripting

mIRC Scripting (https://www.mircscripting.net/)
-   Challenge - Meydan - Yarışma (https://www.mircscripting.net/challenge-meydan-yarythma/)
-   -   Multi Mod (https://www.mircscripting.net/challenge-meydan-yarythma/649-multi-mod.html)

CoCoRiCo 27 Ekim 2013 00:44

Multi Mod
 
Amaç:
Soket verilerinden odalarda birden fazla operator moderasyonunu takip etmek ve ve echo olarak yansıtmak

Kapsam
Odalarda operator modlarının 1 yada daha fazlası (+o-o nick nick) gibi hallerini bildirecek

Kural
Soket yada debug için olmalıdır, Debug kullananlar için event yada mIRC dahili $ial, "$nick().pnick" gibi identifier kulanılamaz..
Yalnızca tek bir fonksiyon yada aliasess olmalıdır
Kodlar PM olarak gönderilecektir,gönderilen kodda son ana kadar düzenleme yapabilir, en son halini bitiş
zamanına kadar yeniden gönderebilirsiniz.

Puanlama:
Yarısma birincisi en az byte (karakter sayısı) la işlemi gerçekleştiren kişi olacaktır.

Örnek:

$gmd([email protected] MODE #mS +o-o+vhh+q Toprak CoCoRiCo uFuK CesuryureK Difuzyon Feragat)

RAW: [email protected] MODE #mS +o-o+vhh+q Toprak CoCoRiCo uFuK CesuryureK Difuzyon Feragat


Çıktı:
#mS @Toprak
#mS CoCoRiCo
#mS +uFuK
#mS %CesuryureK
#mS %Difuzyon
#mS &Feragat

debug için yalnızca yardımcı kod:

Kod:

alias dbg debug -i d gmd
alias gmd {
Kodlar buraya..
}

Katılımcılar: (5)
Difuzyon
CesuryureK
Feragat
Toprak
uFuK(FenomeNs)



(Sonradan katılımcı kabul ediliyor yarışmaya katılmak için PM atınız.)

Hakem: (1)
CoCoRiCo

Başlangıç..: 27/10/2013 00:00
Bitiş.........: 28/10/2013 00:00

CoCoRiCo 28 Ekim 2013 13:38

Kazanan : Difuzyon

Kural ihlal:
cıktı : #kanal veri

Kazanan KOD:
Kod:

alias db {
  if $1 { $iif(!$window(@d),window -fen @d verdana 9,echo @d $1-)
    tokenize 32 $1-
    if ($1 = <- && $3 = MODE && $remove($token($2,1,33),:) ison $4) {
      noop $regex($5-,/[+-]([qaohv+-]*)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)($|\s(\S+)?)/)
      var %a = 1,%w = $mid($5,1,1),%d = 1
      set -l %l
      while %a <= $len($regml(1)) {
        if $istok(+ -,$mid($regml(1),%a,1),32) {
          var %w $mid($regml(1),%a,1)
          inc %a
        }
        var %c $mid($regml($calc(%d * 2)),2,400)
        inc %d 1
        var %l $addtok(%l,$+(%w,$mid($regml(1),%a,1),,%c),32)
        inc %a
      }
      tokenize 32 $replace(%l,+q,.,+a,&,+o,@,+h,%,+v,+,-q,$null,-a,$null,-o,$null,-h,$null,-v,$null)
      echo -a $*
    }

  }
    else  debug -i d db
}

Boyut : 893 bayt
Satır (çerçeve kod dahil): 23 satır

uFuK 28 Ekim 2013 16:04

Sandığım kadar basit birşey değilmiş tebrikler @Difuzyon :)

L4roXyL 02 Kasım 2013 19:26

Cocorico ben geç kaldım sanırım bu challenge'a :)
Yine de;

Sanırım burada yapılmak istenen şey verilen modları tekrar change etmek.
Yani şöyle ki; +vho-oq+ah-o modları, +v+h+o-o-q+a+h-o şeklinde olmalı. Zaten ondan sonrası basit bir döngüye bakar.

İlgili text-imizi şu şekilde düşünelim(malum yazdığım kod o kısım için geçerli, zaten önemli olan kısım orası gerisi basit);

Kod:

#mS +o-o+vhh+q Toprak CoCoRiCo uFuK CesuryureK Difuzyon Feragat
İlk öncelikle buradaki modları modifiye(yukarıda gösterdim) etmek için regex-de kullanılabilir, normal bir external bir döngüde kullanılabilir. Ben regex kullanmayı tercih ettim. Şöyleki;

Regex dilimi: $regsubex(<modes>,/([+-])(\w+)/g,$regsubex(\2,/(.)/g, [[ \1\ $+ t ]] ))
Örnek: //echo -: $regsubex(a,+o-o+vhh+q,/([+-])(\w+)/g,$regsubex(\2,/(.)/g, [[ \1\ $+ t ]] ))
Sonuç: +o-o+v+h+h+q

Bundan sonrası zaten basit bir döngüye bakar. Esasında gerisi de komple regex içerisinde yazılabilir, lakin uğraşacak gibi değilim şuan .)
Neyse kodun tamamını verelim.

Kod:

alias m+ {
  tokenize 32 $1-
  if $1 = <- && $3 = mode {
    var %s = $regsubex(a,$5,/([+-])(\w+)/g,$regsubex(\2,/(.)/g, [[ \1\ $+ t ]] ))
    noop $regsubex(%s,/([+-][ahovq])/g,)
    while - {
      inc -u %.
      echo -s $4 $regsubex(c,$$regml(%.),/([-+])([ahvoq])/g,$iif(\1 = -,,$&
        $iif(\1 = +,$replace(\2,v,+,h,%,o,@,a,&,q,~)))) $+ $token($6-,%.,32)
    }
  }
}

/debug -i on m+

Yapmanız yeterli olur.

fav 08 Haziran 2015 19:11

benyazsam 3 sayfa olurdu heralde :D tebrıkler cenk kardeşim


++ mIRCScripting.net hakkında kısaca:

mS; "Gayri resmi mIRC" kullanıcı ve tasarımcı topluluğudur.
2009 yılında kurulan mS; tasarımcı ve geliştiricileri bir araya getiren etkileşim ve iletişim sağlayan bir platformdur.
mS; tasarım, programlama, geliştirme, düzenleme vb. pek çok konu etrafında bir araya gelmiş "mIRC" meraklısı bir çok insan tarafından yaratılan içeriğiyle; kullanıcı dostu, özgün elit, nitelikli kişi ve konularla hizmet sunan mIRC Scripting platformudur.

Özgün içerikten onay almaksızın içeriği yaratan kullanıcılarımız tamamen yada kısmen sorumludur, aynı zamanda söz konusu içerik mS yetkilileri izni olmaksızın, kaynak gösterilse dahi(!) kopyalanamaz ve/ya paylaşılamaz.   Site/içerik hakkında görüş, öneri ve şikayetleriniz için sikayet[at]mircscripting[dot]net e-posta ve ya İletişim adresinden bizlere ulaştırabilirsiniz.



mIRC mIRC Orjinal mIRC İndir mIRC Download mIRC Tutorials mIRC Socket mIRC Commands mIRC Komutlar mIRC Yükle mIRC Dersler mIRC Hazır Kodlar mIRC Classentifier mIRC DLL mIRC Dialog mIRC IRC mIRC FTP mIRC Telnet mIRC Help
mIRC Yardım mIRC Iconlar mIRC Com Object mIRC Binary Files mIRC Picture Windows mIRC Unicode mIRC Forum mIRC Hazır Kodlar mIRC Kod mIRC Script mIRC File Handling mIRC Scripting Language mIRC Scripting Dili mIRC Scripting Info
mIRC Scripting Tutorials



User Alert System provided by Advanced User Tagging v3.1.3 (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd. Runs best on HiVelocity Hosting.

1 2 13 14 16 17 18 19 21 22 23 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 49 50 51 52 54 55 56 57 58 59 60 61 62 63 67 68 69 70 71 72 73 74 75 76

SEO by vBSEO 3.6.1