Download zu Nehrim Expanded

Moderator: Moderatoren

547 Beiträge Seite 38 von 55
Tealor Arantheal
Hoher
Hoher
Beiträge: 1319
Registriert: 04.01.2013 16:45
Hat sich bedankt: 122 Mal
Danksagung erhalten: 150 Mal


Interessant...

Letztens wollte ich glatt noch ein neues Geisterreitervideo machen, doch als ich heute mal zu dem Kerl schaue, steht er wie angewurzelt auf seinem Pferd da und mag seine Patroullie nicht machen, trotz richtiger Packages. Einzig wenn ich ihn angreife, reagiert er :(

Ich versuche übers Wochenende ein neues Skript zu schreiben, das ähnlich so funktioniert wie das von Fluffy.
Soll heißen es gibt keine Konditionen mehr zu denen die verschiedenen KI-Pakete ausgeführt werden.

Stattdessen werden die KI-Pakete dynamisch per Skript ausgewählt, während der Reiter selber absolute keine KI-Pakete enthält.
Möglicherweise beißt sich die Zuweisung der Konditionen mit der Ausführung der Pakete, darum sollte es leichter sein die Pakete immer einzeln und auch nur dann wenn man sie braucht zuzuführen.
Ansonsten scheint der gute Kerl wohl an seiner eingenen KI zu ersticken XD
Arme Gamebryo :(

Doku
Ich bin grad am Uploaden.
Das neue Skript sieht so aus:
[+]
Code: Alles auswählen
scn LazaelSCN

Short EPWert
Short EPFinal
Short DoOnce
Short TrefferGesamt
Short TrefferPlayer
Short State
Short Death
ref LazaelReittier
ref LazaelReittierKampfZiel
ref LazaelKampfZiel
Float DistancePferd
Short FrameCounter
Short ActivatePferd
Short LazaelReiterPatrolRoute

Begin GameMode

if GetDead && HasEffectShader GhostEffect == 0
PMS GhostEffect
SAA 0.01
endif

if GeisterpferdRef.IsInCombat && GeisterpferdRef.GetCombatTarget != GetCombatTarget
	Set LazaelKampfZiel to GetCombatTarget
	Set LazaelReittierKampfZiel to GeisterpferdRef.GetCombatTarget
	StopCombat LazaelKampfZiel
	StartCombat LazaelReittierKampfZiel
endif

if LazaelReiterPatrolRoute == 0
	if GetDistance LazaelMarker02 < GetDistance LazaelMarker01
		set LazaelReiterPatrolRoute to 2
		if GetCurrentPackage != LazaelReiterPackage01 && GetCurrentAIPackage == 0
			AddScriptPackage LazaelReiterPackage02
		elseif GetCurrentPackage == LazaelReiterPackage01
			RemoveScriptPackage LazaelReiterPackage01
		endif
	else
		set LazaelReiterPatrolRoute to 1
		if GetCurrentPackage != LazaelReiterPackage02 && GetCurrentAIPackage == 0
			AddScriptPackage LazaelReiterPackage01
		elseif GetCurrentPackage == LazaelReiterPackage02
			RemoveScriptPackage LazaelReiterPackage02
		endif
	endif
elseif GetDistance LazaelMarker02 <= 150 && LazaelReiterPatrolRoute != 2
	set LazaelReiterPatrolRoute to 2
	if GetCurrentPackage == LazaelReiterPackage01
		RemoveScriptPackage LazaelReiterPackage01
	endif
elseif GetDistance LazaelMarker01 <= 150 && LazaelReiterPatrolRoute != 1
	set LazaelReiterPatrolRoute to 1
	if GetCurrentPackage == LazaelReiterPackage02
		RemoveScriptPackage LazaelReiterPackage02
	endif
endif

if GetCurrentAIPackage == 22
	if IsSpellTarget MOB20KazaelSpell
		Dispel MOB20KazaelSpell
	endif
	If HasSpell MobGhostEffect == 0
		AddSpell MobGhostEffect
	endif
	if GeisterpferdRef.GetActorAlpha != 0.01
		GeisterpferdRef.SAA 0.01
	endif
	if LazaelReittier == 0
		Set LazaelReittier to LazaelRef.GetHorse
		LazaelReittier.ModAV ResistParalysis 125
		LazaelRef.ModAV ResistParalysis 125
		ResetHealth
	endif
	if ActivatePferd == 0
		if DistancePferd != GetDistance GeisterpferdRef && FrameCounter == 25
			Set DistancePferd to GetDistance GeisterpferdRef
			Set FrameCounter to 0
		elseif DistancePferd == GetDistance GeisterpferdRef && FrameCounter == 25
			Set FrameCounter to 0
			Set DistancePferd to 0
			Set ActivatePferd to 1
			GeisterpferdRef.Activate GeisterpferdRef
		else
			Set FrameCounter to FrameCounter + 1
		endif
	endif
elseif FrameCounter != 0
	Set FrameCounter to 0
elseif GetCurrentAIPackage != 23 && IsRidingHorse == 0
	If HasSpell MobGhostEffect
		RemoveSpell MobGhostEffect
		sms GhostEffect
		SAA 0.7
	endif
	if GeisterpferdRef.GetActorAlpha != 1
		GeisterpferdRef.SAA 1
	endif
	if LazaelReittier != 0
		LazaelReittier.ModAV ResistParalysis -125
		LazaelRef.ModAV ResistParalysis -125
		Set LazaelReittier to 0
	endif
endif

If IsRidingHorse
	if ActivatePferd
		Set ActivatePferd to 0
	endif
	If HasSpell MobGhostEffect == 0
		AddSpell MobGhostEffect
	endif
	if GeisterpferdRef.GetActorAlpha != 0.01
		GeisterpferdRef.SAA 0.01
	endif
	if LazaelReittier == 0 && GetAV ResistParalysis != 125
		Set LazaelReittier to LazaelRef.GetHorse
		LazaelReittier.ModAV ResistParalysis 125
		LazaelRef.ModAV ResistParalysis 125
	endif
	If IsInCombat == 0 && GetCurrentAIPackage != 23 && GetCurrentPackage != LazaelReiterPackage01 && GetCurrentPackage != LazaelReiterPackage02 && GetCurrentPackage != LazaelReiterAmbushPlayer
		if LazaelReiterPatrolRoute == 1
			AddScriptPackage LazaelReiterPackage01
		elseif LazaelReiterPatrolRoute == 2
			AddScriptPackage LazaelReiterPackage02
		endif
	endif
Else
	If IsInCombat == 0 && GetDistance GeisterpferdRef <= 200 && GetCurrentAIPackage != 22 && GetCurrentPackage == LazaelReiterSeekHorse
		if LazaelReiterPatrolRoute == 1
			AddScriptPackage LazaelReiterPackage01
		elseif LazaelReiterPatrolRoute == 2
			AddScriptPackage LazaelReiterPackage02
		endif
	elseIf IsInCombat == 0 && GetDistance GeisterpferdRef <= 200 && GetCurrentAIPackage != 22 && GetCurrentPackage != LazaelReiterSeekHorse
		if LazaelReiterPatrolRoute == 1
			AddScriptPackage LazaelReiterPackage01
		elseif LazaelReiterPatrolRoute == 2
			AddScriptPackage LazaelReiterPackage02
		endif
	elseIf IsInCombat == 0 && GetDistance GeisterpferdRef <= 200 && GetCurrentAIPackage != 22 && GetCurrentPackage == LazaelReiterAmbushPlayer && Player.GetDead
		if LazaelReiterPatrolRoute == 1
			AddScriptPackage LazaelReiterPackage01
		elseif LazaelReiterPatrolRoute == 2
			AddScriptPackage LazaelReiterPackage02
		endif
	elseIf IsInCombat == 0 && GetDistance GeisterpferdRef > 200 && GetCurrentAIPackage != 22 && GetCurrentPackage != LazaelReiterSeekHorse && GetCurrentPackage != LazaelReiterAmbushPlayer
		AddScriptPackage LazaelReiterSeekHorse
	elseIf IsInCombat == 0 && GetDistance GeisterpferdRef > 200 && GetCurrentAIPackage != 22 && GetCurrentPackage == LazaelReiterAmbushPlayer && Player.GetDead
		AddScriptPackage LazaelReiterSeekHorse
	endif
endif

If IsInCombat && GetCombatTarget == Player && IsEssential && Player.GetDead == 0
	SetEssential 45Lazael 0
	if GetInFaction PlayerFaction
		SetFactionRank PlayerFaction, -1
		Player.AddSpellNS Mob20KazaelFluch
		AddScriptPackage LazaelReiterAmbushPlayer
	endif
Elseif IsInCombat && GetCombatTarget != Player && IsEssential == 0 && GetDead == 0
	SetEssential 45Lazael 1
Endif

If Player.GetHorse == GeisterpferdRef && GetInFaction PlayerFaction && Player.GetDead == 0 && GetCurrentPackage != LazaelReiterAmbushPlayer
	SetFactionRank PlayerFaction, -1
	Player.AddSpellNS Mob20KazaelFluch
	AddScriptPackage LazaelReiterAmbushPlayer
endif
;___________________Initialisierung____

if ( DoOnce == 0 )
	Set EPWert to 500 ; <----- Nur hier EP Wert eintragen!
	Set DoOnce to 1
endif

if ( State == 1 )
	if ( TrefferPlayer >= 1 )
	Set EPFinal to (TrefferPlayer*EPWert/TrefferGesamt)
	Set EP to EP + EPFinal
	Message "EP + %5.0f" EPFinal
	Set State to 2
endif
endif

end





Begin OnHit Player

Set TrefferPlayer to TrefferPlayer + 1

end





Begin OnHit

Set TrefferGesamt to TrefferGesamt + 1

end




Begin OnDeath 

if Death == 0
Set VarPlayerKills to  ( VarPlayerKills +1 )
;AddItem 4Goetterdaemmerungshelm 1
;Additem 4Goetterdaemmerungsharnisch 1
Player.RemoveSpellNS Mob20KazaelFluch
Player.AddSpell Mob20KazaelSegen
set death to 1
endif

Set State to 1

end

Begin OnActivate Player

If death == 1
	activate Player
endif
end
Etwas überladen, dafür gibt es keine KI-Pakete mehr, die sich gegenseitig fertig machen und kein überzogen verwendetes EVP.
Getestet wurde es unter 4 Bedingung.

1.) Neues Spiel
a) Charkter zum Geisterreiter teleportiert.
b) Charakter nach Treomar teleportiert und von dort zum Geisterreiter gewandert.

