Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 23.11.2010, 21:18   #1 (permalink)
Newbie
 
Registriert seit: 23.11.2010
Beiträge: 5
Standard Hilfe bei Funktion um Gegnerspawns zu erstellen

Hi liebes Forum!

Hab jetzt mal nach langer Überlegung angefangen für ARMA 2 Missionen zu baschteln.

Bin grad an ner Mission, da sollen an verschiedenen Markern jeweils Gegner spawnen. Damit das einfacher geht, rufe ich einfach eine Funktion mit paar Parametern auf, dass spart mir viel Arbeit. Denkste...
Häng schon den ganzen Tag an dieser Funktion, ich krieg die Krise langsam

Code:
createcenter RESISTANCE;
gegner1 = Creategroup RESISTANCE;

_spawnpunkt = _this select 0; //woher kommen die einheiten
_angriffpunkt = _this select 1; // wohin rennen sie
_radius = _this select 2; // in welchem radius stürmen die daher
_einheit = _this select 3; //was für ne einheit soll spawnen

hint format["Ubergabe: %1 Angriffpunkt %2", _einheit, _angriffpunkt];

switch (_einheit) do {
    case 1: { // LEICHTE INFANTERIE
        //_soldat1 = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        //_soldat2 = gegner1 createUnit ["TK_INS_Soldier_2_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        //_soldat3 = gegner1 createUnit ["TK_INS_Soldier_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        _soldat1 = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1, "", 0.3, "CORPORAL"];
        _soldat2 = "TK_INS_Soldier_2_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"",0.3, "PRIVATE"];
        _soldat3 = "TK_INS_Soldier_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1 = group this;",0.3, "PRIVATE"];
        
    }; 
    case 2: { // MEDIUM INFANTERIE + MG
        _soldat1 = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt,gegner1,"gegner1=this",  0.3, "CORPORAL"];
        _soldat2 = "TK_INS_Soldier_AR_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
        _soldat3 = "TK_INS_Soldier_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
    }; 
    case 3: { // SCHWER + RPG
        _soldat1 = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt,gegner1,"gegner1=this",  0.3, "CORPORAL"];
        _soldat2 = "TK_INS_Soldier_AR_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
        _soldat3 = "TK_INS_Soldier_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
        _soldat4 = "TK_INS_Soldier_AT_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
    };
    case 4: { // JEEP MIT MG
        _fahrzeug = createVehicle ["Offroad_DSHKM_INS", getMarkerPos _spawnpunkt, [], 0, "NONE"];
        _fahrer = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        _gunner  = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        _fahrer moveInDriver _fahrzeug;
        _gunner moveInGunner _fahrzeug;
    
    };
    default {
        hint "KEINE SWITCHPARAMETER UEBERGEBEN";
    };
;} 

// WEGPUNKT
_WP1 = (group gegner1) addWaypoint [getMarkerPos _angriffpunkt, _radius];
_WP1 setWaypointBehaviour "AWARE";
_WP1 setWaypointType "SAD";

gegner1 doMove (getMarkerPos _angriffpunkt);

exit;
Also ich bau einen Trigger im Editor ein und bei "on activation" rufe ich diese Funktion auf. Dann kann ich sagen was für Einheiten angreifen sollen.

Ich finde das alles ziemlich verwirrend. Es gibt ja zwei verschiedene createUnits (OFP + ARMA) genauso wie createVehicles.
in der OFP Version, welche ich nutze, kann man viel mehr einstellen als in der arma Version (lt. BI API createUnit ARRAY). Wieso ist die Methode createUnit von OFP "besser" als die von ARMA?

Naja, jedenfalls spawnen alle ganz fleissig. Das klappt auch. Aber die wollen nicht zum WP1 rennen. Wär lieb wenn vllt. jemand mal über die Funktion fliegen könnt und mir die Fehler rauspickt oder mich aufklärt

Thx im Voraus!
Schönen Abend noch!
Ich geh jetzt zocken, das Scripten hängt mir momentan zum Hals raus
Ante G. ist offline  
Alt 23.11.2010, 21:26   #2 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 41
Beiträge: 32.968
Standard

Code:
if (!isServer) exitWith {};
_pos = getmarkerPos "spawn1s";
_skill = [0.5, 0.9];
_side = WEST;
_units = ["AFR_Officer", "AFR_Rifleman", "AFR_Soldier_MG", "AFR_Soldier_Engineer", "AFR_Soldier_AT", "AFR_Medic", "AFR_Soldier_GL"];
afrgrp1 = [_pos, _side, _units, [], [], _skill] call BIS_fnc_spawnGroup;
sleep 3;
_ewp1 = afrgrp1 addWaypoint [getMarkerpos "spawn1d", 10];
_ewp1 setWaypointType "SAD";
_ewp1 setWaypointSpeed "NORMAL";
_ewp1 setWaypointFormation "LINE";
_ewp1 setWaypointCombatMode "RED";

