Archiv verlassen und diese Seite im Standarddesign anzeigen : [Gelöst],[Eggdrop], Adver Script geht net richtig
darknose
13.07.2005, 23:32
Hi,
also ich habe das gecodet doch leider will das nicht so wie ich will also ne advert script was -c+m text +c-m macht es geht aber es geht nur in einen channel ich möchte gern das in mehrern chans gehe wen ich mehrer chans angebe kann mir da wer helfen??
Script:
set ::repeat(channels) "#chan"
set ::repeat(text) {
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0± 7,0( 1,0 Meldung: Homepage bald wieder online 7,0 ) 1,0 ± 7"
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0 ± 7,0( 1,0 powered 7,0b 1,0y you? 7,0) 1,0 ± "
}
proc set:repeat:timer {} {
if {![string match "*msg:repeat*" [timers]]} {
timer 60[list msg:repeat]
}
}
proc msg:repeat {} {
foreach chan $::repeat(channels) {
if {[botonchan $chan]} {
if {[string equal -nocase "#chan" "$chan"] } { putquick "MODE $chan -c+m" }
foreach line $::repeat(text) { putquick "PRIVMSG $chan :$line" }
if {[string equal -nocase "#chan" "$chan"] } { putquick "MODE $chan +c-m" }
}
}
set:repeat:timer
}
set:repeat:timer
mfg
Darknose
ChaosKrieger
14.07.2005, 15:42
ich helf dir erstmal das hier zu verstehen:
http://www.coding-board.de/board/showthread.php?t=14930
...
edit: sry, wollte dein beitrag nicht löschen.. etwas verklickt ;)
zu deinem problem:
mach dein string equal raus, dann sendet er auch in alle channels..
darknose
15.07.2005, 02:10
sorry verstehe jetzt aber nicht so recht was du meinst könntes mir das zeigen. Bin neu in Sachen TCL :)
mfg
Darknose
darknose
16.07.2005, 12:31
Meinst du das so?
set ::repeat(channels) "#chan"
set ::repeat(text) {
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0± 7,0( 1,0 Meldung: Homepage bald wieder online 7,0 ) 1,0 ± 7"
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0 ± 7,0( 1,0 powered 7,0b 1,0y you? 7,0) 1,0 ± "
}
proc set:repeat:timer {} {
if {![string match "*msg:repeat*" [timers]]} {
timer 60[list msg:repeat]
}
}
proc msg:repeat {} {
foreach chan $::repeat(channels) {
if {[botonchan $chan]} {
if {[string equal -nocase "$chan"] } { putquick "MODE $chan -c+m" }
foreach line $::repeat(text) { putquick "PRIVMSG $chan :$line" }
if {[string equal -nocase "$chan"] } { putquick "MODE $chan +c-m" }
}
}
set:repeat:timer
}
set:repeat:timer
sorry aber bin noch nicht so gut darin :[
hoffe einer kann mir mal helfen verstehe das noch nicht richtig
mfg
Darknose
ChaosKrieger
17.07.2005, 00:40
Hi,
also ich habe das gecodet doch leider will das nicht so wie ich will also ne advert script was -c+m text +c-m macht es geht aber es geht nur in einen channel ich möchte gern das in mehrern chans gehe wen ich mehrer chans angebe kann mir da wer helfen??
.....
mfg
Darknose
du hast das script geschrieben, also wirst du wissen was ich meine..
string equal rausmachen wird ja nicht zu schwer sein, oder? :/
darknose
19.07.2005, 11:43
habe ich das nicht da oben gemacht so verstehe ich das wie du das meinst :[
ChaosKrieger
19.07.2005, 20:12
bin mir nicht ganz sicher ob ich das richtiug verstehe.. aber mach es mal so:
if {[string equal -nocase "$chan"] } { putquick "MODE $chan -c+m" }
ersetzen durch:
putserv "MODE $chan -c+m"
und
if {[string equal -nocase "$chan"] } { putquick "MODE $chan +c-m" }
durch
putserv "MODE $chan +c-m"
vorallem ersetz mal alle deine putquick's durch putserv
darknose
20.07.2005, 15:58
also habe das jetzt so gemacht:
set ::repeat(channels) "#test #test2"
set ::repeat(text) {
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0± 7,0( 1,0 Meldung: Homepage bald wieder online 7,0 ) 1,0 ± 7"
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0 ± 7,0( 1,0 powered 7,0b 1,0y you? 7,0) 1,0 ± "
}
proc set:repeat:timer {} {
if {![string match "*msg:repeat*" [timers]]} {
timer 1[list msg:repeat]
}
}
proc msg:repeat {} {
foreach chan $::repeat(channels) {
if {[botonchan $chan]} {
if {[string equal -nocase "$chan"] } { putserv "MODE $chan -c+m" }
foreach line $::repeat(text) { putquick "PRIVMSG $chan :$line" }
if {[string equal -nocase "$chan"] } { putserv "MODE $chan +c-m" }
}
}
set:repeat:timer
}
set:repeat:timer
bekomme dort aber fehlermeldung vom eggy
[15:56] wrong # args: should be "timer minutes command"
while executing
"timer 1[list msg:repeat] "
(procedure "set:repeat:timer" line 3)
invoked from within
"set:repeat:timer "
(file "scripts/testimer.tcl" line 23)
invoked from within
"source scripts/testimer.tcl"
mfg
Darknose
ChaosKrieger
20.07.2005, 18:27
du willst hilfe, aber machst nicht das was man dir sagt, erwartest du jetzt wirklich noch irgend eine antwort von mir?
darknose
21.07.2005, 13:03
du meinst es ja so:
set ::repeat(channels) "#test #test2"
set ::repeat(text) {
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0± 7,0( 1,0 Meldung: Homepage bald wieder online 7,0 ) 1,0 ± 7"
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0 ± 7,0( 1,0 powered 7,0b 1,0y you? 7,0) 1,0 ± "
}
proc set:repeat:timer {} {
if {![string match "*msg:repeat*" [timers]]} {
timer 1[list msg:repeat]
}
}
proc msg:repeat {} {
foreach chan $::repeat(channels) {
if {[botonchan $chan]} {
putserv "MODE $chan -c+m"
foreach line $::repeat(text) { putquick "PRIVMSG $chan :$line" }
putserv "MODE $chan +c-m"
}
}
set:repeat:timer
}
set:repeat:timer
set:repeat:timer
set:repeat:timer
Aber da schmiert mir der eggy ab :[ sorry bin halt in TCL echt neuling :[
mfg
Darknose
ChaosKrieger
21.07.2005, 16:16
1.: timer 1[list msg:repeat] <-da kommt nen leerzeichen hin, timer 1|leerzeichen][list msg:repeat]
und jetzt schaust du dir dein erstes script an, und vergleichst das mit deinem letzten,
auserdem sagte ich das du kein putquick verwenden sollst
darknose
22.07.2005, 13:53
habe das jetzt so gemacht wie du es wolltes:
set ::repeat(channels) "#test #test2"
set ::repeat(text) {
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0± 7,0( 1,0 Meldung: Homepage bald wieder online 7,0 ) 1,0 ± 7"
" 1,0 ± 7,0( 1,0 mi 7,0R 1,0ari 7,0 ) 1,0 ± 7,0( 1,0 powered 7,0b 1,0y you? 7,0) 1,0 ± "
}
proc set:repeat:timer {} {
if {![string match "*msg:repeat*" [timers]]} {
timer 1[list msg:repeat]
}
}
proc msg:repeat {} {
foreach chan $::repeat(channels) {
if {[botonchan $chan]} {
putserv "MODE $chan -c+m"
foreach line $::repeat(text) { putserv "PRIVMSG $chan :$line" }
putserv "MODE $chan +c-m"}
}
set:repeat:timer
}
set:repeat:timer
bekomme aber fehlermeldung
[13:51] wrong # args: should be "timer minutes command"
while executing
"timer 1[list msg:repeat]"
(procedure "set:repeat:timer" line 3)
invoked from within
"set:repeat:timer "
(file "scripts/testtimer.tcl" line 22)
invoked from within
wenn ich das hier richtig sehe, fehlt da wohl ein Leerzeichen bei
"timer 1[list msg:repeat]"
timer <zeit> <aktion>
nicht
timer <zeit><atkion>
ChaosKrieger
22.07.2005, 19:59
wenn ich das hier richtig sehe, fehlt da wohl ein Leerzeichen bei
"timer 1[list msg:repeat]"
timer <zeit> <aktion>
nicht
timer <zeit><atkion>
hab ich das nicht oben schon gesagt?
darknose
23.07.2005, 12:36
ah sorry stimmt das habe ich vergessen :)
nun gehts auch
thx an euch :)
mfg
Darknose
Chaos, hab deins total überlesen *sichniseckstellt*
Wenigstens gehts nun :)
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.