2.) Bestehender Spielstand mit kaputter KI
a) Charakter zum Geisterreiter teleportiert.
b) Charakter zum Bergkloster teleportiert (war in diesem Fall näher) und von dort zum Geisterreiter gewandert.

In allen Fällen hat sich der Reiter entsprechend gut verhalten.
Im neuen Spiel, ebenso wie beim bestehenden Spielstand, wurde der Reiter auch auf seiner Tour begleitet. Er ändert erfolgreich die Richtung und führt seine Patroullie endlos fort, sobald der entsprechende Zielpunkt seiner Patroullien-KI erreicht wurde.

Sobald die neuen Dateien hochgeladen sind, geb ich in einem neuen Post Bescheid.
Zuletzt geändert von Tealor Arantheal am 28.09.2015 16:07, insgesamt 3-mal geändert.
Tealor Arantheal
Hoher
Hoher
Beiträge: 1319
Registriert: 04.01.2013 16:45
Hat sich bedankt: 122 Mal
Danksagung erhalten: 150 Mal


Komplettpaket und ESP-Archiv hier enthalten nun den KI-Fix für den Geisterreiter.
Der Kerl dürfte nun immer funktionieren.
Ebenso sein Wutrausch auf den Spieler, sofern man die Frechheit besitzt ihn anzugreifen oder sein Pferd zu klauen, hauen. ^^
Tealor Arantheal
Hoher
Hoher
Beiträge: 1319
Registriert: 04.01.2013 16:45
Hat sich bedankt: 122 Mal
Danksagung erhalten: 150 Mal