Hiermit latschen´se vom Spawnpunkt (spawn1s) zum Wegpunkt (spawn1d), musst das Funktionsmodul auf die Karte setzen damits läuft. Allerdings wirfts im MP gerne Fehler weil _ewp1 wohl undefinierte Variablen sind, keine Ahnung was er mir damit sagen will, hab mir das Script aus allen Ecken der Welt zusammengeklaut und generell keinen Plan von sowas.


Finds ja schon gemein das jemand der sich "mal ebent" entschlossen hat Missionen zu bauen hier ankommt und schon scripten kann
__________________

burns ist offline  
Alt 23.11.2010, 22:00   #3 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

hallo,


zeig mal deine kommandozeile mit der du dein script startest. und beim ersten überfliegen: das "exit" am ende ist .sqs und hat in deinem .sqf nichts zu suchen.

was gibt dein kontroll-hint aus? (hint format["Ubergabe: %1 Angriffpunkt %2", _einheit, _angriffpunkt]

werden die gegner gespawnt?




mfg
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
Alt 23.11.2010, 22:08   #4 (permalink)
Newbie
 
Registriert seit: 23.11.2010
Beiträge: 5
Standard

Hi,

danke für die Antworten.

@Burns: das skript blickt doch kein Mensch Die vorgegebenen Units werden ja in dem Array gespeichert. Für meinen Einsatz leider nicht verwendbar.

@psycho:

Der trigger schaut so aus:
Code:
position[]={5536.9653,333.49664,821.78033};
            a=150;
            b=150;
            activationBy="WEST";
            interruptable=1;
            age="UNKNOWN";
            expCond="true";
            expActiv="_d = [""spawn2"",""gue_attack_1"",20,1] execVM ""skripte\contact_1.sqf"";";
            class Effects
            {
            };
Spawnen am Marker spawn2, wegpunkt sollte auf Marker gue_attack_1 gelegt werden im radius von 20, die eins steht für die einheit, in dem Fall 3xleichte soldaten (Switch case).

den hint hab ich mir eingebaut weil ich nicht sicher war ob die Parameter in der Funktion ankommen. So quasi als Debug
Ach, das Exit.. Wusste ich nicht. Befasse mich mit der Thematik erst seid 2 Tagen.

Ja, die Gegner spawnen. Bewegen sich aber keinen milimeter. Als ich folgendes nutzte:

Code:
        //_soldat3 = gegner1 createUnit ["TK_INS_Soldier_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
Hat eine der gespawnten Einheit der anderen in den Rücken geschossen. Kein sinn...
Deshalb sind die auskommentiert im case 1.

Thx!

PS: ich vermut mal das haperts mit der gruppe gegner1. Aber ich versteh das ganze noch nicht so ganz
Ante G. ist offline  
Alt 24.11.2010, 17:54   #5 (permalink)
Newbie
 
Registriert seit: 23.11.2010
Beiträge: 5
Standard

So jetzt geht's

Ein Semikolon falsch gesetzt und die Initialisierung der Gruppe gegner1 mal in die init.sqs gesetzt. Ich weiss nicht ob die Gruppe nach Funktionsende gelöscht wird (sollte ja eig. nicht sein, da es keine lokale Gruppe _gegner1 ist sondern gegner1. Das gleiche mit _WP1. _WP1 wird aber nach Funktionsende trotzdem anerkannt und die gruppe rennt hin. Versteh ich nicht... ).

Es läuft jedenfalls:

Code:
_spawnpunkt = _this select 0;
_angriffpunkt = _this select 1;
_radius = _this select 2;
_einheit = _this select 3;

//hint format["Ubergabe: %1 Angriffpunkt %2", _einheit, _angriffpunkt];

switch (_einheit) do {
    case 1: { // LEICHTE INFANTERIE
        //_soldat1 = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        //_soldat2 = gegner1 createUnit ["TK_INS_Soldier_2_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        //_soldat3 = gegner1 createUnit ["TK_INS_Soldier_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        _soldat1 = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1, "gegner1=this", 0.3, "CORPORAL"];
        _soldat2 = "TK_INS_Soldier_2_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
        _soldat3 = "TK_INS_Soldier_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
        
    }; 
    case 2: { // MEDIUM INFANTERIE + MG
        _soldat1 = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt,gegner1,"gegner1=this",  0.3, "CORPORAL"];
        _soldat2 = "TK_INS_Soldier_AR_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
        _soldat3 = "TK_INS_Soldier_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
    }; 
    case 3: { // SCHWER + RPG
        _soldat1 = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt,gegner1,"gegner1=this",  0.3, "CORPORAL"];
        _soldat2 = "TK_INS_Soldier_AR_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
        _soldat3 = "TK_INS_Soldier_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
        _soldat4 = "TK_INS_Soldier_AT_EP1" createUnit [getMarkerPos _spawnpunkt, gegner1,"gegner1=this",0.3, "PRIVATE"];
    };
    case 4: { // JEEP MIT MG
        _fahrzeug = createVehicle ["Offroad_DSHKM_INS", getMarkerPos _spawnpunkt, [], 0, "NONE"];
        _fahrer = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        _gunner  = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        _fahrer moveInDriver _fahrzeug;
        _gunner moveInGunner _fahrzeug;
    
    };
    default {
        hint "KEINE SWITCHPARAMETER UEBERGEBEN";
    };
}; 

