SAIL - Używanie artefaktu
Serpent pisze:Jeżeli chodzi o położenia na mapie samego artefaktu to jest taka funkcja:
Kod:
FindArtifact(art_num); // art_num oznacza numer artefaktu. // można z niej wydobyć koordy w taki sposób: x := FindArtifact(1)[1]; y := FindArtifact(1)[2];Natomiast jeżeli chodzi o użycie to patrz niżej.
Funkcja SetArtifactUse przyjmuje 4 argumenty:
Kod:
SetArtifactUse(side, art_icon, art_behav, building);Pierwszy argument to strona dla której ma być użyty artefakt.
Drugi argument oznacza daną ikonkę:
Spoiler:
Kod:
art_exp_left art_exp_mid art_exp_right art_use_atom art_use_cube art_use_dead art_use_exclamation art_use_eye art_use_hand art_use_human art_use_power art_use_sibdestruct art_use_sibexplosion art_use_tau art_use_teleportWygląd ikonek można sprawdzić w buttons.tga.
Każda ikonka ma swoją unikalną pozycje i wygląd.
Trzeci argument oznacza typ (zachowanie) ikonki:
Spoiler:
Kod:
art_no -> Usuwa guzik. art_gray -> Guzik staje się szary (niedostępny). art_instant -> Guzik zachowuje się jak zwykłe badanie w laboratorium, po kliknięciu następuje akcja. art_place -> Po kliknięciu gracz musi wskazać miejsce na mapie. art_unit -> Po kliknięciu trzeba wskazać daną jednostkę na której ma być wywołany efekt.Czwarty argument to budynek laboratorium.
Co do twojego problemu, jak przekazać koordy po użyciu artefaktu (art_place) to wystarczy użyć eventu ArtifactUse który przyjmuje 4 parametry:
Spoiler:
Kod:
Pierwszy parametr wskazuje na stronę która użyła artefaktu. Drugi parametr wskazuje jaki typ guzika został użyty. Trzeci i Czwarty zwracają rzeczy związane z zachowaniem guzika. Dla art_instant oba zwracają 0. Dla art_unit trzeci parametr zwraca identyfikator jednostki na której został użyty artefakt. Dla art_place trzeci argument przyjmuje x, a czwarty argument przyjmuje y.Ta wiedza wystarczy aby okodować działanie artefaktu
Author: Serpent
Topic: https://forum.original-war.net/viewtopic.php?f=42&t=4542



