StarCraft Area Strona główna Pomoc Szukaj Zaloguj się Rejestracja
Witamy, Gość. Zaloguj się lub zarejestruj.
Kwietnia 19, 2024, 02:22:53 pm

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
+  StarCraft Area Forum
|-+  StarCraft + Brood War
| |-+  Problemy
| | |-+  StarEdit - problem z działkami'
« poprzedni następny »
Strony: [1] Drukuj
Autor Wątek: StarEdit - problem z działkami'  (Przeczytany 5741 razy)
Drabczi
Gość
« dnia: Października 09, 2010, 08:00:33 pm »

Witam. Nie jestem pewny, czy to dobry dział, ale przyznam, jestem leniwy i nie chciało mi się rejestrować na forum.
Więc mój problem jest taki:
Tworzę swoją pierwszą mapę w StarEdicie, mianowicie robię misję do singla w budynku (installation). Stworzyłem mały kawałek mapy, umieściłem tam jednostki, triggersy itd., jest tam też kilka działek (chodzi o te, które wysuwają się spod podłogi) z którymi mam problem.
Chcę, żeby należały one do komputera (tylko do jednej siły), ale one strzelają w każdego gracza. Stało się tak po dodaniu jednego triggersa, który wygląda tak:
(trigger dla siły 4)
CONDITIONS:
 - Switch 2' is set.
ACTIONS:
 - Execute AI script 'Send All Units on Strategic Suicide Missions.'
Teraz nie wiem, dlaczego, ale usunięcie tego nie pomaga... Albo to triggersy, albo to ja jestem dziwny... Oczywiście zapisuję mapę :E.
Żeby "przypisać" te działka dla jakiegoś gracza, dodałem taki oto trigger:
(dla gracza 7)
CONDITIONS:
 - Always
ACTIONS:
 - Enable doodad state for Floor Missile Trap for Player 7 at 'Anywhere'.
(robiłem tak dla każdego typu działek, więc nie będę tutaj tego wszystkiego wklejał)

Ktoś może wie, co zrobić, żeby działka nie atakowały bodajże siły 3?
« Ostatnia zmiana: Października 09, 2010, 08:59:04 pm wysłana przez Der_SpeeDer » Zapisane
Der_SpeeDer
Global Moderator
*****
Wiadomości: 343


Jaszczury GÓRĄ!


« Odpowiedz #1 dnia: Października 09, 2010, 09:07:35 pm »

Po pierwsze - działka w palecie Installation atakują DOMYŚLNIE jednostki wszystkich graczy, w tym kierowanych przez komputer. Na pewno więc nie stało się to po dodaniu jakiegoś tam triggera (nic w związku z tym dziwnego, że usunięcie go nic nie daje).

Po drugie - trigger napisany w sposób podany niżej nic ci nie da, ponieważ mylisz słowo "Anywhere" (gdziekolwiek) ze słowem "Everywhere" (wszędzie). Nie licz, że on ci od razu zrobi myk i wszystkim działkom na mapie zmieni nastawienie - musisz ustanowić location lub locationy, aby zostały nimi objęte. I wtedy stworzyć action dla każdego z tych locationów.
Robienie zaś actionów dla działek, których nawet na mapie nie ma, to strata twojego cennego czasu.
Zapisane

"Mów mądrze do głupca, a nazwie cię idiotą"

Eurypides
Drabczi
Gość
« Odpowiedz #2 dnia: Października 11, 2010, 12:45:36 am »