Dokumentation

Dieses Wochenende wird noch eine neue Version rausgerückt, in der es nur 3 kleinere Änderungen geben wird:

1.) Das Skript für das Aufladen der Magie mittels Arkanstein wurde geändert.
Dadurch sollte der Arkanstein noch stabiler entfernt werden (kein umständlicher Umweg über eine Zutat).

2.) Im Nordosten Nehrims am Strand, findet man den Salzmeister.
Er verkauft wie zu erwarten Salz, was er schon im Basisspiel macht. Neu ist allerdings, dass man in den 3 Salzhügeln bei seinem Haus nach "Salzgestein" graben kann. Dieses lässt sich von ihm pro Salzgestein in je 5 Stück Salz verarbeiten. Allerdings verlangt er für die Verarbeitung 10 Gold pro Salzgestein.
Die genaue Anzahl (Salzgestein, daraus zu gewinnendes Salz und Preis) werden in seinem Dialog angezeigt.
Der Dialog ERSCHEINT NUR DANN, wenn man auch genug Gold für die Verarbeitung dabei hat.
Neben dem Graben nach Kohle bei den Kohlehügel vor der Köhlerei oberhalb Giliads (wo man wegen einer Kopfgeldquest hinkommt), ist das eine ähnlich einfache Möglichkeit einen eher seltenen Rohstoff zu erlangen nur in dem Fall eben Salz.
Sobald der Spieler Alchemie auf 100 hat, kann er das Salzgestein sogar selber zu Salz verarbeiten, wenn er im Inventar darauf klickt.

