anpera.net
https://anpera.homeip.net/phpbb3/

Fragen
https://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=1751
Seite 1 von 2

Autor:  Amerilion [ Di 20 Sep, 2005 14:05 ]
Betreff des Beitrags:  Fragen

Also, ich hab 2 Fragen.
Die erste betrifft die logs.php, oder genauer gesagt die darin enthalten Überprüfung der Multiaccounts...
Ich habe gesucht nach Multiaccounts über IP, da ich im Usereditor gesehen habe das 2 Accs die selbe hatten... Allerdings hat mir die logs.php die nicht angezeigt, warum ? Wie sicher ist die überhaupt?

2.
In der forest.php ist mir ganz am ende der datei ne Funktion aufgefallen, was besagt die und warum ist sie auskommentiert?

[php]function addhistory($value){
/*
global $session,$balance;
$history = unserialize($session['user']['history']);
$historycount=50;
for ($x=0;$x<$historycount;$x++){
if (!isset($history[$x])) $history[$x]=$balance;
}
array_shift($history);
array_push($history,$value);
$history = array_values($history);
for ($x=0;$x<$historycount;$x++){
$history[$x] = round($history[$x],4);
if ($session['user']['superuser']>=3) output("History: {$history[$x]}`n");
}
$session['user']['history']=serialize($history);
*/
}
?>[/php]

Autor:  Tidus [ Di 20 Sep, 2005 14:11 ]
Betreff des Beitrags: 

zu der ersten bei mir wars so da ja am anfang eigentlich in den regeln steht das man 2 accs haebn darf die nur ncihts miteinander zutun haben werden multi accs erst angezeigt wenns 3 sind war bei mir so als ich test chars erstellt hatte aber das wär auch gut wenn ich wüsst wie man das ändert ^^

Autor:  Kevz [ Di 20 Sep, 2005 14:56 ]
Betreff des Beitrags: 

1. Das mit logs, wird so wie Tidus schon sagte erst ab 2 Acc, du kannst es aber auf 2 ändern...

logs.php

Suche:
[php]if (count($list)<3) continue;[/php]

Ersetze durch:
[php]if (count($list)<2) continue;[/php]

Autor:  Rikkarda [ Mi 21 Sep, 2005 11:45 ]
Betreff des Beitrags: 

oder du nutzt die Multianalysis.php von Gargamel.. diese zeigt auch schon einen 2. acc an weil sie nach sessionscookies sucht. allerdings hat dies einen haken, wenn die sich von 2 browsern aus einloggen.


Zitat:
<?
require_once "common.php";
page_header("Schlumpf-Tool");

//////// STEUERUNG seen on http://www.rabenthal.de
//$abdatum = "31 May 2004";
$abdatum = "22 July 2004";

addnav("Refresh","multianalysis.php");
//addnav("Zurück zum Dorfamt","dorfamt.php");
addnav("Zurück ins Dorf","village.php");

$ip = $idlist = $users = array();
$sql = 'SELECT uniqueid FROM accounts WHERE uniqueid!="" GROUP BY uniqueid HAVING COUNT(*) > 1';
$result = db_query($sql) or die(db_error(LINK));
while ($row = db_fetch_assoc($result)) {
$idlist[] = $row['uniqueid'];
}

output("`n`bCheat-Schlümpfe ab dem $abdatum (MoTD)`b`n`n`0");

foreach ($idlist AS $id) {
$sql = "SELECT acctid,name,lastip,uniqueid,dragonkills,level,laston FROM accounts
WHERE uniqueid = '$id' AND locked='0'
ORDER BY dragonkills ASC, level ASC";
$result = db_query($sql) or die(db_error(LINK));
while ($row = db_fetch_assoc($result)) {
$userlist[] = $row;
}
$usergroup[] = $userlist;
unset($userlist);
}

