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!


#136 2010-08-30 00:30:48

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

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

most LordaFWD  jest zrobiony z tych wlasnie elementow. zobacz jak sobie poradzil...
http://www.bialyjednorozec.pun.pl/viewt … d=745#p745

screen z mapy Dwoch przyjaciol cz.2 - "Zwei Freunde Teil2"

Offline

 

#137 2010-08-30 02:16:32

 amdep

Administrator

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

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

sisi napisał:

most LordaFWD  jest zrobiony z tych wlasnie elementow. zobacz jak sobie poradzil...
http://www.bialyjednorozec.pun.pl/viewt … d=745#p745

screen z mapy Dwoch przyjaciol cz.2 - "Zwei Freunde Teil2"

Nie umiałabym tego zrobić - te "kamienie" są ułożone "w powietrzu" ja tak nie potrafię. No i w tej strefie, w której to robię, nie ma takich zgrabnych kamieni.   
A zresztą nie wiedziałabym, jak w takim przypadku poprowadzić drogę do mostu.

Oni nie tylko znają skrypt, ale potrafią też posługiwać się znakomicie samym Edytorem - przy robieniu wodospadu jest w Instrukcji pokazane, jak dopasować wodospad do skały wodospadu, ustawiając współrzędne - przy wodospadzie umiem to zrobić, bo trzeba poprostu wpisać takie same współrzędne, jakie ma skała.

Ale ustawiać kamienie jeden na drugim, w dwóch czy nawet trzech piętrach?!   O nie, to nie dla mnie!


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

Offline

 

#138 2010-08-30 22:27:08

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

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

... a nie da rady skopiowac to co on zrobil? przynajmniej fragmenty?

Offline

 

#139 2010-09-01 22:39:14

 amdep

Administrator

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

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


W Edytorze jest Reward_Create_Effect, jeśli dobrze napisałam - jest tam między innymi efekt E_SickSheep; próbowałam użyć tego Reward, z różnymi efektami, ale mapa (mała testowa, tylko do tego) wtedy nie działa, to znaczy wyłącza opcje budowy, jak zwykle, kiedy coś jest nie tak.

Co za licho? Używałam efektów, ale w skrypcie, tym kiedyś znalezionym przez Ciebie, ale wydaje mi się, że i tego, co jest w Edytorze też używałam i działało - może to było we wcześniejszej wersji QSB?


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

Offline

 

#140 2010-09-03 22:22:05

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

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

nie wiem...
ja problemu chorych owiec jeszcze nie rozwiazalam. sa funkcje, zeby byly chore 'Logic.MakeAnimalsIll', nawet settlersi moga byc chorzy. niestety, nie umiem tych funkcji wprowadzic w zycie...
http://forums-de.ubi.com/eve/forums/a/t … 7761071066

efekt dziala na przyklad na tej zasadzie:

function Chore()
        local _EntityID = GetEntityId("owca01")
    local x, y = Logic.GetEntityPosition(_EntityID)
        I02ID1 = Logic.CreateEffect(EGL_Effects.E_SickSheep, x, y, 0 )       
end