Der_SpeeDer, działka na początku nie atakowały jednostek komputera, jestem tego pewny. Ale mniejsza z tym... Stworzenie mapy w budynku to jednak za dużo roboty...
Teraz znowu mam inny problem...
Postanowiłem stworzyć małą, krótką, fajną kampanię i oczywiście standardowo - jednostki komputera "nic" nie robią. "Potrzebnego" triggersa oczywiście dodałem, wygląda on tak:
(dla gracza 3, którym jest właśnie komputer)
CONDITIONS:
- Always.
ACTIONS:
- Execute AI script 'Protoss Campaign Insane' at 'Anywhere'.
- Modify resources for Player 3: Set to 10000 Ore and Gas.
Komputer niby coś robi, zbiera on surowce (ale tylko minerały, gazów nie rusza), robi upgrade'y, na początku zbiera 12 Zealotów i mnie nimi atakuje, później robi jeszcze Storm na czołgi i... koniec. Jego gra się skończyła. Mimo, że czekałem prawie 1h, nic więcej nie zrobił.
Oczywiście jego baza jest rozbudowana, kilka Gateway i innych pierdół, których na ogół gracze potrzebują.
No więc WTF?!
« Ostatnia zmiana: Października 11, 2010, 11:39:44 am wysłana przez Der_SpeeDer » Zapisane
Der_SpeeDer
Global Moderator
*****
Wiadomości: 343


Jaszczury GÓRĄ!


« Odpowiedz #3 dnia: Października 11, 2010, 11:46:49 am »

Der_SpeeDer, działka na początku nie atakowały jednostek komputera, jestem tego pewny.

A ja ci mówię, że to niemożliwe. Działka i inne doodatsy biorące udział w grze są domyślnie neutralnie - drzwi nikomu się nie otwierają same, działka strzelają do każdego, niezależnie od tego, czy to komputer, czy człowiek. Wiem, bo sam kiedyś próbowałem, bez żadnych triggerów, stawiać działka obok jednostek komputera. Kończyło się to zawsze strzelaninami.

I nigdy nie bądź niczego pewny. Ja już się na swojej absolutnej pewności, że wszystko zrobiłem dobrze, niejednokrotnie przejechałem.

"Potrzebnego" triggersa oczywiście dodałem, wygląda on tak:

Częstokroć powtarzany przez początkujących (w tym i przeze mnie) błąd. Przestań się wreszcie tym "Anywhere" tak bawić, bo ono naprawdę służy tylko do konkretnych sytuacji... Aby komputer działał poprawnie, musisz ustanowić location, obejmujący jego główny budynek oraz okoliczne zasoby. I wtedy przypisać skrypt do tego locationa. I już.
Zapisane

"Mów mądrze do głupca, a nazwie cię idiotą"

Eurypides
Drabczi
Gość
« Odpowiedz #4 dnia: Października 11, 2010, 02:33:58 pm »

