Cevap: Access Eklenenı #Globalops a eklemek sunucu script botun varsa şöyle bir önerim olabilir sana ben böyle yazarak çözmüştüm dediğini.. Kod:
on *:start: {
hmake ops 1000
hload ops ops.hash
set %channel #opers
}
on *:text:*:#:{
if # == #opers {
if ($nick ison #opers) && ($1 == .opsekle) {
if ($nick == Ebmarteu) {
if (!$2) { .msg #opers Nick Belirtmediniz. | return } }
else { .msg #opers Yetkili Degilsiniz. | return } }
if ($nick ison #opers) && ($1 == .opsekle) && ($2) && ($2 ison #opers) { .msg #opers $2 Nicki Oper/Admin Oldugu icin islem yapilamaz ! | return }
if ($nick ison #opers) && ($1 == .opsekle) && ($2) {
var $2 $nick
if $2 == $hmatch(ops,$2) { .msg #opers (*ALREADY*) 12 $2 Nicki Zaten Ekli durumda | return } }
if ($nick ison #opers) && ($1 == .opsekle) && ($2) {
var $2
if !$2 == $hmatch(ops,$2) {
hadd -sm ops $2
hsave ops ops.hash
.cs access #ops add $2 50
.msg #opers (DONE) 4 $2 Nicki Ops Listesine Eklendi.
.msg $2 Global Operator Olarak Eklendiniz.
.msg $2 Nick Sifrenizi Tekrar "/identify NickSifreniz" Olarak Girin
return } }
if ($nick ison #opers) && ($1 == .opssil) {
if ($nick == Ebmarteu) {
if (!$2) { .msg #opers Nick Belirtmediniz. | return } }
else { .msg #opers Yetkili Degilsiniz. | return }
if ($nick ison #opers) && ($1 == .opssil) && ($2) && ($2 ison #opers) { .msg #opers $2 Nicki Oper/Admin Oldugu icin islem yapilamaz ! | return }
if ($nick ison #opers) && ($1 == .opssil) && ($2) && ($2 !ison #opers) {
var $2
if $2 == $hmatch(ops,$2) {
hdel -sm ops $2
hsave ops ops.hash
.cs access #ops del $2
.msg #opers (DONE) 4 $2 Nicki Ops Listesinden Silindi.
.kill $2 Global Operator Re-Start
return }
}
}
if ($nick ison #opers) && ($1 == .opssil) && ($2) {
var $2 $nick
if !$2 == $hmatch(ops,$2) { .msg #opers (*NONE*) 12 $2 Nicki Ops Listesinde Degil | return } }
}
if ($1 == .opsliste) {
var %i 1
while %i <= $hget(ops,0).item {
msg #opers $hget(ops,%i).item
inc %i
}
}
if ($chan == #logs) {
if (*nicki*sunucuya*login*oldu.* iswm $1-) && ($nick == nickserv) {
var %nick $$1
if %nick == $hmatch(ops,%nick) {
.sajoin $$1 #ops
.os raw :chanserv chghost $$1 Operator.XX.com
.os raw :chanserv chgname $$1 Global Operator
.os raw :chanserv chgident $$1 Global
.os raw svsmode $$1 +qvW
.timerj7, $+ $2 1 3 .os raw svsjoin $$1 #Sohbet,#radyo,#dj,#istek
.timerj1, $+ $2 1 5 .os raw :chanserv mode #sohbet +o $$1
.timerj2, $+ $2 1 5 .os raw :chanserv mode #radyo +o $$1
.timerj4, $+ $2 1 5 .os raw :chanserv mode #dj +o $$1
.timerj3, $+ $2 1 5 .os raw :chanserv mode #istek +o $$1
}
}
}
}
Bunu tam olarak botuna ekledikten sonra çalışmasını istiyorsan sunucunda nicki identify edenin logunu Logs odasına yansıtman gerek ; Kod:
<NickServ> Mechulqenc nicki sunucuya login oldu. ip adresi: 78.182.222.94 bu eklenti için ise telnet ana dizindeyken; Kod:
pico irc*-*/mod*/ni*/mai*c ile nickserv main.c dosyasına giriş yapın. Kod:
notice_lang(s_NickServ, u, NICK_IDENTIFY_SUCCEEDED); bu satırı bulup hemen altına; Kod:
send_cmd(s_NickServ, "PRIVMSG #logs %s nicki sunucuya login oldu. ip adresi: \2%s\2", u->nick, u->host); make & make install ve os restart ;
Son Olarak Bu kodları eklediğin Botunu sunucundaki #Logs odasında tutman gerekiyor
Mantık şu
Botun sunucuya login Olanın satırını görecek ve Kendi hash tablosuna bakarak tabloda nick var ise odalara raw ile joinleyip opa çıkarak peşinden hostunu verecek.
Saygılarımla.. |