3.) Die Service-Funktionen werden neu vertont.
Mein Kumpel hat nun endlich einen lang ersehnten Wunsch in Angriff genommen.
Mich hat bisher immer etwas gestört: Trainer und Lehrer können 2 verschiedene Stimmen haben.
Erst die Begrüßung in der Stimmte des Lehrers, dann die Meldung über das Training in der Stimme des Lehrers.
Wenn man aber etwas kaufen möchte, kommt eine typische Verkäuferstimme, die nicht zu der Stimme des Lehrers passt.
Mittels extrahieren der bereits vorhandenen Stimmen, werden neue Aussagen für das Verkäufermenü von Trainern erstellt, damit alle NPCs immer die selbe Stimme haben.
Für diese Änderungen muss ebenfalls das Ressourcen-Paket erneuert werden.
Tealor Arantheal
Hoher
Hoher
Beiträge: 1319
Registriert: 04.01.2013 16:45
Hat sich bedankt: 122 Mal
Danksagung erhalten: 150 Mal


Wie versprochen:

Update für das Komplettpaket und das Ressourcen- sowie das ESP-Archiv.
Sämtliche neuen Dialogdateien sind im Ressourcen-Paket oder dem Komplettpaket wie benötigt angeordnet.

Einige der Trainer haben nun generell eine Begrüßung mit Trainierstimme.

Die Schneehexe beispielsweise hat den Spieler zuvor mit einer Verkäufermeldung (über Tränke) begrüßt. Nun hat sie aber gleich bei der Begrüßung eine Trainerstimme, da es leider keine Dialoge von Verkäufern gibt die auch trainieren.
Mathilda in Erothin ist da die einzige Ausnahme.

Kleiner Fix: Eine neue LIP-Datei sorgt dafür, dass männliche Verkäufer von Tränken nun auch ihre Lippen bewegen, wenn sie den Spieler mit der Verkaufsmeldung über Tränke begrüßen.
Ansonsten war der Trainer der in einem kleinem Zeltlager vor dem Bergkloster haust, stumm.
Das lag daran, dass er seine Dialogdateien im Voice-Ordner von NehrimData.esp und nicht Nehrim.esm sucht.
Entsprechend wurde nun dort die benötigte Datei hinterlegt.

Diese Infos stammen nicht von meinem Test.
Ehrlich gesagt weiß ich nicht mal wieviele Händler es in Nehrim wirklich gibt :dumb:
Allerdings darf ich verkünden, dass sich mein Kumpel die RefIDs von jedem einzelnen NPC der Handeln kann rausgesucht und die nacheinander abgeklappert.
Darum bin ich absolut zuversichtlich, dass es super funktioniert :)
Tealor Arantheal
Hoher
Hoher
Beiträge: 1319
Registriert: 04.01.2013 16:45
Hat sich bedankt: 122 Mal
Danksagung erhalten: 150 Mal


Update diesmal nur für das ESP-Archiv.
Ich hab derzeit leider keinen Zugriff auf Mega und kann deshalb das Komplettpaket nicht aktualisieren.
Werde das aber nachholen, sobald ich wieder Zugriff habe.

Jedenfalls wurde in der durch Nehrim Expanded wieder eingeführten Nebenquest "Schichten oder Richten" ein Bug gefixt.
Der Questverlauf wurde zu früh ausgelöst, was auf eine fehlende Abfrage zurückzuführen ist.

