Skocz do zawartości

Budowa Skryptu: Pirate attacks


_RA
 Udostępnij

Rekomendowane odpowiedzi

  • Odpowiedzi 52
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

Znane sa kontakty Teladian z Pirackim Syndykatem. Dzieki tym koneksjom piraci moga zaopatrzyc sie w praktycznie kazdy statek. Co za problem skombinowac terranski statek? Malo tego, w przestrzeni czasem pojawiaja sie terranscy zwiadowczy w M5 czy M4, sa dosc latwym kaskiem do przejecia.

Najfajniej byloby, gdyby statki terran mialy malowanie - piracki tribal i moglyby uzywac broni nie-terranskich. Zdaje sie, w XTC maja sie pojawic statki piratow Terran.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja po prostu twierdzę, że piraci mogą korzystać z terrańskich statków i uzbrojenia nawet mimo, że terranie nie dzielą swojej technologii. Myślę że mało która rasa jest skłonna do dzielenia się dobrami z piratami no oprócz telladian. W końcu piraci są nie tylko z nazwy piratami i atakują, grabią wszystkich nie ważne czy Argon, split czy terranian. Mój zamiar jest taki by podczas ataku w sektorach terrańskich jednak piraci stosowali uzbrojenia terrańskiego jak i statków terrańskich. Ale chce wasze potwierdzenie by nie zniechęciło też was do testowania skryptu. Ja chce zachować klimat X3 TC.

Edit:

Postarałem się poprawić większość błędów jeszcze raz przepraszam.

Odnośnik do komentarza
Udostępnij na innych stronach

yacek,potomkami terran w grze są argoni 🙁 Tylko że oni po zniszczeniu bramy postanowili zapomniec o Ziemi a Gonerzy postanowili ją odszukac.Zresztą obie rasy mają te same mordy,głosy,a nie możliwe by we wszechświecie powstały 2 identyczne rasy,które wcześniej nie miały ze sobą kontaktu..Co do tych statków piratów ja naprzykład kilka razy spotkałem w czystej grze pirackie statki w sektorach terran,konkretnie błotniaki, a akcja gry dzieje sie po otwarciu bramy więc jednak nic się nie stanie gdy atakowac będą w sektorach ziemian statki innych ras,takie jest moje zdanie.Sorkvild, dobrze gadasz z tymi stuningowanymi statkami ziemian 😁

Odnośnik do komentarza
Udostępnij na innych stronach

System Argon Prime nosił wcześniej nazwę Alfa Centauri, tylko że po wojnie z Terraformerami ( Xenami) którzy najechali na ziemię w 2146.

Ziemianie zamykając Terraformerów (Xenów) w bramie postanowili odciąć się od wszechświata, tak jak to zrobiła Japonia.

System Alfa Centauri zostaje najechany przez Terraformerów w 2147.

W obronie staje człowiek o imieniu Natan R.Gunnie. W wojnie z Terraformerami z ponad 100000 kolonistów przeżyło tylko 20000 tyś. Gdy Terraformeży zostali pokonani resztki niedobitków (20000 kolonistów) udaje się na świeżo odkrytą planetę Sonra 4 która idealnie nadaje się na skolonizowanie. Jedna z planet nosi nazwę Argon. W 2272 Sonra 4 oficjalnie zostaje nazwana Argon Prime, a koloniści zamieszkujący ją są pochodzenia ziemskiego.

Niejaki Martinus Sandas jest argońskim studentem który chce odświeżyć pamięć o ziemianach i pochodzeniu kolonistów zakłada fundację która nosi nazwę "Prawda o Ziemi". Nyana Gunne wnuczka bohaterskiego obrońcy "Argonów" czyli Natan R.Gunnie wraz z Martinus Sandas kupują stary statek, a było to roku pańskiego 2377.

Wraz z skompletowaną załogą która liczyła 6 członków wyruszają w poszukiwaniu zaginionej ziemskiej bramy, a siebie samych z dumą zaczęli nazywać Gunersami dla uczczenia pamięci pradziadka Nyana Gunne czyli Natan R.Gunnie. Gonnersi zbierając wszelkie dane tworzą księgę zwaną " Księgą Prawdy " A było to w roku 2381.

Tak więc Argoni to nic więcej jak ziemscy koloniści, którzy zostali zapomniani przez ziemian. Podobną scenę mamy w X3 TC w fabule Terran. Gdzie układ Aldrin został z zapomniany ponieważ ziemianie sądzili że został zniszczony przez Xenków. Tym czasem Martin Winthers wykorzystuje kolonistów Aldrin jak i ich surowce do swoich niecnych czynów. I chwała mu za to, bo jak by tego nie zrobił nie było by X3 TC 🙁

