[Celtic Kings: Rage of War]Podstawy i kilka rzeczy trudniejszych 5379 0

O temacie

Autor Werewolf

Zaczęty 10.06.2010 roku

Wyświetleń 5379

Odpowiedzi 0

Werewolf

Werewolf

Użytkownicy
Zielony goblin - za dnia biznesmen, w nocy złoczyńca
posty6343
Propsy2477
ProfesjaGracz
  • Użytkownicy
  • Zielony goblin - za dnia biznesmen, w nocy złoczyńca
Tutorial napisany specjalnie dla mnie (a przy okazji i dla innych) przez ReMiK'a.


Cytuj
Witam przygotowałem tutaj parę skryptów które mogą się przydać. Opowiem także jak i gdzie je wstawić.
1 Po pierwsze żeby skrypt działał musi być włączona opcja " auto start dozwolony" w okienko pod ta opcja nic nie trzeba wpisywać, chyba ze się chce aby dana sekwencja występowała po innej to wpisujemy tam nazwę tej sekwencji po której ma występować.
2 Po drugie nazwy jednostek wykorzystane w skryptach musza byc tak same jak nazwa skryptu jednostki.
3 Po trzecie występują tu przykładowe nazwy które można zmienić i to są:
-Ketlin ; Lonix;MyHero ;MyUnit ;MyUnit2            to nazwa skryptu jednostki
-m5_1 ;MyArea                               to nazwa obszary
-m5_atack ; MyGroup                      to nazwa grupy
-map4                                            to nazwa mapy do ktorej sie przenosimy
-8                                                  to numer gracza który ma dostać sztuczna inteligencje
-5_1                                               to nazwa konwersacji
-i1_2 ; i1_1                                     to nazwa informacji
-MySettlement                                 to nazwa miasta



[size=18]1.[/size] Te skrypty umozliwiaja czekanie na inny skrypt, np
Cytuj
WaitUnitsInArea( Ketlin , "m5_1" , -1 );
RunConv("5_1");
SpawnGroup ("m5_atack") ;
[/color]
Ten skrypt spowoduje: Gdy Ketlin wejdzie w obszar m5_1 właczy sie rozmowa o nazwie 5_1 i pojawi sie grupa o nazwie m5_atack.
To jest tylko przykład można w ten sposob łaczyc wiele skryptów. Dlatege skrypty "czekające" są bardzo wazne.


Cytuj
WaitUnitsInArea( Ketlin , "m5_1" , -1 );

   (czekaj az jednostka <ketlin> dojdzie do obsaru <m5_1>)


   
Cytuj
WaitEmptyQuery( m5_atack , -1 );

   
   (czekaj az grupa <m5_atack> zostanie zniszczona)

