Najnowsze newsy ze świata Mount&Blade: ( Dodaj własny news )

Bannerlord: Fizyka broni - część 2. (Dev Blog 16/11/17)

16.11.2017 | Dodał: Eltarek

Właśnie ukazał się kolejny cotygodniowy blog dewelopera! Liczniki ustawiamy na 32, natomiast oczy zagłębiamy w tematyce dzisiejszego wpisu - fizyce (...) więcej

Ruszają nominacje do plebiscytów!

13.11.2017 | Dodał: Dyktator

Rusza pierwsza faza plebiscytów na gracza roku 2017! Potrwa ona do 25 listopada. więcej

Bannerlord: Khanat Khuzaicki - omówienie frakcji (Dev Blog 09/11/17)

10.11.2017 | Dodał: Hubtus

To już trzydziesty pierwszy Dev blog, w którym to twórcy opowiadają nam o swojej grze. Tym razem został on poświęcony kolejnej (...) więcej

Strona główna Mount&Blade | ukryj panel

Pokaż panel z newsami »

Polub nasz profil na facebooku! oraz dołącz do naszej Grupy STEAM

Autor Wątek: [Tutorial]Broń palna w Warband  (Przeczytany 1533 razy)

Opis tematu:

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

Offline Lew

  • Obrońca Tawerny
  • Senior
  • *
  • Wiadomości: 6970
  • Piwa: 575
  • Płeć: Mężczyzna
  • 21. Pułk Piechoty THD
    • brucecampbellboyz1981
  • Steam ID: Mój status Steam
[Tutorial]Broń palna w Warband
« dnia: Sierpień 25, 2014, 22:31:16 »
1. Wybór narzędzia:
Masz do wyboru dwa rodzaje narzędzi:
-edytory wykonane przez community - proste, ale nie dają takich możliwości jak MS (i nie wystąpi nam dodana broń w sklepach. Czemu? Bo dla firearmsów prawdopodobieństwo wynosi 0, zmienić to można tylko za pomocą MS. Jeśli chcemy mieć broń palną, musimy użyć cheatmenu.), jest ich kilka, najlepsze to chyba Edytor Morgha i Item Editor
-Module System - trudniejszy, ale daje o wiele większe możliwości
2. Model i tekstura broni palnej.
Tej części nie wyjaśniam. W świetnym tutku Daedalusa są o tym informacje. Jeśli nie czujesz się na sile robić własny model, albo jesteś zbyt leniwy, zawsze możesz skorzystać z paczek OSP z itemami (klik!)
Teraz, w zależności od wybranego narzędzia, mamy dwie wersje tego tutka:
Edytor Morgha (na tym komputerze nie dysponuję Item Editorem)

3.1. Początek
Włączamy edytor Morgha, po czym wybieramy opcję 'Text compiled files', podajemy ścieżkę dostępu do folderu, w którym znajduje się plik item_kinds.txt, następnie zatwierdzamy przyciskiem Save configuration. Powinno pokazać nam się okno z wyborem różnych edytorów. Wybieramy oczywiście 'Item Editor'.
3.2. Małe wyjaśnienie elementów edytora
Na samej górze znajdują się dwie sekcje: 'Add/Delete Item' i 'Update & Save Changes'. Co oznaczają?
W sekcji Add/Delete Item mamy dwie opcje: Add i Delete. Opcja 'Add' dodaje nowy item na samym końcu listy, z danymi (koszt, waga, flagi, skrypty itd.) itemu zaznaczonego na liście znajdującej się w lewej części ekranu. Jedyne, co się zmienia, to ID i nazwa przedmiotu. Klikając ponownie 'Add' zatwierdzamy dodanie przedmiotu.
Przycisk 'Delete' usuwa po prostu zaznaczony na liście po lewej przedmiot. UWAGA: Jeśli przedmiot jest wykorzystywany w modzie (przykładowo przez jednostki) może to sprawić, że gra będzie się crashować!
Przycisk 'Update' zapamiętuje wszelkie zmiany w sekcji Item. Naciskamy go po dokonaniu zmian (przycisk Save zapisuje to, co przycisk Update zapamiętał). Kiedy już nasze zmiany zupdateujemy, kilkamy przycisk Save, a Edytor Morgha nadpisuje stary plik item_kinds.txt. UWAGA: Update'ujemy każdy item osobno!
Poniżej znajduje się sekcja Item, podzielona na mniejsze. 'Names', 'Flags', Capabilities', 'Modifiers', 'Values', 'Trigger' i 'Factions'. Tutaj bardziej szczegółowo poszczególne opiszę.