A ja ci mówię, że to niemożliwe. Działka i inne doodatsy biorące udział w grze są domyślnie neutralnie - drzwi nikomu się nie otwierają same, działka strzelają do każdego, niezależnie od tego, czy to komputer, czy człowiek. Wiem, bo sam kiedyś próbowałem, bez żadnych triggerów, stawiać działka obok jednostek komputera. Kończyło się to zawsze strzelaninami.
Ja Ci mówię, nie atakowały komputera. Poza tym, jak jeszcze tworzyłem misję w budynku, działka nie dość, że atakowały same siebie (że tak powiem, nie każde z każdym, tylko typ "A", atakował typ "B") i te "rakietownice" były po mojej stronie... Triggersów do działek nie było, dodawałem tylko te do drzwi... Tak więc uznałem, że z tym budynkiem nie będę się męczył, szkoda nerwów (:.

Cytat: Der_SpeeDer
Częstokroć powtarzany przez początkujących (w tym i przeze mnie) błąd. Przestań się wreszcie tym "Anywhere" tak bawić, bo ono naprawdę służy tylko do konkretnych sytuacji... Aby komputer działał poprawnie, musisz ustanowić location, obejmujący jego główny budynek oraz okoliczne zasoby. I wtedy przypisać skrypt do tego locationa. I już.
No więc utworzyłem lokacje, tak jak kazałeś. W triggersie zmieniłem jeszcze 'Protoss Campaign Insane' na 'Expansion Protoss Campaign Insane', z chyba oczywistych powodów. Dodałem też jeszcze jedną akcję: 'Execute AI script 'Expansion Protoss Campaign Area Town' at 'loc-2', mam wrażenie, że trochę namieszałem, więc cały trigger wygląda teraz tak:
CONDITIONS:
- Always.
ACTIONS:
- Execute AI script 'Expanision Protoss Campaign Insane' at 'loc-1'.
- Execute AI script 'Expanision Protoss Campaign Area Town' at 'loc-2'.
- Modify resources for Player 3: Set to 10000 Ore and Gas.
Teraz komputer wydobywa minerały i gazy tak jak trzeba. Ale nadal jest problem z atakami, tzn. jest tak, jak to opisywałem wcześniej. Dodam, że komputer się broni, robi też kilka obserwatorów (które latają tylko po bazie) i 2 albo 3 scouty, których nie wykorzystuje. Używam złego skryptu czy co? Dlaczego komputer mnie nie atakuje?

I jeszcze jedno, taki mały szczegół. Chcę, żeby gracz 1 miał zawsze kolor czerwony, 2 niebieski itd. Jak wiadomo, po każdym włączeniu misji kolory są wybierane losowo. Chyba wiecie o co chodzi. Da się to jakoś... ustawić?
« Ostatnia zmiana: Października 12, 2010, 04:00:06 pm wysłana przez Der_SpeeDer » Zapisane
Der_SpeeDer
Global Moderator
*****
Wiadomości: 343


Jaszczury GÓRĄ!


« Odpowiedz #5 dnia: Października 12, 2010, 04:11:55 pm »

Dodałem też jeszcze jedną akcję: 'Execute AI script 'Expansion Protoss Campaign Area Town' at 'loc-2'

Kolejny podstawowy błąd. Też go popełniałem, jak robiłem swoje pierwsze kampanie.
Skoro dałeś już skrypt Insane, to skrypt Area Town jest niepotrzebny. Ten ostatni każe mu traktować określone lokacje ze złożami jako swoje expy – wydobywać tam minerały i gaz, a także czynnie bronić ich przed twoimi atakami. Nie pobudza go zaś do działań ofensywnych ani do rozbudowy.

Chyba że ustanowiłeś go właśnie na lokacji z expem.

Używam złego skryptu czy co? Dlaczego komputer mnie nie atakuje?

Przypuszczam, że to dlatego, że zabrałeś mu dostęp do części jednostek. Feler poszczególnych skryptów AI w edytorze jest taki, że wyprowadzają one określone ataki, przyjąwszy założenie że mają całą technologię już dostępną. Jeśli zatem zabierasz im Reavery i Carriery, to zatrzymuje się na Scoutach (ostatni atak, jaki wtedy przeprowadza, to szarża bodaj dwudziestu tych jednostek) i dalej już nic nie robi, bo następnego przewidzianego przez programistę ataku skompletować już nie może (z braku niezbędnych jednostek).
Dlatego skrypt Insane polecam na późniejsze misje. Możesz też popróbować z edytorem StarCraft X-tra Editor, gdzie jest jeszcze więcej skryptów dla AI.

I jeszcze jedno, taki mały szczegół. Chcę, żeby gracz 1 miał zawsze kolor czerwony, 2 niebieski itd. Jak wiadomo, po każdym włączeniu misji kolory są wybierane losowo. Chyba wiecie o co chodzi. Da się to jakoś... ustawić?

Bardzo prosto. Wchodzisz w menu Forces i odhaczasz wszędzie rubrykę z napisem „Random Start Location”, tak, aby każde z czterech pól było puste. I już.
Zapisane

"Mów mądrze do głupca, a nazwie cię idiotą"

Eurypides
Drabczak
Level 2-2
*
Wiadomości: 9


« Odpowiedz #6 dnia: Października 12, 2010, 05:04:23 pm »

Nie wiem, co mam Ci powiedzieć... Kocham Cię.
Odznaczyłem tą opcję, 'Random Start Location' i... WSZYSTKO zadziałało. Nie wiem, co ta opcja ma do skryptów (skryptu?) AI, ale widocznie dość dużo :).
Komputer teraz przeprowadza ataki, ale nie buduje jednostek. Z twojego poprzedniego postu/a zrozumiałem, że jeśli ustawię skrypt 'Insane', to komputer nie będzie produkował jednostek? Tak samo jest z pozostałymi skryptami?
I tak, dla sprostowania sprawy (czy jak to powiedzieć), komputer od początku miał dostępną całą technologię (tylko pancerz był na 2 poziomie), a nawet jeśli nie miał, to ją odkrywał.
Skrypt 'Area Town' był mi potrzebny. Zrobiłem komputerowi w bazie 2 gejzery vespen'u, jeden koło minerałów, drugi trochę oddalony od tego złoża. Uznałem, że robienie jednej, dużej lokacji to byłby chyba idiotyzm. Komputer wtedy Proby umieszczone przy drugim złożu gazów wysyłałby do minerałów.
Co do StarCraft X-tra Editor, zobaczę co to jest.