foreach ($usergroup AS $group) {
$in_acctid = '';
$i = count($group);
$cookie = $group[0]['uniqueid'];
output("`n`n`Q$i Characters mit Cookie: $cookie`0`n");
output("<table border=0 cellpadding=2 cellspacing=1 >",true);
output("<tr class='input'><td>Spieler/in</td><td>letzte IP</td><td>Drachen</td><td>Level</td><td>Last On</td>",true);
foreach ($group AS $member) {
output("<tr class='trmain'>",true);
output("<td>".$member['name']."</td><td>".$member['lastip']."</td><td align='center'>"
.$member['dragonkills']."</td><td align='center'>".$member['level']."</td>",true);
$in_acctid .= ','.$member['acctid'];
$laston=round((strtotime("0 days")-strtotime($member[laston])) / 86400,0)." Tage";
if (substr($laston,0,2)=="1 ") $laston="1 Tag";
if (date("Y-m-d",strtotime($member[laston])) == date("Y-m-d")) $laston="Heute";
if (date("Y-m-d",strtotime($member[laston])) == date("Y-m-d",strtotime("-1 day"))) $laston="Gestern";
if ($loggedin) $laston="Jetzt";
output("<td>".$laston."</td>",true);

output("</tr>",true);
}
output("</table>",true);
// -> debuglog
$sql = 'SELECT d1.date,d1.actor,d1.target,d1.message,a1.name as actorname,a2.name as targetname
FROM debuglog as d1 LEFT JOIN accounts as a1 ON a1.acctid=d1.actor
LEFT JOIN accounts as a2 ON a2.acctid=d1.target
WHERE actor IN (-1,132,128)
AND target IN (-1,132,128)
AND date > "2004-07-22 00:00:00"
ORDER BY date DESC, actor ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`^Debuglog:`0`n Keine Interaktion. `@Guuuuuut.`0`n");
}
else {
output("`^Debuglog:`0`n Die folgenden Interaktionen wurden gefunden:`n");
while ($row = db_fetch_assoc($result)) {
output("`$ Log:`0 ".$row['date']." - ".$row['actorname']." ".$row['message'].
" ".$row['targetname']."`n" );
}
}
// -> houses Eigentümer
$comarray = array();
$vergehen=0;
$owner=0;
$sql = 'SELECT houseid,owner,status,housename,a1.name as hausholder
FROM houses
LEFT JOIN accounts as a1 ON a1.acctid=houses.owner
WHERE owner IN (-1'.$in_acctid.')
ORDER BY owner ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`^Häuser:`0 Keine Hauseingentümer!`0`n");
}
else {
$i = 1;
output("`^Häuser:`0`n");
while ($row = db_fetch_assoc($result)) {
$sql2 = 'SELECT houses.houseid, houses.status, a1.name as hausholder, a2.name as keyholder,
items.owner as keyowner
FROM houses, items
LEFT JOIN accounts as a1 ON a1.acctid=houses.owner
LEFT JOIN accounts as a2 ON a2.acctid=items.owner
WHERE houses.owner = '.$row[owner].'
AND items.value1 = houses.houseid
AND items.owner IN (-1'.$in_acctid.')
AND items.owner != '.$row[owner].'
ORDER BY keyholder ASC';
$result2 = db_query($sql2) or die(db_error(LINK));
if (db_num_rows($result2) == 0) {
output("Hauseingentümer ".$row['hausholder']." `@ohne Schlüssel-Vergehen!`0`n");
}
else {
while ($row2 = db_fetch_assoc($result2)) {
output("`$ Vergehen $i:`0 Hausbesitzer ist ".$row2['hausholder'].",
Schüssel hat ".$row2['keyholder']." `n");
//status als zaehler brauchen
$row2['status']= $i;
$comarray[] = $row2;
$vergehen++;
//commentary hauseigentümer über folgenden trickauslesen
//if ( $owner == 0 || $owner == $row['owner'] ) {
if ( $owner != $row['owner'] ) {
$row2['keyowner']=$row['owner'];
$comarray[] = $row2;
$owner=$row['owner'];
}
//
$i++;
}
}
}
}
// -> Houses Eigentümer commentary
$flag = 0;
if ( $vergehen > 0 ) {
$i=1;
$hoch = 0;
foreach ($comarray AS $com) {
if ( $flag == 0 ) {
output("`6Comment Summary:`0`n");
$flag++;
}
$i = $com['status'];

$section = "house-".$com['houseid'];
$author = $com['keyowner'];
$hausnr = $com['houseid'];

$sql = 'SELECT *, a1.name as actorname
FROM commentary LEFT JOIN accounts as a1 ON a1.acctid=commentary.author
WHERE author ='.$author.'
AND section ="'.$section.'"
ORDER BY commentid ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`6($i)`0 Keine Einträge`n");
}
else {
$dg = $ng = $de = $ne = 0;
while ($row = db_fetch_assoc($result)) {
$text = $row['comment'];
$wer = $row['actorname'];
$text2 = str_replace("/me ", " ", $row['comment']);
//output($row['actorname']."`0 ".$text2."`0`n" );

if ( !strpos( $text, "Edelsteine") ) {
if ( !strpos( $text, "nimmt") ) {
$tmp = str_replace("/me `@deponiert `^", "", $text);
$tmp = str_replace("`@ Gold.", "", $tmp);
$dg += $tmp;
}
else {
$tmp = str_replace("/me `\$nimmt `^", "", $text);
$tmp = str_replace("`$ Gold.", "", $tmp);
$ng += $tmp;
}
}
else {
if ( !strpos( $text, "nimmt") ) {
$tmp = str_replace("/me `@deponiert `#", "", $text);
$tmp = str_replace("`@ Edelsteine.", "", $tmp);
$de += $tmp;
}
else {
$tmp = str_replace("/me `\$nimmt `#", "", $text);
$tmp = str_replace("`$ Edelsteine.", "", $tmp);
$ne += $tmp;
}
}
}
output("`0`6($i) Haus $hausnr:`0 $wer `$ deponiert $dg Gold und $de Gems,
nimmt $ng Gold und $ne Gems.`0`n" );
}
if ( $hoch == 0 ) {
$hoch = 1;
} else {
$i++;
$hoch = 0;
}
}
}
unset($comarray);


// -> houses Bewohner
$comarray = array();
$id_alt=0;
$sql = 'SELECT items.value1, items.owner AS keyowner, houses.owner AS houseowner
FROM items
LEFT JOIN houses ON houses.houseid=items.value1
WHERE items.owner!=houses.owner AND
items.class="Schlüssel" AND
items.owner IN (-1'.$in_acctid.')
ORDER BY houses.owner ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`^Schlüssel:`0 Kein Schlüsselbesitz!`0`n");
}
else {
$i = 1;
output("`^Schlüssel:`0`n");
while ($row = db_fetch_assoc($result)) {
if ( $id_alt != $row['houseowner'] ) {
$id_alt = $row['houseowner'];
$sql2 = 'SELECT items.value1, items.owner AS keyowner, houses.owner AS houseowner,
a1.name as hausholder, a2.name as keyholder
FROM items
LEFT JOIN houses ON houses.houseid=items.value1
LEFT JOIN accounts as a1 ON a1.acctid=houses.owner
LEFT JOIN accounts as a2 ON a2.acctid=items.owner
WHERE items.owner!=houses.owner AND
items.class="Schlüssel" AND
items.owner IN (-1'.$in_acctid.')
and houses.owner = '.$id_alt.'
ORDER BY houses.owner ASC';
$result2 = db_query($sql2) or die(db_error(LINK));
if (db_num_rows($result2) == 0) {
output("Hauseingentümer ".$row['hausholder']." `@ohne Schlüssel-Vergehen!`0`n");
}
else if (db_num_rows($result2) == 1) {
$row2 = db_fetch_assoc($result2);
output("Hausbesitzer Nr. ".$row2['value1']." ist ".$row2['hausholder'].",
Schüssel hat ".$row2['keyholder']." `@Ok.`0`n");
}
else {
while ($row2 = db_fetch_assoc($result2)) {
output("`$ Vergehen $i:`0 Hausbesitzer Nr. ".$row2['value1']." ist ".$row2['hausholder'].",
Schüssel hat ".$row2['keyholder']." `n");
$comarray[] = $row2;
$i++;
}
}
}
}
}

