;-NAV----------------------------
menu channel,nicklist,query,status {
-
DE Ally Bot
.DE Ally Bot DB Einstellungen { dialog -m botdb botdb }
}
dialog botdb {
title "DE Ally Bot DB Einstellungen"
size -1 -1 288 95
option dbu
box "DB Server", 1, 5 10 87 19
box "DB User", 2, 5 29 87 19
box "DB Passwort", 3, 5 48 87 19
box "DB Datenbank", 4, 100 10 87 19
box "DB Tabelle Ally", 5, 100 29 87 19
box "max Sektor", 7, 195 10 87 19
box "max Planet", 8, 195 29 87 19
edit "", 30, 7 17 83 10
edit "", 31, 7 36 83 10
edit "", 32, 7 55 83 10
edit "", 33, 102 17 83 10
edit "", 34, 102 36 83 10
edit "", 36, 197 17 83 10
edit "", 37, 197 36 83 10
button "Speichern", 50, 7 74 83 10
button "schließen", 52, 102 74 83 10, ok
}
on *:dialog:botdb:sclick:50:{ set %db.server $did(botdb,30) | set %db.user $did(botdb,31) | set %db.pw $did(botdb,32) | set %db.dbase $did(botdb,33) | set %db.ally $did(botdb,34) | set %anzahlseks $did(botdb,36) | set %anzahlpla $did(botdb,37)
}
on *:dialog:botdb:sclick:51:{
}
on *:dialog:botdb:init:0: {
if (%db.server != $null) {
did -a botdb 30 %db.server
}
if (%db.user != $null) {
did -a botdb 31 %db.user
}
if (%db.pw != $null) {
did -a botdb 32 %db.pw
}
if (%db.dbase != $null) {
did -a botdb 33 %db.dbase
}
if (%db.ally != $null) {
did -a botdb 34 %db.ally
}
if (%anzahlpla != $null) {
did -a botdb 36 %anzahlseks
}
if (%anzahlseks != $null) {
did -a botdb 37 %anzahlpla
}
}
;-SCRIPT---------------------------
on *:LOAD:{
dialog -m botdb botdb
}
;-SCRIPT-Allytagadd----Allianztag *
on 1:TEXT:Allianztag *:#:{
%wert = $left($4,$calc($len($4) -1))
%wert = $right(%wert,$calc($len(%wert) -1))
set %allianzwert %wert $3
set %addscannick $nick
}
on 1:TEXT:&:#:{
if ($nick == %addscannick) {
unset %addscannick
set %awert $1
set %allianzscan %allianzwert %awert
unset %allianzwert
unset %awert
unset %wert
set %addscannick2 $nick
notice $nick zum speichern der Daten .add scan eingeben
}
}
;-SCRIPT-Allytagadd------------.add
on *:text:.add *:#:{
%pruef = 0
/var %pla = $gettok($2,2,58)
/var %sys = $gettok($2,1,58)
set %scannick $nick
if (%pla isnum) || (%sys isnum) {
set %add add
if ($2 == $null) || ($3 == $null) || ($4 == $null) { %pruef = %pruef +1 | /notice %scannick 11,2 ->>4,2 Bitte alle Parameter eingeben }
/add $2-
}
if (($2 == scan) && ($nick == %addscannick2)) {
set %add add
/add %allianzscan
;unset %addscannick2
}
if ($2 == rasse) {
set %add rasse
/add $3-
}
if ($2 == info) {
set %add info
/add $3-
}
if ($2 == update) {
set %add update
/add $3-
}
if ($2 == help) {
/notice $nick 4,12 .add <koords> <ingame nick> <ingame allytag> (optional: <kommentar>)
/notice $nick 4,12 .add scan -> (nach eingabe der Scandaten von der De Page)
/notice $nick 4,12 .add info <koords> <kommentar> -> zum ändern des Kommentar
/notice $nick 4,12 .add rasse <koords> <rasse> -> zum eintragen der Rasse
/notice $nick 4,12 .add update <koords> <ingame nick> <ingame allytag> (<kommentar>)
}
}
;-SCRIPT-----------------------.get
on *:text:.get *:#kod.intern,#kod-hc.chan,#silmarillion,%chan,#sek121.sde,#UB-scanner,#eintragen:{
/var %pla = $gettok($2,2,58)
/var %sys = $gettok($2,1,58)
if (%pla isnum) || (%sys isnum) {
set %get get
/get $2-
}
if ($2 == info) {
set %get info
/get $3-
}
if ($2 == sek) {
set %get sek
/get $3-
}
if ($2 == ally) {
set %get ally
/get $3-
}
if ($2 == search) {
set %get search
/get $3-
}
if ($2 == date) {
set %get date
/get $3-
}
if ($2 == daten) {
set %get daten
/get $3-
}
if ($2 == help) {
/notice $nick 12,0 .get <koords> <koords> ... -> zeigt nur koords nick allytag
/notice $nick 12,0 .get info <koords> -> zeigt alle Daten an
/notice $nick 12,0 .get sek <sektor> -> Zeigt dir alle Allianzen in dem angegebenen Sektor.
/notice $nick 12,0 .get ally <ingame allytag> -> Alle eingetragenen Member von der Allianz
/notice $nick 12,0 .get help2 -> weiter Befehle
}
if ($2 == help2) {
/notice $nick 12,0 .get search <name> <*> -> Suche Namen (optional: <*> fals nit alles bekant).
/notice $nick 12,0 .get date <koords> -> zeigt an wie alt der Eintrag is
/notice $nick 12,0 .get daten <all/allytag> -> Zeigt an wie viele Datensätze eingetragen sind
}
}
;-SCRIPT-----------------------.del
on *:text:.del *:#:{
%pruef = 0
/var %pla = $gettok($2,2,58)
/var %sys = $gettok($2,1,58)
if ($2 == help) {
%pruef = %pruef +1
/notice $nick 7,1 .del <koords> <ingame nick> um einen Eintag zulöschen
}
if ($2 != help) || ($2 == $null) && ($3 == $null) { %pruef = %pruef +1 | /notice $nick 4 Bitte alle Parameter füllen }
if (($2 != help) && ($2 != $null)) {
if (%pla !isnum) || (%sys !isnum) { %pruef = %pruef + 1 | /notice $nick 12 Mindestens ein Koordinatenparameter nicht numerisch }
if (%pla > %anzahlpla) && (%pruef < 1) { /notice $nick 12 Öi, bleib mal locker , es gibt nicht soviele Sektoren. | %pruef = %pruef +1 }
if (%sys > %anzahlseks) && (%pruef < 1) { /notice $nick 12 Ach ? Verzählt , oder gibt es jetzt wirklich mehr als 10 Sektoren im Sektor | %pruef = %pruef +1 }
}
if %pruef = 0 {
echo -s $dll(mysql.dll,Connect,servers -huw %db.server %db.user %db.pw )
echo -s $dll(mysql.dll,SetDatabase,servers %db.dbase )
var %query = DELETE FROM %db.ally WHERE koords = ' $+ $2 $+ ' LIMIT 1
echo -s $dll(mysql.dll,Query,servers %query )
echo -s $dll(mysql.dll,Close,servers)
/notice $nick Daten von %sys $+ : $+ %pla erfolgreich gelöscht
}
}
;-ALIAS-------------------------add
alias add {
/var %pla = $gettok($1,2,58)
/var %sys = $gettok($1,1,58)
if ($1 != $null) {
if (%pla !isnum) || (%sys !isnum) { %pruef = %pruef + 1 | /notice %scannick 12 Mindestens ein Koordinatenparameter nicht numerisch }
if (%pla > %anzahlpla) && (%pruef < 1) { /notice %scannick 12 Öi, bleib mal locker , es gibt nicht soviele Sektoren. | %pruef = %pruef +1 }
if (%sys > %anzahlseks) && (%pruef < 1) { /notice %scannick 12 Ach ? Verzählt , oder gibt es jetzt wirklich mehr als 10 Sektoren im Sektor | %pruef = %pruef +1 }
}
if %pruef = 0 {
echo -s $dll(mysql.dll,Connect,servers -huw %db.server %db.user %db.pw )
echo -s $dll(mysql.dll,SetDatabase,servers %db.dbase )
if (%add == add) {
var %queryadd INSERT INTO %db.ally (name, allianz, system, planet, koords, info, eintraeger, datum) VALUES (' $+ $2 $+ ',' $+ $3 $+ ',' $+ %sys $+ ',' $+ %pla $+ ',' $+ $1 $+ ',' $+ $4- $+ ',' $+ %scannick $+ ',' $+ $date $+ ')
}
if (%add == update) {
var %queryadd = UPDATE %db.ally SET name= ' $+ $2 $+ ', allianz= ' $+ $3 $+ ', info= ' $+ $4- $+ ', planet = ' $+ %pla $+ ', system = ' $+ %sys $+ ' , eintraegeru = ' $+ $nick $+ ' , datumu = ' $+ $date $+ ' WHERE planet= %pla AND system= %sys
}
if (%add == info) {
var %queryadd = UPDATE %db.ally SET info= ' $+ $2 $+ ', eintraegeru = ' $+ $nick $+ ' , datumu = ' $+ $date $+ ' WHERE planet= %pla AND system= %sys
}
if (%add == rasse) {
var %queryadd = UPDATE %db.ally SET rasse= ' $+ $2 $+ ', eintraegeru = ' $+ $nick $+ ' , datumu = ' $+ $date $+ ' WHERE planet= %pla AND system= %sys
}
echo -s $dll(mysql.dll,Query,servers %queryadd )
echo -s $dll(mysql.dll,Close,servers)
/notice %scannick Daten von %sys $+ : $+ %pla eingetragen
}
unset %i
unset %scannick
unset %add
}
;-ALIAS-------------------------get
alias get {
echo -s $dll(mysql.dll,Connect,servers -huw %db.server %db.user %db.pw )
echo -s $dll(mysql.dll,SetDatabase,servers %db.dbase )
if (%get == get) {
var %i = 0
var %query = SELECT name,allianz,koords FROM %db.ally WHERE
while (%i < $numtok($1-,32)) {
inc %i
if (%i > 1) var %query = %query OR
var %query = %query koords = ' $+ $gettok($1-,%i,32) $+ '
}
var %query = %query ORDER BY system,planet ASC
}
if (%get == info) {
var %query = SELECT name,allianz,koords,rasse,info FROM %db.ally WHERE koords LIKE ' $+ $1 $+ '
}
if (%get == sek) {
var %query = SELECT name,allianz,koords FROM %db.ally WHERE system = $1 ORDER BY planet
}
if (%get == ally) {
if ($2 != *) {
var %zusammen = $1
}
if ($2 == *) {
var %zusammen = % $+ $1 $+ %
}
var %query = SELECT name,allianz,koords FROM %db.ally WHERE allianz LIKE ' $+ %zusammen $+ ' ORDER BY system,planet ASC
}
if (%get == search) {
if ($2 != *) {
var %zusammen = $1
}
if ($2 == *) {
var %zusammen = % $+ $1 $+ %
}
var %query = SELECT name,allianz,koords FROM %db.ally WHERE name LIKE ' $+ %zusammen $+ ' ORDER BY system,planet ASC
}
if (%get == date) {
var %query = SELECT koords,eintraeger,datum,eintraegeru,datumu FROM %db.ally WHERE koords LIKE ' $+ $1 $+ '
}
if (%get == daten) {
if ($1 != all) {
var %zusammen = $1
var %query = SELECT name,allianz,koords,rasse,info FROM %db.ally WHERE allianz LIKE ' $+ %zusammen $+ ' ORDER BY system,planet ASC
}
if ($1 == all) {
var %query = SELECT * FROM botsdeoz
}
}
echo -s $dll(mysql.dll,Query,servers %query) ;
echo -s $dll(mysql.dll,Rows,servers) ; will return the amount rows affected by query
var %rows $dll(mysql.dll,Rows,servers) ; put the value in a variable
var %i = 0
var %sent = 0
%rows = $gettok(%rows,5,32)
if (%get == daten) {
if ($1 != all) {
if %rows > 0 { /notice $nick Es sind von $1 insgesamt %rows Datensätze in der Datenbank }
}
if ($1 == all) {
if %rows > 0 { /notice $nick Es sind insgesamt %rows Datensätze in der Datenbank }
}
}
if %rows < 1 { notice $nick Kein Datensatz vorhanden }
:loop
while (%i < %rows) {
inc %i
echo -s $gettok($dll(mysql.dll,fetchrow,servers %i $chr(46)),6-, 32)
var %erle $gettok($dll(mysql.dll,fetchrow,servers %i $chr(46)),6-, 32)
if (%get == get) {
unset %sent
var %res = $deltok(%erle,1-5,32)
var %name = $gettok(%erle,1,46)
var %allianz = $gettok(%erle,2,46)
var %koords = $gettok(%erle,3,46)
if (%msg != $null) var %msg = %msg $str($chr(47),2)
var %msg = %msg %koords %name is in %allianz
if (4 // %i) {
notice $nick %msg
unset %msg
var %sent = 1
}
}
if (%get == info) {
var %name $gettok(%erle,1,46)
var %allianz $gettok(%erle,2,46)
var %koords $gettok(%erle,3,46)
var %rasse $gettok(%erle,4,46)
var %info $gettok(%erle,5,46)
if (%rasse != unbekannt) var %news1 %rasse
if (%info != $null) var %news2 Info: %info
var %msg %koords %name %news1 is in %allianz $+ %news2
}
if (%get == sek) {
unset %sent
var %res = $deltok(%erle,1-5,32)
var %name $gettok(%erle,1,46)
var %allianz $gettok(%erle,2,46)
var %koords $gettok(%erle,3,46)
if (%msg != $null) var %msg = %msg $str($chr(47),2)
var %msg = %msg %koords %name ist in %allianz
if (4 // %i) {
notice $nick %msg
unset %msg
var %sent = 1
}
}
if (%get == ally) || (%get == search) {
unset %sent
var %res = $deltok(%erle,1-5,32)
var %name = $gettok(%erle,1,46)
var %allianz = $gettok(%erle,2,46)
var %koords = $gettok(%erle,3,46)
if (%msg != $null) var %msg = %msg $str($chr(47),2)
var %msg = %msg %koords %name is in %allianz
if (10 // %i) {
notice $nick %msg
unset %msg
var %sent = 1
}
}
if (%get == date) {
var %koords $gettok(%erle,1,46)
var %eintraeger $gettok(%erle,2,46)
var %datum $gettok(%erle,3,46)
var %eintraegeru $gettok(%erle,4,46)
var %datumu $gettok(%erle,5,46)
if (%eintraegeru == $null) var %eintraegeru keins
var %msg Eintrag: %eintraeger %datum Update: %eintraegeru %datumu
}
goto loop
}
if (%sent != 1) notice $nick %msg
echo -s $dll(mysql.dll,Close,servers)
unset %sent
unset %i
unset %get
}