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/)
-   -   Resim penceresinde pasta grafik calismasi /pastagrafik (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/1068589-resim-penceresinde-pasta-grafik-calismasi-pastagrafik.html)

manikdepresif 14 Eylül 2025 00:31

Resim penceresinde pasta grafik calismasi /pastagrafik
 
Aciklama: X ve Y koordinatlari verilen resim penceresinde girilen degerlerin pasta grafigini cizer.

Kullanim : /pastagrafik @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]reismi xkordinati ykordinati dairecapi baslik deger

Örnek Komut:
1-
Kod:

/pastagrafik @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]reismi 100 100 250 Patlıcan(kg) 40 Soğan(kg) 10 Ekmek(Adet) 15 Patates(kg) 11.90 Havuc(kg) 35 Ithal Muz(kg) 110 Seftali Nektarin(kg) 150 Maydanoz(demet) 15 Tuzlu Fistik Ici(kg) 140
[Kod Baslangic]
Kod:

alias pastagrafik {
  if @* !iswm $1 { goto pastagrafikhatamesaj }
  if $2 !isnum || $3 !isnum  || $4 !isnum { goto pastagrafikhatamesaj }
  if $5 isnum { goto pastagrafikhatamesaj }
  if !$window($1) { window -p $$1 }
  var %past-penc  = $1
  var %daire-x-kord = $$2
  var %daire-y-kord = $$3
  var %daire-cap = $$4
  if ($4 < 150) { var %daire-cap = 150 }
  var %daire-yari-cap =  $calc(%daire-cap / 2)
  var  %yerlesik_daire_kordinat_x  =  $calc(%daire-x-kord + %daire-yari-cap)
  var %yerlesik_daire_kordinat_y =  $calc(%daire-y-kord + %daire-yari-cap)
  var %karisik-degerler = $strip($5-)
  var %toplam-pasta-deger = 360 
  var %pasta-kaca-bolunecek = $_rakam_ayikla(%karisik-degerler).bolum
  if (%pasta-kaca-bolunecek > 13) { echo $color(info) * Maximum 13 deger girmelisiniz | return  }
  var %karisik-deger-toplami = $_rakam_ayikla(%karisik-degerler).topla
  var %karisik-deger-yuzdesi-acisal-oran = $_rakam_ayikla(%karisik-degerler).toplamyuzdeacisal
  drawrect -e %past-penc 1 1 %daire-x-kord %daire-y-kord %daire-cap %daire-cap
  tokenize 32 $sorttok(%karisik-deger-yuzdesi-acisal-oran,32,nr)
  var %n = 1
  var %t = 1
  var %h = 1
  while (%t <= $0) {
    drawrect -f %past-penc $calc(%h + 1) 1 $calc(%daire-cap + %daire-x-kord + 20) %daire-y-kord 15 15
    drawtext %past-penc $calc(%h +1) verdana 10 $calc(%daire-cap + %daire-x-kord + 20 + 20) %daire-y-kord $replace($token($_rakam_ayikla(%karisik-degerler),%h,149),~,->)
    var %daire-y-kord = $calc(%daire-y-kord + 20) 
    var %x = [ $ $+  [ %t ] ]
    var %l = 1, %n = %n
    inc %h
    ;h <- renk degeridir
    while (%l <= $round($calc(%x),0)) {
      var %cos_x_ekseni_hesaplanmis = $round($calc(%yerlesik_daire_kordinat_x  + (%daire-yari-cap * $cos(%n).deg)),0)
      var %sin_y_ekseni_hesaplanmis =  $round($calc(%yerlesik_daire_kordinat_y - (%daire-yari-cap * $sin(%n).deg)),0)
      drawline %past-penc %h 4 %yerlesik_daire_kordinat_x %yerlesik_daire_kordinat_y  %cos_x_ekseni_hesaplanmis %sin_y_ekseni_hesaplanmis
      inc %n   
      inc %l
    }
    inc %t
  }
  return
  :pastagrafikhatamesaj
  echo $color(info) * /pastagrafik @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]reismi xkordinati ykordinati dairecapi baslik deger
  echo $color(info) * Ornek: /pastagrafik @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]reismi 100 100 250 Patlıcan(kg) 40 Soğan(kg) 10 Ekmek(Adet) 15 Patates(kg) 11.90 Havuc(kg) 35 Ithal Muz(kg) 110 Seftali Nektarin(kg) 150 Maydanoz(demet) 15 Tuzlu Fistik Ici(kg) 140
}

alias _rakam_ayikla {
  var %i = 1, %z = 0, %deger-topla-m
  tokenize 32 $$1-
  while [ $ $+ [ %i ] ] {
    var %d = $v1, %n = %n %d
    if (%d isnum) {
      inc %z
      if ($prop == $null) {
        var %noop_or_command  = %noop_or_command $token(%n,-1,32) $+ ~ $+ $removecs(%n,$token(%n,-1,32)) $+ $chr(149)
      } 
      var %j = %j $+($token(%n,-1,32),/,jeun,*360)
      inc %deger-topla-m $token(%n,-1,32)
      unset %n
    }
    inc %i
  }
  if ($prop == bolum) { return %z }
  if ($prop == topla) { return %deger-topla-m  }
  if ($prop == toplamyuzdeacisal) { return $replace(%j,jeun,%deger-topla-m) }
  return $sorttok(%noop_or_command,149,nr)
}

[Kod Bitis]

Not: En fazla 14 baslik girebilirsiniz.
Not2: Lutfen kodun calismamasi durumunda hata varsa buraya hatayi yaziniz.

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


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

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