(efekt 'przypisany do ziemi)
ale nie zawsze udaje mi sie taki efekt zniszczyc, mimo ze funkcja jest poprawna

ale zobacz co znalazlam
drobiazdzek, ale cieszy...
wstaw do lokalnego skryptu lua KeyBindings_ToggleClock(), tak zeby wygladalo jak to:

function Mission_LocalOnMapStart()
      KeyBindings_ToggleClock()

end

i sama zobacz!

----------------------------------------------------------------------------------------------
no i znalazlam, o chorych owcach i krowach
http://forums-de.ubi.com/eve/forums/a/t … 7121075166

function MakeAnimalIll()
local EntityTyp = Logic.GetNumberOfEntitiesOfTypeOfPlayer(1,Entities.A_X_Sheep01)
if EntityTyp > 0 then
EntityTypIDs = {Logic.GetPlayerEntities(1, Entities.A_X_Sheep01, 48, 0)}
CountedIDs = EntityTypIDs[1]
for i = 2,CountedIDs do
EntityID = EntityTypIDs[i]
Logic.MakeFarmAnimalIll (EntityID, true)
end
end
end

Logic.HealEntity

MakeFarmAnimalsSick(5) -- ID gracza 5

-- Funktion:
function MakeFarmAnimalsSick(_playerID)
    local CowID = {Logic.GetPlayerEntitiesInCategory(_playerID, EntityCategories.CattlePasture)}
    if #CowID ~= 0 then
        for i = 1, #CowID do
            if not Logic.IsFarmAnimalIll(CowID[i]) then
                Logic.MakeFarmAnimalIll(CowID[i])
            end
        end
    else
        return 0
    end
    local SheepID = {Logic.GetPlayerEntitiesInCategory(_playerID, EntityCategories.SheepPasture)}
    if #SheepID ~= 0 then
        for i = 1, #SheepID do
            if not Logic.IsFarmAnimalIll(SheepID[i]) then
                Logic.MakeFarmAnimalIll(SheepID[i])
            end
        end
    else
        return 0
    end
end

pytanie jak to teraz uzyc? 

Ostatnio edytowany przez sisi (2010-09-17 03:42:35)

Offline

 

#141 2010-09-15 19:26:01

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

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

Czas Settlersów
ze stron: http://www.siedler-games.de/forum/ ()
http://www.siedler-games.de/forum/siedl … monat.html

http://www.siedler-games.de/forum/attachments/siedler-6-aek-mapperecke/567d1240497380-dauer-siedlermonat-siedlerzeit.jpg

i moze jeszcze dwie funkcje ogolne,
pierwsza to ta, ktora pozwala Thordhalowi odnalezc owce i zagonic do zagrody sasiada

ReplaceEntityToPlayer
ex.  ReplaceEntityToPlayer( 4, "owca1", Entities.A_X_Sheep01)

function ReplaceEntityToPlayer(_Player,_Objekt,_Typ)
    _Objekt = GetEntityId(_Objekt)
    local Position = GetPosition(_Objekt)
    local Orientation = Logic.GetEntityOrientation(_Objekt)
    local ObjektName = Logic.GetEntityName(_Objekt)
    DestroyEntity(_Objekt)
    return  CreateEntity(_Player, _Typ, Position, ObjektName, Orientation)   
end

ReplaceEntity
ex.  ReplaceEntity( "owca1", Entities.A_Bird01)

function ReplaceEntity( _entity, _type)
    _entity = GetEntityId(_entity);
    local pos = GetPosition(_entity);
    local player = Logic.EntityGetPlayer(_entity);
    local orientation = Logic.GetEntityOrientation(_entity);
    local name = Logic.GetEntityName(_entity);
    DestroyEntity(_entity);
    CreateEntity(player, _type, pos, name, orientation);
end

Ostatnio edytowany przez sisi (2010-09-15 20:59:23)

Offline

 

#142 2010-09-17 10:20:04

 amdep

Administrator

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

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

Ooooo....  ale masz pamięć!  Kiedy grałaś tą misję z Thordalem i owcami??!        

Jak wrócę, wczytam się - narazie nic nie rozumiem, ale nie mam za wiele czasu.  Zaraz idę z mamą do kawiarni.

Czy czas - to to, co na przykład u Sokratesa, na czerwono data zmienna w lewym rogu??  To by było fajne.


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

Offline

 

#143 2010-09-17 14:13:54

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

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

... niestety, czas u Sokratesa zwiazany jest z funkcja InitTimeSystem(), ktorej do dzisiaj nie umiem wyswietlic w grze.
http://wiki.siedler-aek.de/user_funktionen/timesystem

ten to jest czas ogolny, ktory ulatawia przeliczanie czasu przy tworzeniu questow. wiesz, ze jeden dzien trwa 5 sekund, jeden tydzien 35 sekund, jeden miesiac 150 sekund.
jesli chcesz postawic choinke 24 grudnia, to mozesz latwo sobie przeliczyc czas ... i uzyc TiggerTime lub TiggerOnQuestSucessWaiting

wypisuje tutaj te funkcje, zeby nie stracic ich z oka. czesto mam tak, ze przypominam sobie cos co widzialam i nie moge tego odnalezc. tak mam teraz z funkcja do tworzenia lasu... gdzies juz o tym czytalam

Ostatnio edytowany przez sisi (2010-09-17 14:16:56)

Offline

 

#144 2010-11-27 14:00:43

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

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

... animacja osadnikow, glownie Spouses

TaskList (te sprawdzone, napotkane...)

TL_WORKER_FESTIVAL_TALK_TO_COMPANY
TL_WORKER_FESTIVAL_APPLAUD_SPEECH
TL_SPOUSE_FESTIVAL_CHECK_FOR_ENTERTAINMENT
TL_SPOUSE_WAIT_FOR_SYNC_AND_APPLAUD
TL_SETTLER_WAIT_THEN_WALK
TL_BACHLORETTE_LEAVE_KEEP
TL_BACHLORETTE_FESTIVAL_DANCE

jedna z funkcji:

function CreateFigurki()
ReplaceEntity("FiG1", Entities.U_SpouseS01);
ReplaceEntity("FiG2", Entities.U_SpouseS02);
ReplaceEntity("FiG3", Entities.U_SpouseS03);    
ReplaceEntity("FiG4", Entities.U_SpouseF01);
ReplaceEntity("FiG5", Entities.U_SpouseF02);
ReplaceEntity("FiG6", Entities.U_SpouseF03);
    for i = 1, 6 do
        local figurkiID = Logic.GetEntityIDByName("FiG"..i)                   
        Logic.SetTaskList(figurkiID, TaskLists.TL_WORKER_FESTIVAL_TALK_TO_COMPANY)
     end
end

wraz z funkcja ogolna

function ReplaceEntity( _entity, _type)
    _entity = GetEntityId(_entity);
    local pos = GetPosition(_entity);
    local player = Logic.EntityGetPlayer(_entity);
    local orientation = Logic.GetEntityOrientation(_entity);
    local name = Logic.GetEntityName(_entity);
        if Logic.IsLeader(_entity) == 1 then
            Logic.DestroyGroupByLeader(_entity);
        else
            Logic.DestroyEntity(_entity);
        end
        return CreateEntity(player, _type, pos, name, orientation);
end

i moze byc tez muzyka:

Logic.ExecuteInLuaLocalState("StartEventMusic(MusicSystem.EventFestivalMusic, 1)")

Ostatnio edytowany przez sisi (2010-11-27 14:05:13)

Offline

 

#145 2010-11-29 19:35:29

 amdep

Administrator

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

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

Chciałabym to wszystko naprawdę rozumieć, a nie tylko kopiować...   Ech....


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

Offline

 

#146 2015-06-26 23:26:41

sisi

Przyjaciel-Friend

Zarejestrowany: 2009-02-05
Posty: 647

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

Briefing i polskie ogonki
(nie pamietam czy to juz bylo...)

do zapisania w Global_lua, najlepiej gdzies na koncu ( funkcja globalna)


------------------------============---------------------------------------------------
function Umlaute(_text)
    local texttype = type(_text);
    if texttype == "string" then
        _text = string.gsub( _text, "Ó", "\195\147" );
        _text = string.gsub( _text, "ó", "\195\179" );
        _text = string.gsub( _text, "Ą", "\196\132" );
        _text = string.gsub( _text, "ą", "\196\133" );
        _text = string.gsub( _text, "Ć", "\196\134" );
        _text = string.gsub( _text, "ć", "\196\135" );
        _text = string.gsub( _text, "Ę", "\196\152" );
        _text = string.gsub( _text, "ę", "\196\153" );
        _text = string.gsub( _text, "Ł", "\197\129" );
        _text = string.gsub( _text, "ł", "\197\130" );
        _text = string.gsub( _text, "Ń", "\197\131" );
        _text = string.gsub( _text, "ń", "\197\132" );
        _text = string.gsub( _text, "Ś", "\197\154" );
        _text = string.gsub( _text, "ś", "\197\155" );
        _text = string.gsub( _text, "Ź", "\197\185" );
        _text = string.gsub( _text, "ź", "\197\186" );
        _text = string.gsub( _text, "Ż", "\197\187" );
        _text = string.gsub( _text, "ż", "\197\188" );
    return _text
    elseif texttype == "table" then
        for k, v in pairs(_text) do
            _text[k] = Umlaute( v );
        end
    return _text;
     else
    return _text;
    end
end
---------------------------------------------------------------------------------

ale zeby poprawnie zadzialala nalezy w skrypcie lokalnym  wymienic niemieckie czcionki na polskie


        _text = string.gsub( _text, "Ó", "\195\147" );
        _text = string.gsub( _text, "ó", "\195\179" );
        _text = string.gsub( _text, "Ą", "\196\132" );
        _text = string.gsub( _text, "ą", "\196\133" );
        _text = string.gsub( _text, "Ć", "\196\134" );
        _text = string.gsub( _text, "ć", "\196\135" );
        _text = string.gsub( _text, "Ę", "\196\152" );
        _text = string.gsub( _text, "ę", "\196\153" );
        _text = string.gsub( _text, "Ł", "\197\129" );
        _text = string.gsub( _text, "ł", "\197\130" );
        _text = string.gsub( _text, "Ń", "\197\131" );
        _text = string.gsub( _text, "ń", "\197\132" );
        _text = string.gsub( _text, "Ś", "\197\154" );
        _text = string.gsub( _text, "ś", "\197\155" );
        _text = string.gsub( _text, "Ź", "\197\185" );
        _text = string.gsub( _text, "ź", "\197\186" );
        _text = string.gsub( _text, "Ż", "\197\187" );
        _text = string.gsub( _text, "ż", "\197\188" );

kodowanie w UTF-8, czyli skrypt lua trzeba zapisac w tym formacie (bez BOM)

Ostatnio edytowany przez sisi (2015-06-27 09:26:33)

Offline

 

#147 2015-06-29 11:36:02

 amdep

Administrator

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

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

Polskie ogonki były, nie pamiętam, chyba zamieszczone na Forum Settlers tym polskim...


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

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
http://jk-tlumacz.com.pl ciechocinek sale konferencyjne santehservice msk