Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausschluss eines textes
sCriPterMoNsT4h
06.12.2001, 16:41
hi junx
kann ich irgendwie einen text ausschließen? d.h. z.B. wenn ich jmd. für einen bestimmten text kicken möchte aber nicht das wenn er nur das anfangszeichen schreibt?
Bsp:
<bla> #schnuff
bla was kicked by qQ
<bla> #
bla was not kicked by qQ
=)
so soll dass dann passieren :)
ich hoffe ich verstehe dich richtig...
du möchtest das einer bei
#bla
oder bei
#egal
gekickt wird aber nicht bei
#
?!?
wenn ja isses ja ganz einfach...
on *:TEXT:*:*: {
if (#* iswm $1-) { kick $chan $nick }
}
sCriPterMoNsT4h
06.12.2001, 18:32
Hmm ich habs so geschrieben geht aber ned .. :/
code:
on *:TEXT:*#*:#schnuff:/kick $chan $nick [-: Advertisement detected! :-]
on *:TEXT:*:*: {
if (#* iswm $1-) { kick $chan $nick }
}
Schau mal nach ob wirklich alle klammern in der Datei in der du dein Script einträgst richtig beendet wurden...
um das auszuschliessen würd ich nen neues Script anlegen und dann das hier reinkopiern
on *:TEXT:*:*: {
if ($chan == #schnuff) {
var %var * $+ $chr(32) $+ #*
if ((#* iswm $1-) || (%var iswm $1-)) {
kick $chan $nick blubber detected!
}
}
}
und sag mir nich das das nicht geht... habs nu getestet... :P
sCriPterMoNsT4h
06.12.2001, 20:24
ich trau mich garnicht zu sagen aber ..
Ich hab auf File - New geklickt und das gepasted
on *:TEXT:*:*: {
if ($chan == #schnuff) {
var %var * $+ $chr(32) $+ #*
if ((#* iswm $1-) || (%var iswm $1-)) {
kick $chan $nick blubber detected!
}
}
}
geht nicht :D
sry is aber so :( (ich werd wenn ich "#" schreib gekickt :/)
hab mir mal folgenden code ausgedacht, hab ihn aber nicht getestet. gut möglich, dass es noch klammerfehler hat (oder gar ned funzt)
on *:TEXT:* #*:#schnuff:{
if ($count($1-,$chr(32) $+ #) > $calc($count($1-,$chr(32) $+ # $+ $chr(32)) $&
+ $iif($pos($1-,$chr(32) $+ #,$count($1-,$chr(32) $+ #)) == $calc($len($1-) - 1,1,0)))) {
kick $chan $nick [-: Advertisement detected! :-]
}
}
der guggt, ob der string " #" häufiger vorkommt in dem text als " # ". wenn ja, bedeutet dies, dass ein # gefolgt von irgend was andrem als ein leerzeichen drin vorkommen muss. das im $iif kommt noch dazu, um abzufangen, wenn am ende der zeile ein # steht (das ja dann nicht von einem leerezichen gefolgt ist aber trotzdem ned gezählt werden soll).
das $& bedeutet übrigens, dass diese programmzeile auf der folgenden zeile fortgesetzt wird. hab ich hier benutzt, dass die zeile ned zu lang wird, kannst aber auch weglöschen und was auf der nächsten zeile steht einfach dahin setzen, wo jetzt das $& ist.
folgendes sollte genau das selbe sein, ausser dass das häufig verwendete $chr(32) $+ # in ne variable geschrieben wird und der code deshalb etwas übersichtlicher ist.
on *:TEXT:* #*:#schnuff:{
var %var $chr(32) $+ #
if ($count($1-,%var) > $calc($count($1-,%var $+ $chr(32)) + $iif($pos($1-,%var,$count($1-,%var)) == $calc($len($1-) - 1),1,0)) {
kick $chan $nick [-: Advertisement detected! :-]
}
}
nagut =)
dann hast du evtl ne andere Version von mIRC...
füge dann diese bedingung hinzu..
:D
on *:TEXT:*:*: {
if ($chan == #schnuff) {
var %len $len($1-)
var %var $chr(35)
if (%var isin $1-) {
var %i 1
while ($mid($1-,%i,1)) {
if ($mid($1-,%i,1) === %var) {
if (($mid($1-,$calc(%i - 1),1) === $chr(32)) && ($mid($1-,$calc(%i + 1),1) !=== $chr(32))) {
kick $chan $nick blubber
}
}
inc %i
}
}
}
}
Najo hab etwas weiter ausgeholt... aber nu kickt er zu 100% bei allem was ein leerzeichen vor der Raute hat und wo gleichzeitig kein leerzeichen hinter der Raute ist..
ich hoffe ma nu funzts auch bei dir :P
hmm also meiner meinung nach is die sache ganz einfach.
probierts mal aus:
on *:*#?*:#schnuff:kick $chan $nick Dont advertise channels on $chan
also ich denke doch das er bei
#bla
kicken soll und bei
#
nicht.
und das tut er ;)
Arsch :D :D
on *:TEXT:*#?*:#www.coding-forum.de:kick $chan $nick Dont advertise channels on $chan
geht echt.. aber das mit *#?* ist nicht dokumentiert oder??
Sind doch Standart Wildcards ;)
By using the * and ? wildcard characters, you can match any incoming text.
jo is dokumentiert is halt die alte wildcard sachen
? = 1 zeichen
* = beliebige zeichen
aber es is ja trotzdem noch unsicher. vielleicht will derjenige ja garnich advertisen. man sollte noch ne exclude list reinbaun mindestens.
sCriPterMoNsT4h
16.01.2002, 22:11
ich hab das problem .. mein script:
on *:TEXT:*www.?*:#blubb:kick $chan $nick 4,1 n0 0 advertising
mein problem: wie mache ich jezz das er bei www.asd.de kickt und bei www.nana.de nicht also das er nur bei einem anderen text kickt außer nana
thx so long
on *:TEXT:*www.?*:#blubb: {
var %i 1
var %j 1
while ($ [ $+ [ %i ] ] ) {
if (www.nana.de != $ [ $+ [ %i ] ] ) { inc %j }
inc %i
}
if ($0 != %j) {
kick $chan $nick 4,1 n0 0 advertising
}
}
für mehr urls musste das ding etwas ausweiten :)
wehe Gender hat wieder ne Simple lösung :]
sCriPterMoNsT4h
17.01.2002, 13:24
mhhh..
on *:TEXT:*www.?*:#blubb: {
var %i 1
var %j 1
while ($ [ $+ [ %i ] ] ) {
if (www.nana.de != $ [ $+ [ %i ] ] ) { inc %j }
inc %i
}
if ($0 != %j) {
kick $chan $nick 4,1 n0 0 advertising
}
}
das geht leider nicht :(
kann ich´s auch abändern also das z.B. anstatt #blubb n anderer channel dasteht?
sCriPterMoNsT4h
17.01.2002, 22:05
ach ja und wie kann ich das mit /help erfragen .. welche themen muss ich ansprechen denn da gibts keine namens: var oder inc
vielleicht könnte es mir auch jemand erklären das ich das selbst machen kann .. :D weil ich wollte noch das er nicht admins kickt
thx for help
liest du html seiten aus??
die kommen aber nicht mit on text an... naja musst du wissen 8)
/help /inc
/help while
/help /var
wenns nicht geht, dann saug dir mal die original mirc version...
sCriPterMoNsT4h
18.01.2002, 07:05
hab orginal von www.mirc.com oder is das ned orginal?
du willst mir enrsthaft sagen das wenn du /help in der console eintippst keine hilfe von mirc kommt ???
lol
wenn das so ist, dann geb das scripten lieber auf.. :D
sCriPterMoNsT4h
18.01.2002, 13:41
natürlich geht help :D aber vielleicht funzen die scripts ned wegen meiner mircversion ?( hehe wär ne überlegung wert
also die neuste version solltest schon benutzen...
und das script funzt nicht so ganz stimmt schon... musst dir halt überlegen mehrere ausnahmen zu bestimmen bei deren auftauchen nicht gekickt werden darf.
und ich nehm ganz gerne while schleifen um jedes wort genau zu analysieren...
werd mich sonst heute abend nochma daran setzen, kann ja ned so schwer sein :]
on *:TEXT:*:#: {
if (*www.?* iswm $1-) {
var %chans www.coding-forum.de www.coding-board.de www.unit731.de www.euirc.net
var %i 1
var %j 1
var %k 0
while ($ [ $+ [ %i ] ] ) {
while (($gettok(%chans,%j,32)) && (%k == 0)) {
if (www. isin $ [ $+ [ %i ] ] ) {
if ($gettok(%chans,%j,32) == $ [ $+ [ %i ] ] ) { var %k 1 }
}
else { var %k 1 }
inc %j
}
if (%k == 0) { noads $chan $nick $ [ $+ [ %i ] ] }
var %j 1
var %k 0
inc %i
}
}
}
alias noads {
kick $1 $2 no advertising for $3
}
ich hoffe du steigst da durch :D isn bisschen im hauruck verfahren entstanden geht nu aber auch... und zwar auch wenn jemand eine erlaubte url tippt und im selben satz eine andere erwähnt...
teste das ding einfach mal.. ;)
sCriPterMoNsT4h
18.01.2002, 22:34
hey danke das funzt wirklich .. ich kanns auch ein bischen nachvollziehen .. danke dir :D
so :) ich wollts mir natürlich nicht entgehen lassen meine lösung zu posten *g*
on *:text:*www.*:#:{
if ($nick !isop $chan) {
if (www.nana.de isin $1-) || (www.fickdiehenne.de isin $1-) {
if ($count($1-,www) >= 2) {
kick $chan $nick Dont advertise your website in $chan
}
}
else {
kick $chan $nick Dont advertise your website in $chan
}
}
}
also zur erklärung:
als erstes wir mal gecheckt obs nich n op war, weil die soller ja eh nich kicken.
dann schauter ob eine von den webistes die erlaubt sind gesagt wurde, weil DANN überprüft er ob man nich mehrere addressen gesagt hat. sonst könnte man ja einfach machen "www.nana.de www.meine-geile-homepage.com" und würde nich gekickt werden.
und wenn man halt nur eine advertised hat die nich excluded is, dann gibts halt nen tritt :)
aber codeqs lösung find ich trotzdem besser weil man da die channels leichter eintragen kann.
aber ich wollt halt trotzdem posten :D
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.