[mIRC] IF-Abfragen verschachteln

roopa

Grünschnabel
[IRC] if abfragen verschateln

Hallo, ich versuche mich gerade an Dialogen und verschiedenen IF abfragen.
Ich versuche ein Mp3 Script selber zu machen bzw es funktioniert wenn ich mit einer Virablen arbeite sobald mehrere kommen ist ende.
Mein problem ist nun folgendes

Ich möchte über das Dialog auswählen können was angezeigt wird zeit bitrate größe etc...

Bis hier hin kein problem. Mit time alleine funktioniert das wunderbar. Aber ich bekomme es nicht hin mehrere Abfragen rein zu machen hier der code

Code:
on *:load:{
  if ($version > 6.02) { echo -a Mp3 Anzeiger wurde erfolgreich installiert. Tippe /mp3 um dein Lied anzuzeigen | .echo -a Im menu unter Einstellungen kannst du Mp3 Anzeiger Konfigurieren }
  else { echo -a Sorry, das Addon benötigt eine mIRC Version ab 6.02+. | .unload -rs " $+ $script $+ " } 
}

menu menubar,channel,query,nicklist {
  Einstellungen
  .Mp3 Anzeige
  ..Einstellungen:/dialog -m mp3_anzeiger mp3_anzeiger
  ..Was höre ich:/mp3
}

Bis hier ist klar. script wird geladen und die Befehle werden in den Menubars angezeigt
Code:
dialog mp3_anzeiger {
  title "Mp3 zeiger"
  size -1 -1 160 71
  option dbu
  tab "Mp3 Zeiger", 1, 1 2 156 49
  edit "", 2, 69 29 83 10, tab 1 
  text "", 30, 69 37 83 10, tab 1 read
  text "Was steht vor dem mp3:", 7, 6 30 62 8, tab 1
  check "Zeit Anzeigen", 10, 20 18 40 10, tab 1
  tab "Info", 4
  text "Mp3 Anzeiger V1", 40, 4 17 67 10, tab 4
  text "Script by", 41, 65 25 25 10, tab 4
  text "Roopa", 42, 65 32 15 8, tab 4
  text "FunIce", 43, 65 38 17 8, tab 4

  button "OK", 100, 1 53 46 17, flat ok
  button "Abbrechen", 23, 113 53 46 17, flat cancel
  button "Übernehmen", 24, 57 53 46 17, flat

}
on *:dialog:mp3_anzeiger:init:0: {
  { did -a mp3_anzeiger 2 %mp3_info }
  if (%mp3_time == ON) { did -c mp3_anzeiger 10 }
}

on *:dialog:mp3_anzeiger:sclick:100: {
  if ($did(mp3_anzeiger,10).state == 0) { set %mp3_time OFF }
  else { set %mp3_time ON }
  set %mp3_info $did(mp3_anzeiger,2)
}

Der Dialog, noch nicht angepasst für die weiteren Befehle, wie Bitrate aber um zu sehen wie es aussehen soll.

Code:
####mp3-sys####
alias mp3 {

  if ($dll($scriptdir $+ AmpIRC.dll,GetCurrentSong,0) != $null) {
    if (%mp3_time == on ) { 
    %MP3String = %mp3_info : ~NAME~ Länge:  ~MLENGTH~  }
    else {  %MP3String = %mp3_info : ~NAME~  }
    %Minutes = $calc($dll($scriptdir $+ AmpIRC.dll,TrackInfo,Length) / 60)
    %Minutes = $gettok(%Minutes,1,46)
    %Minutes = %Minutes $+ : $+ $calc($dll($scriptdir $+ AmpIRC.dll,TrackInfo,Length) - %Minutes * 60)

    %MP3String = $replace(%MP3String,~MLENGTH~,%Minutes)
    %MP3String = $replace(%MP3String,~BITRATE~,$dll($scriptdir $+ AmpIRC.dll,TrackInfo,Bitrate))
    %MP3String = $replace(%MP3String,~NAME~,$dll($scriptdir $+ AmpIRC.dll,GetCurrentSong,3))
    %MP3String = $replace(%MP3String,~SAMPLERATE~,$dll($scriptdir $+ AmpIRC.dll,TrackInfo,Samplerate))
    %MP3String = $replace(%MP3String,~LENGTH~,$dll($scriptdir $+ AmpIRC.dll,TrackInfo,Length))


    /say %MP3String     
    unset %Minutes
  unset %MP3String }

}

der eigentlich Code für das MP3 Script bzw. für die ausgabe der titel etc...

Code:
if (%mp3_time == on ) { 
    %MP3String = %mp3_info : ~NAME~ Länge:  ~MLENGTH~  }
    else {  %MP3String = %mp3_info : ~NAME~  }

das ist halt imoment meine Ausgabe wenn ich /mp3 eingebe. wenn ich den Hacken im Dialog gesetzt habe zeigt er mir die länge mit an sonst halt nur den title.

Ich hoffe das war verständlich genug, würde mich über antwort freuen

gruß

Sven
 
Zuletzt bearbeitet:
habe mal was versucht vielleicht geht es in dieser richtung....

Code:
%MP3String = %mp3_info : ~NAME~ $iif(%mp3_time == ON(echo -s Länge ~MLENGTH~))

naja wäre net wenn da mal wer helfen könnten habe das script shcon 3 mal neu angesetzt weil ich immer wieder fehler drinne hatte
 
So ich habe es gefunden wie zumindest die else if abfrage hinfällig ist :)


alt:

Code:
if (%mp3_time == on ) { 

    %MP3String = %mp3_info : ~NAME~ Länge: ~MLENGTH~ }

    else { %MP3String = %mp3_info : ~NAME~ }



neu:

Code:
%MP3String = %mp3_info : ~NAME~ $iif(%mp3_time == ON, Länge: ~MLENGTH~)
 
Zurück