Cytuj
WaitConvRequest(Ketlin , Lonix , -1);
   RunConv("5_1");

   (Czekaj aż gracz włączy rozmowę,dzięki temu skryptowi, pojawia sie nam wykrzyknik nad ta osoba z ktora mozemy porozmawiac <ketlin to jednostka ktora my sterujemy a lonix to jednostka nad ktora pojawia sie wykrzyknik>
       

[size=18]2.[/size] Skrypty właściwe.


Cytuj
ChangeMap("map4","m5_1");

   
   (zmiana mapy, bohater zostanie przeniesiony do mapy <map4> do obszaru <m5_1>)
   (warunki: bohater musi mieć zaznaczone drużyna w zakładce cechy)


   
Cytuj
SpawnGroup ("m5_atack") ;
   

   (przybycie jednostek grupy <m5_atack>)
   (warunki: jednostki w tej grupie muszą mieć zaznaczone szablon jednostki w zakładce cechy)


   
Cytuj
AIStart( 8 , "DEFAULT" , GetDifficulty() + 1);


   (komputer <gracz8> zaczyna miec sztuczna inteligencje)

   
Cytuj
RunConv("5_1");


   (uruchomienie rozmowy<5_1>


   
Cytuj
GiveNote("i1_2");

   (dodanie informacji <i1_2>)

   
Cytuj
RemoveNote("i1_1");

   (usuniecie informacji <i1_1>)

   
Cytuj
Ketlin.Damage(10000);
   
   (jednostka <ketlin> zostaje zgladzona)

   
Cytuj
Ketlin = GetNamedObj("Ketlin");
   (nie wiem do czego sluzy ale jesy potrzebne przy zmianie map, <ketlin to bohater ktory przychodzi z mapy do mapy
   
   
Cytuj
assets/entities/notifications/note.rle

   (to dajemy w obrazek informacji zeby miejsce gdzie mamy isc bylo oznaczone wykrzyknikiem)


Cytuj
Settlement MySett;
MySett = GetSettlement("MySettlement");
MySett.SetGold( MySett.gold + 3000);

(dodaje do miasta <MySettlement> 3000 zlota)


Cytuj
ExploreArea(1 , "MyArea" );

(odkrywa mape nad obszarem <myarea>)


Cytuj
MyGroup.SetCommand("attach" , MyHero );


(grupa <MyGroup> zostaje dolaczona do bohatera <MyHero>)



Cytuj
MyGroup.SetCommand("enter", MyOutpost);


(grupa <MyGroup> wchodzi do posterunku lub miasta <MyOutpost>)



Wyzsza szkola jazdy!!!!!


Cytuj
//void
   int Time , OneMin , Counter;

Time = 5;
OneMin = 60000;
Counter = 0;


while ( EnvReadString("/Mission15/Run") != "YES")
   {

   cls();
   pr( Translatef("Pomoc od sasiadow nadejdzie za %s1 minut", Time) );
   if ( Time == 0 )
      break;
   Sleep(1000);
   Counter += 1000;
   if ( Counter >= OneMin )
      {
      Time = Time - 1;
      if ( Time < 0 )
         Time = 0;
      Counter = 0;
      }
   }



(wlacza sie odliczanie czasu)
(Time=ile minut ma sie idliczac)
(Pomoc od sasiadow nadejdzie za %s1 minut = to tekst jaki ma pisac

Cytuj
//Increase minattack with 10, maxattack with 20,
//slashing defence with 30, piercing defence with 40 and health with 500
MyUnit.obj.AsUnit().AddBonus( 10 , 20 , 30 , 40 , 500 );

//Run twice as fast (200% speed)
MyUnit.obj.AsUnit().SetSpeedFactor(200);

//Set the amount of food the unit carries
MyUnit.obj.AsUnit().SetFood(123);

(zmienia statystyki jednostki <myunit>:
-zmienia atak minimalny do 10
-zmienia atak mmaksymalny do 20
-zmienia obrone przed ranami cietymi do 30
-zmienia obrone przed ranami klutymi do 40
-zmienia zycie do 500

-jednostka chodzi 200% szybciej
-jednostak dostaje 123 pozywienia)

Cytuj
point pt;
Obj o;

pt = MyUnit.obj.pos;
MyUnit.obj.Erase(); //remove the old unit
o = SpawnNamed("MyUnit2");
o.SetPos(pt);
o.SetName("MyUnit"); //reassign back the name


(jednostke <myunit> zmienia w jednostke <MyUnit2>)
(tam metoda zostala zastosowana w kampani "powrot na tron')

P.S:

Owe skrypty wpisuję się w Bieżąca Mapa->Sekwencje->Nowa Sekwencja
Wszelkie rzeczy związane TYLKO z jedną mapą robimy w Bieżąca Mapa

Jeżeli są jakieś niezgodności, proszę pisać do mnie na PW, Mail albo GG (na GG jestem dość często)
 
http://chomikuj.pl/Thorus12/ = Mody do Gothica - Przeznaczenie, Ludzie z Górniczej Doliny i inne! Mody do RimWorlda!

KOMPUTER:
Spoiler
Windows 7 Professional 64-bit SP1
-Intel Core i7 @ 4.00GHz   Technologia Haswell 22nm
-8,00GB 2-Kanałowy DDR3 @ 666MHz (9-9-9-24)
Gigabyte Technology Co., Ltd. Z97X-Gaming 3 (SOCKET 0)   28 °C
-X220W D-sub (1680x1050@60Hz)
-4095MBNVIDIA GeForce GTX 980 (Gigabyte)
-931GB Western Digital WDC WD10EZEX-08M2NA0 SCSI Disk Device (SATA)
-ASUS DRW-24F1ST a SCSI CdRom Device
-Realtek High Definition Audio


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry