Tarcza w g1 9163 16

O temacie

Autor olo

Zaczęty 3.05.2010 roku

Wyświetleń 9163

Odpowiedzi 16

olo

olo

Użytkownicy
posty31
  • Użytkownicy
słuchajcie mam taki problem chciałbym wstawić do gothica 1 tarzę no i nie wiem jak to zrobić mógłby mi ktoś wyjaśnić?
PS: MDS'a i model tarczy już mam potrzebuję czystego skryptu tarczy.
 

jono

jono

Użytkownicy
posty525
Propsy155
ProfesjaNierób
  • Użytkownicy
Animacje masz?
 

olo

olo

Użytkownicy
posty31
  • Użytkownicy

olo

Tarcza w g1
#2 2010-05-03, 09:50(Ostatnia zmiana: 2010-05-03, 10:57)
mam wszystko oprócz skryptu tarczy
 

olo

olo

Użytkownicy
posty31
  • Użytkownicy
odświeżam
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Chyba muszę cię oświecić. W Gothicu nie ma żadnych gotowych rozwiązań wspierających nowe części uzbrojenia takie jak tarcze. Wszystko musisz zrobić sam, np wykorzystując mechanizmy broni i funkcje mds'ów. Gotowego rozwiązania nikt ci nie opublikuje, musisz sam zastanowić się jakie są metody nakładania czegoś na postać i którą z nich najlepiej wykorzystać.

Gother

Gother

Użytkownicy
Nieskromny Mistrz Gothica
posty457
Propsy260
ProfesjaScenarzysta
  • Użytkownicy
  • Nieskromny Mistrz Gothica
Ale on pisze, że MDSy ma. Teraz już tylko skrypt opracować.
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Tarcza w g1
#6 2010-05-06, 16:05(Ostatnia zmiana: 2010-05-06, 16:10)
Skoro brakuje ci tylko itemu, mogę ci pomóc:
instance shield (c_item)
{
mainflag = ITEM_KAT_ARMOR;
flags = ITEM_MULTI;
scemename = "MAP"; //zmień na jakikolwiek odpowiadający ci
on_state[0] = use_shield;
//dopisz resztę atrybutów przedmiotu
};

func void use_shield()
{
var int shield_equipped;
if (item.flags != 1 << 21|1 << 30) && (shield_equipped == 0)
{
item.flags = 1 << 21|1 << 30;
Mdl_ApplyOverlayMDS(self, "humans_shield.mds");
shield_equipped = 1;
//dopisz ulepszanie ochrony
}
else if (shield_equipped == 1)
{
item.item.flags = 1 << 21;
Mdl_RemoveOverlayMDS(self, "humans_shield.mds");
shield_equipped = 0;
//dopisz zmniejszanie ochrony
}
else if (item.flags != 1 << 21|1 << 30) && (shield_equipped == 1)
{
print("Musisz zdjąć już założoną tarczę!");
AI_UnequipArmor(self); //to opcjonalne
};
};
Tylko pamiętaj potem kto ci to napisał :P

olo

olo

Użytkownicy
posty31
  • Użytkownicy
Dzięki gościu wspomne o tobie w modzie każda tarcza bedzie opatrzona twoim nickiem
 

kaczka

kaczka

RaveN Studio
Definitely not kaczka!
posty2280
Propsy2392
NagrodyV
ProfesjaLvl designer
  • RaveN Studio
  • Definitely not kaczka!
Hah dobre :DD

A ten skrypt do g2 tez dziala? ;p  Jak nie to sam sobie skrypt napisze ;p
 

orcwarrior

orcwarrior

The Modders
posty475
Propsy317
Profesjabrak
  • The Modders

orcwarrior
The Modders

Tarcza w g1
#9 2011-02-02, 13:54(Ostatnia zmiana: 2011-02-02, 13:56)
Wiem, wiem odkopuje stary temat, jednak z ciekawosci, czy ktoś mógłby spróbować tego:
CONST INT ITEM_SHIELD   = 1 << 18; // Shield?(do dodania w _Intern/constant.d)
Potem pokombinować z wytworzeniem odpowiedniego itema, napewno flags powinno byc ustawione na ITEM_SHIELD, czyli:
flags = ITEM_SHIELD;
Ale reszta, sam nie wiem, sprobowałbym zarówno jako broń jak i jako zbroja.
(Skrypt mógłby działać pod G1, byćmoże pod NK też ;p )