Sobald ich das Komplettpaket aktualisiert habe, geb ich in einem neuen Post Bescheid.
Tealor Arantheal
Hoher
Hoher
Beiträge: 1319
Registriert: 04.01.2013 16:45
Hat sich bedankt: 122 Mal
Danksagung erhalten: 150 Mal


Exploit-Entschärfung für ESP-Archiv und Komplettpaket.

Von gestern auf heute hab ich nochmal einen kleinen Fix in der NehrimData.esp hochgeladen.
Die Knochengeißel (Schlagwaffe des Krypta-Sets) war eine 100%ige Exploitwaffe.
Neben dem Stilleeffekt hat sie den Gegner für 3 Sekunden einen Malus von 100 auf die Schnelligkeit beigebracht.
Leider sorgt das dafür, dass Gegner die den Zauber nicht gerade abblocken können bei jedem Schlag den Kampfmodus beenden.
Eine Geschwindigkeit von 0 (oder darunter) verursacht offenbar eine Kampfunfähigkeit.
Zwar hat dieser Effekt durchaus seinen Reiz, allerdings ist es schlicht dämlich, wenn Gegner komplett wehrlos werden, wenn man nur kräftig draufhaut.

Darum tritt dieser Effekt (heißt nun "Verwirren") jetzt nur noch zu einer Wahrscheinlichkeit von 25% pro Schlag auf (bei voller Ladung gilt das für 125 Schläge).

Da diese Waffe im Gegensatz zum Rubingroßschwert (selbstgeschmiedeter Zweihänder mit 20% Chance auf Umwerfen) noch einen zweiten Effekt hat (Stille für 20 Sekunden) verbraucht sich die Ladung allerdings ganz normal pro Schlag.
Die Waffe ist jetzt nicht mehr ganz so übermächtig, allerdings dennoch interessant zu benutzen und eine würdige Set-Waffe.

PS: Ich hab den Beitrag mit dem Skript für den Geisterreiter aktualisiert.
Eine unbehandelte Ausnahme wurde noch berücksichtigt.
Tealor Arantheal
Hoher
Hoher
Beiträge: 1319
Registriert: 04.01.2013 16:45
Hat sich bedankt: 122 Mal
Danksagung erhalten: 150 Mal


Ich wollte mal testen wie schnell ich das Komplettpaket nach meinem kleinen Upgrade hochladen kann.
10 Minuten für eine lächerliche Änderung finde ich jetzt nicht so schlimm :D
Das ESP-Archiv hier im Downloadbereich ist ebenfalls erneuert.

Jedenfalls hab ich nochmal ein wenig im Skript des Geisterreiters rumgefuchst.

Von:
[+]
Code: Alles auswählen
[...]   
   elseIf IsInCombat == 0 && GetDistance GeisterpferdRef <= 200 && GetCurrentAIPackage != 22 && GetCurrentPackage == LazaelReiterSeekHorse
      if LazaelReiterPatrolRoute == 1
         AddScriptPackage LazaelReiterPackage01
      elseif LazaelReiterPatrolRoute == 2
         AddScriptPackage LazaelReiterPackage02
      endif
   elseIf IsInCombat == 0 && GetDistance GeisterpferdRef <= 200 && GetCurrentAIPackage != 22 && GetCurrentPackage != LazaelReiterSeekHorse
      if LazaelReiterPatrolRoute == 1
         AddScriptPackage LazaelReiterPackage01
      elseif LazaelReiterPatrolRoute == 2
         AddScriptPackage LazaelReiterPackage02
      endif
[...]
Auf:
[+]
Code: Alles auswählen
[...]
   elseIf IsInCombat == 0 && GetDistance GeisterpferdRef <= 200 && GetCurrentAIPackage != 22 && GetCurrentPackage == LazaelReiterSeekHorse
      if LazaelReiterPatrolRoute == 1
         AddScriptPackage LazaelReiterPackage01
      elseif LazaelReiterPatrolRoute == 2
         AddScriptPackage LazaelReiterPackage02
      endif
   elseIf IsInCombat == 0 && GetDistance GeisterpferdRef <= 200 && GetCurrentAIPackage != 22 && GetCurrentPackage != LazaelReiterSeekHorse
      if LazaelReiterPatrolRoute == 1 && GetCurrentPackage != LazaelReiterPackage01
         AddScriptPackage LazaelReiterPackage01
      elseif LazaelReiterPatrolRoute == 2 && GetCurrentPackage != LazaelReiterPackage02
         AddScriptPackage LazaelReiterPackage02
      endif
