• Hallo Besucher!

    Du bist neu im Forum? Dann registriere dich hier, um Diskussionen beizutreten oder eigene Themen zu erstellen. Für die Registrierung ist es erforderlich, dass du einen Spielaccount bei Die Stämme hast.

    Andernfalls kannst du dich hier direkt einloggen.

    Falls du dein Passwort vergessen hast, kannst du hier ein neues Passwort anfordern.

Weltdaten und Interface

DeletedUser29015

Gast
Da leider auch in der Hilfe nicht alle "Weltdaten/Interface-" dateien aufgelistet bzw. dokumentiert sind hier noch mal eine Übersicht.:
(Falls es einen solchen Thread schon geben sollte einfach löschen bzw. wenn er am falschen Ort ist verschieben)

Zuerst die Möglichkeiten die auch in der Hilfe dukumentiert sind:
(LINK ZUR HILFE)

-/map/village.txt
In dieser Datei befinden sich Informationen über die Dörfer. Die Daten stehen in folgender Reihenfolge zur Verfügung:

$id, $name, $x, $y, $tribe, $points, $rank
-/map/tribe.txt
In dieser Datei sind Informationen über die Spieler. Die Daten stehen in folgender Reihenfolge zur Verfügung:

$id, $name, $ally, $villages, $points, $rank
-/map/ally.txt
In dieser Datei sind Informationen über die Stämme. Die Daten stehen in folgender Reihenfolge zur Verfügung:

$id, $name, $tag, $members, $villages, $points, $all_points, $rank
-/map/conquer.txt

In dieser Datei sind alle Adelungen seit Beginn der Welt enthalten. Die Daten stehen in folgender Reihenfolge zur Verfügung:

$village_id, $unix_timestamp, $new_owner, $old_owner
-/interface.php?func=get_conquer&since=unix_timestamp

Über diese Funktion kann man sich alle Adelungen seit dem letzten Unix-Timestamp ausgeben lassen. Der Timestamp darf maximal 24 Stunden zurück liegen. Die Daten stehen in folgender Reihenfolge zur Verfügung:

$village_id, $unix_timestamp, $new_owner, $old_owner
-/map/profile.txt
In dieser Datei sind die Profildaten der Spieler. Die Daten stehen in folgender Reihenfolge zur Verfügung:

$tribe_id, $birthday, $sex (Geschlecht), $place_of_residence (Wohnort)
-/interface.php?func=get_config (Erklärung) (Erklärung 2)

Über diese Funktion kann man die Konfiguration der Welt auslesen (Format: XML).
-Externe IGMs für PA-User
(LINK ZUR HILFE)




Die in der Hilfe aufgelisteten Interfaces sind aber noch nicht alles was uns die DS-Entwickler zur Verfügung stellen.

Server-Urls ermitteln
(FOREN-THREAD)
Da teilweise die URLs der Spielwelten sich durch Wartungsarbeiten und ähnliches zeitweise ändern, gibt es jetzt eine Möglichkeit, die offizielle URL jeder Spielwelt zu ermitteln.

zurückgegeben wird ein serialisiertes PHP-Array

http://www.die-staemme.de/backend/get_servers.php

Beispiel in PHP
Code:
$file = file_get_contents('http://www.die-staemme.de/backend/get_servers.php');
$servers = unserialize($file);
Für andere Sprachen müsste man den Rückgabestring parsen.
-/map/kill_att.txt, /map/kill_def.txt, /map/kill_all.txt

-/map/kill_att_tribe.txt, /map/kill_def_tribe.txt, /map/kill_all_tribe.txt

In diesen Dateien befinden sich Informationen über die Besiegte-Gegner-Punkte (Alle,Als Verteidiger,Als Angreifer). Die Daten stehen in folgender Reihenfolge zur Verfügung:

$rank,$id,$kills
-http://www.die-staemme.de/external_auth.php

Hiermit können sich die User unter ihrem DS-Namen für eure Toolseite authentifizieren. Wers braucht ->Ticket schreiben

-/interface.php?func=get_unit_info

Informationen zu den Einheiten als XML

-/interface.php?func=get_building_info

Informationen zu den Gebäuden als XML


€dit:

Wälder, Berge, etc.:
http://die-staemme.de/stuff/world.dat