Sekcja 'Names': znajdują się tu pozycje:
Item ID: ID itemu, musi być unikalne, inaczej gra będzie crashować!
Single i Plural: Nazwa przedmiotu, to może być cokolwiek.
Meshes i Mesh ID's: Pierwsze to lista meshy, czyli modeli przedmiotu. W rozwijanej liście znajdują się już "należące" do przedmiotu meshe, w polu tekstowym na prawo możemy wpisać nazwę któregoś z meshy (UWAGA: wpisujemy nazwy modeli z plików .brf, nie nazwy plików .brf!). Mesh ID's to nie ID meshy, a ich typ. Tu powinienem trochę bardziej to rozpisać:
ixmesh_none - model itemu wykorzystywany do walki, przykładowo szabla po wyjęciu z pochwy
ixmesh_inventory - model itemu widoczny w ekwipunku
ixmesh_flyingammo - tylko do naboi, jak mają wyglądać gdy lecą
ixmesh_carry - jak wygląda item, gdy jest niesiony przez postać - tak wygląda przykładowo szabla w pochwie
Gdy chcemy wybrać nowy mesh, wybieramy odpowiadający jej Mesh ID i wprowadzamy nazwę modelu.

Sekcja 'Flags': flagi przedmiotów. W przypadku broni palnej zaznaczamy type_pistol/type_musket (broń palna) LUB type_crossbow (wówczas broń będzie pojawiała się w sklepach, ale trzeba będzie zmienić ammo dla kusz), merchandise (by broń pojawiała się w sklepach, tylko jeśli wybraliśmy type_crossbow), cant_reload_on_horseback (jeśli nie chcemy, by broń tą można było przeładowywać na koniu), primary, cant_reload_while_moving (jeśli chcemy, by nie można było przeładowywać podczas poruszania się).

Sekcja 'Capabilities': shoot_pistol/shoot_musket (w zależności co chcemy), carry_cośtam (w zależności jak chcemy, by postać to nosiła; generalnie dla muszkietów/karabinów polecam carry_spear, dla pistoletów carry_pistol albo carry_revolver), reload_pistol/reload_musket.

Sekcja 'Modifiers': co sobie życzymy. Nie próbowałem, więc nie wiem, czy danie modifierów jedzenia (day_old, rotten itp.) nie będą skutkować crashem. Ogólnie nie ma tu nic do wyjaśniania, jak nie rozumiecie słów, to polecam jak zawsze słownik, ja tak nauczyłem się ang jak miałem 9 lat ^^

Sekcja 'Values': tu trochę wyjaśnienia.
Cost: koszt
Weight: waga przedmiotu
Abundance: częstotliwość występowania w sklepie, im wyższa tym lepiej. Jeśli wybraliście type_pistol/musket, to nie ma znaczenia, item i tak się nie pokaże.
Head Armor i Body Armor - niepotrzebne, jeśli skopiowaliście Flintlock_Pistol, powinno wam się pokazywać jako n/a.
Accuracy: celność
Difficuly: wymagany poziom danej cechy (przykładowo, siły w przypadku miecza)
Hit points: do tarcz, jeśli skopiowaliście Flintlock_Pistol, powinno wam się pokazywać jako n/a.
Speed: szybkość przeładowywania
Shot speed: szybkość z jaką lecą wystrzeliwywane pociski
Weapon length: zasięg broni, jeśli skopiowaliście Flintlock_Pistol, powinno wam się pokazywać jako n/a.
Ammo: ile ammo na raz ładujesz (pojemność magazynka), czyli ile razy możesz strzelić przed kolejnym przeładowaniem
Thrust damage: obrażenia od od ciosów na wprost (sztych przy broni białej, każde trafienie przy broni zasięgowej)
Typy damage'a: Pierce - "ukłucie"
Cut - cięcie, słabiej działa na opancerzonych wrogów
Blunt - ogłuszające, mocniej działa na opancerzonych wrogów