[...]
Im zweiten Block habe ich entsprechende Bedingungen eingefügt um Ausnahmen zu behandeln:
Code: Alles auswählen
[...]&& GetCurrentPackage != LazaelReiterPackage01[...]
[...] && GetCurrentPackage != LazaelReiterPackage02[...]
Durch diese Abfragen wird verhindert, dass dem Reiter das KI-Paket erneut zugeführt wird.
Zuvor hätte das passieren können, da nur die Richtungsvariable abgefragt wurde und die Hauptabfrage nur wissen wollte ob das aktuelle KI-Paket auch nicht "LazelReiterSeekHorse" ist.

Ob es dadurch überhaupt zu Problemen kommen könnte weiß ich nicht sicher.
Mir ist das Spiel einmal im Dunklen Wald abgestürzt als ich mit dem vorigen Code rumspaziert bin.
Möglicherweise weil ich in Skriptreichweite des Reiters kam?
Nach dem Neuladen konnte ich jedenfalls ohne Probleme zu ihm laufen und die epische Zusammenarbeit fortsetzen.
Wobei inzwischen hab ich ihn gefällt. Bringt immerhin +5 Stärke :D

Jedenfalls ist durch diese zusätzliche Bedingung eine Lücke geschlossen.
Tealor Arantheal
Hoher
Hoher
Beiträge: 1319
Registriert: 04.01.2013 16:45
Hat sich bedankt: 122 Mal
Danksagung erhalten: 150 Mal


WICHTIG!
Code: Alles auswählen
	if zzzzzAlternativeLeveling.LevelUPInitial == 1
		TapControl 15
		Set zzzzzAlternativeLeveling.LevelUpInitial to 0
	endif
Das ist ein Überbleibsel der alten Funktion, das noch nicht entfernt wurde.
Dadurch wird im GameMode nach dem LevelUP wieder gezwungenermaßen ins Inventar gewechselt.
Leider bin ich derzeit nicht zuhause, daher kann ich das erst später fixen und kompilieren lassen.

Update für ESP-Archiv und Komplettpaket.

Das alternative Levelsystem wurde verbessert.
Bisher wurde ein gefakter, normaler Levelaufsteig durchgeführt, um alle entsprechenden Sounds (Werterhöhungs-Getrommel und Level Up-Melodie) abzuspielen.
Dafür musste aber das Menü geöffnet und geschlossen werden.

Dieser nervige Workaround ist nun gefixt.
Statt ein gefaktes, normales Level Up-Menü zu aktivieren oder einen neuen Sound für die Melodie hinzuzufügen werden einfach
Code: Alles auswählen
Playsound
StreamMusic
verwendet, um die selben Soundeffekte wie bei einem normalen Level-Up zu erzeugen.
Das Menü wird nun also nicht mehr so nervig wie bei den Set-Gegenständen geschlossen und wieder geöffnet.

UPDATE für ORN-Patches
Da ein NPC überarbeitet wurde, mussten die Patches für ORN ebenfalls überarbeitet werden.
Zuletzt geändert von Tealor Arantheal am 23.10.2015 14:57, insgesamt 1-mal geändert.
Tealor Arantheal
Hoher
Hoher
Beiträge: 1319
Registriert: 04.01.2013 16:45
Hat sich bedankt: 122 Mal
Danksagung erhalten: 150 Mal


Tealor Arantheal hat geschrieben:
WICHTIG!
Code: Alles auswählen
	if zzzzzAlternativeLeveling.LevelUPInitial == 1
		TapControl 15
		Set zzzzzAlternativeLeveling.LevelUpInitial to 0
	endif
Das ist ein Überbleibsel der alten Funktion, das noch nicht entfernt wurde.
Dadurch wird im GameMode nach dem LevelUP wieder gezwungenermaßen ins Inventar gewechselt.
Leider bin ich derzeit nicht zuhause, daher kann ich das erst später fixen und kompilieren lassen.
Die Überreste dieses nervigen Workarounds sind nun ebenfalls beseitigt.
Neuestes ESP-Archiv und Komplettpaket sind verfügbar.
547 Beiträge Seite 38 von 55

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste