Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Call of Duty] SP Scripting.


MPKiller545

Rekomendowane odpowiedzi

Opublikowano

Witam!
Pokaże wam podstawy w skryptowaniu jesli chodzi o mapy singleplayer. Język skryptowy, jest w miare podobny do C++
1. Zmienne
Zmiennymi w CoD4 mogą być:
- cyfry

zmienna = 10;

- byty
player_spawn = getent("player_spawnpoint","targetname");

- wartosc zwracana przez dana funkcje:
rpg_guy = getent("rpg_spawner","targetname") doSpawn();

Nie jestem pewien co do Stringów.

Wyróżniamy jeszcze tablice. Tablice są to tak jakby zbior zmiennych wsadzonych do jednego worka. Przykład:
Cyfry[]
Cyfry[0] = 1;
Cyfry[1] = 2;

Mozna je jeszcze inaczej zdefiniowac:
Wrogowie = getaiarray("axis"); //lapie wszystkich ZYJACYCH wrogow do tablicy.

Zastosowanie:
for(i=0;i<Wrogowie.size;i++)
Wrogowie[i] delete(); //usuwa wszystkich zyjacych wrogow z gry

przedrostek level. powoduje ze zmienna moze zostac wywolana z kazdej linijki kodu.


2. Funkcje
Funkcje sa to bloki kodu, ktory jest wykonywany gdy dana funkcja zostanie wywolana:
MojaFunkcja(argument1,argument2)
{
level.wynik = argument1 + argument2
return level.wynik; //zwraca wartosc rownej zmiennej level.wynik
}

Pełnia one role czasami tez uporzadkowania kodu, aby moc sie bardziej polapac w tym wszystkim ;)

Skryptowanie w CoD czy do map czy do modów, z zasady wygladają baaardzo podobnie, lecz funkcje są całkowicie inne.


No dobra, to ma być tutek do singleplayer, wiec przedstawie wam kilka przydatnych funkcji ;)

1. NOTIFY
Notify - jest to przełączanie stanu jakiegoś bytu lub funkcji. Przykład:
level.blackhawk = getent("blackhawk","targetname"); //bierzemy helikopter blackhawk do zmiennej
level.blackhawk notify("death"); //Rozwalamy go  (death - smierc)


trigger = getent("trigger_me","targetname"); //bierzemy trigger do zmiennej
trigger notify("trigger"); // aktywujemy go

Notify czasami ma problem z aktorami, trzeba by juz uzyc innej funkcji ktora zadaje obrazenia.

2. Dawanie broni

Dawanie broni jest bardzo proste. Standardowo dostajemy MP5. Ale tez mozemy dac inne bronie, np. m4.
level.player takeallweapons(); // zabiera bronie graczowi
level.player giveWeapon ("m4_grenadier"); //dajemu mu m4 z granatnikiem
level.player giveWeapon ("g36c"); //dajemy mu g36c
level.player switchToWeapon ("m4_grenadier"); //przelaczamy bron na m4
level.player giveWeapon ("fraggrenade"); // dajemy mu granaty
level.player giveWeapon ("flash_grenade"); // dajemy mu flashe



3. Tworzenie wrogow (hehe najlepsze :D)

Tworzenie wrogow/sojusznikow za pomoca skryptow jest bardzo proste. Słuza do tego 2 funkcje:
- doSpawn();
- stalingradSpawn();
Efekt koncowy jest taki sam dla tych funkcji, ale doSpawn() tworzy przeciwnika/sojusznika kiedy gracz nie patrzy na miejsce tworzenia.
Przykład zastosowania:
axis_spawner = getentarray("axis_spawn","targetname"); // bierzemy wszystkie spawnery o KVP targetname = axis_spawn
for(i=0;i<axis.spawner.size;i++)
axis_spawner[i] doSpawn();

(Aktorzy, ktorzy maja za dzialanie dzialac jak spawner, musza miec zaznaczony atrybut SPAWNER)

To by było na tyle ;) (Moze cos jeszcze pododawam)
Odsyłam was również do tzw. Script Referenc'u. Macie tam cały spis WSZYSTKICH dostępnych funkcji w CoD4 (MP i SP)

Zbieram warny za offtop (rzekomy SPAM).

  • Aive zmienił(a) tytuł na [Call of Duty] SP Scripting.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...