Sekcja 'Trigger':
Tu dodajemy triggery. W polu tekstowym na lewo ich liczbę, zaś w polu tekstowym na dole ich "treść". Jeśli skopiowaliście Flintlock_Pistol powinniście tam mieć skompilowany trigger dymu po wystrzale. Nie polecam się z tym bawić, możecie tylko zepsuć grę.

Sekcja 'Factions': Nie korzystałem z tego nigdy, ale wydaje mi się, że jeśli zaznaczymy jakąś frakcję, to przedmiot ten będzie dostępny tylko w sklepach tej frakcji.

Myślę, że teraz poradzicie sobie z dodaniem broni palnej za pomocą Edytora Morgha. Tutek do Module System i Item Editora w drodze, pierwszego spodziewajcie się jeszcze dzisiaj, tego drugiego jak sobie już ściągnę Item Editora na ten komputer, czyli do końca wakacji.

Module System
4.2. Co nam się przyda:
-module_items.py
-module_scripts.py
-header_items.py
-Notepad++ do otwarcia MS

Otwieramy powyższe pliki i rozpoczynamy edycję module_items.py:
Na samym końcu (przed wpisem ["items_end",) dodajemy nowy item:
Cytuj
["Unikalne_ID_przedmiotu", "Nazwa_Przedmiotu", [("nazwa_modelu",0)]
W tym miejscu przerwijmy i skupmy się na części odpowiadającej za modele: jak widać, wpisałem nazwę modelu, po czym po przecinku umieściłem 0. Co to znaczy? Jest to odpowiednik ixmesh_none z Edytora Morgha. A co, jeśli chcemy dodać jeszcze jeden rodzaj modelu, powiedzmy z obrazkiem do naszego inventory? Wówczas musimy lekko zmienić ten kod na: [("nazwa_modelu",0), ("nazwa_modelu_do_inv",ixmesh_inventory)] Analogicznie postępujemy, w przypadku dodawania kolejnych modeli (nie jest to konieczne oczywiście).

Co mamy po części odpowiadającej za modele? Część z flagami, które możemy podejrzeć w header_items.py. Są to wpisy z przedrostkiem itp_ Co powinniśmy dodać?
Konieczne dla naszej broni palnej będzie itp_pistol/itp_musket, itp_merchandise i itp_primary, reszta - opcjonalnie. Jak dodajemy? Po części odpowiadającej za modele dajemy przecinek, a konkretne flagi rozdzielamy znakiem | (bynajmniej nie jest to duże i :P). Po dodaniu flag powinno wyglądać to tak:
["Unikalne_ID_przedmiotu", "Nazwa_Przedmiotu", [("nazwa_modelu",0), ("nazwa_modelu_do_inv",ixmesh_inventory)], itp_type_pistol |itp_merchandise|itp_primary
Co dalej? Teraz czas na Capabilities:
Do działania konieczne jest itcf_shoot_pistol/musket i itcf_reload_pistol/musket, ale ich pełną listę również znajdziecie w header_items.py, ja polecam również dodać te odpowiadające za noszenie ich przez postać. Teraz powinno wyglądać to tak:
["Unikalne_ID_przedmiotu", "Nazwa_Przedmiotu", [("nazwa_modelu",0), ("nazwa_modelu_do_inv",ixmesh_inventory)], itp_type_pistol |itp_merchandise|itp_primary , itcf_shoot_pistol|itcf_reload_pistol|itcf_carry_revolver_right,
OK, teraz czas na Values:
Na początek, po przecinku po Capabilities wpiszcie liczbę - będzie to cena. Następnie, po przecinku, wpiszcie weight(tu waga itemu). Potem kolejne pozycje: difficulty(wartość)|spd_rtng(wartość)|shot_speed(wartość)|thrust_damage(wartość, typ - pierce/blunt/cut)|max_ammo(wartość)|accuracy(wartość). Co poszczegółne rzeczu oznaczają, wyjaśniłem w części tutka odpowiadającej za Edytor Morgha, więc tu nie będę się rozpisywał. Na koniec powinniście otrzymać coś takiego:
["Unikalne_ID_przedmiotu", "Nazwa_Przedmiotu", [("nazwa_modelu",0), ("nazwa_modelu_do_inv",ixmesh_inventory)], itp_type_pistol |itp_merchandise|itp_primary , itcf_shoot_pistol|itcf_reload_pistol|itcf_carry_revolver_right, 230, difficulty(wartość)|spd_rtng(wartość)|shot_speed(wartość)|thrust_damage(wartość, typ - pierce/blunt/cut)|max_ammo(wartość)|accuracy(wartość)
Teraz dodać możecie modyfikatory przedmiotu (Stary, Elitarny, Zardzewiały itd.). Ja jestem leniwy, więc po przecinku dodam imodbits_none, czyli żadnych modyfikatorów.
Czy jest coś jeszcze? Owszem. Aby po wystrzeleniu słychać było odgłos wystrzału, oraz widać było dym, dodajcie po przecinku, po imodbits_none, to:
[(ti_on_weapon_attack, [(play_sound,"snd_pistol_shot"),(position_move_x, pos1,27),(position_move_y, pos1,36),(particle_system_burst, "psys_pistol_smoke", pos1, 15)])]],
Voila! Oto efekt końcowy naszych prac:
Cytuj
["Unikalne_ID_przedmiotu", "Nazwa_Przedmiotu", [("nazwa_modelu",0), ("nazwa_modelu_do_inv",ixmesh_inventory)], itp_type_pistol |itp_merchandise|itp_primary , itcf_shoot_pistol|itcf_reload_pistol|itcf_carry_revolver_right, 230, difficulty(wartość)|spd_rtng(wartość)|shot_speed(wartość)|thrust_damage(wartość, typ - pierce/blunt/cut)|max_ammo(wartość)|accuracy(wartość), imodbits_none.
 [(ti_on_weapon_attack, [(play_sound,"snd_pistol_shot"),(position_move_x, pos1,27),(position_move_y, pos1,36),(particle_system_burst, "psys_pistol_smoke", pos1, 15)])]],

Czy to koniec? Bynajmniej nie! Aby broń palna pojawiła się u handlarzy w grze, otwórzcie module_scripts.py, po czym poniżej tego:
(troop_add_merchandise_with_faction, ":cur_merchant", ":cur_faction", itp_type_bolts, 2)wklejcie to:
Cytuj
(troop_add_merchandise_with_faction, ":cur_merchant", ":cur_faction", itp_type_pistol, 2),
     (troop_add_merchandise_with_faction, ":cur_merchant", ":cur_faction", itp_type_musket, 2),
     (troop_add_merchandise_with_faction, ":cur_merchant", ":cur_faction", itp_type_bullets, 2),
Teraz pozostaje wam tylko skompilować MS, przed tym trzeba się jednak zaopatrzyć w Pythona. Więcej o tym tutaj.
« Ostatnia zmiana: Wrzesień 06, 2016, 00:07:32 wysłana przez Lew »
Tak to czytam i za każdym razem dostaje coraz większego orgazmu ~Kokosz o nominowaniu go przez Kradusa na gracza roku WB