Sind 1000 Zeilen mit je 1000 Bytes, sprich 1.000.000 Byte ~ 1MB
Ein Byte steht für ein Feld auf der Karte, auslesen geht wie folgt:

PHP:
fseek($map_file, $y*1000+$x);
0-3 Gras
8-11 Berg
12 See
16-31 Wald
___________________________

-/map/village.txt
(Seit den 4.0 Welten mit Bonusdörfern gibt es eine Änderung.)



Type steht für den Typ des Dorfes.
 
Zuletzt bearbeitet von einem Moderator:

sadan_13

Gast
sehr schön gemacht kann man gut gebrauchen. danke
mfg. sadan
 
Reaktionspunktzahl
0
Wälder, Berge, etc.:
http://die-staemme.de/stuff/world.dat

Sind 1000 Zeilen mit je 1000 Bytes, sprich 1.000.000 Byte ~ 1MB
Ein Byte steht für ein Feld auf der Karte, auslesen geht wie folgt:

PHP:
fseek($map_file, $y*1000+$x);
0-3 Gras
8-11 Berg
12 See
16-31 Wald
___________________________

-/map/village.txt
(Seit den 4.0 Welten mit Bonusdörfern gibt es eine Änderung.)

In dieser Datei befinden sich Informationen über die Dörfer. Die Daten stehen in folgender Reihenfolge zur Verfügung:

$id, $name, $x, $y, $tribe, $points, $type
Type steht für den Typ des Dorfes.

danke für die Umsetzung!

hab mir mal die Arbeit gemacht, das rauszusuchen ;)

Um anderen die Arbeit zu ersparen:
Code:
ID    Wirkung
0     keine
1     10% mehr Holzproduktion
2     10% mehr Lehmproduktion
3     10% mehr Eisenproduktion
4     10% mehr Bevölkerung
5     10% schnellere Produktion in der Kaserne
6     10% schnellere Produktion im Stall
7     10% schnellere Produktion in der Werkstatt
8     3% mehr Rohstoffproduktion (alle Rohstoffe)
 
Zuletzt bearbeitet:

cultsibi

Gast
Hi Terence

Kleine Anmerkung zu der Dokumentation der profile.txt. Dort wurde schon vor recht langer Zeit aufgrund des Datenvolumen großer Spielwelten der Profiltext sowie der Profilbild-Dateiname entfernt.

Und wenn du schon mal dabei bist den Post zu bearbeiten kannst du auch gleich die Variablen mit beginnendem Dollar-Zeichen sowie englischen Namen versehen :)

-/map/profile.txt
In dieser Datei sind die Profildaten der Spieler. Die Daten stehen in folgender Reihenfolge zur Verfügung:

$tribe_id, Geburtstag, Geschlecht, Wohnort, Profiltext (als XHTML), Profilbild-Dateiname
 

DeletedUser29015

Gast
Danke, hab's ausgbessert. (dieser Teil war aber einfach aus der Hilfe kopiert^^)
@cultsibi: bist du noch manchmal im IRC ?
Wenn ja kannst ja mal #royal.pub im quake besuchen.
 

cultsibi

Gast
Im Quakenet bzw. generell IRC bin ich schon seit langer Zeit nicht mehr. Wenn du mich erreichen willst dann versuche es über Jabber oder ICQ.
 

mr.x.y

Gast
Hallo zusammen,

in der Datei
-/map/tribe.txt

sind ja nur die Spieler die aktiven Spieler der Welt. gibt es auch eine für die nicht aktiven oder eventuell die Spielernamen aller Welten?
 

Netbuster

Gast
was meinst du mit inaktiven? Die die nicht auf der Welt zocken? Wenn ja, kA ob es schon was fertiges gibt, aber du kannst ja auch alle tribes von allen Welten nacheinander downloaden und in eine Tabelle einfügen ;).
 

Sportino I.

Gast
was meinst du mit inaktiven? Die die nicht auf der Welt zocken? Wenn ja, kA ob es schon was fertiges gibt, aber du kannst ja auch alle tribes von allen Welten nacheinander downloaden und in eine Tabelle einfügen ;).
Er meint die, die auf keiner Welt angemeldet sind...
 

mr.x.y