BTW. zarejestrowałem się na forum, witam :).

EDIT:
Utworzyłem jeszcze kilka triggersów i w celu sprawdzenia, czy wszystko dobrze działa, niechcący zacząłem grać. Komputer robi jednostki, ale (chyba) tylko wtedy, kiedy się broni. Poza tym nie atakuje Carrierami, te, które utworzyłem, po prostu stoją w jednym miejscu i nic nie robią. Tak ma być? :}
« Ostatnia zmiana: Października 12, 2010, 11:18:58 pm wysłana przez Der_SpeeDer » Zapisane
Der_SpeeDer
Global Moderator
*****
Wiadomości: 343


Jaszczury GÓRĄ!


« Odpowiedz #7 dnia: Października 12, 2010, 11:29:27 pm »

Nie wiem, co mam Ci powiedzieć... Kocham Cię.

A PFEEEEEE! ???

I tak, dla sprostowania sprawy (czy jak to powiedzieć), komputer od początku miał dostępną całą technologię (tylko pancerz był na 2 poziomie), a nawet jeśli nie miał, to ją odkrywał.

Nie, nic nie zrozumiałeś - chodzi o to, że w scenariuszach kampaniowych się W OGÓLE usuwa z mapy dane typy jednostek - NIE MOŻNA ich budować, ani NIE MOŻNA ODKRYWAĆ TECHNOLOGII. Na przykład w siódmej misji Terran, w kampanii oryginalnej, nie masz W OGÓLE Ghostów i Battlecruiserów. Pojął, na litość Boską?
I jeśli odbierasz po prostu na wczesnych scenariuszach dane typy jednostek, to komp, nie mogąc ich budować, staje w miejscu.

Uznałem, że robienie jednej, dużej lokacji to byłby chyba idiotyzm. Komputer wtedy Proby umieszczone przy drugim złożu gazów wysyłałby do minerałów.

Komputer sobie poradzi, nie martw się. Zwłaszcza, że na Insane gaz i minerały dodają mu się automatycznie.

BTW. zarejestrowałem się na forum, witam :).

Właź do działu O nas i się spowiadaj 8).

Komputer robi jednostki, ale (chyba) tylko wtedy, kiedy się broni. Poza tym nie atakuje Carrierami, te, które utworzyłem, po prostu stoją w jednym miejscu i nic nie robią. Tak ma być?

Ciekawy z ciebie przypadek. Cały czas przytaczasz mi zachowania kompa absolutnie sprzeczne ze wszystkim, czego należałoby oczekiwać. Działka normalnie atakują wszystkie jednostki, a ty utrzymujesz, że – ni z gruchy, ni z pietruchy – wcześniej nie atakowały. Ustawiony na danym poziomie trudności komp, z ustalonym prawidłowo Location, normalnie się rozbudowuje, produkuje jednostki i atakuje. A ty twierdzisz, że u ciebie nic nie robi. Nie wiem, jakiego edytora ty używasz i jakiej wersji StarCrafta, ani co ty właściwie robisz z tymi biednymi mapkami, ale rozkładam ręce.
Zapisane