// WEGPUNKT

_WP1 = (group gegner1) addWaypoint [getMarkerPos _angriffpunkt, _radius];
_WP1 setWaypointBehaviour "AWARE";
_WP1 setWaypointType "SAD";
Ante G. ist offline  
Alt 24.11.2010, 18:01   #6 (permalink)
Newbie
 
Registriert seit: 23.11.2010
Beiträge: 5
Standard

Das ist echt zum Haare rausreissen
Infanterie funktioniert, nur der scheiss Jeep will nicht zufahren:

Code:
case 4: { // JEEP MIT MG
        _fahrzeug = createVehicle ["Offroad_DSHKM_INS", getMarkerPos _spawnpunkt, [], 0, "NONE"];
        //_fahrer = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt,gegner1,"gegner1=this",  0.3, "CORPORAL"];
        //_gunner = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt,gegner1,"gegner1=this",  0.3, "CORPORAL"];
        _fahrer = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        _gunner  = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
        _fahrer moveInDriver _fahrzeug;
        _gunner moveInGunner _fahrzeug;
    
    };
    default {
        hint "KEINE SWITCHPARAMETER UEBERGEBEN";
    };
}; 

// WEGPUNKT

_WP1 = (group gegner1) addWaypoint [getMarkerPos _angriffpunkt, _radius];
_WP1 setWaypointBehaviour "AWARE";
_WP1 setWaypointType "SAD";
Wenn ich den Fahrer /Gunner mit

_fahrer = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];

erstelle, hockt der zwar im Jeep, will aber nicht zufahren.

WEnn ich den Fahrer / gunner mit

_fahrer = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt,gegner1,"gegner1=this", 0.3, "CORPORAL"];


erstelle, will er sich nicht in den Jeep setzen sondern rennt direkt zum _WP1.




EDIT: noch schöner wär es ja das ich ganz dynamisch die units spawnen lasse. Sprich ich rufe die SQF auf und übergebe ein ARRAY(spawnpunkte). Somit können die spawnpunkte dann als übergabewert mit _this select 0 in ein switch case rein. Dann ein random für die case und schwupps spawnen die einheiten variabel. ich will nämlich das von zwei Flanken angegriffen wird BIS eine Bedingung erfüllt wurde.

Daher meine Frage:

Ich kann ja ein Array festlegen:
_array = ["spawn_marker_1", "spawn_marker_2"];

so, nun rufe ich die SQF auf mit:
_dummy = [_array, bla, blubb] exec "funktion.sqf";

FRAGE:

wie kann ich in der funktion.sqf auf den inhalt von _array (sprich spawn_marker1 und spawn_marker_2) zugreifen???

Geändert von Ante G. (24.11.2010 um 19:33 Uhr).
Ante G. ist offline  
Alt 24.11.2010, 19:30   #7 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

schreib das mal so:
Code:
_drivers = grpNull;
_drivers = createGroup (east);
"TK_INS_Soldier_3_EP1" createUnit [getmarkerpos _spawnpunkt, _drivers];Sleep 0.1;
"TK_INS_Soldier_3_EP1" createUnit [getmarkerpos _spawnpunkt, _drivers];Sleep 0.1;
_fahrzeug = createVehicle ["Offroad_DSHKM_INS", getMarkerPos _spawnpunkt, [], 0, "NONE"];
(units _drivers select 0) assignAsDriver _fahrzeug;
(units _drivers select 1) assignAsGunner _fahrzeug;
(units _drivers select 0) moveInDriver _fahrzeug;
(units _drivers select 1) moveInGunner _fahrzeug;
_drivers setCombatMode "RED";