Gast
Also es geht eigentlich darum die spieler die in der datei conquer.txt unter old_user sin zu benennen auch wenn sie auf der welt nicht mehr spielen. also so was ähnliches wie es auch twtools hat.
 

C1B1SE

Gast
Gibt es eigentlich auch die Basherdaten von den Stämmen (von der Besiegte-Gegner-Stämme Rangliste) zum Download?
 

Atreju2oo0

Gast
Zuletzt bearbeitet von einem Moderator:

lukas39

Gast
Kann jemand mal den Code für eine PHP datei posten die ein solches Diagramm aus den Werten in meiner Datenbank generiert?

 

Eknoes

Gast
kann das nicht mal gepinnt werden? Der Umweg über Tutorials & Webhoster is so mühsam :mrgreen:
 

xdn70

Gast
Weiss jemand in welchen Abständen die Textdateien aktualisiert werden - und um ca. welche Uhrzeit (ist ja bestimmt automatisiert)? hab das nirgendwo finden können und es wäre ja sinnlos sie jeden Tag zu laden, wenn sie nur alle zwei Tage aktualisiert werden.
 

C1B1SE

Gast
Sie werden auf jeden Fall mehrmals am Tag erstellt. Wie oft und wann weiß ich aber auch nicht.
 

DaHaiz

Gast
Die externen Weltdaten werden um diese Zeit generiert. Evtl lässt sich diese Last noch etwas senken.
=> Jede Stunde um zehn nach. *cronjob änder* ;-) (Warum ich auf diese Zeit komme? Klick auf den Pfeil von exes Zitat und dann Thread lesen)
 
Zuletzt bearbeitet von einem Moderator:

DeletedUser77019

Gast
Ich möchte die Sache mit der Basherliste für die Stämme nochmal aufgreifen. Meines Wissens gabs doch da letztens eine Änderung diesbezüglich. Und zwar zählen nur noch die Basherpoints der Spieler welche sie während der Mitgliedschaft in einem Stamm gemacht haben. Daher kann man für diese Rangliste nicht einfach die Points der einzelnen Spieler zusammenzählen. Weiß jemand woher man diese Daten bekommt?
 

DaHaiz

Gast
Noch was zu der world.dat:

PHP:
function getImgName($t) // Diese Funktion gibt den Bildnamen zum angegebenen Typ zurück.
	{
	If($t >= 0 AND $t<= 3)
		{
		Return "gras".($t + 1).".png";
		}
	elseif($t >= 8 AND $t <=11)
		{
		Return "berg".($t - 8 + 1).".png";
		}
	elseif($t >= 16 AND $t <= 31)
		{
		$forest = $t - 16;
		$r = Array(0,0,0,0);

            $restforest = $forest;
            For($i = 1;$i <= 4;$i++)
				{
				$r[$i] = ($restforest % 2);
				$restforest = Floor($restforest / 2);			
				}
		Return "forest".$r[4].$r[3].$r[2].$r[1].".png"; 
		}
	elseIf($t = 12)
		{
		Return "see.png";
		}
	else
		{
		Return False;
		}
	}
VBCode: (.NET)

Code:
Public Function getImgName(ByVal t As Byte)
        If (t >= 0 And t <= 3) Then
            Return "gras" & (t + 1) & ".png"
        ElseIf (t >= 8 And t <= 11) Then
            Return "berg" & (t - 8 + 1) & ".png"
        ElseIf (t >= 16 And t <= 31) Then
            Dim forest As Byte = t - 16
            Dim r(4) As Integer
            Dim restforest As Integer = forest

            For i As Integer = 1 To 4
                restforest = Math.DivRem(restforest, 2, r(i))
            Next

            Return "forest" & r(4) & r(3) & r(2) & r(1) & ".png"
        ElseIf (t = 12) Then
            Return "see.png"
        Else
            Return False
        End If
    End Function
da ich den VBCode nicht finden konnte, hab ich den PHPCode nochmal umgeschrieben. ;-)
Hab noch nicht getestet. Das können aber nur syntaktische Fehler sein, da es in VB wunderbar funktioniert.

btw. Dömel oder anderer Mod: Bitte pinnt diesen Thread.
 
Zuletzt bearbeitet von einem Moderator:

DeletedUser24674

Gast
Kannst du vielleicht die VB funktion gleich noch mitposten?