// -> Houses Bewohner commentary
$flag = 0;
$i = 1;
foreach ($comarray AS $com) {
if ( $flag == 0 ) {
output("`6Comment Summary:`0`n");
$flag++;
}

$section = "house-".$com['value1'];
$author = $com['keyowner'];
$hausnr = $com['value1'];

$sql = 'SELECT *, a1.name as actorname
FROM commentary LEFT JOIN accounts as a1 ON a1.acctid=commentary.author
WHERE author ='.$author.'
AND section ="'.$section.'"
ORDER BY commentid ASC';
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result) == 0) {
output("`6($i)`0 Keine Einträge`n");
}
else {
$dg = $ng = $de = $ne = 0;
while ($row = db_fetch_assoc($result)) {
$text = $row['comment'];
$wer = $row['actorname'];
$text2 = str_replace("/me ", " ", $row['comment']);
//output($row['actorname']."`0 ".$text2."`0`n" );

if ( !strpos( $text, "Edelsteine") ) {
if ( !strpos( $text, "nimmt") ) {
$tmp = str_replace("/me `@deponiert `^", "", $text);
$tmp = str_replace("`@ Gold.", "", $tmp);
$dg += $tmp;
}
else {
$tmp = str_replace("/me `\$nimmt `^", "", $text);
$tmp = str_replace("`$ Gold.", "", $tmp);
$ng += $tmp;
}
}
else {
if ( !strpos( $text, "nimmt") ) {
$tmp = str_replace("/me `@deponiert `#", "", $text);
$tmp = str_replace("`@ Edelsteine.", "", $tmp);
$de += $tmp;
}
else {
$tmp = str_replace("/me `\$nimmt `#", "", $text);
$tmp = str_replace("`$ Edelsteine.", "", $tmp);
$ne += $tmp;
}
}
}
output("`0`6($i) Haus $hausnr:`0 $wer `$ deponiert $dg Gold und $de Gems,
nimmt $ng Gold und $ne Gems.`0`n" );
}
$i++;
}
unset($comarray);