Odnośnik do komentarza
Udostępnij na innych stronach

wb, pirackie statki zdarzają się w ziemskich sektorach, a czy wiedziałeś, że w nieznanych sektorach ziemskich pojawiają się habitaty piratów.

Można by to wykorzystać w tworzeni tego moda, np. piraci dwa razy częściej atakują w sektorach niedaleko sektora z habitatem. (W tych prawie ziemskich habitatach znajdują się skradzione jednostki terrańskie.) Bliżej nieznanych sektorów częściej atakują piraci w ziemskich statkach, a bliżej bramy w pasie asteroid atakowałyby jednostki z reszty wszechświata X.

Odnośnik do komentarza
Udostępnij na innych stronach

No myślę że jeden rozdział z kilku (nie wiem ile ich będzie) zbliża się ku końcowi. Dla ciekawskich umieszczam jeszcze nie skończony skrypt, który wydaje rozkazy statkom atakującym stację w pierwszej fali. Myślę że maksymalnie będą trzy fale atakujących przeprowadzane na stację.

Spoiler
Script al.pirate.attacks.first.wave
Version: 0
for Script Engine Version: 44

Description
Orders for all ships in attack on first wave
Arguments
1: station , Var/Station , 'station' 
2: caravels.wing , Var/Wing , 'caravels.wing' 
3: def.fighters.wing , Var/Wing , 'def.fighters.wing' 
4: M3.bombers.wing , Var/Wing , 'M3.Bombers.wing' 
5: bombers.wing , Var/Wing , 'bombers.wing' 
Source Text

001   * generate jump position
002   $r =  = random value from 10000 to 15000 - 1
003   $r.min = - $r
004   $position.area =  array alloc: size=2
005   $x =  = random value from $r.min to $r - 1
006   $z = ( $r * $r ) - ( $x * $x )
007   $z =  square root of $z
008   $z.min = - $z
009   $position.area[0] = $z
010   $position.area[1] = $z.min
011   $random =  = random value from 0 to 2 - 1
012   $z = $position.area[$random]
013   $attack.sector = $station -> get sector
014   $x.start.pos = $station -> get x position
015   $y.start.pos = $station -> get y position
016   $z.start.pos = $station -> get z position
017   $x.end.pos = $x.start.pos + $x + 800
018   $z.end.pos = $z.start.pos + $z + 800
019   $x.start.pos = $x.start.pos + $x
020   $z.start.pos = $z.start.pos + $z
021   * ********************************************************
022   * Caravel
023   
024 @ = wait 4000 ms
025   $array.off.caravels =  get flight wing ship array: wing=$caravels.wing
026   $size.of.array =  size of array $array.off.caravels
027   $count = 0
028   while $count < $size.of.array
029 @ |= wait randomly from 500 to 1500 ms
030   |$caravels = $array.off.caravels[$count]
031   |$caravels -> ignore collisions: $caravels
032   |$x.pos =  = random value from $x.start.pos to $x.end.pos - 1
033   |$z.pos =  = random value from $z.start.pos to $z.end.pos - 1
034   |= $caravels -> use jump drive: target=$attack.sector
035   |$caravels -> set position: x=$x.pos y=$y.start.pos z=$z.pos
036   |$caravels -> set owner race to Pirates
037   |inc $count = 
038   end
039 @ = wait randomly from 500 to 1500 ms
040   * enemy orders: M8
041   $array.off.bombers =  get flight wing ship array: wing=$bombers.wing
042   $size.of.array =  size of array $array.off.bombers
043   $count = 0
044   while $count < $size.of.array
045   |$x.pos =  = random value from $x.start.pos to $x.end.pos - 1
046   |$z.pos =  = random value from $z.start.pos to $z.end.pos - 1
047   |$bombers = $array.off.bombers[$count]
048   |= $bombers -> use jump drive: target=$attack.sector
049   |$bombers -> set owner race to Pirates
050   |$bombers -> set position: x=$x.pos y=$y.start.pos z=$z.pos
051   |$bombers -> start task 0 with script '!fight.attack.object' and prio 1: arg1=$station arg2=null arg3=null arg4=null arg5=null
052   |$bombers -> set race logic control enabled to [FALSE]
053   |inc $count = 
054   end
055   * M3 bombers and fighters
056 @ = wait randomly from 500 to 1500 ms
057   $array.off.M3.Bombers =  get flight wing ship array: wing=$M3.bombers.wing
058   $size.of.array =  size of array $array.off.M3.Bombers
059   $count = 0
060   while $count < $size.of.array
061   |$M3.bombers = $array.off.M3.Bombers[$count]
062   |$M3.bombers -> set owner race to Pirates
063   |$M3.bombers -> start task 0 with script '!fight.attack.object' and prio 1: arg1=$station arg2=null arg3=null arg4=null arg5=null
064   |$M3.bombers -> set race logic control enabled to [FALSE]
065   |inc $count = 
066   end
067 @ = wait randomly from 500 to 1500 ms
068   $array.off.def.fighters =  get flight wing ship array: wing=$def.fighters.wing
069   $size.of.array =  size of array $array.off.def.fighters
070   $count = 0
071   while $count < $size.of.array
072   |$def.fighters = $array.off.def.fighters[$count]
073   |$def.fighters -> set owner race to Pirates
074   |$def.fighters -> start task 0 with script '!fight.attack.object' and prio 1: arg1=$station arg2=null arg3=null arg4=null arg5=null
075   |$def.fighters -> interrupt task 0 with script '!fight.attack.object' and prio 4: arg1=[PLAYERSHIP] arg2=null arg3=null arg4=null
076   |inc $count = 
077   end
078 @ = wait 6000 ms
079   $size.of.array =  size of array $array.off.caravels
080   $count = 0
081   while $count < $size.of.array
082   |$caravels = $array.off.caravels[$count]
083   |$caravels -> destruct: show no explosion=[TRUE]
084   |inc $count = 
085   end
086   $B.size =  size of array $array.off.bombers
087   $M3.size =  size of array $array.off.M3.Bombers
088   $size.of.array = $B.size + $M3.size
089   $all.bombers =  array alloc: size=$size.of.array
090   copy array $array.off.M3.Bombers index 0 ... $M3.size into array $all.bombers at index 0
091   copy array $array.off.bombers index 0 ... $B.size into array $all.bombers at index $M3.size
092   write to player logbook $all.bombers
093   $count = 0
094   while $count < $size.of.array
095   |$bombers = $all.bombers[$count]
096   |$time = 1
097   |if $bombers -> is of class M3
098   ||$number.of.missles = $bombers -> get amount of ware Hammerhead Missile in cargo bay
099   ||while $time <= $number.of.missles
100   |||= $bombers -> fire missile Hammerhead Missile on $station
101 @ |||= wait randomly from 5000 to 15000 ms
102   |||inc $time = 
103   ||end
104   |else if $bombers -> is of class M8
105   ||$number.of.missles = $bombers -> get amount of ware Tomahawk Heavy Missile in cargo bay
106   ||while $time <= $number.of.missles
107   |||= $bombers -> fire missile Tomahawk Heavy Missile on $station
108 @ |||= wait randomly from 5000 to 15000 ms
109   |||inc $time = 
110   ||end
111   |end
112   |$M3.bombers -> set race logic control enabled to [FALSE]
113   |inc $count = 
114   end
115   return null
Odnośnik do komentarza
Udostępnij na innych stronach