EDIT:
Osobom które nie mają zielonego pojecia co z tym zrobić nie zamierzam odpowiadać na pytania
 



inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Tarcza w g1
#10 2011-02-02, 16:38(Ostatnia zmiana: 2011-02-02, 16:44)
Ja z kolei popełnię grzech jeszcze cięższy, bo oprócz odkopywania offtop, ale item_shield nie jest jedynym porzuconym, ciekawym flagsem. Z tych co teraz na szybko sobie przypomniałem (tak, wiem, nie wszystkie z nich są porzucone, np active jest po prostu wewnętrzny - i bardzo przydatny):
CONST INT ITEM_DROPPED = 1 << 10;
CONST INT ITEM_DAG = 1 << 13;
CONST INT ITEM_SHIELD = 1 << 18;
CONST INT ITEM_MULTI = 1 << 21;
CONST INT ITEM_NFOCUS = 1 << 23;
CONST INT ITEM_CREATEAMMO = 1 << 25;
CONST INT ITEM_DRINK = 1 << 27;
CONST INT ITEM_THROW = 1 << 29;
CONST INT ITEM_ACTIVE = 1 << 30;

Co do tego shield, to też już dawno to znalazłem, ale nigdy nie testowałem. Jednak zanotowałem sobie że dotyczy broni, nie zbroi.

orcwarrior

orcwarrior

The Modders
posty475
Propsy317
Profesjabrak
  • The Modders
Ja z kolei popełnię grzech jeszcze cięższy, bo oprócz odkopywania offtop, ale item_shield nie jest jedynym porzuconym, ciekawym flagsem. Z tych co teraz na szybko sobie przypomniałem (tak, wiem, nie wszystkie z nich są porzucone, np active jest po prostu wewnętrzny - i bardzo przydatny):
CONST INT ITEM_DROPPED = 1 << 10;
CONST INT ITEM_DAG = 1 << 13;
CONST INT ITEM_SHIELD = 1 << 18;
CONST INT ITEM_MULTI = 1 << 21;
CONST INT ITEM_NFOCUS = 1 << 23;
CONST INT ITEM_CREATEAMMO = 1 << 25;
CONST INT ITEM_DRINK = 1 << 27;
CONST INT ITEM_THROW = 1 << 29;
CONST INT ITEM_ACTIVE = 1 << 30;

Co do tego shield, to też już dawno to znalazłem, ale nigdy nie testowałem. Jednak zanotowałem sobie że dotyczy broni, nie zbroi.

ACTIVE/EQUIPPED sam używam, choć znalazlem go nie mając jeszcze jakiegokolwiek obeznania z disassemblacja gothic.exe, poprostu wypisujac item.flags na ekran :D  Wracajac do Shield, odróżnia się tym od np. Dagger ze w funkcji equpiowania "zakładany" jest na slot NPC NODE SHIELD wiec jest jakiś cień szansy ze to może działać.
 



EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy925
ProfesjaLvl designer
  • Wyspa Khorinis
ja trochę eksperymentowałem z tym item_shield ale jak używasz tego czegoś to pewne eventtagi nie są używane nie wiem czemu bo właśnie kombinowałem z tą niewidzialną animką i nie pokazuje się item a próbowałem setkami sposobów
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Tarcza w g1
#13 2011-02-07, 16:57(Ostatnia zmiana: 2011-02-07, 17:02)
A którego eventTagu używasz? Mają takie wredne skłonności do działania tylko w pewnych sytuacjach. Po nazwach można by zgadywać pomiędzy kilkoma: DEF_CREATE_ITEM, DEF_INSERT_ITEM, DEF_PLACE_ITEM - nie pamiętam który to, ale w sumie można wypróbować wszystkie jednocześnie.

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy925
ProfesjaLvl designer
  • Wyspa Khorinis
wszystkie wypróbowałem i nic działa przerzucanie pomiędzy slotami ale inne nie nawet myślałem ze może wina animki więc skopiowałem inną z g2 i animkę odtworzyło ale itemu nie stworzyło
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Spróbuj dać w tym samym miejscu event PFX'a, to najlepszy sposób sprawdzenia czy w ogóle event tagi są czytane. I pamiętaj że jeśli nie robisz na kuszy, to przekładanie itemu nic nie da, musisz go dopiero w ogóle założyć.

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy925
ProfesjaLvl designer
  • Wyspa Khorinis
są czytane bo zrobiłem w tej animce przerzut z zs_sword na zw_longsword i przerzucało
 


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