_wp1 = _drivers addWaypoint [getMarkerpos _angriffpunkt, _radius];
_wp1 setWaypointBehaviour "AWARE";
_wp1 setWaypointType "SAD";
(units _drivers select 0) commandFollow (units _drivers select 0);



das problem ist das du deine variablen überschreibst:
erklärung...

Code:
_fahrer = gegner1 createUnit ["TK_INS_Soldier_3_EP1", getMarkerPos _spawnpunkt, [], 0, "FORM"];
in diesem beispiel erstellst du richtig eine einheit. diese hat die lokale variable _fahrer und gehört der gruppe Gegner1 an. nun gibst du den waypoint befehl:
Code:
_WP1 = (group gegner1) addWaypoint [getMarkerPos _angriffpunkt, _radius];
...und das funktioniert nicht weil du group gegner1 sagst. gegner1 ist ja schon eine gruppe. schreibe also nur gegner1.




Code:
_fahrer = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _spawnpunkt,gegner1,"gegner1=this",  0.3, "CORPORAL"];
in diesem beispiel überschreibst du deinen gruppennamen gegner1 weil du die var gegner1 dem soldaten zuweist. (das machst du mit dem gegner1=this daher steigt er nicht mehr ein (weil er nicht mehr _fahrer ist), bewegt sich dafür aber brav zum wegpunkt. (da er sich ja mit group gegner1 nun angesprochen fühlt)



mfg
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
Alt 24.11.2010, 19:42   #8 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

random spawnpunkt:


schreibe deine spawnpunkte mal manuel in dein script...


Code:
_angriffpunkt = _this select 0;
_radius = _this select 1;
_einheit = _this select 2;

_spawnpunkt = ["pos1","pos2","pos3"];
_spawnpos = count _spawnpunkt;
_poscreate = getmarkerpos (_spawnpunkt select ((round random _spawnpos)-1));


//hint format["Ubergabe: %1 Angriffpunkt %2", _einheit, _angriffpunkt];

switch (_einheit) do {
    case 1: { // LEICHTE INFANTERIE
        _soldat1 = "TK_INS_Soldier_3_EP1" createUnit [getMarkerPos _poscreate, gegner1, "gegner1=this", 0.3, "CORPORAL"];
        _soldat2 = "TK_INS_Soldier_2_EP1" createUnit [getMarkerPos _poscreate, gegner1,"gegner1=this",0.3, "PRIVATE"];
        _soldat3 = "TK_INS_Soldier_EP1" createUnit [getMarkerPos _poscreate, gegner1,"gegner1=this",0.3, "PRIVATE"];
        
    };

die punkte pos1, pos2 und pos3 sind marker auf deiner map.
anschließend wird der inhalt deines arrays gezählt. (also 3). dann wird per random eine position aus dem array gewählt. dabei wird gesagt: wähle zufällig eine zahl zwischen 1 und 3 (da bis 3 gezählt wurde). die positionen im array beginnen aber mit 0. (also 0,1,2,...) daher die -1, die da sagt gehe von gewählter position eine zurück. wird also die zahl 3 gewählt nimmt er die position 2 im array die pos3 darstellt an 3. stelle im array. ;-)

...na verwirrt?!



mfg

p.s.: _dummy = [_array, bla, blubb] execVM "funktion.sqf"; !!!
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___

Geändert von Pfandgiraffe (24.11.2010 um 19:45 Uhr).
Pfandgiraffe ist offline  
Alt 24.11.2010, 19:53   #9 (permalink)
Newbie
 
Registriert seit: 23.11.2010
Beiträge: 5
Standard

wow cool! Danke PsychoB.

Werde das gleich mal inhalieren, brauch aber ersma ne Pause. Mein Kopf qualmt.

Danke nochmals!



PS: ne bin net verwirrt. Habe Grundkenntnisse was Entwicklung angeht. Die Syntax macht mir bisschen zu schaffen.

PPS : Ist es nun möglich übergebene Arrays in der SQF anzusprechen? Sonst muss ich für jede Position auf der Map eigene SQFs erstellen (wegen der - in der Funktion - deklarierten Markerpositionen).

Geändert von Ante G. (24.11.2010 um 20:38 Uhr).
Ante G. ist offline  
Alt 25.11.2010, 18:26   #11 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

die antwort auf deine frage zu den arrays steckt schon hier drin:


Code:
_spawnpunkt = ["pos1","pos2","pos3"];
_spawnpos = count _spawnpunkt;
_poscreate = getmarkerpos (_spawnpunkt select ((round random _spawnpos)-1));
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Neuling brauch Hilfe Joghurt Multiplayer Community 1 02.11.2010 23:42


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119