output("`n`n");
}

page_footer();
?>



lg rikka

Autor:  Kevz [ Mi 21 Sep, 2005 15:34 ]
Betreff des Beitrags: 

Nya da bleib ich lieber bei dem logs is mir sicherer ;)

Autor:  Tidus [ Mi 21 Sep, 2005 15:37 ]
Betreff des Beitrags: 

naja das denk ich auch :) denn wnenm ans so abändert ist es gut xD

Autor:  Amerilion [ Mi 21 Sep, 2005 15:59 ]
Betreff des Beitrags: 

Danke für das Schlumpf-Tool, hab es gestern Abend per ICQ schon bekommen gehabt ;)
Ich hab beides gemacht, und finde das Schlumpf-Tool echt besser, einfach weil dort auch nach Interaktionen zwischen Multis abgefragt wird...


NÄCHSTE FRAGE:
Hatt jemand ne Anleitung wie ich das hinbekomme das der User für X DoPos auch n Titel hinter den Namen haben kann ?
Also entweder vor oder hinter den Namen mein ich...
(Hab das mal bei Anaras gesehen...)

Autor:  Meteora [ Mi 21 Sep, 2005 16:38 ]
Betreff des Beitrags: 

Amerilion hat geschrieben:
Danke für das Schlumpf-Tool, hab es gestern Abend per ICQ schon bekommen gehabt ;)
Ich hab beides gemacht, und finde das Schlumpf-Tool echt besser, einfach weil dort auch nach Interaktionen zwischen Multis abgefragt wird...


NÄCHSTE FRAGE:
Hatt jemand ne Anleitung wie ich das hinbekomme das der User für X DoPos auch n Titel hinter den Namen haben kann ?
Also entweder vor oder hinter den Namen mein ich...
(Hab das mal bei Anaras gesehen...)


puh, ziemlich schwer das alles aufzulisten,. ohne dass es einen bug gibt.. mal schauen ob ichs veröffentliche oder eher nicht

Autor:  Rikkarda [ Mi 21 Sep, 2005 17:42 ]
Betreff des Beitrags: 

ich finde das schlumpftool aus dem grund besser, weil zb. aol bei fast allen benutzern die gleiche ip vergibt.. und diese auch nicht ändert.. somit ist das logs.php für mich nicht ausreichend beweis dafür, dass es Multis sind.. ich hatte das prob bei einem ip bann.. ich hab 7 User in sili gebannt.. mit sessionscookiebann wäre mir das nicht passiert xD


