Diverse Fragen zum GIRC

In case of successful help, we tend to move finished subjects here.
User avatar
chris1
Administrator
Posts: 2964
Joined: 11.09.2003 20:17
Status: Gamers.IRC Coder

Unread post by chris1 » 10.02.2007 00:12

Um das ganze zu lernen, gib folgendes ein:
/help on text

User avatar
chris1
Administrator
Posts: 2964
Joined: 11.09.2003 20:17
Status: Gamers.IRC Coder

Unread post by chris1 » 10.02.2007 13:40

Lass mal das %u3a und %u7d weg. oder hat das einen bestimmten Sinn?
Für den channelnamen folgendes eingeben:
/help Remote Identifiers
also: $chan

User avatar
Tuxman
Administrator
Posts: 1827
Joined: 24.10.2003 00:13
Status: That guy
Contact:

Unread post by Tuxman » 10.02.2007 19:43

Also, ein paar kleine Fehler; dein Script muss anders lauten:

Code: Select all

on *:text:!Deuterium:#:{
msg $chan Richtig^^
}
(kannst du auch in 1 Zeile packen; die ON TEXT-Anweisung aber ohne Leerzeichen!)

Die Bestandteile:
  • on *:TEXT:(?):#:{
    on *:TEXT sagt, dass mIRC auf einen bestimmten Text (in diesem Fall "!Deuterium") in bestimmten Fenstern (in diesem Fall #, also alle Channels) reagieren soll.
  • msg $chan Richtig^^
    ... gibt "Richtig^^" an den Channel aus, auf den es reagiert hat (landet immer in der Variablen $chan)
Du kannst es natürlich auch variieren:
Auf Queries reagierst du, indem du statt "#" "?" oder "*" angibst; letzteres reagiert dann auf Channels und Queries. Außerdem kannst du natürlich nur in einem bestimmten Channel reagieren, zum Beispiel so:

Code: Select all

on *:text:!Deuterium:#MeinChannel:{ ... }
^\__/
..O.o

This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.

User avatar
Tuxman
Administrator
Posts: 1827
Joined: 24.10.2003 00:13
Status: That guy
Contact:

Unread post by Tuxman » 10.02.2007 20:49

* steht für "1-x Zeichen"
^\__/
..O.o

This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.

User avatar
chris1
Administrator
Posts: 2964
Joined: 11.09.2003 20:17
Status: Gamers.IRC Coder

Unread post by chris1 » 10.02.2007 21:06

Übrigens: Anzahl Klammer auf = Anzahl Klammer zu!

User avatar
Tuxman
Administrator
Posts: 1827
Joined: 24.10.2003 00:13
Status: That guy
Contact:

Unread post by Tuxman » 10.02.2007 21:40

1.: Weil die "1" davor dazu führt, dass das Script nur reagiert, wenn du den Channel betrittst.
2.: on *:ACTION:#:{ ... }
^\__/
..O.o

This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.

User avatar
chris1
Administrator
Posts: 2964
Joined: 11.09.2003 20:17
Status: Gamers.IRC Coder

Unread post by chris1 » 10.02.2007 23:50

Wenns für alle benutzer gehen soll, dann ersetze die zahl durch "*"

User avatar
Tuxman
Administrator
Posts: 1827
Joined: 24.10.2003 00:13
Status: That guy
Contact:

Unread post by Tuxman » 11.02.2007 00:43

Benny Kenobi wrote:Bei keinem der ging habe ich einen Abschiedtext geschrieben

Code: Select all

on *:PART:#:{ msg $chan ohhh jetzt ist $nick weg! }
^\__/
..O.o

This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.

User avatar
chris1
Administrator
Posts: 2964
Joined: 11.09.2003 20:17
Status: Gamers.IRC Coder

Unread post by chris1 » 11.02.2007 13:11

Das was du meinst ist Quit.
Da musst dann part mit quit ersetzen oder eben die hilfe durchlesen:
/help on quit
Quit ist aber nicht channelbezogen. $chan funktioniert also nicht.
Da brauchst dann ein if.
z.b.:
if ($nick ison #meinchannel) { msg $v2 jetzt ist $nick weg. }

User avatar
Tuxman
Administrator
Posts: 1827
Joined: 24.10.2003 00:13
Status: That guy
Contact:

Unread post by Tuxman » 11.02.2007 13:15

on part:
Reagiert wenn der Benutzer den Channel verlässt. (... has left #channel)

on quit:
Reagiert wenn der Benutzer den IRC verlässt. (... has left IRC)
^\__/
..O.o

This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.

User avatar
chris1
Administrator
Posts: 2964
Joined: 11.09.2003 20:17
Status: Gamers.IRC Coder

Unread post by chris1 » 13.02.2007 08:39

/help If then else

Du hast deine skripts schon in eine extra datei reingemacht?
Weil wenn du 2 mal das gleiche event drin hast, dann funktioniert das nicht immer wie es soll.

blk_panther
Gamers.IRC Staff
Posts: 231
Joined: 31.12.2005 16:44
Status: Gamers.IRC Coder

Unread post by blk_panther » 22.02.2007 18:30

wenn das mit dem join nicht will liegt das eventuell daran das schon ien on join oder on part vor deinem sind, also nimmst du am besten ne neue scriptfile dafür.

und wenn du in nem event (on ...) einen identifier (die mit $, also auch $me) nutzen willst machst du das so: on *:action:$(* $+ slaps $me $+ *):#:{ describe # klaut dafür $nick einen Keks }

und zum direkten backslap mit farbigem nick (ohne den timer): on *:action:$(* $+ slaps $me $+ *):#:{ describe # slaps $fs_pball($nick) $+ $chr(15) back! }


auch hier gilt (wie bei jedem on event): nur eins pro scriptfile, alle events die nach einem event stehen und auf das schon "abgefangene"/abgearbeitete passen werden ignoriert (weil es beim ersten behandelt wurde -> danach ende)
Last edited by blk_panther on 26.02.2007 19:15, edited 1 time in total.
just $me

User avatar
chris1
Administrator
Posts: 2964
Joined: 11.09.2003 20:17
Status: Gamers.IRC Coder

Unread post by chris1 » 26.02.2007 13:45

probier mal folgendes:

Code: Select all

on *:action:*:#:{
  if (slaps $me isin $1-) { describe $chan slaps $nick back }
}

blk_panther
Gamers.IRC Staff
Posts: 231
Joined: 31.12.2005 16:44
Status: Gamers.IRC Coder

Unread post by blk_panther » 26.02.2007 19:29

also, das stimmt schon, jedoch musst du den text beachten:

x nimmt sich eine Paintgun und visiert y an



dort kommt nirgends *Paintgun y* drin vor



ok, ich erkläre mal kurz wildcards, (die *): wildcards sind sowas wie joker, ... sie passen auf beliebigen text (auch nichts) im falle von *.
und auf ein beliebiges zeichen im falle von ?

bei deinem beispiel müsste man also eine action (/me) mit irgendeintext (optional, er muss also nicht vorhanden sein) Paintgun dein-nick wieder ein optionaler text (oder nichts)

das korrekte event sieht also so aus (wenn mein text oben stimmt, ansonsten musst du den anpassen):

on *:action:$(*Paintgun und visiert $me $+ *):#:{ describe # nicht schießen! }

auch hier gilt (wie bei jedem on event): nur eins pro scriptfile, alle events die nach einem event stehen und auf das schon "abgefangene"/abgearbeitete passen werden ignoriert (weil es beim ersten behandelt wurde -> danach ende)
just $me

User avatar
chris1
Administrator
Posts: 2964
Joined: 11.09.2003 20:17
Status: Gamers.IRC Coder

Unread post by chris1 » 26.02.2007 19:55

dann nimmst eben statt

Code: Select all

on *:action:*:#:{
  if (slaps $me isin $1-) { describe $chan slaps $nick back }
}

Code: Select all

on *:action:*:#:{
  if (funstuff_text_$me isin $1-) { describe $chan slaps $nick back }
}
wobei du funstuff_text_$me durch das den vorkommenden Text ersetzt.
"slaps $me" is ja nur ein Beispiel

du kannst das dann auch kombinieren:

Code: Select all

on *:action:*:#:{
  if (slaps $me isin $1-) { describe $chan slaps $nick back }
  if (funstuff_text_$me isin $1-) { describe $chan slaps $nick back }
}

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest