Ogłoszenie

Forum dwutematyczne:

- opowiastki i grafika o tematyce "magicznej".
- gry ekonomiczno-strategiczne (głównie The Settlers VI) i inne nie wojenne.

Aby móc pisać i czytać całe Forum, trzeba się zalogować. Graczy z RoM proszę o rejestrację nickiem z gry!


#1 2009-03-09 02:49:41

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

Edytor map (S6) - język skryptu

pomyslalam sobie, ze warto poznac edytor, i co sie z tym wiaze narzedzia, ktore mamy do swojej dyspozycji. jest to szczegolnie wazne na poczatku, kiedy nie jest sie obeznanym ze skryptem, i stad taki maly pomysl...
zaczne od aktorow na naszej scenie i oczywiscie od tego co lubie, od moich wodzirejow .

http://www.artceramika.eu/thesettlers/U_rozrywka.gif jednostki - rozrywka
Entities.U_Entertainer_NA_FireEater
Entities.U_Entertainer_NA_StiltWalker
Entities.U_Entertainer_NE_StrongestMan_Barrel
Entities.U_Entertainer_NE_StrongestMan_Stone
Entities.U_FireEater


http://www.artceramika.eu/thesettlers/U_Entertainer_NA_FireEater.jpg - U_Entertainer_NA_FireEater
http://www.artceramika.eu/thesettlers/U_Entertainer_NA_StiltWalker.jpg - U_Entertainer_NA_StiltWalker
http://www.artceramika.eu/thesettlers/U_Entertainer_NE_StrongestMan_Barrel.jpg - U_Entertainer_NE_StrongestMan_Barrel
http://www.artceramika.eu/thesettlers/U_Entertainer_NE_StrongestMan_Stone.jpg - U_Entertainer_NE_StrongestMan_Stone
-> U_FireEater = U_Entertainer_NA_StiltWalker

dla dobr: AddOffer(_Merchant,_NumberOfOffers, _GoodType)
dla wodzirejow: AddEntertainerOffer (_Merchant, _Type)

function Mission_InitMerchants()
local traderId = Logic.GetStoreHouse(3) -- = Magazyn gracza z ID3
AddOffer (traderId, 5,Goods.G_Wood)
AddOffer (traderId, 5,Goods.G_Iron)
AddOffer (traderId, 5,Goods.G_Cow)
AddEntertainerOffer (traderId, Entities.U_FireEater)
end

Ostatnio edytowany przez sisi (2010-09-14 01:26:02)

Offline

 

#2 2009-03-09 11:08:41

 amdep

Administrator

Skąd: Warszawa
Zarejestrowany: 2008-10-18
Posty: 1045
Znak Zodiaku: Byk
WWW

Re: Edytor map (S6) - język skryptu

Ooooo, a tych nazw gdzie się dokopałaś? Szkoda, że w zwykłym magazynie nie można wprowadzić funkcji na zmienne dobra, jak w przypadku statku...

W "Dwóch zamkach" obejrzałaś plik lua? Tam jest taka długa funkcja, znalazłam jej opis normalnie, w Tutorialu, a na którejś niemieckiej mapie konkretny zapis. I jak widziałaś to działa, w każdej wizycie statku można ustawić inne towary.

No tak, tylko że statek właśnie przypływa na krótko co jakiś czas, a magazyn stoi cały czas na miejscu....

Oczywiście mogliby się wysilić i wprowadzić też funkcję działającą według miesięcy - ale po co, przecież bachory chcą wojować!

Na tamtym forum wczoraj zauważyłam post "Jak mogę zaatakować miasto?" - chodziło mu nie o wroga, tylko jakieś inne AI...

Funkcję wstawiam dla pamięci:

function Mission_InitMerchants()

ActivateTravelingSalesman(8,{{ 6,{{Goods.G_Grain, 2},{Goods.G_Salt,2},{Goods.G_Stone,9},{Entities.U_FireEater,1}}},{8,{{Goods.G_Iron, 5},{Goods.G_Salt,2},{Goods.G_Stone,9},{Entities.U_FireEater,1}}},{11,{{Goods.G_Dye, 2},{Goods.G_Salt,2},{Goods.G_Stone,9},{Entities.U_FireEater,1}}}})   
 

PlayerID = 8; miesiące = 6, 8, 11.  Bardzo ważne jest otwarcie i zamknięcie każdej "tabeli" (tak to nazywają i one gdzieś tam są, tabela dóbr, tabela miesięcy, itp) czyli to: { }              


Mayanna
Druid/ Zwiadowca/ Strażnik
-------------------------
Życie jest magią...

Offline

 

#3 2009-03-10 01:10:27

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

Re: Edytor map (S6) - język skryptu

jak to skad? http://www.bialyjednorozec.pun.pl/viewt … d=359#p359

bedac w edytorze przyjrzalam sie dokladniej Goal_Create. sa tam jeszcze inne nazwy wodzirejow:

http://www.artceramika.eu/thesettlers/U_rozrywka.gif jednostki GC - rozrywka
U_Entertainer_NA_PerformingFireEater
U_Entertainer_NA_PerformingStiltWalker
U_Entertainer_NE_PerformingStrongestMan_Barrel
U_Entertainer_NE_PerformingStrongestMan_Stone


http://www.artceramika.eu/thesettlers/Ux_0.gif  niestety, nie wiem jaka pelnia role, bo postac chyba ta sama.
  i nie moge wprowadzic tych jednostek do handlu.
  widze wtedy charakterystyczny guzik, ktory mowi, ze to w skrypcie nie dziala

Ostatnio edytowany przez sisi (2009-03-10 23:53:29)

Offline

 

#4 2009-03-10 02:24:12

 amdep

Administrator

Skąd: Warszawa
Zarejestrowany: 2008-10-18
Posty: 1045
Znak Zodiaku: Byk
WWW

Re: Edytor map (S6) - język skryptu

Acha, też masz ten "guzik"... ale czy nie sądzisz, że to dziwne? Jakby program całkiem nie wiedział, o co chodzi, to by nie pokazał tego guzika, tylko tak jak mnie w przypadku statku, od razu jakiś komunikat "Debug....." coś tam.
A tu pokazuje "guzik" i dopiero jak na niego najechałam myszą, to cały rząd komunikatów o błędzie, a jak kliknęłam mimo to, to wywaliła się gra.


Mayanna
Druid/ Zwiadowca/ Strażnik
-------------------------
Życie jest magią...

Offline

 

#5 2009-03-10 02:32:26

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

Re: Edytor map (S6) - język skryptu

http://www.artceramika.eu/thesettlers/U_najemnikM.gif http://www.artceramika.eu/thesettlers/U_najemnikR.gif jednostki - najemnicy
Entities.U_MilitaryBandit_Melee_ME
Entities.U_MilitaryBandit_Melee_SE
Entities.U_MilitaryBandit_Melee_NA
Entities.U_MilitaryBandit_Melee_NE
Entities.U_MilitaryBandit_Ranged_ME
Entities.U_MilitaryBandit_Ranged_SE
Entities.U_MilitaryBandit_Ranged_NA
Entities.U_MilitaryBandit_Ranged_NE


NE - ME - SE - NA to strefy klimatyczne, ale to juz chyba wszyscy wiedza ( polnocna Europa, srodkowa, poludniowa i polnocna Afryka / north Europe - middle - south - north Africa). ale klimat wplywa na rozny wyglad naszych najemnikow, na inny rodzaj uzbrojenia. w handlu mamy wiec dla nich rozne symbole/'guziki'.
http://www.artceramika.eu/thesettlers/U_najemnikM_ME.gif - U_MilitaryBandit_Melee_ME
http://www.artceramika.eu/thesettlers/U_najemnikM_SE.gif - U_MilitaryBandit_Melee_SE
http://www.artceramika.eu/thesettlers/U_najemnikM_NA.gif - U_MilitaryBandit_Melee_NA
http://www.artceramika.eu/thesettlers/U_najemnikM_NE.gif - U_MilitaryBandit_Melee_NE
http://www.artceramika.eu/thesettlers/U_najemnikR_ME.gif - U_MilitaryBandit_Ranged_ME
http://www.artceramika.eu/thesettlers/U_najemnikR_SE.gif - U_MilitaryBandit_Ranged_SE
http://www.artceramika.eu/thesettlers/U_najemnikR_NA.gif - U_MilitaryBandit_Ranged_NA
http://www.artceramika.eu/thesettlers/U_najemnikR_NE.gif - U_MilitaryBandit_Ranged_NE


function AddMercenaryOffer( _Mercenary, _Amount, _Type)

function Mission_InitMerchants()
local traderId = Logic.GetStoreHouse(3) -- Must be the Player ID of the offering Village/City/Cloister
AddMercenaryOffer(traderId , 5, Entities.U_MilitaryBandit_Melee_ME)
AddMercenaryOffer(traderId , 5, Entities.U_MilitaryBandit_Ranged_ME)
end

Ostatnio edytowany przez sisi (2010-09-14 01:17:21)

Offline

 

#6 2009-03-10 02:35:55

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

Re: Edytor map (S6) - język skryptu

ja na guzik juz nie klikalam . bylam uprzedzona. no i natychmiast ta informacja: DEBUG

Offline

 

#7 2009-03-10 11:02:02

 amdep

Administrator

Skąd: Warszawa
Zarejestrowany: 2008-10-18
Posty: 1045
Znak Zodiaku: Byk
WWW

Re: Edytor map (S6) - język skryptu

Sisi,

ślicznie zrobiłaś ten wykaz najemników!


Mayanna
Druid/ Zwiadowca/ Strażnik
-------------------------
Życie jest magią...

Offline

 

#8 2009-03-10 23:27:18

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

Re: Edytor map (S6) - język skryptu

...

jednostki - osadnicy/naczelnicy wiosek (head - Unit NPC)
U_NPC_SpouseFat
U_NPC_Villager01_NE
U_NPC_Villager01_ME
U_NPC_Villager01_SE
U_NPC_Villager01_NA


http://www.artceramika.eu/thesettlers/U_NPC_oSpouseFat.gif - U_NPC_SpouseFat
http://www.artceramika.eu/thesettlers/U_NPC_oVillager01_NE.gif - U_NPC_Villager01_NE
http://www.artceramika.eu/thesettlers/U_NPC_oVillager01_ME.gif - U_NPC_Villager01_ME
http://www.artceramika.eu/thesettlers/U_NPC_oVillager01_SE.gif - U_NPC_Villager01_SE
http://www.artceramika.eu/thesettlers/U_NPC_oVillager01_NA.gif - U_NPC_Villager01_NA

-------------------------------------------------------------------------------------

http://www.artceramika.eu/thesettlers/U_NPC_SpouseFat.gif http://www.artceramika.eu/thesettlers/U_NPC_Villager01_NE.gif http://www.artceramika.eu/thesettlers/U_NPC_Villager01_ME.gif http://www.artceramika.eu/thesettlers/U_NPC_Villager01_SE.gif http://www.artceramika.eu/thesettlers/U_NPC_Villager01_NA.gif

nie mozemy nimi handlowac...
-------------------------------------------------------------------------------------

Ostatnio edytowany przez sisi (2009-03-11 23:59:13)

Offline

 

#9 2009-03-11 23:58:48

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

Re: Edytor map (S6) - język skryptu

(ang.) Units

jednostki - osadnicy/naczelnicy klasztoru (head - Unit NPC)
U_NPC_Amma_NE
U_NPC_Monk_NE
U_NPC_Monk_ME
U_NPC_Monk_SE
U_NPC_Monk_NA


http://www.artceramika.eu/thesettlers/U_NPC_oAmma_NE.gif - U_NPC_Amma_NE
http://www.artceramika.eu/thesettlers/U_NPC_oMonk_NE.gif - U_NPC_Monk_NE
http://www.artceramika.eu/thesettlers/U_NPC_oMonk_ME.gif - U_NPC_Monk_ME
http://www.artceramika.eu/thesettlers/U_NPC_oMonk_SE.gif - U_NPC_Monk_SE
http://www.artceramika.eu/thesettlers/U_NPC_oMonk_NA.gif - U_NPC_Monk_NA

--------------------------------------------------------------------------------------------------

http://www.artceramika.eu/thesettlers/U_NPC_Amma_NE.gif http://www.artceramika.eu/thesettlers/U_NPC_Monk_NE.gif http://www.artceramika.eu/thesettlers/U_NPC_Monk_ME.gif http://www.artceramika.eu/thesettlers/U_NPC_Monk_SE.gif http://www.artceramika.eu/thesettlers/U_NPC_Monk_NA.gif

nie mozemy nimi handlowac...
--------------------------------------------------------------------------------------------------

Offline

 

#10 2009-03-24 18:59:28

 amdep

Administrator

Skąd: Warszawa
Zarejestrowany: 2008-10-18
Posty: 1045
Znak Zodiaku: Byk
WWW

Re: Edytor map (S6) - język skryptu

Dziwna funkcja, nazwana po niemiecku, użyta w mapie "me_shanti" - znalazłam ją teraz na stronie bibliotek:

Ich bin eine kleine Überschrift

Es gibt wichtige Punkte:

    *      Punkt.
    *      Mach mal nen Punkt.
    *      Punktum. Schluß aus.


MachSchatzVersteck (Interaktives Gebäude mit verschiedenen Rohstoffen füllen)

function MachSchatzVersteck(_entity, _menge, _type)
     _type = _type or Goods.G_Gold
     _menge = _menge or 100
     if type(_entity) == "string" then
      _entity = Logic.GetEntityIDByName(_entity)       
     end
     Logic.InteractiveObjectClearCosts(_entity)
     Logic.InteractiveObjectSetInteractionDistance(_entity, 1000)
     Logic.InteractiveObjectSetTimeToOpen(_entity, 0)
     Logic.InteractiveObjectClearRewards(_entity)
     Logic.InteractiveObjectAddRewards(_entity, _type, _menge)               
     Logic.InteractiveObjectSetAvailability(_entity,true)
     Logic.InteractiveObjectSetRewardResourceCartType(_entity, Entities.U_ThiefCart)  -- Hier der Wagen für Ressourcen.
     Logic.InteractiveObjectSetRewardGoldCartType(_entity, Entities.U_GoldCart)  -- Hier der Wagen für Gold
     table.insert(HiddenTreasures, _entity)
end


machen - robić,
Schatz - skarb
Versteck - skrytka
menge - mnogość

W mapie "me_shanti" wygląda to tak ("turm" to obiekty interaktywne):

function Mission_FirstMapAction()

   
    -- init players in singleplayer games only
    if Framework.IsNetworkGame() ~= true then

        Startup_Player()
        Startup_StartGoods()
        Startup_Diplomacy()
       
    end       

    -- create quests
    do
        local MapName = Framework.GetCurrentMapName()
        local ScriptName = "Maps\\ExternalMap\\"..MapName.."\\QuestSystemBehavior.lua"
        Script.Load(ScriptName)

        CreateQuests()
    end



    MachSchatzVersteck( "turm1", 1, Goods.G_Gold)
   
    MachSchatzVersteck( "turm2", 1, Goods.G_Gold)

    MachSchatzVersteck( "turm3", 1, Goods.G_Gold)
   
end

function MachSchatzVersteck(_entity, _menge, _type)
     _type = _type or Goods.G_Gold
     _menge = _menge or 100
     if type(_entity) == "string" then
      _entity = Logic.GetEntityIDByName(_entity)       
     end
     Logic.InteractiveObjectClearCosts(_entity)
     Logic.InteractiveObjectSetInteractionDistance(_entity, 1000)
     Logic.InteractiveObjectSetTimeToOpen(_entity, 0)
     Logic.InteractiveObjectClearRewards(_entity)
     Logic.InteractiveObjectAddRewards(_entity, _type, _menge)               
     Logic.InteractiveObjectSetAvailability(_entity,true)
     Logic.InteractiveObjectSetRewardResourceCartType(_entity, Entities.U_ThiefCart) -- Hier der Wagen für Resorcen.
     Logic.InteractiveObjectSetRewardGoldCartType(_entity, Entities.U_GoldCart)--hier der Wagen für Gold
     table.insert(HiddenTreasures, _entity)
end

Hmmmmm..... jest nawet "demo" chyba użycia tej funkcji...
http://wiki.siedler-aek.de/maps/machschatzversteck-demo

Ściągnęłam - jest mapka i plik lua, bardzo elegancko!

Zaraz zobaczę, o co to chodzi...


Mayanna
Druid/ Zwiadowca/ Strażnik
-------------------------
Życie jest magią...

Offline

 

#11 2009-03-24 22:08:18

 amdep

Administrator

Skąd: Warszawa
Zarejestrowany: 2008-10-18
Posty: 1045
Znak Zodiaku: Byk
WWW

Re: Edytor map (S6) - język skryptu

Ta funkcja (powyżej) pozwala z obiektów interaktywnych wysyłać nie tylko złoto, ale i inne dobra, trafiające do magazynu.

Obejrzałam w działaniu, co nie znaczy, że będę umiała użyć w skrypcie.

Natomiast tutaj: http://wiki.siedler-aek.de/maps?s=machschatzversteck
są inne dema do pobrania....


Mayanna
Druid/ Zwiadowca/ Strażnik
-------------------------
Życie jest magią...

Offline

 

#12 2009-03-25 13:33:30

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

Re: Edytor map (S6) - język skryptu

u mnie funkcja MachSchatzVersteck nie dziala. nie wiem jak to sie robi...

Offline

 

#13 2009-03-26 02:29:54

 amdep

Administrator

Skąd: Warszawa
Zarejestrowany: 2008-10-18
Posty: 1045
Znak Zodiaku: Byk
WWW

Re: Edytor map (S6) - język skryptu

Ja jej jeszcze nie próbowałam, narazie zajęłam się czym innym - zwykłą aktywacją obiektów poprzez Quest, która mi w nowej mapie nie działa, a w poprzedniej działała! Wrrrrrrrrrrr.....


Mayanna
Druid/ Zwiadowca/ Strażnik
-------------------------
Życie jest magią...

Offline

 

#14 2009-03-28 15:10:24

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

Re: Edytor map (S6) - język skryptu

do postaci jeszcze wrocimy...

tu bedzie miejsce na Interactive Objects, czyli na to wszystko na co nie mam dzisiaj czasu. post bedzie systematycznie uzupelniany

(ang.) Entities - ...

Ineractive Objects - interaktywne objekty uzywane do skryptow

http://www.artceramika.eu/thesettlers/dolmen1.gif  I_X_PortalTomb01_ME -> na mapie wystepuje pod nazwa "Dolmen" (ang.)


http://www.artceramika.eu/thesettlers/dolmen2.gif  I_X_PortalTomb02_ME -> na mapie wystepuje pod nazwa "Dolmen" (ang.)

Ostatnio edytowany przez sisi (2009-03-30 01:43:52)

Offline

 

#15 2009-08-22 20:48:00

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

Re: Edytor map (S6) - język skryptu

.... jeszcze o fukcji MachSchatzVersteck (HiddenTreasures)

zajrzalam do skryptu Midgard.lua (mapa Twojej roboty?)
jest tam wlasnie uzyta funkcja MachSchatzVersteck ale zapisana nieco inaczej niz w przykladowym demo

CreateQuests()

    end

MachSchatzVersteck("tombo", 30, Goods.G_Stone)
-- 30 Einheiten Stein

end

-- _entity - der Scriptname der interaktiven Objekts
-- _amount - Menge der Güter die der Spieler erhalten soll
-- _type - Typ des zu liefernden Guts
-- =====================================================================
-- _time - Zeit bis zur Auslösung
-- _distance - Entfernung, wie dicht muss der Ritter an das Objekt heran
function MachSchatzVersteck(_entity, _amount, _type)
    local _entity = Logic.GetEntityIDByName(_entity)
    local _time = 5         --Defaultwerte, bei Bedarf zu ändern
    local _distance = 1000  --Defaultwerte, bei Bedarf zu ändern
    if Logic.IsEntityDestroyed(_entity) or not Logic.IsInteractiveObject(_entity) then
        Logic.DEBUG_AddNote("Fehler in MachSchatzVersteck - falsche oder nicht existierende Entität")
        assert(false)
    end
    Logic.InteractiveObjectSetPlayerState(_entity, 1, 0)
    Logic.InteractiveObjectSetAvailability(_entity, true)
    Logic.InteractiveObjectSetInteractionDistance(_entity, _distance)
    Logic.InteractiveObjectSetTimeToOpen(_entity, _time)
    Logic.InteractiveObjectClearCosts(_entity)
    Logic.InteractiveObjectClearRewards(_entity)
    Logic.InteractiveObjectAddRewards(_entity, _type, _amount)               
    Logic.InteractiveObjectSetRewardResourceCartType(_entity, Entities.U_ResourceMerchant)  -- Hier der Wagen für Ressourcen.
    Logic.InteractiveObjectSetRewardGoldCartType(_entity, Entities.U_GoldCart)  -- Hier der Wagen für Gold
    table.insert(HiddenTreasures, _entity)
end

poprawnie powinno wygladac to tak:

CreateQuests()
    end
   
MachSchatzVersteck("Ruine_1")
-- 100 Gold Münzen, Standardzeit und -distanz
MachSchatzVersteck("Ruine_2", 200 )
-- 200 Gold Münzen, Standardzeit und -distanz)
MachSchatzVersteck("Ruine_3", 50, Goods.G_Cheese )
-- 50 Holz, Standardzeit und -Distanz
MachSchatzVersteck("Ruine_4", 35, Goods.G_Wool, 10 )
-- 35 Korn, 10 Sekunden bis zur Aktivierung, Standarddistanz
MachSchatzVersteck("Ruine_5", 50, Goods.G_Carcass, 10, 2000 )   
-- 50 Wild, 10 Sekunden bis zur Aktivierung, Auslösedistanz 2000 Siedlerzentimeter
   
end

function MachSchatzVersteck(_entity, _amount, _type, _time, _distance )
  _type = _type or Goods.G_Gold  --Default Werte
  _amount = _amount or 100       --Default Werte
  _distance = _distance or 1000  --Default Werte
  _time = _time or 5             --Default Werte
  if not type(_entity) == "number" then
    _entity = GetEntityId(_entity)
  end
  if Logic.IsEntityDestroyed(_entity) or not Logic.IsInteractiveObject(_entity) then
    Logic.DEBUG_AddNote("Fehler in MachSchatzVersteck, falsche Entität")
    assert(false)
  end
  Logic.InteractiveObjectClearCosts(_entity)
  Logic.InteractiveObjectSetInteractionDistance(_entity, _distance)
  Logic.InteractiveObjectSetTimeToOpen(_entity, _time)
  Logic.InteractiveObjectClearRewards(_entity)
  Logic.InteractiveObjectAddRewards(_entity, _type, _amount)               
  Logic.InteractiveObjectSetAvailability(_entity,true)
  Logic.InteractiveObjectSetPlayerState(_entity, 1, 0)
  Logic.InteractiveObjectSetRewardResourceCartType(_entity, Entities.U_ThiefCart)  -- Hier der Wagen für Ressourcen.
  Logic.InteractiveObjectSetRewardGoldCartType(_entity, Entities.U_GoldCart)  -- Hier der Wagen für Gold
  table.insert(HiddenTreasures, _entity)
end

co ciekawe uzycie w pierwszej formie tej funkcji z dodatkiem 'local' - > local _entity zezwala jedynie na jednorazowe skorzystanie z zasobu. natomiast uzywajac wg wskazowek mnogosc jest nieskonczona i limitowana jedynie miejscem w spichlerzu.

ale co mnie osobiscie zaintrygowalo, to mapa MachSchatzVersteck-Demo.s6map.
jest taki ciekawy moment gdy aktywuje sie serowy skarb, mozna pobrac jednorazowo tylko jeden woz, ale dlaczego? przypadek? czy za sprawa spichlerza? w skrypcie nic na to nie wskazuje...

Ostatnio edytowany przez sisi (2009-08-23 10:14:18)

Offline

 
Forum prywatne Anny Marii

Minecraft PC

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
Szamba betonowe Wilamowice to producent http://jk-tlumacz.com.pl weekend spa ciechocinek