PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nicklist beim Multi Server


Alamar
25.12.2001, 13:54
if ($gettok(%temp,2,32) == 353) {
var %cc1 = 1
var %ccm = $numtok(%temp,32)
var %tes1 = $sorttok($gettok(%temp,7-,32),32)
while (%cc1 <= $numtok(%tes1,32)) {
if (@ isin $gettok(%tes1,%cc1,32)) {
if (%opf == $null) {
var %opf = $gettok(%tes1,%cc1,32)
}
else {
var %opf = %opf $+ $chr(32) $+ $gettok(%tes1,%cc1,32)
}
}
elseif (% isin $gettok(%tes1,%cc1,32)) {
if (%hopf == $null) {
var %hopf = $gettok(%tes1,%cc1,32)
}
else {
var %hopf = %hopf $+ $chr(32) $+ $gettok(%tes1,%cc1,32)
}
}
elseif (+ isin $gettok(%tes1,%cc1,32)) {
if (%vopf == $null) {
var %vopf = $gettok(%tes1,%cc1,32)
}
else {
var %vopf = %vopf $+ $chr(32) $+ $gettok(%tes1,%cc1,32)
}
}
else {
if (%nopf == $null) {
var %nopf = $gettok(%tes1,%cc1,32)
}
else {
var %nopf = %nopf $+ $chr(32) $+ $gettok(%tes1,%cc1,32)
}
}
inc %cc1
}
var %cc1 = 1
while (%cc1 <= $numtok(%opf,32)) {
aline -l @ [ $+ [ $gettok(%temp,5,32) ] ] $gettok(%opf,%cc1,32)
inc %cc1
}
var %cc1 = 1
while (%cc1 <= $numtok(%hopf,32)) {
aline -l @ [ $+ [ $gettok(%temp,5,32) ] ] 12 [ $+ [ $gettok(%hopf,%cc1,32) ] ]
inc %cc1
}
var %cc1 = 1
while (%cc1 <= $numtok(%vopf,32)) {
aline -l @ [ $+ [ $gettok(%temp,5,32) ] ] 0 [ $+ [ $gettok(%vopf,%cc1,32) ] ]
inc %cc1
}
var %cc1 = 1
while (%cc1 <= $numtok(%nopf,32)) {
aline -l @ [ $+ [ $gettok(%temp,5,32) ] ] 15 [ $+ [ $gettok(%nopf,%cc1,32) ] ]
inc %cc1
}
aline -l @ [ $+ [ $gettok(%temp,5,32) ] ]  [ $+ [ %m.nick ] ]
write logs\ [ $+ [ $gettok(%temp,5,32) ] ] $+ .log Session Started on $asctime
write logs\ [ $+ [ $gettok(%temp,5,32) ] ] $+ .log Channel: [ $+ [ $gettok(%temp,5,32) ] ] Nick: %m.nick
write logs\ [ $+ [ $gettok(%temp,5,32) ] ] $+ .log Server: %m.server
}
--------------------------------------------------------------------
DAs ist meine routine die bei meinem Multi Server Script die nickliste est NAch OPs,HOPS,Voice und dann Regulars sortiert.
Aber ich habe ein kleines Problem.
Sie funktioniert eigentlich nur werden aber, ich weiß nich warum, die ersten 2 nicks jeder kategorie noch einmal unten an die nicklist rangeschrieben.


Codeq
26.12.2001, 19:32
hmm erstma rein lesen ;)
du lässt den RAW event für die names liste abfangen und hast 4 buffer für @,%,+,$null [ $+ [ $nick ] und lässt diese dann nach und nach der nicklist hinzufügen richtig?

soweit siehts zuminedst alles logisch korrekt aus.. syntax fehler hab ich noch nicht entdeckt. allerdings frag ich mich was ganz am ende das hier bewirkt
&quot; aline -l @ [ $+ [ $gettok(%temp,5,32) ] ]  [ $+ [ %m.nick ] ] &quot;

%m.nick hab ich nicht gefunden im source..
und das hier macht mir auch etwas sorgen
&quot;elseif (% isin $gettok(%tes1,%cc1,32)) { &quot;

wäre nicht $chr(37) besser ? aber das wird nicht dein prob verursachen...

ich werd nach den feiertagen mal nen kleines fenster gerüst basteln und deinen source einfügen :)) bin im mom sehr doll mit dickwerden beschäftigt *g*

Alamar
28.12.2001, 22:24
das %m.nick ist der eigene nick da kann ich $me ja nicht benutzen weil ich ja sonst den nick vom nornmalen server benutze.
das ist dazu da weil bei der names liste soweit ich weiß der eigene nick noch nicht drin ist. Das bewirkt also das ganz am schluss noch der eigene nick in an die nickliste unten ran geschrieben wird.

Codeq
29.12.2001, 14:43
hast du das schonmal hiermit probiert?
$sorttok(text,C,ncr)

Sorts the tokens in text.

$sorttok(e.d.c.b.a,46) returns a.b.c.d.e
$sorttok(1.3.5.2.4,46,nr) returns 5.4.3.2.1

The default is an alphabetic sort, however you can specify n = numeric sort, c = channel nick prefix sort , r = reverse sort.

kommt mir im mom so vor als könnte man da ne menge sparen. wenns nen grosses NAMES paket ist, dann müsstest alles noch in eine Varibale haun und dann erst sortieren..

Alamar
30.12.2001, 18:24
ich wollts ja mit sorttok machen aber da geht das mit den @,%,+ ned denk ich

Mac Fly
30.12.2001, 23:58
? Genau das sind doch die channel nick prefixe???

Codeq
31.12.2001, 18:03
also bei mir klappts
aus dem command
//echo -a $sorttok(corwe[tt]ch[en] @prisoner Kurini MoC|SUC @dj-cYrus Meistar psyb0rg bauchi [DoS] @codeq @[CF] +barney +LadyDied +Schak-Server +JemanD +[n0Rb],32,c)

wurde das hier

@codeq @dj-cYrus @prisoner @[CF] +barney +JemanD +LadyDied +Schak-Server +[n0Rb] bauchi corwe[tt]ch[en] Kurini Meistar MoC|SUC psyb0rg [DoS]

?( :rolleyes:

Felix Kaiser
08.01.2002, 23:48
kewl, funzt sogar mit %, wollte das schon per externer dll machen ;) ich kenne bisher nur das multiserver (lol) vom dIRC skript, das platziert hops falsch ... und man bekommt in den erstellten channelfenstern des multiservers für nickliste und channel dasselbe popup, was eigentlich mit $iif und nem simplen check einfach zu lösen ist.