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 Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   Nick bulma oyun remotesi (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/1063836-nick-bulma-oyun-remotesi.html)

Bozkurt- 29 Haziran 2025 15:06

Nick bulma oyun remotesi
 
Kod:

alias masknick {
  var %n = $1, %m = $left(%n,1), %i = 2
  while (%i < $len(%n)) {
    %m = %m $+ *
    inc %i
  }
  return %m $+ $right(%n,1)
}

alias harfac {
  var %chan = $1
  var %nick = $hget(secim, $+($chan,.dogru))
  if (!%nick) return
  var %mask = $hget(secim, $+($chan,.mask)), %len = $len(%nick), %tries = 0
  :retry
  inc %tries
  if (%tries > 10) return
  var %pos = $rand(2, $calc(%len - 1))
  if ($mid(%mask, %pos, 1) == *) {
    var %newmask = $left(%mask, %pos - 1) $+ $mid(%nick, %pos, 1) $+ $mid(%mask, %pos + 1)
    hadd -m secim $+($chan,.mask) %newmask
    msg %chan 12 Harf açıldı: %newmask
    return
  }
  goto retry
}

alias zamandoldu {
  var %chan = $1
  if ($hget(secim, $+($chan,.dogru))) {
    msg %chan 04 Süre doldu! Doğru cevap: 06 $hget(secim, $+($chan,.dogru))
    var %nick = $hget(secim, $+($chan,.dogru))
    hadd -m puanlar %nick $calc($hget(puanlar, %nick) - 5)
    msg %chan 14- 04 %nick 14 puanı:  $hget(puanlar,%nick)
    ; Oyun bitince temizle
    .timerharf_$+[%chan] off
    .timersure_$+[%chan] off
    hdel secim $+($chan,.dogru)
    hdel secim $+($chan,.mask)
    hdel secim $+($chan,.wrong)
    hdel secim $+($chan,.aktif)
  }
}
on *:start:{
  if (!$hget(puanlar)) hmake puanlar 100
  if (!$hget(secim)) hmake secim 50
  hload -i puanlar puanlar.dat
}

on *:exit:{
  hsave -i puanlar puanlar.dat
}

on *:text:*:#:{
  var %msg = $lower($strip($1-)), %nick = $nick, %chan = $chan
  if ($regex(%msg, /^[&:.!]se[cç]$/)) {
    if ($hget(secim, $+($chan,.aktif))) {
      msg %chan 14 Zaten aktif bir oyun var. Lütfen bitmesini bekleyin.
      return
    }
    var %list, %i = 1
    while ($nick(%chan, %i)) {
      var %n = $nick(%chan, %i)
      if (!$istok(%muaflist, %n, 44)) && (%n != $me) {
        %list = $addtok(%list, %n, 44)
      }
      inc %i
    }
    if (!%list) {
      msg %chan 14 Muaf olmayan kullanıcı bulunamadı. Tüm nickler oyuna dahil.
      return
    }
    var %target = $gettok(%list, $rand(1, $numtok(%list,44)), 44)
    hadd -m secim $+($chan,.dogru) %target
    hadd -m secim $+($chan,.mask) $masknick(%target)
    hadd -m secim $+($chan,.wrong) 0
    hadd -m secim $+($chan,.aktif) 1

    msg %chan 06 Oyun başladı! Tahmin etmeye çalışın: 12 $hget(secim, $+($chan,.mask))
    .timerharf_$+[%chan] 0 3 harfac %chan
    .timersure_$+[%chan] 1 15 zamandoldu %chan
    return
  }

  if ($regex(%msg, /^[&:.!]bu[Il]\s+(.+)/)) {
    if (!$hget(secim, $+($chan,.dogru))) {
      msg %chan 14 Şu an aktif bir oyun yok. Önce 12!seç14 komutunu kullanın.
      return
    }
    var %tahmin = $lower($remove($regml(1), $chr(32)))
    var %dogru = $lower($remove($hget(secim, $+($chan,.dogru)), $chr(32)))
    if (%tahmin == %dogru) {
      hadd -m puanlar %nick $calc($hget(puanlar, %nick) + 10)
      msg %chan 03 Tebrikler %nick! Doğru tahmin ettin. (+10 puan)
      msg %chan 14 Güncel puanın: 03 $hget(puanlar,%nick)
      if ($hget(puanlar,%nick) >= 100) {
        mode %chan +v %nick
        msg %chan 08 Tebrikler %nick! 100 puana ulaştın. Voice verildi.
        hadd -m puanlar %nick 0
      }
      ; Oyun bittiğinde temizle
      .timerharf_$+[%chan] off
      .timersure_$+[%chan] off
      hdel secim $+($chan,.dogru)
      hdel secim $+($chan,.mask)
      hdel secim $+($chan,.wrong)
      hdel secim $+($chan,.aktif)
    }
    else {
      hadd -m puanlar %nick $calc($hget(puanlar, %nick) - 5)
      var %yanlis = $calc($hget(secim, $+($chan,.wrong)) + 1)
      hadd -m secim $+($chan,.wrong) %yanlis
      var %kalan = $calc(3 - %yanlis)
      msg %chan 04 Yanlış tahmin %nick! Kalan hakkın: 07 %kalan
      if (%kalan <= 0) {
        msg %chan 04 %nick hakkını doldurdu. Doğru cevap: 06 $hget(secim, $+($chan,.dogru))
        msg %chan 14- Puanın:  $hget(puanlar, %nick)
        .timerharf_$+[%chan] off
        .timersure_$+[%chan] off
        hdel secim $+($chan,.dogru)
        hdel secim $+($chan,.mask)
        hdel secim $+($chan,.wrong)
        hdel secim $+($chan,.aktif)
      }
    }
    return
  }

  if ($regex(%msg, /^[:&.!]pa[şs]$/)) {
    if (!$hget(secim, $+($chan,.dogru))) {
      msg %chan 14 Pas geçilecek aktif bir oyun yok.
      return
    }
    if ($nick != $hget(secim, $+($chan,.dogru))) {
      msg %chan 14 Bu oyunda pas hakkın yok.
      return
    }
    hadd -m puanlar %nick $calc($hget(puanlar,%nick) - 2)
    msg %chan 07 %nick oyunu pas geçti. Korkup kaçtı! (-2 puan)
    msg %chan 14- Yeni puanın: 07 $hget(puanlar,%nick)
    .timerharf_$+[%chan] off
    .timersure_$+[%chan] off
    hdel secim $+($chan,.dogru)
    hdel secim $+($chan,.mask)
    hdel secim $+($chan,.wrong)
    hdel secim $+($chan,.aktif)
    return
  }
  if ($regex(%msg, /^[:&.!]muaf(?:\s+(\S+))?/)) {
    var %muafnick = $iif($regml(1), $regml(1), %nick)
    if ($istok(%muaflist, %muafnick, 44)) {
      set %muaflist $remtok(%muaflist, %muafnick, 1, 44)
      msg %chan 07 %muafnick 14 artık muaf değil. Oyuna dahil edilecek.
    }
    else {
      set %muaflist $addtok(%muaflist, %muafnick, 44)
      msg %chan 07 %muafnick 14 muaf listesine eklendi. Oyundan hariç tutulacak.
    }
    return
  }

  if ($regex(%msg, /^[:&.!]muaflist$/)) {
    msg %chan 14 Muaf Listesi: 06 $iif(%muaflist, %muaflist, (boş))
    return
  }
  if ($regex(%msg, /^[:&.!]reset$/)) {
    if ($nick isop %chan) {
      .timerharf_$+[%chan] off
      .timersure_$+[%chan] off
      hdel secim $+($chan,.dogru)
      hdel secim $+($chan,.mask)
      hdel secim $+($chan,.wrong)
      hdel secim $+($chan,.aktif)
      msg %chan 12 Oyun sıfırlandı. Yeni seçim yapılabilir.
    }
    else {
      msg %chan 04 Bu komutu yalnızca op'lar kullanabilir.
    }
    return
  }
}

Saklanbaç oyunu benzeri farklı bir oyun. Kanal listesinden rastgele bir nick seçer hafleri gizler ve nicki bulmanız için 3 hakkınız var. 15 saniye içinde bilemezseniz oyun biter. 3 Kez bilemezseniz oyun biter.

!komutlar
!seç ==> Nick listesinden rastgele bir nick seçer
!bul ==> Tahmin edeceğiniz nicki yazmanızı sağlar
!reset ==> Oyunu sıfırlar
!muaf ==> Nickinizi muaf ekler bir kez daha uygulanırsa muaf listesinden siler.
!pas ==> Oyundan çekilmenizi sağlar (Puan cezası verir)


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Mylife 29 Haziran 2025 16:14

Cevap: Nick bulma oyun remotesi
 
Güzel düşünülmüş bir oyun bence, emsalini görmemiştim daha önceleri, tebrik ederim.

Sadullah 29 Haziran 2025 16:27

Cevap: Nick bulma oyun remotesi
 
eline saglık :)

BuseNaz 01 Temmuz 2025 10:30

Cevap: Nick bulma oyun remotesi
 
Emeğine sağlık farklı olmuş..

Coderlab 12 Temmuz 2025 00:39

Cevap: Nick bulma oyun remotesi
 
Ek bi öneri nicklerin ilk harflerini ipucu olarak vermese daha kullanışlı olur düşüncesindeyim. Malum Tab :)


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

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