PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Prozedur in Prozedur ausführen


CandyMan
05.02.2005, 21:00
Hallo zusammen,
Bevor ich zu mein Problem komme, erstmal vorab es handelt sich um ein Eggdrop in kombination mit den Stats Module. Und was ich vorhabe ist folgendes wenn ein User in Chat !top10 eingibt soll er mir die Statistiken von Stats Modul anzeigen sowie aber auch noch eine Notice raus schicken. Gut ich habe mir das ganze mal in der stats.conf angesehen und da sieht diese Zeile dafür so aus:


bind pub - ${cmdchar}top10 *pub:!top10


So nun dachte ich mir passte dieses mal an und machste eine neue Prozedur dafür z.b. so:


bind pub - ${cmdchar}top10 pub_notice


Und das habe ich gemacht und auch dafür die Prozedur angelegt, jetzt gibt er mir zwar die notice aus aber nicht mehr die Statistik weil ich müsste ja jetzt in der neuen Prozudur auf *pub:!top10 weiter verweisen. Und genau da liegt mein Problem wie mach ich das? Würde es ja in der *pub:!top10 gerne direkt rein schreiben problem ist nur das das Stats Module in C geschrieben ist und kein Plan von C habe, und ich nicht extra den ganzen Bot wieder neu compilern wollte deswegen. Bin froh das er soweit laufen tut. Also könnte mir da evtl. jemand ein Tip geben oder weiterhelfen bitte?

So dann habe ich noch ein zweites Problemchen. Ich wollte nicht extra ein neues Thema aufmachen deswegen evtl. weiß ja auch so einer Rat. Wenn ich den Bot starte mit ./eggdrop so lauft er zwar nach aussage von ps x aber er kommt nicht in IRC. Telnet geht ebenfalls nicht. so wenn ich ihn aber mit ./eggdrop -n starte lauft er komischerweise muss dann aber leider die ssh Session beenden und muss dann neu drauf Connecten was ja nicht sinn macht.

Wäre echt Cool wenn mir einer weiterhelfen könnte sitze da schon 2 Tage dran und finde keine Lösung dazu. Wäre euch sehr dankbar dafür.

MfG CandyMan


ChaosKrieger
05.02.2005, 22:10
moin ;)

zu deinem ersten problem..

eine weitere proc wird immer mit utimer aufgerufen


utimer sekunden[list proc $var $var2 $ $var3... usw]

zu deinem anderen problem:

ist es immer so?

evtl. sind es zu viele connects auf den server.. so das der bot nicht mehr drauf kommt..

war bei mir schon oft so.. habe mich gewundert was da los is.. mit -n mal gehts.. mal nicht *g*

schau dir das einfach mal öffters an

By Chaos

CandyMan
05.02.2005, 22:40
Danke für die Tips aber mit utime? Und ich weiß jetzt nicht evtl. wurde es von dir falsch verstanden ich will kein neue prozedur einleiten ich möchte das ich auf eine vorhande weiterleite sozusagen also das 2 prozeduren aufgerufen werden bei ein Befehl von ein User. Und wegen den anderen muss ich gucken aber das IRC Netz is relativ klein von daher glaub ich nicht das es daran liegt hier mal eine Statistik von den IRC:


There are 53 users and 118 invisible on 10 servers
25 operator(s) online
104 channels formed
I have 33 clients and 1 servers
-
Current Local Users: 33 Max: 51
Current Global Users: 171 Max: 194


Theoretisch kanns da dann nicht dran liegen aber ich versuchs nochmal normal.

Aber erstmal dank für das was du gepostet hast.

MfG CandyMan

ChaosKrieger
06.02.2005, 11:58
hi,

versuchs mal mit :

bind ....
proc ....
proc $var $var1 $var2 ...
deine notice etc...


zu deinem anderen problem:

das ist wirklich klein..

aber ist es nicht möglich das die max. grenze doch überschritten wird?

Current Local Users: 33 Max: 51
Current Global Users: 171 Max: 194

so viel fehlt da ja eigendlich nicht

wie gesagt.. schau dir das mal ne zeit an.. las einfach mal den bot mit -n laufen..
kann mir nichts anderes vorstellen

By Chaos

Izlots
14.02.2005, 17:10
du kannst net so ohne weiteres den bind sagen und dann fueg mal bitte die proc an, aber so muesst es gehen:


bind pub - ${cmdchar}top10 combine_procs

proc combine_procs {nick host hand chan arg} {
[*pub:!top10 $nick $host $hand $chan $arg]
[pub_notice $nick $host $hand $chan $arg]
}

edit:
Current Local Users: 33 Max: 51
Current Global Users: 171 Max: 194

Das Max heißt net, wieviel maximal geht, sondern wieviel maximal da waren .....
Aber du koenntest entweder den eggy im screen starten und dann detachen, oder mal die cfg zeigen ;)