Scripte funzen nicht
Re: Scripte funzen nicht
Ist das Script denn überhaupt geladen? (Das weiß im Zweifelsfall der Script Editor -> Alt-R.)
^\__/
..O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Re: Scripte funzen nicht
Äh, nee, nee... besser nicht im Remote herumeditieren. Da sind auch die Gamers.IRC-Scripts drin.
Um eigene Scripts zu testen, wäre es ggf. besser, sie in eigenen Dateien zu speichern (bspw. meinscript.mrc); diese Dateien lassen sich dann über den Gamers.IRC-Scriptmanager (zu finden im /setup) verwalten.
Das aber nur als Tipp.
Um eigene Scripts zu testen, wäre es ggf. besser, sie in eigenen Dateien zu speichern (bspw. meinscript.mrc); diese Dateien lassen sich dann über den Gamers.IRC-Scriptmanager (zu finden im /setup) verwalten.
Das aber nur als Tipp.
^\__/
..O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Re: Scripte funzen nicht
oder in die ownscript.grc
Re: Scripte funzen nicht
Bau doch mal scherzeshalber eine Debugfunktion (echo -s) ein, damit du siehst, wo es genau hängt.
^\__/
..O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Re: Scripte funzen nicht
-s = Ausgabe im Serverfenster.
-a wäre das aktive Fenster.
-a wäre das aktive Fenster.
^\__/
..O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
-
- Gamers.IRC Staff
- Posts: 231
- Joined: 31.12.2005 16:44
- Status: Gamers.IRC Coder
Re: Scripte funzen nicht
ok, als aller erstes: deine formatierung ist sehr unleserlich, auch solltest du ;######## benutzen, sonst kommt beim klammerfehler ####### unknown command.
die klammersetzung in dem beispiel ganz oben (1. post, on join) stimmt nicht.
die events werden nicht getriggert weil mirc nur jeweils das erste passende event (events sind die scripte die mit "on" beginnen, z.B. on *:join:...) einer scriptfile ausführt (scriptfile = englisch für scriptdatei oder wie man das übersetzten würde, also jede geladene datei die ein script enthält).
und hier nunmal der korrigierte, nicht getestete code aus dem nopaste:
ps: action ist alles was du mit /me machst
das on load event wird nur einmal ausgeführt, nämlich wenn du die scriptfile lädst, alles andere wäre on *:start:
set %access_ma %access_ma $+ , $+ $2 könnte auch durch set %access_ma $addtok(%access_ma,$2,44) ersetzen
dazu gibt es einiges zu sagen: ? im matchtext ist ein wildcard und kann jedes beliebige zeichen sein, im remote brauchst du keine / und zur überprüfung solltest du $istok() benutzen.
auch kann man der übersicht halber dem event klammern spendieren, jedem if und else eine eigene zeile, sowie schließenden klammern eine eigene zeile (siehe bereinigten code unten)
hier nun wie versprochen der angepasste code, ungetestet, nichtauf funktionalität überprüft und klammerfehler kannst du mit strg+h im editor entdecken.
wie gesagt auch drauf achten dass nurr das erste passende event ausgeführt wird, alle weiteren werden ignoriert.
die klammersetzung in dem beispiel ganz oben (1. post, on join) stimmt nicht.
die events werden nicht getriggert weil mirc nur jeweils das erste passende event (events sind die scripte die mit "on" beginnen, z.B. on *:join:...) einer scriptfile ausführt (scriptfile = englisch für scriptdatei oder wie man das übersetzten würde, also jede geladene datei die ein script enthält).
und hier nunmal der korrigierte, nicht getestete code aus dem nopaste:
ps: action ist alles was du mit /me machst
das on load event wird nur einmal ausgeführt, nämlich wenn du die scriptfile lädst, alles andere wäre on *:start:
set %access_ma %access_ma $+ , $+ $2 könnte auch durch set %access_ma $addtok(%access_ma,$2,44) ersetzen
Code: Select all
on *:text:?ma*:#: if ($nick isin %access_us) { /msg $nick %access_ma } else { /msg $chan %nous }
auch kann man der übersicht halber dem event klammern spendieren, jedem if und else eine eigene zeile, sowie schließenden klammern eine eigene zeile (siehe bereinigten code unten)
hier nun wie versprochen der angepasste code, ungetestet, nichtauf funktionalität überprüft und klammerfehler kannst du mit strg+h im editor entdecken.
wie gesagt auch drauf achten dass nurr das erste passende event ausgeführt wird, alle weiteren werden ignoriert.
Code: Select all
/*
##############
EFC ACCESS-BOT
################################################################################
Deutscher Zugriffsbot, der einfach zu bedienen ist und deinen ganzen Channel im Quakenet managen kann.
Um seine Funktionen voll entfalten zu k?nnen, wird empfohlen nur den Bot und den Channeladmin bei L oder Q einzutragen.
################################################################################
*/
/*
### START Floodprotection ###
#
#
## Floodcounter ##
*/
on *:text:*:#:{
inc %floodcount
timer 1 10 dec %floodcount
if (%floodprotection >= 3) {
set %floodprotection on
notice $chan Floodprotection an
timer 1 20 floodprotoff #
}
}
alias floodprotoff {
unset %floodprotection
notice $$1 Floodprotection aus.
}
on *:action:*:#:{
if (!%floodprotection) {
;dein code (ps: action ist alles was du mit /me machst)
}
}
/*
### END Floodprotection ###
### START Authorisation ###
#
#
## Access-Authorisation / Authorisation Message ##
*/
on *:load:{
set %access_ma En`forcer
set %access_op En`forcer
set %access_vo En`forcer
set %access_us En`forcer
set %access_no
set %noma Du hast keine Rechte als Master
set %noop Du hast keine Rechte als Operator
set %novo Du hast keine Voicerechte
set %nous Du hast keine Userrechte
set %noall Du hast keine Rechte für diesen Zugriff
set %givema Dir wurden Rechte bis Master erteilt
set %giveop Dir wurden Rechte bis Operator erteilt
set %givevo Dir wurden Rechte bis Voice erteilt
set %giveus Dir wurden Userrechte erteilt
set %takema Dir wurden deine Channel-Masterrechte genommen
set %takeop Dir wurden deine Rechte ab Operator genommen
set %takevo Dir wurden deine Rechte ab Voice genommen
set %takeus Dir wurden all deine Rechte genommen
set %setok Der Befehl $1 an $2 wurde erfolgreich ausgeführt
set %usetok Der Befehl $1 an $2 wurde erfolgreich ausgeführt
}
/*
#
#
## Grant Authorisation ##
#
# Master #
*/
on *:text:+ma *:#:{
if ($nick == En`forcer) {
set %access_ma %access_ma $+ , $+ $2
set %access_op %access_op $+ , $+ $2
set %access_vo %access_vo $+ , $+ $2
set %access_us %access_us $+ , $+ $2
msg $nick %setok
msg $2 %givema
}
else { msg # %noall }
}
;#
;# Operator #
;wie Master
/*
#
#
## Deny Authorisation ##
#
# Master #
*/
on *:text:-ma *:#:{
if ($nick == En`forcer) {
unset %access_ma %access_ma $+ , $+ $2
msg $nick %usetok
msg $2 %takema
}
else { msg # %noall }
}
;#
;# Operator#
;wie Master
;#
;#
;## Show Authorisation ##
;siehe post
;### END Authorisation ###
/*
### START Join-Action ###
#
#
## Authorisation Info ##
*/
on *:join:#:{
;besser $istok() nutzen
if ($nick isin %access_ma) {
msg $chan Hallo Master $nick
timer 1 3 msg # Du kannst als Channel-Master folgende Dienste verändern und nutzen: ?ifma
}
elseif ($nick isin %access_op) {
;auch hier: $istok()
msg $chan Hallo Operator $nick
timer 1 3 /msg chan Du kannst als Operator folgende Dienste ver?ndern und nutzen: ?ifop
}
elseif ($nick isin %access_vo) {
msg $chan Hallo $nick
timer 1 3 /msg $chan Du kannst als Voiced-User folgende Dienste nutzen: ?ifvo
}
elseif ($nick isin %access_us) {
msg $chan Hallo $nick
timer 1 3 /msg $chan Du kannst als User folgende Dienste nutzen: ?ifus
}
else {
msg $chan Willkommen $nick
timer 1 3 /msg $chan Du bekommst als Besucher unseres Channels auch deine ersten Rechte als User
set %access_ma %access_ma $+ , $+ $nick
timer 1 3 /msg $chan Als User kannst du nun folgende Dienste nutzen: ?ifus
}
}
;### END Join-Action ###
;### START Info ###
on *:text:?ifma *:#:{
if ($nick isin %access_ma) {
msg $nick Du kannst folgende Befehle ausf?hren:
timer 1 5 /msg $nick Und alle: ?ifop, ?ifvo und ?ifus
timer 1 5 /msg $nick du kannst folgende Befehle ausf?hren:
}
else { msg # %noma }
}
;### END Info ###
;### START Commands ###
;### END Commands ###
just $me
Who is online
Users browsing this forum: No registered users and 1 guest