Wybór strzał 4420 5

O temacie

Autor piootrek86

Zaczęty 28.01.2016 roku

Wyświetleń 4420

Odpowiedzi 5

piootrek86

piootrek86

Użytkownicy
Fanatyk Gothica
posty89
Propsy13
ProfesjaGrafik 3D
  • Użytkownicy
  • Fanatyk Gothica
Witam. Będzie to mój pierwszy tutorial, więc proszę o wyrozumiałość :)

Przedstawię szybki sposób na zrobienie skryptu do wyboru strzał. Potrzebny nam będzie ikarus i lego : http://themodders.org/index.php?topic=16580.0

No to teraz zaglądamy do pliku _Work\data\Scripts\Content\Items\IT_Ranged_Weapons.d i dodajemy przy naszych strzałach takie coś:

Spoiler
name             =   "Strza³a";

   mainflag          =   ITEM_KAT_MUN;
   flags             =   ITEM_BOW|ITEM_MULTI;

   value             =   Value_Pfeil;

   visual             =   "ItRw_Arrow.3ds";
   material          =   MAT_WOOD;
on_state[0]    = wyborstrzala; // funkcja - inna nazwa dla kazdej strzaly
      scemeName         =   "MAP";
nazwa funkcji powinna byc inna dla innego rodzaju strzal np dla zatrutych mozna dac : on_state[0]    = wyborstrzalazatruta;

na samym dole dodajemy:

Spoiler
func void wyborstrzala()
{
var C_ITEM equippedbow;
equippedbow = Npc_GetEquippedRangedWeapon(hero);
equippedbow.munition = ItRw_arrow;   // ustawia jako amonicje zwykla strzale

};

dodajemy tak dla kazdego rodzaju strzaly np dla zatrutych dalibysmy:

Spoiler
func void wyborstrzalazatruta;()
{
var C_ITEM equippedbow;
equippedbow = Npc_GetEquippedRangedWeapon(hero);
equippedbow.munition = ItRw_PoisonArrow;   // zmiana strzaly na zatruta

};

i zapisujemy nasz plik. Jako taki wybór strzał już mamy. Po sparsowaniu skryptów w plecaku klikając na dana strzałe nasz bohater by wykonał animacje jak przy patrzeniu na mape i dana strzała była by ustawiona dla każdego łuku. Teraz dodamy jeszcze jeden bajer, do czego potrzebowaliśmy Ikarusa i lego, a mianowicie wybór naszych strzał poprzez klawisze. Tworzymy sobie plik o nazwie np wyborstrzal.d i dajemy w nim:

Spoiler
func void wyborstrzal(var C_Npc other, var C_Npc self)
{var C_ITEM equippedbow;



if(MEM_KeyState(KEY_3)==KEY_PRESSED )
{
         AI_UseItemToState       (self,    ItRw_Arrow, 0); // tutaj dajemy instance naszej strzaly ktora chcemy przypisac do danego klawisza
      
         
         };



};


I powtarzamy ta czynność zmieniając tylko w if(MEM_KeyState(KEY_3) numer lub literę pod jakim chcemy miec przypisaną następną strzałę.

na koniec w Startup.d dodajemy:

FF_Apply (wyborstrzal);  // funkcja która uruchamia wybór strzał za pomocą klawiszy :D

Mam nadzieję, że komuś pomożę ten tutek :) W razie pytań nie krępujcie się:)
 
Mam pomysł na moda ale nie mam chęci i zdolności :D

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
To nie jest tutorial, bardziej to się nadaje na targowisko.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

kaczka

kaczka

RaveN Studio
Definitely not kaczka!
posty2280
Propsy2392
NagrodyV
ProfesjaLvl designer
  • RaveN Studio
  • Definitely not kaczka!
Imo zwykły gotowiec, w którym powiedziałeś co i gdzie wkleić
 

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota

Siemekk
Złote Wrota

Wybór strzał
#3 2016-01-28, 23:09(Ostatnia zmiana: 2016-01-28, 23:21)
Kaczka i Sawik mają rację na targowisko. Poza tym skrypt nie jest doskonały...  Jeżeli damy sobie dodatkowe obrażenia to dmg będzie się zawsze dodawal...
Drugie primo robiąc tym sposobem zawalimy sobie klawisze i będą błędy.... 
Trzecie primo mam wrażenie ze skrypt jest baaardzo podobny do mojego z PROBLEMATYKI  :lol2:
Czwarte primo nie powiedziałes jak zainicjować do gothic src... I by płakali...
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

piootrek86

piootrek86

Użytkownicy
Fanatyk Gothica
posty89
Propsy13
ProfesjaGrafik 3D
  • Użytkownicy
  • Fanatyk Gothica
To moze usune go wogle najlepiej hehe.
co do czwartego primo dalem link na poczatku do ikarusa i lego jak go zainicjowac wiec nie pisalem juz o tym.
Trzecie promo masz racje po naszych wpisach polaczylem sobie Twoj sposob ze swoim i mi wyszlo takie cos ;-)  skrypt nie jest doskonaly jak zaden w tutkach bo zawsze ktos bedzie musial edytowac go wedlug wlasnej potrzeby.
 
Mam pomysł na moda ale nie mam chęci i zdolności :D

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Łoo tam się czepiacie, na targowisko powinien dać skrypt idealnie działający, a tutaj dał przykład/podstawę do stworzenia czegoś wedle własnego uznania :)
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.


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