Archiv verlassen und diese Seite im Standarddesign anzeigen : erstes script funzt nicht
Ich hab mal versucht als erstes "richtiges" Script ne simple Topicprotection zu machen die allerdings nicht funzt ich weiss aber absolut nicht warum
alias tpa { /set %tchannel $$?="Welcher Channel?" | /set %ttopic $$?="Wie heisst das Topic?" }
alias tpe /unset %tchannel %ttopic
menu channel {
Topicprotection
.an:/tpa
.aus:/tpe
}
on 1:TOPIC:#%tchannel: {
if ( %tchannel = $null ) { halt }
else ( %ttopic != $chan(#%tchannel).topic ) { topic #%tchannel [ %ttopic ] }
}
1. ich denk mal das muss so, wenn ich keine ahnung hab dann steinigt mich :)
alias tpe { unset %tchannel | unset %ttopic }
2.guter ansatz aber ich schätz mal so klappts eher ;)
on 1:TOPIC:#: {
if ($chan == %tchannel) {
if ($chan($chan).topic != %ttopic) {
topic $chan [ %ttopic ]
}
}
}
die erklärung
also erstma haste zuviel abfragen drin, DENN wenn der channel schon der is für den die protection eingestellt is. dann hat sich alles andre von selber erledigt.
und nur wenn das topic ein andres is als gespeichert, dann soll ers ändern.
bei fragen ich poste gern weiter :)
Original von GenderChanger
1. ich denk mal das muss so, wenn ich keine ahnung hab dann steinigt mich :)
alias tpe { unset %tchannel | unset %ttopic }
2.guter ansatz aber ich schätz mal so klappts eher ;)
on 1:TOPIC:#: {
if ($chan == %tchannel) {
if ($chan($chan).topic != %ttopic) {
topic $chan [ %ttopic ]
}
}
}
die erklärung
also erstma haste zuviel abfragen drin, DENN wenn der channel schon der is für den die protection eingestellt is. dann hat sich alles andre von selber erledigt.
und nur wenn das topic ein andres is als gespeichert, dann soll ers ändern.
bei fragen ich poste gern weiter :)
1. ka vielleicht funzt meins auch is jetzt nebensächlich
2. ich hatte die abfrage eingebaut weil ich dachte das wenn %tchannel nicht gesetzt ist %ttopic ja auch $null ist und das topic dann auf " " gesetzt werden würde oder so aber das haste recht so wie ichs gemacht hab is es doppelt "gesichtert" aber halt unnötig
den teil versteh ich nicht ....$chan($chan).topic....
ok habs jetzt komplett verstanden ich probiers mal aus :)
EDIT:Funzt *freu* vielen dank jetzt noch mal das mit dem unset testen ob das mins auch gefunzt hätte :)
EDIT: jo da funzt meins auch :]
vielen dank nochmal
Original von ahh
on 1:TOPIC:#%tchannel: {
das funzt glaubs ned
wenn schon, müsst das # weg, das steht ja schon in %tchannel.
aber afaik funzt auch das ned
mach:
on 1:TOPIC:#: { if (%tchannel == $chan) {
oh, scheisse, hatte das posting fenster wohl zu lange offen, hast ja die antwort schon lange =)
next one:
{ set %tchan1 $chan | set %ttopic1 $chan($chan).topic |
dialog Topicprotection {
title "Topicprotection [ %tchan1 ]"
size 10 10 10 10
text "Should the actual Topic in [ %tchan1 ] be protected?", id 1, 9 9 9 9, style (center)
button "Yes", id 2, 5 5 5 5, style (ok)
button "Cancel", id 2, 3 3 3 3, style (cancel)
}
}
warum geht das nicht?
abgesehen davon das ich überhaupt keinen peilung hab wie geross 10 10 10 10 is ber das is ja erstmal egal muss ich experimentieren
nein der fehler steckt bei ....dialog topic........ was is da flasch?
wenn ich mich recht erinnre, musst den dialog zuerst definieren (wie du es gemacht hast, aber ned in nem alias drin, sondern wie ein menu einfach frei) und dann per /dialog name oder $dialog(name) aufrufen.
mach übrigens nächstes mal dafür nen neuen thread und wähle den titel etwas aussagekräftiger
das mit dem titel ok
aber ich dachte mir was sollte ich schreiben topicprotection funzt nicht ??
das script is doch für die meisten so simpel das es kein spezielles thema behandelt ausserdem war mir klar das ich eh noch andere fragen haben würde
ich denke ich hab das jetzt mit dem dialog kapiert
also man definiert den irgendwo und der steht dann in $dialog(name) zum abruf bereit?
genau
wenn du ihn mit $dialog aufrufst, ists ein sogenannt modaler dialog, das heisst, das script wartet, bis der dialog geschlossen wird und man kann in dieser zeit nichts anderes machen im mirc. ausserdem liefert $dialog einen rückgabewert.
mit /dialog kannst den parameter -m angeben, dadurch ists ein unmodaler dialog. ist halt eben das gegenteil: das script läuft weiter dahinter und du kannst in anderen mircfesnter zeugs eingeben etc.
ok geht jetzt im prinzip muss mir jetzt nornuch mal anschauen wie man nen dialog richtig bildet
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.