daher denke ich beides ist gut.. vor allem, weil ich Multis in Silienta zulasse, solange sie sich an die von mir vorgegebenen Regeln halte, die ich zu 99% mit dem Schlumpftool überwachen kann.


lg Rikka

Autor:  Linaloya [ Mi 21 Sep, 2005 17:43 ]
Betreff des Beitrags: 

Rikkarda hat geschrieben:
oder du nutzt die Multianalysis.php von Gargamel.. diese zeigt auch schon einen 2. acc an weil sie nach sessionscookies sucht. allerdings hat dies einen haken, wenn die sich von 2 browsern aus einloggen.

[...]

lg rikka



hm da kommt aber ein fehler:

Warning: Invalid argument supplied for foreach() in /www/htdocs/v129521/lotgd/multianalysis.php on line 34

Autor:  Rikkarda [ Mi 21 Sep, 2005 21:02 ]
Betreff des Beitrags: 

also bei mir kommt kein fehler.. da du deinen Source nicht beigetan hast kann ich auch nicht nachsehen warum bei dir einer kommt..


lg Rikka

Autor:  Tidus [ Mi 21 Sep, 2005 22:13 ]
Betreff des Beitrags: 

muss mich korrigieren das schlumpftool sit erste sahne^^ kann cih meine ganzen vergehen sehen xD

Autor:  Linaloya [ Do 22 Sep, 2005 12:00 ]
Betreff des Beitrags: 

http://lotgd.jusmaker.de/source.php

sorry hab nich dran gedacht ;)

Autor:  -DoM [ Mo 17 Okt, 2005 21:14 ]
Betreff des Beitrags: 

[.............]

Autor:  Rikkarda [ Mo 17 Okt, 2005 22:25 ]
Betreff des Beitrags: 

danke für den fix ;) läuft einwandfrei


lg Rikka

Autor:  Andragor [ Mi 15 Feb, 2006 14:47 ]
Betreff des Beitrags: 

Also .... ich hoffe das wurde niocht schon irgendwo geschrieben und ich habs nur übersehen ..... aber wo gibts die Einbauanleitung für das tool

Autor:  Rikkarda [ Mi 15 Feb, 2006 14:54 ]
Betreff des Beitrags: 

das Schlumpftool? Einfach in Grotte verlinken und anklicken ;)

lg

Autor:  Andragor [ Mi 15 Feb, 2006 18:57 ]
Betreff des Beitrags: 

jetzt funktionierts .... komisch .... vorhin hats nicht geklappt .... danke:P

Autor:  Nadeya [ Fr 29 Jun, 2007 20:43 ]
Betreff des Beitrags: 

Entschuldigt, das ich mal wieder einen alten Thread rauskrame.

Ich hab das Tool schon länger, doch am Anfang der Woche gabd ein Ubdate meines Hosters.
Nun bekomm ich folgenden Fehler, der mir bisher nur (hoffentlich bleibts auch so) beim Schlumpftool aufgefallen ist.

SELECT houses.houseid, houses.status, a1.name as hausholder, a2.name as keyholder,
items.owner as keyowner
FROM houses, items
LEFT JOIN accounts as a1 ON a1.acctid=houses.owner
LEFT JOIN accounts as a2 ON a2.acctid=items.owner
WHERE houses.owner = 42
AND items.value1 = houses.houseid
AND items.owner IN (-1,235,42)
AND items.owner != 42
ORDER BY keyholder ASC

Unknown column 'houses.owner' in 'on clause'

Mit WHERE Clause kann ich inzwischen ja schon was anfangen, aber das hier... ich hab gegoogelt und gefunden, das man LEFT JOIN durch INNER oder RIGHT ersetzen soll, aber das klappt auch irgendwie nicht.

Liegt es denn an der Umstellung? Ich hab dort, oder an den Häusern nichts gebastelt.

Autor:  Song Sinen [ Fr 29 Jun, 2007 20:52 ]
Betreff des Beitrags: 

Bist zu zufällig bei hosteurope?
Hab genau das selbe Problem, auch seid 1,2 Tagen...

Seite 1 von 2 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/