Funkcje do Skryptów
Transkrypt
Funkcje do Skryptów
Funkcje do Skryptów AdvMap ......................................................................................................................4 GetGameVar...................................................................................................................................4 length..............................................................................................................................................4 GetDifficulty...................................................................................................................................5 Load................................................................................................................................................5 mod.................................................................................................................................................5 print.................................................................................................................................................6 Save.................................................................................................................................................6 SetGameVar....................................................................................................................................6 sleep................................................................................................................................................7 sqrt..................................................................................................................................................7 startThread......................................................................................................................................8 AddHeroCreatures..........................................................................................................................8 AddObjectCreatures.......................................................................................................................9 BlockGame.....................................................................................................................................9 CalcHeroMoveCost......................................................................................................................10 CanMoveHero...............................................................................................................................10 ChangeHeroStat............................................................................................................................10 CreateMonster...............................................................................................................................11 DeployReserveHero......................................................................................................................12 EnableAIHeroHiring.....................................................................................................................13 EnableHeroAI...............................................................................................................................13 IsObjectExists...............................................................................................................................14 GenerateMonsters.........................................................................................................................14 GetCurrentPlayer..........................................................................................................................15 GetDate.........................................................................................................................................15 GetHeroCreatures.........................................................................................................................16 GetHeroLevel...............................................................................................................................16 GetHeroStat..................................................................................................................................17 GetObjectCreatures.......................................................................................................................17 GetObjectiveProgress...................................................................................................................18 GetObjectiveState.........................................................................................................................18 GetObjectOwner...........................................................................................................................19 GetObjectsInRegion.....................................................................................................................19 GetObjectPosition.........................................................................................................................20 GetPlayerHeroes...........................................................................................................................20 GetPlayerResource.......................................................................................................................21 GetTownBuildingLevel................................................................................................................21 GetTownBuildingLimitLevel........................................................................................................23 GetTownBuildingMaxLevel.........................................................................................................24 GetTownHero................................................................................................................................24 GiveArtefact.................................................................................................................................25 LevelUpHero................................................................................................................................25 GiveHeroSkill...............................................................................................................................25 GiveHeroWarMachine..................................................................................................................26 HasArtefact...................................................................................................................................26 HasBorderguardKey.....................................................................................................................27 HasHeroSkill.................................................................................................................................27 HasHeroWarMachine....................................................................................................................28 IsHeroAlive...................................................................................................................................28 IsHeroLootable.............................................................................................................................28 IsObjectEnabled............................................................................................................................29 IsObjectInRegion..........................................................................................................................29 IsObjectiveVisible.........................................................................................................................30 IsObjectVisible..............................................................................................................................30 IsRegionBlocked...........................................................................................................................31 KnowHeroSpell............................................................................................................................31 Loose.............................................................................................................................................31 MarkObjectAsVisited...................................................................................................................32 MessageBox..................................................................................................................................32 MoveCamera.................................................................................................................................33 MoveHero.....................................................................................................................................33 MoveHeroRealTime.....................................................................................................................34 GetAllNames................................................................................................................................34 OpenCircleFog..............................................................................................................................35 OpenRegionFog............................................................................................................................35 Play2DSound................................................................................................................................35 Play3DSound................................................................................................................................36 PlayObjectAnimation...................................................................................................................36 random..........................................................................................................................................37 RazeTown.....................................................................................................................................37 RegionToPoint..............................................................................................................................37 RemoveArtefact............................................................................................................................38 RemoveHeroCreatures..................................................................................................................38 RemoveHeroWarMachine............................................................................................................39 RemoveObject..............................................................................................................................39 RemoveObjectCreatures...............................................................................................................40 ResetHeroCombatScript...............................................................................................................40 ResetObjectFlashlight...................................................................................................................41 SetAIHeroAttractor.......................................................................................................................41 SetAIPlayerAttractor....................................................................................................................42 SetCombatLight............................................................................................................................42 SetHeroCombatScript...................................................................................................................43 SetHeroLootable...........................................................................................................................43 SetAmbientLight...........................................................................................................................44 SetObjectEnabled.........................................................................................................................44 SetObjectiveProgress....................................................................................................................44 SetObjectiveState..........................................................................................................................45 SetObjectiveVisible......................................................................................................................46 SetObjectFlashlight.......................................................................................................................46 SetObjectOwner............................................................................................................................47 SetObjectPosition.........................................................................................................................47 SetPlayerResource........................................................................................................................48 SetPlayerStartResources...............................................................................................................48 SetRegionBlocked........................................................................................................................49 SetTownBuildingLimitLevel........................................................................................................49 SetWarfogBehaviour.....................................................................................................................50 ShowFlyingSign...........................................................................................................................50 SiegeTown....................................................................................................................................51 StartCombat..................................................................................................................................51 StartCutScene...............................................................................................................................52 StartDialogScene..........................................................................................................................53 StopPlaySound..............................................................................................................................53 TeachHeroSpell.............................................................................................................................54 TransformTown.............................................................................................................................54 Trigger...........................................................................................................................................55 UnblockGame...............................................................................................................................57 UnreserveHero..............................................................................................................................57 Win................................................................................................................................................57 WALKA.....................................................................................................................58 Prepare..........................................................................................................................................58 Start...............................................................................................................................................58 IsHuman........................................................................................................................................58 IsComputer...................................................................................................................................59 SetControlMode............................................................................................................................59 EnableAutoFinish.........................................................................................................................60 Finish............................................................................................................................................60 GetAttackerHero...........................................................................................................................60 GetAttackerCreatures....................................................................................................................61 GetAttackerWarMachines.............................................................................................................61 GetAttackerWarMachine..............................................................................................................61 GetDefenderHero..........................................................................................................................62 GetDefenderCreatures..................................................................................................................62 GetDefenderWarMachines............................................................................................................63 GetDefenderWarMachine.............................................................................................................63 GetDefenderBuildings..................................................................................................................63 GetDefenderBuilding....................................................................................................................64 IsAttacker......................................................................................................................................64 IsDefender.....................................................................................................................................65 IsHero...........................................................................................................................................65 IsCreature......................................................................................................................................65 IsWarMachine...............................................................................................................................66 IsBuilding.....................................................................................................................................66 GetHeroName...............................................................................................................................66 GetCreatureType...........................................................................................................................67 GetCreatureNumber......................................................................................................................67 GetWarMachineType....................................................................................................................67 GetBuildingType...........................................................................................................................68 GetUnitPosition............................................................................................................................68 AddCreature..................................................................................................................................69 EnableCinematicCamera..............................................................................................................69 Samouczek.................................................................................................................70 IsTutorialItemEnabled..................................................................................................................70 IsTutorialMessageBoxOpen.........................................................................................................70 TutorialActivateHint.....................................................................................................................70 TutorialMessageBox.....................................................................................................................71 TutorialSetBlink............................................................................................................................71 Miasto........................................................................................................................71 HeroHired.....................................................................................................................................72 CreatureHired...............................................................................................................................72 ADVMAP GetGameVar GetGameVar – zwraca wartość głównej zmiennej gry Składnia GetGameVar(name); Opis Ta funkcja zwraca wartość głównej zmiennej gry o nazwie name jeśli istnieje, lub pusty ciąg jeśli nie istnieje. – nazwa zmiennej name length length – decyduje o długości szyku (tablicy) Składnia length(array); Opis 'array' jest specjalnym typem tablicy, w której kluczami są tylko liczby, a numeracja zaczyna się od zera i idzie w górę bez pomijania żadnych elementów. Funkcja length będzie decydować o liczbie elementów w tej tablicy. array – tablica GetDifficulty GetDifficulty – decyduje o stopniu trudności gry Składnia GetDifficulty(void); Opis Funkcja zwraca poziom trudności gry. Aby zidentyfikować poziom trudności używa się następujących stałych: DIFFICULTY_NORMAL, DIFFICULTY_HARD, DIFFICULTY_HEROIC. Stałe są posortowane rosnąco, dzięki czemu możliwe jest stosowanie konstrukcji takich jak: GetDifficulty() > DIFFICULTY_NORMAL, etc. Load Load – Ładuje grę z określonego pliku Składnia Load(fileName); Opis Ta funkcja wczytuje grę z podanego pliku. fileName to nazwa pliku tekstowego wymienionego we właściwościach mapy (resources>saveFilenames) i zawierającego nazwę pliku save gry. mod mod – zwraca resztę z dzielenia jednej liczby przez drugą Składnia mod(x, y); Opis Ta funkcja zwraca resztę z dzielenia pierwszego argumentu przez drugi. Oba argumenty muszą być liczbami. Drugi musi być różny od zera. print print – wyświetla w konsoli argumenty. Składnia print(...); Opis Ta funkcja wyświetla tekstową reprezentację argumentów w konsoli. print działa z każdym typem parametrów: • • • liczby, ciągi i nil są reprezentowane za pomocą liter funkcje i obiekty użytkownika są uzupełnione znacznikami "<function>" wyświetlana jest zawartość tabel Przykład: > print(2, " sdf ", print) 2 sdf <C-function> Save Save – zapisuje grę do konkretnego pliku Składnia Save(fileName); Opis Ta funkcja zapisuje grę do wskazanego pliku. fileName to nazwa pliku tekstowego wymienionego we właściwościach mapy (resources>saveFilenames) i zawierającego nazwę pliku save gry. SetGameVar SetGameVar – ustawia wartość głównej zmiennej gry. Składnia SetGameVar(name, value); Opis Ta funkcja zamienia wartość głównej zmiennej gry name przez wartość value. Jeśli takiej zmiennej nie ma, zostanie ona utworzona. Nazwa zmiennej name – value – wartość jaka zostanie zapisana pod zmienną sleep sleep – zawiesza czasowo działanie aktualnego procesu. Składnia sleep(number-of-segments); Opis Ta funkcja zawiesza na podany okres czasu działanie aktualnego procesu. Czas jest podawany w jednostkach gry. Liczba number-of-segments musi być równa lub większa od 1. Komenda sleep jest potrzebna do tworzenia skryptów, które mają wykonywać jakąś akcje przez długi okres czasu (jak skrypty realizujące scenariusz mapy): while 1 do sleep(100) print("another 100 game segments has passed") end Ważnym efektem działania komendy sleep, jest to, że kontrola przekazywana jest z aktualnie działającego skryptu z powrotem do terminarza silnika skryptów, który jest aktywny aby inne skrypty mogły działać i w końcowym efekcie przekazać kontrolę grze. Na przykład, jeśli umieszczony powyżej skrypt uruchomimy bez polecenia sleep(100), proces w którym skrypt został wywołany nigdy nie przekaże kontroli silnikowi skryptowemu, który mógłby ją przekazać grze. sqrt sqrt – zwraca pierwiastek. Składnia sqrt(x); Opis Ta funkcja zwraca pierwiastek podanej liczby. Liczba nie może być ujemna. startThread startThread – rozpoczyna wykonywanie nowego procesu. Składnia startThread(func); Opis Ta funkcja rozpoczyna działanie innej podanej funkcji w nowym procesie. Parametr func musi być funkcją skryptową: func nie może być liczbą, ani jedną z komend opisywanych w tej instrukcji (ponieważ są utworzone w C). local immortal = "immortal-archer"; function eternalLoop() while 1 do if not exist(%immortal) then resurrect(%immortal) end sleep(1) end end print("Starting resurrection loop") startThread(eternalLoop) AddHeroCreatures AddHeroCreatures – dodaje stwory do armii bohatera. Składnia AddHeroCreatures(heroname, creatureID, quantity); Opis Dodaje podaną liczbę (quantity) stworzeń o identyfikatorze creatureID do armii bohatera heroname. heroname jest nazwą bohatera, ustawioną podczas stworzenia mapy. Komenda działa niezależnie od położenia bohatera: może być nawet poza mapą (w mieście lub nawet wśród martwych (?)). Można dodać tylko stworzenia, nie można machin wojennych. AddObjectCreatures AddObjectCreatures – dodaje stworzenia do armii obiektu Składnia AddObjectCreatures(objectName, creatureID, quantity); Opis Ta funkcja dodaje określoną liczbę (quantity) stworzeń o identyfikatorze creatureID do armii obiektu objectName. Stworzenia można dodać do każdego obiektu, który może posiadać armię (włącznie z innymi stworzeniami i bohaterami). Do Potworów mozna dodać tylko stworzenia tego samego typu co już zawierają. objectName – nazwa obiektu creatureID – identyfikator stworzenia quantity – ilość stworzeń Można dodać tylko stworzenia, nie można machin wojennych. BlockGame BlockGame – blokuje działanie interfejsu użytkownika i działanie SI. Składnia BlockGame(void); Opis Komenda blokuje interfejs użytkownika i działanie SI jak również możliwość zarządzania kamerą. W ten sposób świat się zatrzymuje, a skrypt staje się jedynym źródłem zdarzeń w grze. Komenda zatrzymuje również ruch bohaterów (zachowując jednak ścieżkę ich ruchu). Aby odblokować grę należy użyć komendy UnblockGame. Blokady gry mogą się kumulować, oznacza to, że gra zostanie odblokowana dopiero po użyciu komendy UnblockGame tyle samo co komendy BlockGame. CalcHeroMoveCost CalcHeroMoveCost – oblicza koszt ruchu bohatera do określonego punktu. Składnia CalcHeroMoveCost(heroName, x, y, floorID = -1); Opis Funkcja oblicza koszt ruchu bohatera do określonego punktu, używając przy tym punkty ruchu bohatera do obliczeń. Jeśli nie podany zostanie poziom, do obliczeń zostanie użyty ten, na którym bohater aktualnie się znajduje. Funkcje można użyć tylko do bohaterów kontrolowanych przez SI. Do obliczeń brane są pod uwagę tylko obiekty statyczne. Jeśli podanego punktu bohater nie może osiągnąć, funkcja zwraca wartość -1. – imie bohatera heroName x, y – współrzędne celu floorID – identyfikator poziomu (-1 oznacza, poziom, na którym bohater się znajduje) CanMoveHero CanMoveHero – sprawdza, czy bohater może zostać przeniesiony do konkretnego punktu Składnia CanMoveHero(heroName, x, y, floorID = -1); Opis Ta funkcja zwraca wartość true jeśli wprowadzony punkt jest osiągalny przez bohatera. Inaczej zwróci wartość false. Jeśli nie zostanie wprowadzony poziom, zostanie użyty do sprawdzenia ten, na którym bohater aktualnie się znajduje. Funkcje można użyć tylko do bohaterów kontrolowanych przez SI. imie bohatera heroName – x, y – współrzędne celu floorID – identyfikator poziomu (-1 oznacza poziom, na którym znajduje się bohater) ChangeHeroStat ChangeHeroStat – zmienia statystyki bohatera Składnia ChangeHeroStat(heroName, statID, delta); Opis Funkcja modyfikuje konkretną statystykę bohatera o wartość delta. Można modyfikować następujące statystyki: doświadczenie, atak, obrona, moc, wiedza, szczęście, morale, punkty ruchu i punkty many. może być dodatnia (statystyka jest podwyższana) lub ujemna (statystyka jest zwiększana) dla wszystkich statystyk oprócz doświadczenia (może tylko rosnąć). delta może być tylko liczbą dodatnią lub zerem. delta Żadna ze statystyk nie może być ujemna. Wartość punktów ruchu i many jest ograniczona maksymalną i minimalną ich wartością. Jeśli modyfikacja przewyższa wartości limitu, zostanie ograniczona. imię bohatera heroName – statID – identyfikator statystyki, może być jednym z poniższych: doświadczenie STAT_EXPERIENCE – współczynnik ataku STAT_ATTACK – współczynnik obrony STAT_DEFENCE – STAT_SPELL_POWER – STAT_KNOWLEDGE – STAT_LUCK – współczynnik mocy współczynnik wiedzy szczęście STAT_MORALE – morale STAT_MOVE_POINTS – liczba pozostałych punktów ruchu STAT_MANA_POINTS – aktualna liczba punktów many delta – wartość modyfikacji CreateMonster CreateMonster– tworzy na mapie potwora Składnia CreateMonster(monsterName, creatureType, creaturesCount, x, y, floorID, mood=MONSTER_MOOD_AGGRESSIVE, courage=MONSTER_COURAGE_CAN_FLEE_JOIN, rotation=0); Opis Tworzy stworzenia w liczbie creaturesCount typu monsterType na polu o współrzędnych ( x, y ) na poziomie floorID, ustawiając jednocześnie jego parametr monsterName. Jeśli podane pole jest zajęte (istnieje na nim inny obiekt), stworzenie jest ustawiana na jednym z pól sąsiadujących. Dalsze dwa parametry wpływają na zachowanie potwora po spotkaniu bohatera. – nazwa stworzenia, która może zostać użyta w innych skryptach. monsterName – typ stworzenia. creatureType creaturesCount x, y – – liczba stworzeń. współrzędne pola , na którym stworzenie zostanie umieszczone. współrzędne poziomu na którym znajduje się docelowe pole. floorID – – te parametry wpływają na zachowanie się stworzenia po spotkaniu z bohaterem, może przybrać jedną z poniższych wartości: mood, courage MONSTER_MOOD_FRIENDLY, MONSTER_MOOD_AGGRESSIVE, MONSTER_MOOD_HOSTILE, MONSTER_MOOD_WILD MONSTER_COURAGE_ALWAYS_JOIN, MONSTER_COURAGE_ALWAYS_FIGHT, MONSTER_COURAGE_CAN_FLEE_JOIN rotation – kąt obrotu stworzenia (domyślnie 0). DeployReserveHero DeployReserveHero – umieszcza na mapie bohatera, który był na liście rezerwowej gracza. Składnia DeployReserveHero(heroName, x, y, floor); Opis Gdy tworzona jest mapa, cześć bohaterów może zostać zarezerwowana dla jakiegoś gracza. Tacy bohaterowie nigdy nie pojawią się w tawernie i nie będą mogli zostać normalnie zatrudnieni. Aby umieścić na mapie zarezerwowanego bohatera, należy użyć komendy DeployReserveHero, ustalając w parametrach imię bohatera oraz docelowe miejsce. Jeśli podane pole jest niedostępne , bohater zostanie umieszczony na jednym z pól sąsiadujących. Zarezerwowani bohaterowie, którzy zostali zabici, uciekli lub zostali usunięci z listy z innych powodów, zostaną z powrotem na tej liście umieszczeni i będą mogli zostać umieszczeni na mapie tą samą komendą. Ich armie zostaną przywrócone do tych ustalonych w edytorze. Aby usunąć bohatera z listy zarezerwowanych i dać możliwość wynajęcia go przez innych graczy należy użyć funkcji UnreserveHero. heroName x, y – imię zarezerowanego bohatera. – współrzędne pola, na którym zostanie umieszczony bohater. floorID – współrzędne poziomu, na którym znajduje się docelowe pole. EnableAIHeroHiring EnableAIHeroHiring – włącza lub wyłącza możliwość wynajmowania bohaterów w tawernie przez SI Składnia EnableAIHeroHiring(playerID, townName, enable); Opis Dzięki tej funkcji możesz pozwolić/zabronić SI wynajmowanie bohaterów w tawernie konkretnego miasta (domyślnie jest to dozwolone). playerID – Identyfikator gracza townName – nazwa miasta enable – wartość true aby włączyć, false aby wyłączyć EnableHeroAI EnableHeroAI – włącza lub wyłącza kontrolę SI nad danym bohaterem Składnia EnableHeroAI(heroName, enable); Opis Funkcja ta pozwala włączyć lub wyłączyć kontrolę SI nad podanym bohaterem. Może zostać użyta tylko w trybie pojedynczego gracza. Jeśli funkcja jest wywoływana dla gracza użytkownika, generowany jest komunikat o błędzie. Jeśli status kontroli bohatera jest taki sam jak w wywoływanej funkcji, funkcja nie przyniesie żadnych efektów. heroName – enable – imię bohatera wartość true aby włączyć, false aby wyłączyć IsObjectExists IsObjectExists – Sprawdza czy podany obiekt istnieje na mapie Składnia IsObjectExists(objectName); Opis Funkcja zwraca wartość true jeśli podany obiekt istnieje na mapie, w przeciwnym wypadku zwróci wartość false. Funkcji można użyć do …, ofiarowania OBJECT_GRAIL jeśli jest wymieniona jest jego nazwa. objectName – nazwa obiektu. GenerateMonsters GenerateMonsters – generuje potwory na mapie Składnia GenerateMonsters(monsterTypeID, countGroupsMin, countGroupsMax, countInGroupMin, countInGroupMax); Opis Ta funkcja generuje na mapie przygody potwory w losowych miejscach. Generowana jest liczba grup potworów od countGroupsMin do countGroupsMax, w liczbie od countInGroupMin do countInGroupMax każda. – identyfikator stworzeń monsterTypeID – minimalna liczba generowanych grup (musi być większa lub równa zero) countGroupsMin maksymalna liczba generowanych grup (musi być większa lub równa do countGroupsMax – countGroupsMin) countInGroupMin – minimalna liczba stworzeń w grupie (musi być większa lub równa zero) countInGroupMax – countInGroupMin) minimalna liczba stworzeń w grupie (musi być większa lub równa do GetCurrentPlayer GetCurrentPlayer – określa aktualnego gracza Składnia GetCurrentPlayer(void); Opis Funkcja zwraca identyfikator gracza, którego trwa aktualnie tura. GetDate GetDate – zwraca aktualny czas w grze (dzień, tydzień, miesiąc lub dzień tygodnia) Składnia GetDate(dateTypeID); Opis Funkcja zwraca aktualny czas w grze. Parametr decyduje o tym co ma być zwrócone: aktualny dzień, tydzień miesiąc czy dzień tygodnia. Domyślnie (funkcja wywoływana bez parametru) zwraca aktualny dzień. dateTypeID – typ zwracanej informacji Może to być: – dzień DAY WEEK – tydzień MONTH – miesiąc – dzień tygodnia DAY_OF_WEEK ABSOLUTE_DAY – to samo co DAY GetHeroCreatures GetHeroCreatures – określa liczbę storzeń określonego typu w armii bohatera Składnia GetHeroCreatures(heroName, creatureID); Opis Funkcja zwraca liczbę konkretnych istot, znajdujących się pod dowództwem konkretnego bohatera. heroName – imię bohatera creatureID – identyfikator stworzenia GetHeroLevel GetHeroLevel – okresla poziom bohatera Składnia GetHeroLevel(heroname); Opis Funkcja zwraca aktualny poziom bohatera heroname. Błąd • Jeśli nie ma bohatera o imieniu heroname (IsHeroAlive(heroname) zwraca nil/false) GetHeroStat GetHeroStat – określa parametry bohatera Składnia GetHeroStat(heroName, statID); Opis Funkcja zwraca wartość konkretnej statystyki bohatera. Można określić następujące statystyki: doświadczenie, atak, obrona, moc, wiedza, szczęście, morale, punkty ruchu, punkty many. Wartość statystyk jest określana, biorąc pod uwagę wszystkie efekty (artefakty, itp.) imię bohatera heroName – statID – identyfikator statystyki, może przyjąć następujące wartości: doświadczenie STAT_EXPERIENCE – atak STAT_ATTACK – obrona STAT_DEFENCE – STAT_SPELL_POWER – STAT_KNOWLEDGE – STAT_LUCK – moc wiedza szczęście STAT_MORALE – morale STAT_MOVE_POINTS – pozostałe punkty ruchu STAT_MANA_POINTS – aktualna liczba punktów many GetObjectCreatures GetObjectCreatures – określa liczbę stworzeń podanego typu w armii obiektu Składnia GetObjectCreature(objectName, creatureID); Opis Funkca zwraca liczbę stworzeń określonego typu w armii konkretnego obiektu. Funkcji można użyć na każdym obiekcie posiadającym armię (w tym bohaterów i potworów). objectName – nazwa obiektu creatureID – Identyfikator stworzenia GetObjectiveProgress GetObjectiveProgress – określa postęp w wypełnianiu celu misji Składnia GetObjectiveProgress(objectiveName, playerID = PLAYER_1); Opis Funkcja określa postęp w wypełnianiu celu objectiveName. Dla celów właściwych dla wszystkich graczy, parametr playerID określa gracza, którego postęp ma zostać określony (jeśli parametr nie jest podany, funkcja dotyczy do pierwszego gracza). Dla celów właściwych tylko dla konkretnego gracza, parametr playerID jest ignorowany. Liczba kroków w ręcznie kontrolowanych celach jest określana po ilości komentarzy postępu ustawionych w edytorze. Cele ‘seize the specified on-map objects’ oraz ‘destroy the specified neutral armies’ posiadają liczbę kroków taką samą jak ilość obiektów do zajęcia, znajdujących się na mapie lub liczby armii jakie trzeba pokonać. Inne cele nie mają etapów postępu i mogą być tylko ukończone lub nie. objectiveName – nazwa celu misji identyfikator gracza, którego postęp ma być określany (ignorowane przy celach dla konkretnego gracza i domyślnie dotyczy gracza PLAYER_1) playerID – GetObjectiveState GetObjectiveState – określa status celu Składnia GetObjectiveState(objectiveName, playerID = PLAYER_1); Opis Funkcja zwraca status celu objectiveName dla konkretnego gracza. Dla celów zależnych od gracza, parametr playerID jest ignorowany. Dla celów zwykłych, jeśli nie został podany parametr playerID, funkcja będzie dotyczyć gracza pierwszego. nazwa celu misji objectiveName – identyfikator gracza, dla którego status celu ma być określany (ignorowane przy celach dla konkretnego gracza i domyślnie dotyczy gracza PLAYER_1) playerID – Lista możliwych statusów: OBJECTIVE_SCENARIO_INFO – specjalny status, określający że ten cel jest w rzeczywistości opisem scenariusza aktualnej mapy. OBJECTIVE_UNKNOWN – cel nie jest znany graczowi. Jeśli włączona jest flaga dla celu (zobacz funkcje GetObjectiveState / SetObjectiveState), interfejs celów będzie zawierał tylko niejasny opis zadania. OBJECTIVE_ACTIVE – gracz aktualnie jest w trakcie wykonywania celu. OBJECTIVE_COMPLETED OBJECTIVE_FAILED – cel jest ukończony. – cel zakończył się niepowodzeniem. GetObjectOwner GetObjectOwner – określa przynależność obiektu Składnia GetObjectOwner(objectName); Opis Funkcja zwraca identyfikator gracza, który jest właścicielem podanego obiektu. Jeśli obiekt nie należy do nikogo, funkcja zwraca wartość PLAYER_NONE. objectName – nazwa obiektu GetObjectsInRegion GetObjectsInRegion – określa jakie obiekty istnieją w podanym regionie Składnia GetObjectsInRegion(regionName, objectType); Opis Funkcja zwraca nazwy obiektów na mapie, znajdujących się w obrębie regionu. Obiekty bez nazw są ignorowane. regionName – nazwa regionu objectType – typ obiektów, których funkcja ma szukać w regionie Aktualnie, funkcja działa tylko z jednym typem obiektów: – bohaterowie OBJECT_HERO GetObjectPosition GetObjectPosition – określa pozycję obiektu na mapie Składnia GetObjectPosition(objectName); Opis Funkcja zwraca trzy wartości: x oraz y to współrzędne pola na którym znajduje się obiekt (lub jeśli obiekt zajmuje kilka pól, zwraca położenie jego środka) oraz liczbę określającą poziom. Tej funkcji można użyć do …, danie OBJECT_GRAIL jako nazwa obiektu. objectName – nazwa obiektu GetPlayerHeroes GetPlayerHeroes – zwraca imiona bohaterów należących do gracza Składnia GetPlayerHeroes(playerID); Opis Funkcja zwraca tablicę zawierającą imiona bohaterów należących do podanego gracza. playerID – identyfikator gracza GetPlayerResource GetPlayerResource – sprawdza ilość zasobów konkretnego gracza. Składnia GetPlayerResource(player, resourceKind); Opis Ta funkcja zwraca ilość zasobu typu resourceKind należących do gracza player. — numer gracza od 1 do 8. Można użyć stałych globalnych PLAYER_1 do PLAYER_8 zamiast liczb. player resourceKind GEM, or GOLD. – liczba od 0 do 6, lub jedna ze stałych: WOOD, ORE, MERCURY, CRYSTAL, SULFUR, Komenda działa dla graczy aktywnych, a także przegranych. Żądanie sprawdzenia ilości zasobów gracza, który nie uczestniczy w rozgrywce kończy się błędem. Błąd • • Jeśli wartości nie są wartościami dopuszczonymi; jeśli wymieniony gracz nie bierze udziału w rozgrywce GetTownBuildingLevel GetTownBuildingLevel – określa poziom budynku w mieście Składnia GetTownBuildingLevel(townName, buildingID); Opis Funkcja zwraca poziom konkretnego budynku w mieście. Level 0 oznacza, że budynek nie został wzniesiony. townName – nazwa miasta buildingID – identyfikator budynku, może przyjąć następujące wartości: TOWN_BUILDING_TOWN_HALL, TOWN_BUILDING_FORT, TOWN_BUILDING_MARKETPLACE, TOWN_BUILDING_SHIPYARD, TOWN_BUILDING_TAVERN, TOWN_BUILDING_BLACKSMITH, TOWN_BUILDING_MAGIC_GUILD, TOWN_BUILDING_DWELLING_1, TOWN_BUILDING_DWELLING_2, TOWN_BUILDING_DWELLING_3, TOWN_BUILDING_DWELLING_4, TOWN_BUILDING_DWELLING_5, TOWN_BUILDING_DWELLING_6, TOWN_BUILDING_DWELLING_7, TOWN_BUILDING_GRAIL, TOWN_BUILDING_WONDER, TOWN_BUILDING_HAVEN_TRAINING_GROUNDS, TOWN_BUILDING_HAVEN_MONUMENT_TO_FALLEN_HEROES, TOWN_BUILDING_HAVEN_HOSPITAL, TOWN_BUILDING_HAVEN_STABLE, TOWN_BUILDING_HAVEN_FARMS, TOWN_BUILDING_INFERNO_INFERNAL_LOOM, TOWN_BUILDING_INFERNO_ORDER_OF_FIRE, TOWN_BUILDING_INFERNO_HALLS_OF_HORROR, TOWN_BUILDING_INFERNO_SACRIFICIAL_PIT, TOWN_BUILDING_DUNGEON_ALTAR_OF_ELEMENTS, TOWN_BUILDING_DUNGEON_RITUAL_PIT, TOWN_BUILDING_DUNGEON_TRADE_GUILD, TOWN_BUILDING_DUNGEON_TREASURE_DIG_SITE, TOWN_BUILDING_DUNGEON_HALL_OF_INTRIGUE, TOWN_BUILDING_ACADEMY_LIBRARY, TOWN_BUILDING_ACADEMY_ARCANE_FORGE, TOWN_BUILDING_ACADEMY_ARTIFACT_MERCHANT, TOWN_BUILDING_ACADEMY_TREASURE_CAVE, TOWN_BUILDING_ACADEMY_ELEMENTAL_ENCLAVE, TOWN_BUILDING_PRESERVE_AVENGERS_BROTHERHOOD, TOWN_BUILDING_PRESERVE_MYSTIC_POND, TOWN_BUILDING_PRESERVE_SPARKLING_FONTAINS, TOWN_BUILDING_PRESERVE_BLOOMING_GROVE, TOWN_BUILDING_PRESERVE_TREANT_SAMPLING, TOWN_BUILDING_NECROMANCY_AMPLIFIER, TOWN_BUILDING_NECROMANCY_UNHOLY_TEMPLE, TOWN_BUILDING_NECROMANCY_UNEARHED_GRAVES, TOWN_BUILDING_NECROMANCY_DRAGON_TOMBSTONE, TOWN_BUILDING_NECROMANCY_SHROUD_OF_DARKNESS. NB: Sprawdzanie budynku innej rasy niż sprawdzane miasto, może spowodować wystąpienie błędów. GetTownBuildingLimitLevel GetTownBuildingLimitLevel – określa limit poziomu dla budynku w mieście. Składnia GetTownBuildingLimitLevel(townName, buildingID); Opis Funkcja zwraca możliwy limit poziomu podanego budynku w mieście. Level 0 oznacza, że budynek nie może być wzniesiony. townName – nazwa miasta – identyfikator budynku (spójrz na opis GetTownBuildingLevel w poszukiwaniu listy możliwych wartości). buildingID GetTownBuildingMaxLevel GetTownBuildingMaxLevel – określa maksymalny poziom budynku w mieście Składnia GetTownBuildingMaxLevel(townName, buildingID); Opis Ta funkcja zwraca maksymalny możliwy do zbudowania poziom konkretnego budynku w mieście. Level 0 oznacza, że budynek nie może zostać wzniesiony. townName – nazwa miasta identyfikator budynku (zobacz opis GetTownBuildingLevel w poszukiwaniu listy możliwych wartości). buildingID – GetTownHero GetTownHero – zwraca imię bohatera stacjonującego w mieście Składnia GetTownHero(townName); Opis Funkcja zwraca imię bohatera stacjonującego w konkretnym mieście, lub wartość nil jeśli nie ma bohatera w garnizonie. townName – nazwa miasta GiveArtefact GiveArtefact – daje bohaterowi artefakt Składnia GiveArtefact(heroname, artefactID, [bindToHero = 0]); Opis Daje artefakt artefactID bohaterowi heroname. artefactID – numer artefaktu od 0 do 55, lub stała z listy – przypisuje artefakt do bohatera (niemożliwym będzie wówczas przekazanie artefaktu innemu bohaterowi) bindToHero Błąd • jeśli nie ma bohatera o nil/false) imieniu heroname (IsHeroAlive(heroname) zwraca wartość LevelUpHero LevelUpHero – daje bohaterowi tyle doświadczenia ile potrzebuje aby awansował na kolejny poziom Składnia LevelUpHero(heroName); Opis Funkcja daje bohaterowi heroName tyle doświadczenia, ile potrzebuje na awans na kolejny poziom. Funkcja zwraca wartość true jeśli możliwym było uzyskanie przez bohatera poziomi, oraz wartość nil jeśli nie było to możliwe (bohater posiada już maksymalny możliwy poziom). heroName – imię bohatera GiveHeroSkill GiveHeroSkill – daje bohaterowi konkretną podstawową umiejętność Składnia GiveHeroSkill(heroName, skillID); Opis Funkcja próbuje ofiarować bohaterowi podaną podstawową umiejętność. Zwraca wartość false jeśli nie było to możliwe (np., bohater ma opanowane mistrzostwo w tej dziedzinie, lub nie ma już miejsca na tą umiejętność), inaczej zwraca wartość true. imię bohatera heroName – identyfikator umiejętności skillID – GiveHeroWarMachine GiveHeroWarMachine – daje bohaterowi machinę wojenną Składnia GiveHeroWarMachine(heroName, warMachineType); Opis Funkcja próbuje dać bohaterowi wymienioną machinę wojenną. Zwraca wartość nil jeśli bohater posiada już taką machinę, inaczej zwraca wartość non nil. heroName – imię bohatera warMachineID – identyfikator machiny HasArtefact HasArtefact – sprawdza czy bohater ma artefakt Składnia HasArtefact(heroname, artefactID); Opis Funkcja zwraca informację o tym, czy bohater heroname posiada artefakt artefactID. – numer artefaktu od 0 do 54 (opis artefaktów na stronie internetowej H5 mówi, że 'istnieje 54 artefakty i jeden z nich może być podwójny, więc będzie ich 55', w rzeczywistości jest ich w grze jedynie 53). artefactID Powinniśmy również (prawdopodobnie) poprawić stałe dla artefaktów, aby używać HasArtefact("Agrael", SWORD_OF_RUINS) zamiast HasArtefact("Agrael", 0). Błąd • jeśli nie ma bohatera o nil/false) imieniu heroname (IsHeroAlive(heroname) funkcja zwraca wartość HasBorderguardKey HasBorderguardKey – sprawdza czy gracz posiada klucz danego koloru Składnia HasBorderguardKey(player, color); Opis Funkcja zwraca wartość not nil jeśli gracz posiada klucz danego koloru, oraz wartość nil jeśli nie posiada. numer gracza player – color – kolor klucza; może przybrać następujące wartości: RED_KEY, BLUE_KEY, GREEN_KEY, YELLOW_KEY, ORANGE_KEY, TEAL_KEY, PURPLE_KEY, TAN_KEY. HasHeroSkill HasHeroSkill – sprawdza czy bohater posiada umiejętność Składnia HasHeroSkill(heroName, skillID); Opis Funkcja zwraca wartość true jeśli bohater posiada wymienioną umiejętność (nauczoną lub z artefaktu), w przeciwnym przypadku zwraca wartość false. heroName – imię bohatera – identyfikator umiejętności skillID HasHeroWarMachine HasHeroWarMachine – sprawdza czy bohater posiada konkretną machinę wojenną Składnia HasHeroWarMachine(heroName, warMachineType); Opis Zwraca wartość not nil jeśli bohater posiada wymienioną machinę wojenną, inaczej zwraca wartość nil. heroName – imię bohatera warMachineID – identyfikator machiny wojennej IsHeroAlive IsHeroAlive – czy bohater żyje? Składnia IsHeroAlive(heroname); Opis Funkcja sprawdza czy istnieje bohater heroname, jeśli tak, bohater żyje. Bohater jest żywy, jeśli należy do jednego z aktywnych graczy (tacy dla których funkcja GetPlayerState() zwraca wartość true). Nie ma znaczenia gdzie bohater się znajduje podczas sprawdzania: na powierzchni, w podziemiach, w mieście czy na łodzi. heroname jest to wewnętrzne skryptowe imię bohatera (nie to które jest ustalane podczas tworzenia mapy). IsHeroLootable IsHeroLootable – sprawdza czy można zabrać artefakty pokonanego bohatera. Składnia IsHeroLootable(heroName); Opis Zwraca wartość not nil jeśli artefakty są przenoszone do zwycięzcy bitwy, oraz wartość nil jeśli pozostają z pokonanym bohaterem. heroName – imię bohatera IsObjectEnabled IsObjectEnabled – sprawdza czy obiekt interaktywny oddziałuje z bohaterem standardowo Składnia IsObjectEnabled(objectName); Opis Jeśli funkcja zwraca wartość true, obiekt interaktywny zachowuje się standardowo. Jeśli funkcja zwraca wartość false, gdy do obiektu podejdzie bohater, nic się nie dzieje, natomiast zostaje wywołana funkcja wyzwalacza, jeśli została taka zdefiniowana. Domyślnie każdy obiekt zachowuje sięstandardowo. objectName – nazwa obiektu interaktywnego. IsObjectInRegion IsObjectInRegion – sprawdza, czy w wymienionym regionie znajduje się obiekt Składnia IsObjectInRegion(objectName, regionName); Opis Funkcja zwraca wartość true, jeśli obiekt znajduje się w granicach wymienionego regionu, oraz wartość false w przeciwnym przypadku. NB: funkcja działa prawidłowo jedynie z obiektami zajmującymi jedno pole. objectName – nazwa obiektu regionName – nazwa regionu IsObjectiveVisible IsObjectiveVisible – sprawdza, czy cel misji jest wyświetlony na interfejsie danego gracza Składnia IsObjectiveVisible(objectiveName, playerID = PLAYER_1); Opis Funkcja zwraca wartość true, jeśli cel jest pokazany na interfejsie podanego gracza, oraz wartość false jeśli nie jest. Dla celów zależnych od gracza, parametr playerID jest ignorowany. Dla celów zwykłych, parametr playerID określa gracza, dla którego wyświetlanie celu jest sprawdzane; jeśli nie jest, funkcja sprawdza gracza pierwszego.. objectiveName – nazwa celu – identyfikator gracza (dla celów zależnych od gracza parametr jest ignorowany, domyślnie oznacza PLAYER_1). playerID IsObjectVisible IsObjectVisible – sprawdza czy obiekt jest widzialny dla gracza Składnia IsObjectVisible(playerID, objectName); Opis Funkcja zwraca wartość true, jeśli obiekt jest widzialny dla gracza oraz wartość false jeśli nie jest. NB: funkcja działa prawidłowo jedynie z obiektami zajmującymi jedno pole. playerID – identyfikator gracza objectName – nazwa obiektu IsRegionBlocked IsRegionBlocked – sprawdza czy dany region jest zablokowany dla ruchu bohaterów konkretnego gracza Składnia IsRegionBlocked(regionName, playerID); Opis Funkcja zwraca wartość not nil jesłi region jest zablokowany dla ruchu bohaterów wymienionego gracza, oraz wartość nil jeśli nie jest. regionName playerID – nazwa regionu – identyfikator gracza KnowHeroSpell KnowHeroSpell – sprawdza czy bohater zna czar Składnia KnowHeroSpell(heroName, spell); Opis Funkcja zwraca wartość true, jeśli bohater zna dany czar (niezależnie od tego czy się go nauczył, czy ma go z artefaktu), inaczej zwraca wartość false. heroName spell – imię bohatera – identyfikator czaru Zajrzyj do załącznika, tam lista identyfikatorów czarów. Loose Loose – gracz ludzki przegrywa jeśli funkcja zostanie wywołana. Składnia Loose(void); Opis Funkcja powinna być używana tylko w trybie dla pojedynczego gracza. Gdy zostanie użyta w grze multiplayer wygeneruje błąd. Po wywołaniu funkcji gracz przegrywa misję. MarkObjectAsVisited MarkObjectAsVisited – oznacza nie działający interaktywny obiekt jako odwiedzony przez konkretnego bohatera Składnia MarkObjectAsVisited(objectName, heroName); Opis Komenda powinna być wywołana, gdy bohater odwiedzi wyłączony, z powodu wywołania komendy SetObjectEnabled, interaktywny obiekt. nazwa interaktywnego obiektu objectName – heroName – imię bohatera, który odwiedza interaktywny obiekt MessageBox MessageBox – wysyła wiadomość Składnia MessageBox(messageName, callback = ""); Opis Funkcja wyświetla wiadomość w okienku z jedynym przyciekiem – 'OK'. Parametr callback ustala funkcję, która ma być wywołana po wciśnięciu przycisku 'OK'. messageName – nazwa wiadomości w bazie zasobów callback – nazwa funkcji, która ma być wywołana po wciśnięciu przycisku 'OK'. MoveCamera MoveCamera – przesuwa kamerę do konkretnego punktu na mapie Składnia MoveCamera(x, y, floorID, zoom = 50 , pitch = pi/2 , yaw = 0, noZoom = 0, noRotate = 0); Opis Ta funkcja przesuwa kamerę do podanego punktu oraz ustawia wartości przybliżenia i kątu kamery. x, y, floorID – parametr decyduje o odległości od wybranego pola zoom – kąt kamery ( 0 – kamera obserwuje poziomo, pi/2 – kamera skierowana pionowo w dół) pitch yaw – współrzędne pola na którym ma być skupiona kamera – kąt obrotu kamery (0 – północ) – ustaw 1 aby kamera nie zmieniała przybliżenia podczas ruchu noZoom ustaw 1 aby kamera się nie obracała podczas ruchu noZoom – MoveHero MoveHero – każe bohaterowi przejść do konkretnego miejsca Składnia MoveHero(heroName, x, y, floorID = -1); Opis Ta funkcja każe bohaterowi przejść do wybranego miejsca. Jeśli nie podany jest poziom, bohater przejdzie do punktu na tym poziomie, na którym się znajduje. Funkcja może zostać wywołana tylko dla graczy kontrolowanych przez komputer z wyłączoną kontrolą SI. Funkcja generuje błąd jeśli podany punkt jest nieosiągalny. Jeśli punkty ruchu bohatera się skończą, ruch będzie kontynuowany w następnej turze. – imię bohatera heroName współrzędne celu x, y – floorID – numer poziomu (domyślnie -1, co oznacza poziom, na którym bohater się znajduje) MoveHeroRealTime MoveHeroRealTime – bohater przechodzi do konkretnego punktu Składnia MoveHeroRealTime(heroName, x, y, floorID = -1); Opis Funkcja rozkazuje bohaterowi przejście do konkretnego miejsca. Jeśli nie został podany poziom, bohater przejdzie do punktu na poziomie, na którym stoi. Funkcja generuje błąd, jeśli podany punkt jest nieosiągalny. Ruch rozpoczyna się od razu, niezależnie od tego czyja tura trwa aktualnie. Dalszy skrypt jest wykonywany od razu, bez czekania na zakończenie ruchu bohatera. Interfejs użytkownika i kontrola SI są podczas ruchu zablokowane. Jeśli punkty ruchu się skończą lub bohater natrafi na przeszkodę, zatrzymuje się bez interakcji z obiektem (oznacza to że bohater nie ma możliwości używania teleportów, łodzi itp.). – imię bohatera heroName współrzędne celu x, y – floorID – numer poziomu (domyślnie -1, co oznacza poziom, na którym bohater się znajduje) GetAllNames GetAllNames – podaje listę zawierającą obiekty na mapie Składnia GetAllNames(filter = 0); Opis Funkcja zwraca ciąg zawierający listę wszystkich obiektów znajdujących się na mapie. Nazwy są rozdzielone spacjami. Parametr filter pustala typ obiektów, których nazwy zostaną wymienione. Możliwe wartości parametru filter: •0 – imiona bohaterów aktywnych graczy OpenCircleFog OpenCircleFog – usuwa mgłę wojny z wybranego obszaru Składnia OpenCircleFog(x, y, floorID, range, playerID); Opis Ta funkcja usuwa dla gracza mgłę wojny na poziomie floorID, na obszarze o kształcie koła o środku w punkcie (x, y) i promieniu range. – identyfikator gracza player – współrzędne środka koła x, y – numer poziomu floorID – promień koła range OpenRegionFog OpenRegionFog – usuwa mgłę wojny z konkretnego regionu Składnia OpenRegionFog(player, regionName); Opis Funkcja usuwa dla gracza mgłę wojny na obszarze wymienionego regionu. player – identyfikator gracza regionName – nazwa regionu Play2DSound Play2DSound – odtwarza dźwięk 2D Składnia Play2DSound(soundName); Opis Odtwarza dźwięk 2D o danej nazwie. Jeśli dźwięk jest ustawiony na odtwarzanie cykliczne, funkcja zwraca identyfikator dźwięku, który może zostać przesłany do funkcji StopPlaySound, która zatrzyma jego odtwarzanie Jeśli dźwięk nie jest odtwarzany cyklicznie, funkcja zwraca -1. soundName – nazwa dźwięku Play3DSound Play3DSound – odtwarza dźwięk 3D Składnia Play3DSound(soundName, x, y, floor); Opis Odtwarza dźwięk 3D o podanej nazwie. Źródłem dźwięku jest pole o współrzędnych x и y, na poziomie floor. Jeśli dźwięk jest ustawiony na odtwarzanie cykliczne, funkcja zwraca identyfikator dźwięku, który może zostać przesłany do funkcji StopPlaySound, która zatrzyma jego odtwarzanie Jeśli dźwięk nie jest odtwarzany cyklicznie, funkcja zwraca -1. soundName – nazwa dźwięku PlayObjectAnimation PlayObjectAnimation – odtwarza animację na obiekcie Składnia PlayObjectAnimation(objectName, animName, action); Opis Odtwarza animację animName na wskazanym obiekcie. Parametr action określa jak animacja ma być odtwarzana. W grze istnieją następujące typy animacji: – (specjalne) obiekt staje się niewidoczny INVISIBLE random random – losuje liczbę Składnia random(top); Opis Funkcja zwraca losową liczbę z przedziału od zera do top – 1. Argument funkcji musi być liczbą całkowitą nieujemną. RazeTown RazeTown – niszczy miasto na mapie Składnia RazeTown(townName); Opis Usuwa podane miasto z mapy i zastępuje je obiektem statycznym – zniszczonym miastem. Obiekt zastępujący jest określany w polu razed w AdvMapTownShared. Jeśli to pole jest puste, miasto nie może zostać zniszczone. Ilość pól obiektu zastępującego musi być taka sama jak obiektu oryginalnego. Zniszczone miasto, tak samo jak inne statyczne obiekty, nie może mieć pól interaktywnych. townName – nazwa miasta RegionToPoint RegionToPoint – określa współrzędne i numer poziomu punktowego regionu Składnia RegionToPoint(regionName); Opis Funkcja zwraca współrzędne X i Y, oraz numer poziomu, na którym znajduje się region o obszarze jednego pola. Jeśli nie zostanie podany region punktowy, zostanie wygenerowany błąd. regionName – nazwa regionu RemoveArtefact RemoveArtefact – usuwa jeden z artefaktów bohatera Składnia RemoveArtefact(heroname, artefactID); Opis Usuwa artefakt artefactID należący do bohatera heroname. artefactID – numer artefaktu od 0 do 55, lub stała z listy Błąd • jeśli nie ma bohatera o imieniu heroname (IsHeroAlive(heroname) zwraca nil/false) • jeśli bohater nie ma takiego artefaktu (advmap.HasArtefact(heroName,artefactID) zwraca nil/false) RemoveHeroCreatures RemoveHeroCreatures – usuwa istoty z armii bohatera Składnia RemoveHeroCreatures(heroname, creatureID, quantity); Opis Usuwa istoty o identyfikatorze creatureID w ilości quantity oz armii bohatera o imieniu heroname. Jeśli ilość istot danego typu w armii jest mniejsza od liczby podanej, wszystkie tego typu istoty zostaną usunięte. Jeśli w armii nie ma innych istot poza tymi do usunięcia, komenda usunie je wszystkie poza jedną. heroname – imię bohatera. Komenda działa również w przypadku bohaterów nieaktywnych (w tawernach, więzieniach, itp.) Tylko stworzenia mogą zostać usunięte. Nie można usunąć machin wojennych. creatureID – quantity – identyfikator stworzenia ilość stworzeń RemoveHeroWarMachine RemoveHeroWarMachine – usuwa machinę wojenną bohatera Składnia RemoveHeroWarMachine(heroName, warMachineType); Opis Funkcja próbuje usunąć jedną z machin wojennych bohatera. Jeśli bohater nie ma takiej machiny, lub niemożliwe jest jej usunięcie, funkcja zwraca wartość nil, inaczej zwraca not nil. heroName – imię bohatera warMachineID – typ machiny wojennej NB: Bohater zawsze posiada katapultę i nie może ona zostać usunięta. RemoveObject RemoveObject – usuwa obiekt z mapy. Składnia RemoveObject(objectName); Opis Funkcja usuwa z mapy obiekt o konkretnej nazwie. objectName – nazwa obiektu RemoveObjectCreatures RemoveObjectCreatures – usuwa stworzenia z armii obiektu Składnia RemoveObjectCreatures(objectName, creatureID, quantity); Opis Usuwa stworzenia typu creatureID w ilości quantity z armii obiektu objectName. Jeśli liczba stworzeń w armii jest mniejsza od podanej w parametrze quantity, wszystkie takie stworzenia zostaną usunięte. Komendę można zastosować do wszystkich obiektów posiadających armie (włączając w to potwory i bohaterów). Jeśli obiektem jest bohater i nie posiada innych stworzeń poza tymi do usunięcia, komenda usuwa wszystkie z nich oprócz jednego. Jeśli obiektem jest potwór i wszystkie stworzenia zostaną usunięte, potwór zostanie usunięty z mapy. objectName – nazwa obiektu creatureID – quantity – typ stworzenia ilość stworzeń Tylko stworzenia mogą zostać usunięte. Nie można usunąć machin wojennych. ResetHeroCombatScript ResetHeroCombatScript – resetuje skrypt, który został uruchomiony podczas walki z bohaterem Składnia ResetHeroCombatScript(heroName); Opis Funkcja mówi, że żaden skrypt nie może zostać uruchomiony podczas zwalczania bohatera. Jeśli walka toczy się w miejscu gdzie jest ustalony inny skrypt walki (miasto, garnizon, itp.), to ten skrypt zostanie uruchomiony. heroName – imię bohatera ResetObjectFlashlight ResetObjectFlashlight – usuwa źródło światła punktowego z mapy Składnia ResetObjectFlashlight(objectName); Opis Komenda usuwa dodatkowe źródło światła, dodane przez komendę SetObjectFlashlight, z podanego obiektu. objectName – nazwa obiektu. SetAIHeroAttractor SetAIHeroAttractor – ustawia cel dla konkretnego bohatera SI Składnia SetAIHeroAttractor(objectName, heroName, priority); Opis Funkcja modyfikuje priorytet siedziby dla konkretnego bohatera SI. NB: Modyfikacja oceny może zostać usunięta jeśli zostanie ustawiony priorytet 0. NB: Funkcja działa prawidłowo tylko dla obiektów niemobilnych. objectName – nazwa obiektu heroName – imię bohatera priority – priorytet celu (przedział od -1 do 2). -1 – priorytet znacznie obniżony. 0 – priorytet niezmieniony 1 – priorytet znacznie zwiększony. Jednak SI nie będzie ryzykować swoich bohaterów dla zdobycia tej siedziby. 2 – priorytet równy zwycięstwu. SI będzie ignorować wszystkie niebezpieczeństwa związane z zajęciem tej siedziby. SetAIPlayerAttractor SetAIPlayerAttractor – ustawia cel dla wszystkich bohaterów SI Składnia SetAIPlayerAttractor(objectName, playerID, priority); Opis Funkcja ustawia ocenę siedziby dla wszystkich bohaterów konkretnego gracza komputerowego. NB: Modyfikacja oceny może zostać usunięta jeśli zostanie ustawiony priorytet 0. NB: Funkcja działa prawidłowo tylko dla obiektów niemobilnych objectName playerID – nazwa obiektu – identyfikator gracza priority – priorytet celu (przedział od -1 do 2). -1 – priorytet znacznie obniżony. 0 – priorytet niezmieniony 1 – priorytet znacznie zwiększony. Jednak SI nie będzie ryzykować swoich bohaterów dla zdobycia tej siedziby. 2 – priorytet równy zwycięstwu. SI będzie ignorować wszystkie niebezpieczeństwa związane z zajęciem tej siedziby. SetCombatLight SetCombatLight – modyfikuje oświetlenie wszystkich pól walki Składnia SetCombatLight(lightName); Opis Funkcja zmienia światło otoczenia wszystkich aren walki na podane w parametrach komendy. – odwołanie do źródła światła w bazie zasobów lightName SetHeroCombatScript SetHeroCombatScript – mówi jaki skrypt ba być uruchomiony podczas walki z bohaterem Składnia SetHeroCombatScript(heroName, scriptName); Opis Funkcja mówi jaki skrypt ma być uruchomiony podczas walki z bohaterem. Skrypt można uruchomić tylko w przypadku bohaterów SI i tylko jeśli nie ma innego skryptu przypisanego do miejsca, w którym toczy się walka (miasto, garnizon, itp.). Skrypt jest automatycznie resetowany jeśli gracz straci bohatera. heroName – imię bohatera scriptName – odwołanie do skryptu SetHeroLootable SetHeroLootable – ustawia możliwość rabowania artefaktów bohatera po jego pokonaniu. Składnia SetHeroLootable(heroName, enable); Opis Parametr enable ustala czy artefakty bohatera zostaną przekazane zwycięzcy (not nil) czy pozostaną z pokonanym bohaterem (nil). heroName enable – imię bohatera – parametr ustalający przekazywanie artefaktów po walce SetAmbientLight SetAmbientLight – zmienia oświetlenie otoczenia na wskazanym poziomie Składnia SetAmbientLight(floorID, lightName, fade = false , time = 1); Opis Funkcja ustawia nowe źródło oświetlenia na podanym poziomie mapy. Lista dostępnych źródeł światła jest wymieniona w opisie mapy. floorID – numer poziomu, na którym ma być zmienione oświetlenie nazwa źródła oświetlenia lightName – – parametr ustalający czy światło ma być zmieniane stopniowo (fade = true) czy natychmiastowo (fade = false) (stare i nowe oświetlenie muszą różnić się tylko kolorem) fade time – jak długo światło będzie się zmieniało SetObjectEnabled SetObjectEnabled – włącza lub wyłącza standardowy tryb interakcji obiektu z bohaterem Składnia SetObjectEnabled(objectName, enable); Opis Komenda pozwala na włączanie i wyłączanie standardowego zachowania obiektów interaktywnych. Domyślnie obiekt zajmuje się standardowo. Jeśli funkcja zostanie wywołana z parametrem enable równym false, gdy bohater podejdzie do obiektu nic się nie stanie tylko wywołana zostanie funkcja wyzwalacza, jeśli taka funkcja została ustalona. objectName – enable nazwa obiektu interaktywnego – parametr określający czy obiekt ma się zachowywać standardowo, czy nie SetObjectiveProgress SetObjectiveProgress – ustawia postęp celu misji Składnia SetObjectiveProgress(objectiveName, step, playerID = PLAYER_1); Opis Funkcja ustawia postęp celu objectiveName. Dla celów zwykłych parametr playerID określa dla którego gracza postęp ma być ustawiany (jeśli parametr nie jest podany, ustawiany jest postęp gracza pierwszego). W przypadku celów zależnych od gracza parametr playerID jest ignorowany. Postęp może być ustawiany tylko dla celów kontrolowanych ręcznie. Ilość kroków postępu w ręcznie kontrolowanych celach zależy od liczby komentarzy postępu ustawionych w edytorze. objectiveName – nazwa celu – krok postępu step identyfikator gracza, dla którego postęp ma być ustawiany (dla celów zaleznych od gracza, parametr jest ignorowany i domyślnie odnosi się do PLAYER_1). playerID – SetObjectiveState SetObjectiveState – zmienia status celu Składnia SetObjectiveState(objectiveName, state, playerID = PLAYER_1); Opis Funkcja zmienia status celu objectiveName dla podanego gracza. W przypadku celów zależnych od gracza parametr playerID jest ignorowany. Dla zwykłych celów, parametr playerID oznacza gracza, dla którego status celu ma być zmieniony; inaczej zmieniony zostaje status dla pierwszego gracza. objectiveName – state nazwa celu – status jaki ma zostać ustawiony identyfikator gracza dla którego status będzie zmieniany (dla celów zależnych od gracza, parametr jest ignorowany, domyślnie oznacza gracza PLAYER_1). playerID – Tabela dozwolonych zmian: OBJECTIVE_SCENARIO_INFO -> brak (zadanie jest w rzeczywistości opisem scenariusza)OOBJECTIVE_UNKNOWN -> OBJECTIVE_ACTIVE (jeśli aktywacja celu nie zależy od ukończenia innych celów) oraz OBJECTIVE_FAILED (jeśli cel oznaczony jako kontrolowany ręcznie). OBJECTIVE_ACTIVE -> OBJECTIVE_COMPLETED, OBJECTIVE_FAILED (jeśli cel oznaczony jako kontrolowany ręcznie). -> OBJECTIVE_ACTIVE oraz OBJECTIVE_FAILED (jeśli cel jest oznaczony jako taki co może stracić status ukończenia i jest oznaczony jako kontrolowany ręcznie) . OBJECTIVE_COMPLETED OBJECTIVE_FAILED -> brak NB: Jeśli cel zostaje ustawiony jako OBJECTIVE_ACTIVE, staje sie automatycznie widzialny dla gracza (zajrzyj do funkcji IsObjectiveVisible / SetObjectiveVisible). SetObjectiveVisible SetObjectiveVisible – pokazuje lub ukrywa cel na interfejsie podanego gracza Składnia SetObjectiveVisible(objectiveName, enable, playerID = PLAYER_1); Opis Cel objectiveName zostanie pokazany na interfejsie gracza jeśli parametr enable wynosi true, lub zostanie ukryty jeśli parametr wynosi false. Dla celów zależnych od gracza parametr playerID jest ignorowany. W przypadku celów zwykłych parametr playerID określa gracza, dla którego wyświetlanie celu będzie ustawiane; domyślnie oznacza gracza pierwszego. ObjectiveName – nazwa celu identyfikator gracza (dla celów zależnych od gracza parametr jest ignorowany, domyślnie oznacza gracza PLAYER_1). playerID – SetObjectFlashlight SetObjectFlashlight – dodaje do obiektu źródło światła punktowego Składnia SetObjectFlashlight(objectName, lightName); Opis Komenda dołącza dodatkowe punktowe źródło światła do wybranego obiektu. Lista źródeł światłą jakie można wykorzystać znajduje się we właściwościach mapy (pole resources->pointLights). – nazwa obiektu. objectName – nazwa źródła światła (wymienione we właściwościach mapy) lightName SetObjectOwner SetObjectOwner – zmień przynależność podanego obiektu Składnia SetObjectOwner(objectName, playerID); Opis Komenda zmienia przynależność obiektu. Może zostać zastosowana tylko do obiektów statycznych mogących mieć właściciela i bohaterów. Jeśli bohater był w rezerwie, zostanie z niej usunięty. Bohaterowie nie mogą być neutralni. objectName playerID – nazwa obiektu – identyfikator gracza, który będzie nowym właścicielem SetObjectPosition SetObjectPosition – przenosi obiekt Składnia SetObjectPosition(objectName, x, y, floor = -1); Opis Funkcja natychmiastowo przenosi obiekt w podane miejsce. Jeśli parametr floor pnie jest podany, zostanie użyty aktualny poziom, na którym obiekt się znajduje. Tylko mobilne obiekty mogą zostać przeniesione. Jeśli pozycja docelowa jest nieosiągalna, zajmowana przez inny obiekt, lub jest polem interaktywnym innego obiektu, funkcja generuje błąd. objectName – nazwa obiektu współrzędne celu x, y – – numer poziomu (domyślnie -1, co oznacza 'ten sam') floor SetPlayerResource GetPlayerResource – ustawia ilość podanego zasobu gracza. Składnia SetPlayerResource(player, resourceKind, quantity); Opis Ustawia nową ilość zasobu resourceKind dla player. – numer gracza od 1 do 8. Zamiast liczb można użyć stałych globalnych od PLAYER_1 do PLAYER_8. player resourceKind – liczba od 0 SULFUR, GEM, lub GOLD. quantity do 6, lub jedna ze stałych: WOOD, ORE, MERCURY, CRYSTAL, ilość, nie może być ujemna. Komenda działa zarówno dla graczy aktywnych jak i przegranych. Zmiana ilości zasobów gracza, który nie bierze udziału w rozgrywce jest błędem. Błąd • Jeśli argumenty nie są dopuszczalnymi wartościami; • jeśli podany gracz nie bierze udziału w grze SetPlayerStartResources GetPlayerResource – ustawia początkową ilość zasobów dla podanego gracza Składnia SetPlayerStartResources(player, wood, ore, mercury, crystal, sulfur, gem, gold); Opis Ustawia nową początkową ilość zasobów typu resourceKind dla gracza player. numer gracza od 1 do 8. Zamiast liczb można użyć stałych globalnych PLAYER_1 do PLAYER_8. Player - wood, ore, mercury, crystal, sulfur, gem, gold – ilości zasobów, nie mogą być niższe od zera. Komenda daje taki sam efekt jak wywoływanie funkcji SetPlayerResource dla każdego zasobu,poza efektem na panelu wyników misji. Komenda działa zarówno dla graczy aktywnych jak i przegranych. Zmiana ilości zasobów gracza, który nie bierze aktualnie udziału w rozgrywce jest błędem. Błąd • Jeśli argumenty nie są dopuszczalnymi wartościami; • jeśli podany gracz nie bierze udziału w grze SetRegionBlocked SetRegionBlocked – włącza lub wyłącza blokadę regionu dla ruchu bohaterów Składnia SetRegionBlocked(regionName, status, playerID = -1); Opis Funkcja blokuje lub odblokowuje region dla ruchu bohaterów konkretnego gracza, w zależności od parametru status. Jeśli parametr playerID jest podany, region będzie blokowany tylko dla tego gracza; jeśli nie jest, będzie zablokowany dla wszystkich graczy. regionName status – nazwa regionu – ustawienie blokady regionu playerID – identyfikator gracza (domyślnie -1, co oznacza wszystkich graczy) SetTownBuildingLimitLevel SetTownBuildingLimitLevel – ustawia limit poziomu budynku w mieście Składnia SetTownBuildingLimitLevel(townName, buildingID, limit); Opis Funkcja ustawia limit poziomu danego budynku w mieście. Level 0 oznacza, że budynek nie może być wzniesiony. Ustalony limit nie może być niższy od aktualnego poziomu budynku. townName – nazwa miasta identyfikator budynku (zajrzyj do opisu funkcji GetTownBuildingLevel, tam lista możliwych wartości) buildingID – limit – limit poziomu budynku w mieście SetWarfogBehaviour SetWarfogBehaviour – włącza lub wyłącza usuwania mgły wojny przez bohaterów Składnia SetWarfogBehaviour(onLand, onSea); Opis onLand(1/0) – czy bohater będzie usuwał mgłę wojny poruszając się po lądzie (on land). onSea(1/0) – czy bohater będzie usuwał mgłę wojny poruszając się po morzu (on sea). ShowFlyingSign ShowFlyingSign – pokazuje wiadomość odlatującą od obiektu Składnia ShowFlyingSign(messageName, objectName, targetPlayerID = -1 , time = 1.0); Opis Funkcja wyświetla wiadomość odlatującą od obiektu o nazwie objectName. Wiadomość jest podaje się zgodnie nazwą zasobu w bazie (messageName). Wiadomości mogą być wyświetlone dla jednego gracza lub dla wszystkich. Aby pokazać wiadomość tylko jednemu graczowi, parametr targetPlayerID musi zawierać identyfikator gracza, natomiast aby ją pokazać wszystkim, musi wynosić -1. Wiadomość będzie wyświetlona przez czas time (domyślnie jedna sekunda). nazwa wiadomości w bazie zasobów messageName – objectName – nazwa obiektu, nad którym ma być wyświetlona wiadomość targetPlayerID time – identyfikator gracza, który zobaczy wiadomość (-1 dla wszystkich graczy) – czas przez jaki wiadomość będzie wyświetlana SiegeTown SiegeTown – rozpoczyna oblężenie miasta Składnia SiegeTown(heroName, townName, arenaName = ""); Opis Funkcja inicjuje oblężenie miasta townName przez bohatera heroName; można podać nazwę miasta na mapie lub odniesienie do opisu miasta w bazie zasobów. W obu przypadkach walka będzie się toczyć jak każde inne oblężenie miasta, dzieje się tak przy użyciu informacji takich jak garnizon miasta, pozycja bohatera w nim, skrypt walki miasta, itd. Parametr arenaName pozwala zastąpić standardową arenę walki, każdą inną. – imię bohatera dla którego rozpocznie się walka heroName – nazwa miasta, która może być zarówno nazwą miasta na mapie jak i odniesieniem do opisu miasta w bazie zasobów. townName – odniesienie do zasobów areny, na której walka będzie się toczyła ("" domyślnie, co oznacza walkę na standardowej arenie miasta) arenaName StartCombat StartCombat – rozpoczyna walkę z podanymi parametrami Składnia StartCombat(heroName, enemyHeroName, enemyHeroName, creaturesCount, creatureType[1], creatureAmount[1], ..., creatureType[Count], creatureAmount[Count], combatScriptName, combatFinishTrigger, arenaName, allowQuickCombat); Opis Rozpoczyna walkę dla bohatera heroName, przeciwko podanej ilości stworzeń i bohaterowi (jeśli taki został podany). Aktualna armia wrogiego bohatera jest ignorowana. Możliwe jest stworzenie skryptu, który uruchomi się na początku walki. Oczywiście możliwe jest też ustawienie funkcji, na jej koniec, jako jej argumenty można podać imię bohatera dla którego walka się rozpoczęła i wyniki walki. heroName – imię bohatera, dla którego będzie rozpoczęta walka – imię wrogiego bohatera (nil – żaden, walka będzie się toczyć tylko przeciwko enemyHeroName stworom) creaturesCount – ilość stworzeń Po parametrze creaturesCount muszą się pojawić: creatureType – typ stworzeń creatureAmount – liczba stworzeń tego typu – nazwa skryptu jaki ma być uruchomiony na początku walki (domyślnie nil, co oznacza bez skryptu) combatScriptName – nazwa funkcji (skrypt mapy), która zostanie uruchomiona na końcu walki. Funkcja musi posiadać dwa parametry: nazwa walczącego bohatera i wyniki walki (nil – jeśli bohater przegrał i not nil – jeśli wygrał). combatFinishTrigger – odniesienie do areny, na której będzie się toczyła bitwa (domyślnie nil, co oznacza, że arena będzie dobrana do terenu, na którym stoi bohater) arenaName – jeśli not nil, walka będzie się toczyć w trybie szybkiej walki (Quick Combat) w przypadku gdy taki tryb jest włączony w opcjach gry a bohater heroName nie ma wyłączonej opcji szybkiej walki (domyślnie nil by default, co oznacza normalną walkę) allowQuickCombat StartCutScene StartCutScene – włącza przerywnik Składnia StartDialogScene(cutSceneName, callback = "" , saveName = ""); Opis Funkcja uruchamia podany przerywnik. cutSceneName – odwołanie do przerywnika w bazie zasobów callback – nazwa funkcji jak ma być uruchomiona po odtworzeniu przerywnika – nazwa pliku save (zobacz opis funkcji Save) jaki ma być utworzony przed przerywnikiem saveName StartDialogScene StartDialogScene – odtwarza scenę dialogową Składnia StartDialogScene(dialogSceneName, callback = "" , saveName = ""); Opis Funkcja odtwarza podaną scenę dialogową. dialogSceneName – odwołanie do przerywnika w bazie zasobów callback – nazwa funkcji jaka zostanie wywołana po odtworzeniu sceny dialogowej saveName – nazwa pliku save (zobacz opis funkcji Save) jaki ma zostać utworzony przed sceną dialogową Przykład 1. Przykład: StartDialogScene("/DialogScenes/C6/M4/C1/DialogScene.xdb#xpointer(/DialogScene)") StopPlaySound StopPlaySound – zatrzymuje odtwarzanie dźwięku Składnia StopPlaySound(loopingSoundID); Opis Ta funkcja zatrzymuje odtwarzanie zapętlonego dźwięku. – identyfikator dźwięku, zwracany przez funkcje Play2DSound / Play3DSound dla dźwięków zapętlonych loopingSoundID TeachHeroSpell TeachHeroSpell – daje bohaterowi podany czar Składnia TeachHeroSpell(heroName, spell); Opis Funkcja stara się dać czar bohaterowi. Jesli bohater zna czar, funkcja zwraca wartość nil, w przeciwnym przypadku zwraca not nil. heroName spell – imię bohatera – identyfikator zaklęcia TransformTown TransformTown – zmienia typ miasta na mapie Składnia TransformTown(townName, type); Opis Funkcja zmienia typ miasta na podane(Wszystkie informacje, poza nazwą miasta i jego właścicielem, zostaną stracone). townName – nazwa miasta type – nowy typ miasta; może przybrać jedną z poniższych wartości: TOWN_HEAVEN, TOWN_PRESERVE, TOWN_ACEDEMY, TOWN_DUNGEON, TOWN_NECROMANCY, TOWN_INFERNO. Trigger Trigger – włącza lub wyłącza obsługę funkcji, które działają ze zdarzeniami w grze Składnia Trigger(triggerType, ..., functionName); Opis Jeśli parametr functionName jest różny od nil, funkcja łączy procedurę obsługi z tą nazwą z konkretnym zdarzeniem w grze. W przeciwnym wypadku funkcja usuwa obsługę tego zdarzenia. Do każdego zdarzenia można przypisać tylko jedną funkcję obsługi. Przypisywanie innej funkcji do zdarzenia które posiada już obsługę, spowoduje usunięcie istniejącej funkcji.. triggerType – typ zdarzenia w grze; może przybrać jedną z poniższych wartości: NEW_DAY_TRIGGER – początek nowego dnia – bohater wchodzi w mgłę wojny (zachowanie mgły wojny jest kontrolowane przez funkcję SetWarfogBehaviour) WAR_FOG_ENTER_TRIGGER – gracz ma nowego bohatera PLAYER_ADD_HERO_TRIGGER PLAYER_REMOVE_HERO_TRIGGER – bohater stracił bohatera – status celu się zmienił OBJECTIVE_STATE_CHANGE_TRIGGER OBJECT_CAPTURE_TRIGGER OBJECT_TOUCH_TRIGGER – obiekt został zdobyty – interaktywny obiekt oddziałuje z TOWN_HERO_DEPLOY_TRIGGER – bohater opuszcza miasto REGION_ENTER_AND_STOP_TRIGGER – bohater wchodzi w region (musi w nim pozostać) REGION_ENTER_WITHOUT_STOP_TRIGGER – bohater wchodzi w region (nie musi w nim pozostawać) HERO_LEVELUP_TRIGGER – bohater zdobywa poziom W zależności od typu zdarzenia, funkcja obsługi może posiadać jeden lub więcej parametrów. Liczba i znaczenie parametrów zależy od typu zdarzenia: dla NEW_DAY_TRIGGER – brak dla PLAYER_ADD_HERO_TRIGGER oraz PLAYER_REMOVE_HERO_TRIGGER – identyfikator gracza dla OBJECTIVE_STATE_CHANGE_TRIGGER – nazwa celu dla OBJECT_CAPTURE_TRIGGER oraz OBJECT_TOUCH_TRIGGER – nazwa obiektu na mapie dla TOWN_HERO_DEPLOY_TRIGGER – nazwa miasta dla REGION_ENTER_AND_STOP_TRIGGER oraz REGION_ENTER_WITHOUT_STOP_TRIGGER – nazwa regionu dla HERO_LEVELUP_TRIGGER – imię bohatera functionName – nazwa funkcji obsługi Gdy działa wyzwalacz, do funkcji obsługi wysyłane są następujące parametry: NEW_DAY_TRIGGER – brak WAR_FOG_ENTER_TRIGGER – imię bohatera PLAYER_ADD_HERO_TRIGGER – imię bohatera PLAYER_REMOVE_HERO_TRIGGER – imię bohatera oraz imię bohatera, który go pokonał (nil – if jeśli bohater został zwolniony) – identyfikator gracza, którego cel zmienił status OBJECTIVE_STATE_CHANGE_TRIGGER OBJECT_CAPTURE_TRIGGER – stary właściciel obiektu, nowy właściciel obiektu, imię bohatera, który go przejął oraz nazwa samego obiektu OBJECT_TOUCH_TRIGGER – imię bohatera i nazwa obiektu TOWN_HERO_DEPLOY_TRIGGER – imię bohatera REGION_ENTER_AND_STOP_TRIGGER HERO_LEVELUP_TRIGGER – brak и REGION_ENTER_WITHOUT_STOP_TRIGGER – imię bohatera UnblockGame UnblockGame – odblokowuje interfejs użytkownika i działanie SI Składnia UnblockGame(void); Opis Komenda odblokowuje interfejs użytkownika, pracę SI oraz pracę kamery, jeśli zostały zablokowane komendą BlockGame. UnreserveHero UnreserveHero – zarezerwowany bohater staje się dostępny dla wszystkich graczy Składnia UnreserveHero(heroName); Opis Bohater zostaje usunięty z rezerwy konkretnego gracza i możliwe jest jego wynajęcie w tawernie na początku tygodnia. NB: Jeśli bohater żyje gdy funkcja jest wywoływana, zostaje usunięty z listy jednak nie zostaje usunięty z listy bohaterów kontrolowanych przez gracza. Taki bohater może staćsiędostępny dla innych graczy w taki sam sposób jak inni bohaterowie należący do kogoś (czyli: jeśli zginie, ucieknie z pola walki i nie zostanie zatrudniony przed końcem tygodnia, zostanie zwolniony, itp.). Jeśli jednak bohater jest martwy podczas wywoływania funkcji, staje się natychmiastowo dostępny dla innych graczy, oprócz tego, do którego należał wcześniej. heroName – imię bohatera zarezerwowanego dla gracza. Win Win – ludzki gracz wygrywa grę Składnia Win(void); Opis Funkcja powinna być używana tylko w trybie dla pojedynczego gracza. Generuje błąd gdy jest wywoływana w grach dla wielu graczy. Po wywołaniu funkcji, ludzki gracz natychmiastowo wygrywa, natomiast wszyscy gracze komputerowi przegrywają. WALKA Prepare Prepare – przygotowanie do walki Składnia Prepare(void); Opis Funkcja jest wywoływana przed ustawianiem jednostek na polu walki przez graczy. Ustawianie armii rozpocznie się dopiero po skończeniu pracy przez tę funkcję. Start Start – rozpoczęcie walki Składnia Start(void); Opis Funkcja jest wywoływana tuż po ustawieniu wojsk na polu bitwy przez graczy i tuż przed rozpoczęciem walki. Walka rozpocznie się dopiero po zakończeniu pracy przez tę funkcję. IsHuman IsHuman – sprawdza czy w danej grupie znajduje się ludzki gracz Składnia IsHuman(side); Opis Funkcja zwraca wartość not nil jeśli podana grupa, biorąca udział w grze należy do człowieka (niezależnie od tego czy człowiek kontroluje całą grupę, czy są pod automatyczną kontrolą), oraz nil jeśli nie należy. side – numer grupy, może być to ATTACKER lub DEFENDER. IsComputer IsComputer – sprawdza czy w danej grupie jest gracz komputerowy Składnia IsComputer(side); Opis Funkcja zwraca wartość not nil jeśli podana grupa, biorąca udział w grze, należy do SI, oraz wartość nil jeśli nie należy. side – numer grupy, może być to ATTACKER lub DEFENDER. SetControlMode SetControlMode – ustawia tryb kontroli walki dla gracza ludzkiego Składnia SetControlMode(side, mode); Opis Komenda włącza lub wyłącza tryb automatycznej walki oraz włącza i wyłącza możliwość przełączenia tego trybu przez gracza ludzkiego. Podana grupa musi być kontrolowana przez gracza ludzkiego. side – mode numer grupy, może być to ATTACKER lub DEFENDER. – numer trybu; w zależności o tego następuje odpowiednia akcja: MODE_NORMAL – status automatycznej walki niezmieniony, jego blokada wyłączona. MODE_MANUAL – tryb automatycznej walki wyłączony, możliwość przełączenia przez gracza wyłączona. – tryb automatycznej walki włączony, możliwość przełączenia przez gracza wyłączona. MODE_AUTO EnableAutoFinish EnableAutoFinish – włącza lub wyłącza standardowy mechanizm sprawdzania wyników walki Składnia EnableAutoFinish(enable); Opis Wysłany parametr do komendy decyduje o tym, czy walka zakończy się jeśli jeden z graczy nie będzie miał więcej wojsk. Jeśli parametr wynosi nil, walka nie zostanie zakończona. Domyślnie ten tryb jest włączony. Finish Finish – kończy walkę Składnia Finish(winnerSide); Opis Komenda kończy walkę, a grupa winnerSide jest zwycięzcą. winnerSide – grupa, która wygrywa walkę, może być to ATTACKER lub DEFENDER. GetAttackerHero GetAttackerHero – zwraca bohatera atakującej grupy Składnia GetAttackerHero(void); Opis Funkcja zwraca imię atakującego bohatera, lub wartość nil jeśli nie ma takiego bohatera. GetAttackerCreatures GetAttackerCreatures – zwraca stworzenia atakującej grupy Składnia GetAttackerCreatures(void); Opis Ta funkcja zwraca tablicę nazw stworzeń atakującej grupy. GetAttackerWarMachines GetAttackerWarMachines – zwraca machiny wojenne atakującej grupy Składnia GetAttackerWarMachines(void); Opis Funkcja zwraca tablicę nazw machin wojennych atakującej grupy. GetAttackerWarMachine GetAttackerWarMachine – zwraca machinę wojenną konkretnego typu należącą do atakującej grupy Składnia GetAttackerWarMachine(type); Opis Funkcja zwraca nazwę machiny wojennej danego typu, należącą do atakującej grupy, lub wartość nil jeśli nie istnieje. type – typ machiny wojennej; może przybrać jedną z wartości: WAR_MACHINE_BALLISTA – balista WAR_MACHINE_CATAPULT – katapulta WAR_MACHINE_FIRST_AID_TENT WAR_MACHINE_AMMO_CART – namiot pierwszej pomocy – wóz z amunicją GetDefenderHero GetDefenderHero – zwraca bohatera broniącej się grupy Składnia GetDefenderHero(void); Opis Funkcja zwraca imię broniącego się bohatera, lub wartość nil jeśli nie ma takiego bohatera. GetDefenderCreatures GetDefenderCreatures – zwraca stworzenia broniącej się grupy Składnia GetDefenderCreatures(void); Opis Ta funkcja zwraca tablicę nazw stworzeń należących do broniącej się grupy. GetDefenderWarMachines GetDefenderWarMachines – zwraca machiny wojenne broniącej się grupy Składnia GetDefenderWarMachines(void); Opis Funkcja zwraca tablicę nazw machin wojennych, należących do broniącej się grupy. GetDefenderWarMachine GetDefenderWarMachine – zwraca machinę wojenną danego typu, należącą do broniącej się grupy Składnia GetDefenderWarMachine(type); Opis Ta funkcja zwraca nazwę machiny wojennej podanego typu, należącej do broniącej się grupy, lub wartość nil jeśli taka machina nie istnieje. type – typ machiny wojennej; może przybrać jedną z wartości: WAR_MACHINE_BALLISTA – balista WAR_MACHINE_CATAPULT – katapulta WAR_MACHINE_FIRST_AID_TENT – WAR_MACHINE_AMMO_CART – namiot pierwszej pomocy wóz z amunicją GetDefenderBuildings GetDefenderBuildings – zwraca budynki broniącej się grupy Składnia GetDefenderBuildings(void); Opis Funkcja zwraca tablicę nazw budynków należących do broniącej się grupy. GetDefenderBuilding GetDefenderBuilding – zwraca budynek danego typu, należący do broniącej się grupy Składnia GetDefenderBuilding(type); Opis Ta funkcja zwraca nazwę budynku podanego typu, należącego do broniącej się grupy, lub wartość nil jeśli taki nie istnieje. type – typ budynku, może przybrać jedną z następujących wartości: BUILDING_WALL – mór BUILDING_GATE – brama – lewa wieża BUILDING_LEFT_TOWER BUILDING_BIG_TOWER – główna wieża BUILDING_RIGHT_TOWER BUILDING_MOAT – prawa wieża – fosa IsAttacker IsAttacker – sprawdza czy obiekt należy do atakującej grupy Składnia IsAttacker(unitName); Opis Funkcja zwraca wartość not nil jeśli obiekt należy do atakującej grupy, lub nil jeśli nie należy. unitName – nazwa obiektu IsDefender IsDefender – sprawdza czy obiekt należy do broniącej się grupy Składnia IsDefender(unitName); Opis Funkcja zwraca wartość not nil jeśli obiekt należy do broniącej się grupy, lub nil jeśli nie należy. unitName – nazwa obiektu IsHero IsHero – sprawdza czy obiekt jest bohaterem Składnia IsHero(unitName); Opis Funkcja zwraca wartość not nil jeśli obiekt jest bohaterem i wartość nil jeśli nie jest. unitName – nazwa obiektu IsCreature IsCreature – sprawdza czy obiekt jest stworzeniem Składnia IsCreature(unitName); Opis Funkcja zwraca wartość not nil jeśli obiekt jest stworzeniem i wartość nil jeśli nie jest. unitName – nazwa obiektu IsWarMachine IsWarMachine – sprawdza czy obiekt jest machiną wojenną Składnia IsWarMachine(unitName); Opis Funkcja zwraca wartość not nil jeśli obiekt jest machiną wojenną i wartość nil jeśli nie jest. unitName – nazwa obiektu IsBuilding IsBuilding – sprawdza czy obiekt jest budynkiem Składnia IsBuilding(unitName); Opis Funkcja zwraca wartość not nil jeśli obiekt jest budynkiem i wartość nil jeśli nie jest. unitName – nazwa obiektu GetHeroName GetHeroName – zwraca imię bohatera Składnia GetHeroName(unitName); Opis Funkcja zwraca prawdziwe imię bohatera (nie imię w czasie bitwy). unitName – nazwa obiektu GetCreatureType GetCreatureType – zwraca typ stworzenia Składnia GetCreatureType(unitName); Opis Funkcja zwraca typ stworzenia. unitName – nazwa obiektu GetCreatureNumber GetCreatureNumber – zwraca liczbę stworzeń w grupie Składnia GetCreatureNumber(unitName); Opis Ta funkcja zwraca liczbę stworzeń w grupie. unitName – nazwa obiektu GetWarMachineType GetWarMachineType – zwraca typ machiny wojennej Składnia GetWarMachineType(unitName); Opis Funkcja zwraca typ machiny wojennej. Może zwrócić jedną z poniższych wartości: WAR_MACHINE_BALLISTA – balista WAR_MACHINE_CATAPULT – katapulta WAR_MACHINE_FIRST_AID_TENT – WAR_MACHINE_AMMO_CART – unitName namiot pierwszej pomocy wóz z amunicją – nazwa obiektu GetBuildingType GetBuildingType – zwraca typ budynku Składnia GetBuildingType(unitName); Opis Funkcja zwraca typ budynku. Może zwrócić jedną z poniższych wartości: BUILDING_WALL – mór BUILDING_GATE – brama lewa wieża BUILDING_LEFT_TOWER – BUILDING_BIG_TOWER – główna wieża BUILDING_RIGHT_TOWER – BUILDING_MOAT – unitName fosa – nazwa obiektu prawa wieża GetUnitPosition GetUnitPosition – zwraca współrzędne obiektu Składnia GetUnitPosition(unitName); Opis Ta funkcja zwraca współrzędne x oraz y położenia obiektu. unitName – nazwa obiektu AddCreature AddCreature – dodaje stworzenia podanego typu do jednej z grup Składnia AddCreature(side, type, number, x = -1 , y = -1); Opis Funkcja dodaje stworzenia typu type w ilości number do grupy side. Jeśli podane są parametry x oraz y, stworzenie pojawia się na najbliższym polu do (x,y); inaczej pojawią się na arenie w losowym miejscu. Możliwe jest również podanie tylko jednej ze współrzędnych pola. Stworzenia dodane przez tę komendę pozostają w armii bohatera po walce (jeśli jest na nie miejsce). – grupa, dla której zostaną przywołane stworzenia; może przybrać jedną z poniższych wartości: side ATTACKER – grupa atakująca DEFENDER – grupa broniąca się type – typ stworzenia number x, y – ilość stworzeń – współrzędne pola na którym stworzenie ma się pojawić (-1 to współrzędne losowe) EnableCinematicCamera EnableCinematicCamera – włącza lub wyłącza dynamiczną kamerę w czasie walki Składnia EnableCinematicCamera(enable); Opis Funkcja działa prawidłowo tylko podczas aktualnej walki. Kamera może być przełączona w tryb dynamiczny tylko jeśli pozwalają na to opcje i nie jest zabronione przez skrypt. SAMOUCZEK IsTutorialItemEnabled IsTutorialItemEnabled – sprawdza czy element samouczka zostanie pokazany Składnia IsTutorialItemEnabled(name); Opis name – nazwa elementu samouczka IsTutorialMessageBoxOpen IsTutorialMessageBoxOpen – sprawdza czy jakiekolwiek okno samouczka jest aktualnie otwarte Składnia IsTutorialMessageBoxOpen(); Opis Funkcja zwraca wartość true jeśli zostało wywołane okno przez funkcję TutorialMessageBox i jest aktualnie wyświetlone. TutorialActivateHint TutorialActivateHint – ustawia wyzwalacz na pojawienie się konkretnego okna, okno to, z tekstem samouczka, zostanie wyświetlone po uruchomieniu wyzwalacza Składnia TutorialActivateHint(stringID); Opis Funkcja za pomocą stringID szuka element deskryptora w UIConsts.tutorialOptions.hints. Kiedy okno wymienione w deskryptorze pojawi się ponownie, inne okno z tekstem (podobne do tego z funkcji TutorialMessageBox) zostanie pokazane. TutorialMessageBox TutorialMessageBox – wyświetla okno z tekstem samouczka Składnia TutorialMessageBox(stringID); Opis Funkcja za pomocą stringID szuka element deskryptora w UIConsts.tutorialOptions.hints oraz wyświetla okno z tekstem, do którego odnosi się ten element. TutorialSetBlink TutorialSetBlink – włącza lub wyłącza kontrolę podświetlenie elementu Składnia TutorialSetBlink(stringID, turnOn); Opis Funkcja za pomocą stringID szuka element deskryptora w UIConsts.tutorialOptions.hints oraz włącza lub wyłącza podświetlenie (w zalezności od wartości turnOn). MIASTO HeroHired HeroHired – bohater jest zatrudniony Składnia HeroHired(name); Opis Funkcja jest wywoływana gdy gracz zatrudnia bohatera. CreatureHired CreatureHired – stworzenie jest zatrudnione Składnia CreatureHired(type, number); Opis Ta funkcja jest wywoływana gdy gracz wynajmuje wojska. Tłumaczenie: DaimonFrey Jeśli zauważyłeś jakieś błędy lub nieścisłości napisz na adres [email protected]