"Mów mądrze do głupca, a nazwie cię idiotą"

Eurypides
Xel'Demon
Level 2-4
*
Wiadomości: 19


Pani Wielka OWN [PWO]


« Odpowiedz #8 dnia: Października 13, 2010, 09:53:07 pm »

Ja od siebie dodam - nie używaj StarEdit'a.

W "Location", w którym jest trigger AI, musi znajdować się PIERWSZY budynek danej rasy, a następnie minimum 4 jednostki wydobywcze - sprawdzone :).

Poziom Insane, to najtrudniejszy, "szaleńczy". Zazwyczaj komputer używa na tym poziomie morderczej ilości jednostek powietrznych (zwłaszcza Zerg).

Komputer nie rusza innych jednostek w trzech wypadkach:
- Jeżeli nie doszedł do danej technologii (czyli: nie ruszy Ultralisków do czasu zbudowania Hive/Ultralisk Cavern)
- Jeżeli jednostka zawiera ulepszenie, do którego komputer nie może dojść (np: zablokowałeś możliwość zbadania "Psionic Storm", a Templar posiada taką umiejętność)
- Jeżeli jednostka jest typu 'Hero".

Jak masz dalsze problemy, to zamieść tutaj mapę. Pobawię się, z nudów. :).
« Ostatnia zmiana: Października 13, 2010, 10:26:05 pm wysłana przez Der_SpeeDer » Zapisane
Der_SpeeDer
Global Moderator
*****
Wiadomości: 343


Jaszczury GÓRĄ!


« Odpowiedz #9 dnia: Października 13, 2010, 10:47:12 pm »

Ja od siebie dodam - nie używaj StarEdit'a.

Nie przesadzajmy, jak mówią ogrodnicy. Ja swoje trzy pierwsze kampanie zrobiłem właśnie na StarEdicie.

Co do Insane, to akurat wiem dokładnie, jakich ataków używa komp. Są to nie tylko ataki powietrzne, ale w każdym przypadku mordercze.

Terran na Insane przeprowadza kolejno ataki:
- pierwszy atak: ok. 20 Marines
- drugi atak: ok. 20 Marines + 8 Vulture
- trzeci atak: ok. 20 Marines + 8 Siege Tanków
- czwarty atak: ok. 20 Wraithów
- piąty atak: ok. 20 Goliathów + 8 Siege Tanków
I dalej atakuje już na zmianę flotami Battlecruiserów i lądowymi grupami Siege Tanków z Goliathami.

Zerg na Insane:
- pierwszy atak: ok. 20 Zerglingów
- drugi atak: ok. 20 Hydralisków
- trzeci atak: ok. 20 Mutalisków
- czwarty atak: po kilkanaście Mutalisków, Guardianów i Devourerów
- piąty atak: ok. 20 Hydralisków + 8 Ultralisków
I dalej na zmianę Ultrale z Hydralami i duże grupy lataczy.

Protoss na Insane:
- pierwszy atak: ok. 12 Zealotów
- drugi atak: ok. 12 Zealotów + 12 Dragoonów
- trzeci atak: ok. 20 Scoutów
- czwarty atak: 12 Zealotów + 12 Dragoonów + kilka Reaverów
- piąty atak: flota Carrierów
I dalej atakuje na zmianę kolejnymi flotami Carrierów albo bandami Dragoonów ze wsparciem Reaverów.

Dodatkowym walorem kompa na Insane jest to, że minerały i gaz (skubany!) dodają mu się same. Nie da się zmęczyć go, odcinając od surowców i czekając, aż mu się skończą - on będzie atakował bez końca.
Tak czy inaczej, twardy sukinkot.
« Ostatnia zmiana: Grudnia 07, 2011, 08:55:41 pm wysłana przez Der_SpeeDer » Zapisane

"Mów mądrze do głupca, a nazwie cię idiotą"

Eurypides
Strony: [1] Drukuj 
« poprzedni następny »