Witam

Teraz potrzebuje waszej rady. Rang bojowych jest 30 teraz nie wiem na ile to podzielić poziomów. Mogę na 6 czyli co pięć rang będzie nowy poziom ale jednak wiadomo, że na początku rangi dość szybko rosną może mi pomożecie jak to rozdzielić by proporcjonalnie awans był wraz z poziomem rangi.

Odnośnik do komentarza
Udostępnij na innych stronach

Bo dłuższych przemyśleniach zrobię tak by urozmaicić atak od poziomu będzie zależało uzbrojenie jak i ilość atakujących, dodatkowo uzbrojenie będzie się zmieniać w innym przedziale niż ilość statków co spowoduje urozmaicenie w atakach. I myślę, że nie raz zaskoczy to gracza.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...
  • 2 miesiące temu...
Cytat

Tak ostatnio zastanawiałem sie, jak tam ida prace nad skryptem ?

Hej Wszystkim

N ostatnio nie idą bo nie dość, że utknąłem w jednym miejscu to mam nawał pracy w pracy i na studiach. I często ciężko to pogodzić.

O mam takie pytanie co lepiej zrobić:

1. Czy pisać w jednym skrypcie podział na poziomy - to oznacza że będzie mniej skryptów więcej pisania.

- będzie 10 skryptów - po jednym na daną klasę (TS, TP, TM pójdą do jednego "koszyka")

2. Czy poziomy podzielić na skrypty co będzie oznaczać znacznie więcej skryptów - ale mniej pisania bo będę kopiował skrypty i tylko dodawał utrudnienie.

- będzie 70 skryptów - po siedem na daną klasę.

Zasada jest jedna w danej walce będzie korzystał zawsze z jednego poziomu więc nie wiem czy przychylić się do drugiego podejścia

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

 Udostępnij


×
×
  • Dodaj nową pozycję...