Poszczególne elementy pancerza 28573 101

O temacie

Autor Drake

Zaczęty 14.11.2009 roku

Wyświetleń 28573

Odpowiedzi 101

maciejG

maciejG

Użytkownicy
posty450
Propsy1
  • Użytkownicy
Jak ludzie mogą myśleć, że ktoś zrobi za nich całą robotę w imię dobrej woli i posiadania czasu, którego pytający jakoby nie ma?
@down
To była osobista refleksja.
 
Spoiler

zalpl

zalpl

Użytkownicy
posty92
  • Użytkownicy

zalpl

Poszczególne elementy pancerza
#61 2009-12-23, 18:40(Ostatnia zmiana: 2009-12-23, 18:42)
Bardziej mi chodziło o skrypty...próbowałem z tego kodu co wysłałeś wcześniej coś zrobić ale nie wiem co gdzie jak i do którego pliku...

@MaciejG
1. Czy to post zgodny z tematem?
2. Po prostu lepiej idzie mi na przykładach...wtedy widzę co gdzie jest w jakim pliku...najpierw skopiuje...potem napisze sam...i już w miarę wiem...
 


jendrzejs

jendrzejs

Użytkownicy
posty586
Propsy31
Profesjabrak
  • Użytkownicy
Bardziej mi chodziło o skrypty...próbowałem z tego kodu co wysłałeś wcześniej coś zrobić ale nie wiem co gdzie jak i do którego pliku...

@MaciejG
1. Czy to post zgodny z tematem?
2. Po prostu lepiej idzie mi na przykładach...wtedy widzę co gdzie jest w jakim pliku...najpierw skopiuje...potem napisze sam...i już w miarę wiem...

Przecież w skrypcie orcawarriora jest wszystko podane jak na tacy tylko trzeba miec modele ;D No i jak się chce to podopisywac częsci.
 

orcwarrior

orcwarrior

The Modders
posty475
Propsy317
Profesjabrak
  • The Modders
To jak z tym podziałem? Tamten schemat jest zatwierdzony na 100%? Nie da się zrobić czegoś bardziej "zestandaryzowanego"?

To tylko propozycja, jeśli chodzi o mój skrypt, wydaje mi sie za byłby ok do wiekszości zbroi. Co masz na myśli pisząc zestandaryzowanego? 
 



zalpl

zalpl

Użytkownicy
posty92
  • Użytkownicy
Cytuj
//Teraz obrona poszczególnych częsci ciała, jako że tablice nie funkcjonuja jak powinny, wszystko
//zrobimy na zwykłych var-ach.

Np. tutaj...nie mam pojęcia gdzie dodać vary a gdzie te obrażenia itp
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Poszczególne elementy pancerza
#66 2009-12-23, 19:06(Ostatnia zmiana: 2009-12-23, 19:26)
Mam na myśli, że gracz pewnie będzie próbował łączyć ze sobą elementy różnych zbroi. Jeśli będziemy rozpatrywać dzielenie bez wspólnego wzorca, części pewnie nie będą do siebie pasowały, będą nachodziły itd. Poza tym tylko wtedy będzie można zrobić mechanizm pilnujący żeby nie założyć na raz dwóch części zajmujących ten sam biped.

Skrypt jest ok, jeśli chodzi o niektóre zbroje to w ogóle nie ma sensu ich dzielić, mam tu na myśli szaty magów, przepaskę nowicjusza, lekką zbroje świątynną czy spodnie kretów i kopaczy.

Moja propozycja podziału zbroi, celowo "wyidealizowałem" elementy tak żeby schemat pasował z grubsza do każdej zbroi.

orcwarrior

orcwarrior

The Modders
posty475
Propsy317
Profesjabrak
  • The Modders
Np. tutaj...nie mam pojęcia gdzie dodać vary a gdzie te obrażenia itp
No to słabiutko z twoja wiedza, pisałem to tak zeby każdy srednio zaawansowany skrypter wiedział o co chodzi, tak w ramach odrzucenia zainteresowanych którzy wlasnie nie zabardzo wiedzą o co chodzi - podstawy musisz znać i powinieneś to wszystko zrozumieć, inaczej będzie trzeba poświecic tyle czasu na wytlumaczenie co przerobienie kilku takich zbrój  ;p  .
 



zalpl

zalpl

Użytkownicy
posty92
  • Użytkownicy
No to słabiutko z twoja wiedza, pisałem to tak zeby każdy srednio zaawansowany skrypter wiedział o co chodzi, tak w ramach odrzucenia zainteresowanych którzy wlasnie nie zabardzo wiedzą o co chodzi - podstawy musisz znać i powinieneś to wszystko zrozumieć, inaczej będzie trzeba poświecic tyle czasu na wytlumaczenie co przerobienie kilku takich zbrój  :D  .

No tak rozumiem Cię  ;p  Dlatego prosze Cię o wysłanie tych plików ze skryptami...ja Sobie sam wszystko powoli zrozumiem ;p
 

orcwarrior

orcwarrior

The Modders
posty475
Propsy317
Profesjabrak
  • The Modders

orcwarrior
The Modders

Poszczególne elementy pancerza
#69 2009-12-23, 19:13(Ostatnia zmiana: 2009-12-23, 19:16)
Mam na myśli, że gracz pewnie będzie próbował łączyć ze sobą elementy różnych zbroi. Jeśli będziemy rozpatrywać dzielenie bez wspólnego wzorca, części pewnie nie będą do siebie pasowały, będą nachodziły itd. Poza tym tylko wtedy będzie można zrobić mechanizm pilnujący żeby nie założyć na raz dwóch części zajmujących ten sam biped.

No w takich wypadkach najwyzej będa wystawać kawalki golej skóry, ewentualnie przerobi sie troche poszczególne meshe częsci - i tak bedzie trzeba, inaczej byloby widać dziury - taka dziure łatałem wlasnie pod koniec w tym tutku z butem.


No trzeba koniecznie zrobić to w postaci rozpisania wyjątków (if#msgote author=Avallach link=topic=7792.msg74862#msg74862 date=1261592038]Mam na myśli, że gracz pewnie będzie próbował łączyć ze sobą elementy różnych zbroi. Jeśli będziemy rozpatrywać dzielenie bez wspólnego wzorca, części pewnie nie będą do siebie pasowały, będą nachodziły itd. Poza tym tylko wtedy będzie można zrobić mechanizm pilnujący żeby nie założyć na raz dwóch części zajmujących ten sam biped.[/quote]

No w takich wypadkach najwyzej będa wystawać kawalki golej skóry, ewentualnie przerobi sie troche poszczególne meshe częsci - i tak bedzie trzeba, inaczej byloby widać dziury - taka dziure łatałem wlasnie pod koniec w tym tutku z butem.


No trzeba koniecznie zrobić to w postaci rozpisania wyjątków (ify) dla elementów nakladanych na kilka bipów np. jesli mamy zalozony kirys zbroi straznika, nie założymy nagolenników zbroi najemnika.

EDIT:

Cytat: zalpl link=topic=7792.msg74865#msg74862 date=Dec 23 2009, 07:12 PM\'
No tak rozumiem Cię  Dlatego prosze Cię o wysłanie tych plików ze skryptami...ja Sobie sam wszystko powoli zrozumiem
Jak narazie takich plików nie ma.

Cytuj
Skrypt jest ok, jeśli chodzi o niektóre zbroje to w ogóle nie ma sensu ich dzielić, mam tu na myśli szaty magów, przepaskę nowicjusza, lekką zbroje świątynną czy spodnie kretów i kopaczy.
Akurat lekka zbroje światynna mozna podzielic na kirys i buty ewentualnie jeszcze na pas :Po ile bedziemy je osobno traktowac - jednak wtedy musielybysmy w kazdej zbroi zalepic dziure miedzy napiersnikiem a nagolennikami.
 



zalpl

zalpl

Użytkownicy
posty92
  • Użytkownicy
const int ARMOR_NONE = 0;
const int ARMOR_THIEF = 1;
const int ARMOR_GRD_HEAVY = 2;
//itd.
//Teraz częsci ciała, potem moge nawet pomóc w rozpisaniu calej listy.

//VAR NAME || ZS/BIP NAME
var int ARMORPART_HELM;// ZS_HELMET
var int ARMORPART_BOOTS;//Bip01 R Foot & Bip01 L Foot
var int ARMORPART_BRACER;//Bip01 R Clavicle & Bip01 L  Clavicle
var int ARMORPART_BREASTPLATE;//Bip01 Spine2 LUB Bip01 Spine1 //zależnie od modelu zbroi
var int ARMORPART_GRAVES;//Bip01 R Thigh & Bip01 L Thigh
//Możliwość podzialu czesci zbroi równie na Lewą i prawą.


//Teraz obrona poszczególnych częsci ciała, jako że tablice nie funkcjonuja jak powinny, wszystko
//zrobimy na zwykłych var-ach.

//HELM
var int PROT_HELM_EDGE; //OSTRZE
var int PROT_HELM_BLUNT;//OBUCH
var int PROT_HELM_POINT;//POCISKI
var int PROT_HELM_FIRE;//OGIEN
var int PROT_HELM_MAGIC;//MAGIA
//Obrona przed bronia = EDGE i BLUNT

//BOOTS
var int PROT_BOOTS_EDGE;
var int PROT_BOOTS_BLUNT;
var int PROT_BOOTS_POINT;
var int PROT_BOOTS_FIRE;
var int PROT_BOOTS_MAGIC;

//Kopjujemy tekst i zamieniamy teraz BOOTS na BRACER, i zlatuje szybciej, ale najlepszy i tak jest column mode;p
//BRACER
var int PROT_BRACER_EDGE;
var int PROT_BRACER_BLUNT;
var int PROT_BRACER_POINT;
var int PROT_BRACER_FIRE;
var int PROT_BRACER_MAGIC;

//itd.
//bez problemu można dodać też inne np. FLY, FALL, BARRIER itd.


//Teraż przejdzmy do samego triggera, rozpisze kawalek funkcji jakby mialo to wygladać.
func void ARMOR_CHECK()
{

//---------------------
// BOOTS
//-Bip01 R Foot & Bip01 L Foot
//---------------------
if(ARMORPART_BOOTS==ARMOR_NONE)//lub poprostu (!ARMORPART_BOOTS)
{
//Render nothing.
}
else if(ARMORPART_BOOTS==ARMOR_THIEF)
{
//Render thief boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_THIEF_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_THIEF_LFOOT",hero,hero,0,0,0,FALSE);
}
else//(Lub jesli bedzie wiecej) if(ARMORPART_BOOTS==ARMOR_GRD_HEAVY)
{
//Render heavy old camp guard boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_LFOOT",hero,hero,0,0,0,FALSE);
};
//...itd.
//WLD_SENDTRIGGER("NAZWATRIGGERA"); ->najlepiej jednak zrobic pętle w spacerze.
};

//Czas ma przykłady efektów VFX (czyli tego z Wld_PlayEffect)

//VFX - PRAWY BUT ZBOI ZLODZIEJA
instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_S getriggert. Aura um den Spieler
{
visname_S = "P_BOOT";//PFX - najlepiej nazywac wszystko wedlug jakiegos systemu, bedzie nam dużo łatwiej wszystko ogarnąc póżniej.
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości PONIŻEJ.
visAlpha = 1;
emtrjmode_s = "FIXED";
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości POWYŻEJ.
emTrjOriginNode = "Bip01 Spine1";//Bip do którego bedzie przyłączony PFX.
// LightPresetname = "AURA";
emFXLifeSpan = 1;//Czas trwania VFX'a, w naszym wypadku 1 (sekunda) - tak jak czas co jaki powtarza sie trigger.

};


//Czas na jakieś przykładowe PFXy - same pfxy maja za zadanie, nie jakby sie wydawalo, wyswietlanie czasteczek, a render mesha
//na którym te cząsteczki będa oparte - same cząsteczki mają być niewidzialne i w jaknajmniejszej ilosci.

//PFX - PRAWY BUT ZBROI ZŁODZIEJA
INSTANCE P_BOOT (C_PARTICLEFX)
{
ppsvalue = 3;
ppsscalekeys_s = "1";
ppsfps = 1;
shptype_s = "MESH";
shpfor_s = "object";
shpoffsetvec_s = "0 0 0";
shpdistribtype_s = "walk";
shpdim_s = "1";
shpmesh_s = "M_ARMOR_THIEF_RFOOT.3ds";//Kolejna nazwa - ze schematu - tu wstawic nazwe modelu czesci zbroi
ShpMeshRender_B = 1;
shpscalekeys_s = "1";
shpscaleislooping = 1;
shpscaleissmooth = 1;
shpscalefps = 1;
dirmode_s = "NONE";
velavg = 1.99999996e-012;
lsppartavg = 400;
flygravity_s = "0 0.000 0";
visname_s = "MAGICDUMMY16BIT_4.TGA";
visorientation_s = "NONE";
vistexisquadpoly = 0;
vistexanifps = 15;
vistexaniislooping = 1;
vistexcolorstart_s = "195 255 255";
vissizestart_s = "1 1";
vissizeendscale = 1;
visalphafunc_s = "NONE";
visalphastart = 1;
visalphaend = 1;
};


INSTANCE P_BOOT(C_Item)//Odstepstwo od typowej reguły, bo buty są jako jeden przemiot, a PFXy i VFXy są 2.
{
name = "But złodzieja";

mainflag = ITEM_KAT_ARMOR;
flags = 0;

protection [PROT_EDGE] = 5;
protection [PROT_BLUNT] = 5;
protection [PROT_POINT] = 2;
protection [PROT_FIRE] = 1;
protection [PROT_MAGIC] = 0;

value = 175;

visual = "P_BOOT.3ds";//Ten sam mesh co PFX - powinno wyglądać w miare
material = MAT_METAL;

description = name;
scemename = "MAP";//Nowy schemat taki sam jak np. czytanie mapy, picie piwa - z tym że animacja
//jest niezauwazalna i odrazu przechodzi do akcji, podłączego go potem jako załącznik.
//NARAZIE MOŻECIE DAC "MAP"
on_state[0] = PART_BOOTS;//Dla wszystkich butów ta sama funkcja
TEXT[1] = NAME_Prot_Edge; COUNT[1] = protection [PROT_EDGE];
TEXT[2] = NAME_Prot_Point; COUNT[2] = protection [PROT_POINT];
TEXT[3] = NAME_Prot_Fire; COUNT[3] = protection [PROT_FIRE];
TEXT[4] = NAME_Prot_Magic; COUNT[4] = protection [PROT_MAGIC];
TEXT[5] = NAME_Value; COUNT[5] = value;
};

//Teraz czas na funkcje które beda wywoływać te częsci zbroi - maja one na celu
//1. Usawić przedmiot jako założony - wczesniej zdejmując inne z tej samej kategorii np. zakładając
//ciezkie buty strażnika, zdejmuja się nam automatycznie buty złodzieja.
//2. Odjąc punkty obrone poprzednio używanego przedmiotu i dodać obrone nowego przedmiotu.

//Funkcja zbiorowa butów
func void PART_BOOTS()
{
var c_item itm;//wymagana zmienna pomocnicza.

//Musimy zączać od sprawdzenia w jakims stanie są obecnie "użyte buty"
//Jeśli są założone, gracz napewno chce je zdjąć, jeżeli nie są założone musi być na odwrót.

//Dodam że zmienna item w obecnej chwil przechowuje używany C_ITEM, co oczywiscie bardzo szeroko wykorzystamy;P.
//Nie jestem pewien, ale zmienna 'self' przechowuje raczej osobe która dany przedmiot używa, z racji ze nie jestem pewny,
//będe poprostu korzystał z 'hero'.
if(item.flags==0)//0 to wartość początkowa, czyli taka przy której przedmiot nie jest założony, wiec gracz chce go ZAŁOŻYĆ.
{
//Zaczynamy od zdjęcia starego przedmiotu, nie bawimy sie w zaawansowane funkcje sprawdzające czy przedmiot był załozony.
//Poprostu wykonujemy operacje przy każdym przedmiocie który jest w ekwipunku herosa i mógł być założony.

//Buty złodzieja:
if(Npc_HasItems(hero,P_BOOT))//takie sprawdzenie zwróci prawde jeśli ilość tych przedmiotów to bedzie równa jeden lub więcej.
{
itm = Npc_GetInvItem(hero,P_BOOT);
itm.flags = 0;//zdejmujemy wszelkie flagi itemowi, teraz napewno nie będzie "załozony".
};


//Wszystkie ewentualnie założone przedmioty mamy już zdjete, teraz czas na odjęcie punktów obrony:

hero.protection [PROT_EDGE] -=PROT_BOOTS_EDGE;
hero.protection [PROT_BLUNT]-=PROT_BOOTS_BLUNT;  
hero.protection [PROT_POINT]-=PROT_BOOTS_POINT;  
hero.protection [PROT_FIRE] -=PROT_BOOTS_FIRE;  
hero.protection [PROT_MAGIC]-=PROT_BOOTS_MAGIC;  

//zmiennym przypisujemy nowe wartosci obrony:

PROT_BOOTS_EDGE  = item.protection[PROT_EDGE];
PROT_BOOTS_BLUNT = item.protection[PROT_BLUNT];
PROT_BOOTS_POINT = item.protection[PROT_POINT];
PROT_BOOTS_FIRE  = item.protection[PROT_FIRE];
PROT_BOOTS_MAGIC = item.protection[PROT_MAGIC];

//teraz ustawiamy je bohaterowi:
hero.protection [PROT_EDGE] +=PROT_BOOTS_EDGE;
hero.protection [PROT_BLUNT]+=PROT_BOOTS_BLUNT;  
hero.protection [PROT_POINT]+=PROT_BOOTS_POINT;  
hero.protection [PROT_FIRE] +=PROT_BOOTS_FIRE;  
hero.protection [PROT_MAGIC]+=PROT_BOOTS_MAGIC;  

//pozostało tyło jeszcze "założyć" przedmiot, musimy tylko przypisać mu specjalna flage:
item.flags = 1<<30;
};

};

Ja troche odciolem skrypt orcwarriora...bo zalezy mi tylko na bucie....i dalem wszystko do pliku Armor w items...kiedy wlaczam Gothica to problem jest w linijce
instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_SWywala tu po prostu błąd...
 

jendrzejs

jendrzejs

Użytkownicy
posty586
Propsy31
Profesjabrak
  • Użytkownicy
const int ARMOR_NONE = 0;
const int ARMOR_THIEF = 1;
const int ARMOR_GRD_HEAVY = 2;
//itd.
//Teraz częsci ciała, potem moge nawet pomóc w rozpisaniu calej listy.

//VAR NAME || ZS/BIP NAME
var int ARMORPART_HELM;// ZS_HELMET
var int ARMORPART_BOOTS;//Bip01 R Foot & Bip01 L Foot
var int ARMORPART_BRACER;//Bip01 R Clavicle & Bip01 L  Clavicle
var int ARMORPART_BREASTPLATE;//Bip01 Spine2 LUB Bip01 Spine1 //zależnie od modelu zbroi
var int ARMORPART_GRAVES;//Bip01 R Thigh & Bip01 L Thigh
//Możliwość podzialu czesci zbroi równie na Lewą i prawą.


//Teraz obrona poszczególnych częsci ciała, jako że tablice nie funkcjonuja jak powinny, wszystko
//zrobimy na zwykłych var-ach.

//HELM
var int PROT_HELM_EDGE; //OSTRZE
var int PROT_HELM_BLUNT;//OBUCH
var int PROT_HELM_POINT;//POCISKI
var int PROT_HELM_FIRE;//OGIEN
var int PROT_HELM_MAGIC;//MAGIA
//Obrona przed bronia = EDGE i BLUNT

//BOOTS
var int PROT_BOOTS_EDGE;
var int PROT_BOOTS_BLUNT;
var int PROT_BOOTS_POINT;
var int PROT_BOOTS_FIRE;
var int PROT_BOOTS_MAGIC;

//Kopjujemy tekst i zamieniamy teraz BOOTS na BRACER, i zlatuje szybciej, ale najlepszy i tak jest column mode;p
//BRACER
var int PROT_BRACER_EDGE;
var int PROT_BRACER_BLUNT;
var int PROT_BRACER_POINT;
var int PROT_BRACER_FIRE;
var int PROT_BRACER_MAGIC;

//itd.
//bez problemu można dodać też inne np. FLY, FALL, BARRIER itd.


//Teraż przejdzmy do samego triggera, rozpisze kawalek funkcji jakby mialo to wygladać.
func void ARMOR_CHECK()
{

//---------------------
// BOOTS
//-Bip01 R Foot & Bip01 L Foot
//---------------------
if(ARMORPART_BOOTS==ARMOR_NONE)//lub poprostu (!ARMORPART_BOOTS)
{
//Render nothing.
}
else if(ARMORPART_BOOTS==ARMOR_THIEF)
{
//Render thief boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_THIEF_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_THIEF_LFOOT",hero,hero,0,0,0,FALSE);
}
else//(Lub jesli bedzie wiecej) if(ARMORPART_BOOTS==ARMOR_GRD_HEAVY)
{
//Render heavy old camp guard boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_LFOOT",hero,hero,0,0,0,FALSE);
};
//...itd.
//WLD_SENDTRIGGER("NAZWATRIGGERA"); ->najlepiej jednak zrobic pętle w spacerze.
};

//Czas ma przykłady efektów VFX (czyli tego z Wld_PlayEffect)

//VFX - PRAWY BUT ZBOI ZLODZIEJA
instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_S getriggert. Aura um den Spieler
{
visname_S = "P_BOOT";//PFX - najlepiej nazywac wszystko wedlug jakiegos systemu, bedzie nam dużo łatwiej wszystko ogarnąc póżniej.
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości PONIŻEJ.
visAlpha = 1;
emtrjmode_s = "FIXED";
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości POWYŻEJ.
emTrjOriginNode = "Bip01 Spine1";//Bip do którego bedzie przyłączony PFX.
// LightPresetname = "AURA";
emFXLifeSpan = 1;//Czas trwania VFX#msgote author=zalpl link=topic=7792.msg74871#msg74871 date=1261595954][code]const int ARMOR_NONE = 0;
const int ARMOR_THIEF = 1;
const int ARMOR_GRD_HEAVY = 2;
//itd.
//Teraz częsci ciała, potem moge nawet pomóc w rozpisaniu calej listy.

//VAR NAME || ZS/BIP NAME
var int ARMORPART_HELM;// ZS_HELMET
var int ARMORPART_BOOTS;//Bip01 R Foot & Bip01 L Foot
var int ARMORPART_BRACER;//Bip01 R Clavicle & Bip01 L  Clavicle
var int ARMORPART_BREASTPLATE;//Bip01 Spine2 LUB Bip01 Spine1 //zależnie od modelu zbroi
var int ARMORPART_GRAVES;//Bip01 R Thigh & Bip01 L Thigh
//Możliwość podzialu czesci zbroi równie na Lewą i prawą.


//Teraz obrona poszczególnych częsci ciała, jako że tablice nie funkcjonuja jak powinny, wszystko
//zrobimy na zwykłych var-ach.

//HELM
var int PROT_HELM_EDGE; //OSTRZE
var int PROT_HELM_BLUNT;//OBUCH
var int PROT_HELM_POINT;//POCISKI
var int PROT_HELM_FIRE;//OGIEN
var int PROT_HELM_MAGIC;//MAGIA
//Obrona przed bronia = EDGE i BLUNT

//BOOTS
var int PROT_BOOTS_EDGE;
var int PROT_BOOTS_BLUNT;
var int PROT_BOOTS_POINT;
var int PROT_BOOTS_FIRE;
var int PROT_BOOTS_MAGIC;

//Kopjujemy tekst i zamieniamy teraz BOOTS na BRACER, i zlatuje szybciej, ale najlepszy i tak jest column mode;p
//BRACER
var int PROT_BRACER_EDGE;
var int PROT_BRACER_BLUNT;
var int PROT_BRACER_POINT;
var int PROT_BRACER_FIRE;
var int PROT_BRACER_MAGIC;

//itd.
//bez problemu można dodać też inne np. FLY, FALL, BARRIER itd.


//Teraż przejdzmy do samego triggera, rozpisze kawalek funkcji jakby mialo to wygladać.
func void ARMOR_CHECK()
{

//---------------------
// BOOTS
//-Bip01 R Foot & Bip01 L Foot
//---------------------
if(ARMORPART_BOOTS==ARMOR_NONE)//lub poprostu (!ARMORPART_BOOTS)
{
//Render nothing.
}
else if(ARMORPART_BOOTS==ARMOR_THIEF)
{
//Render thief boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_THIEF_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_THIEF_LFOOT",hero,hero,0,0,0,FALSE);
}
else//(Lub jesli bedzie wiecej) if(ARMORPART_BOOTS==ARMOR_GRD_HEAVY)
{
//Render heavy old camp guard boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_LFOOT",hero,hero,0,0,0,FALSE);
};
//...itd.
//WLD_SENDTRIGGER("NAZWATRIGGERA"); ->najlepiej jednak zrobic pętle w spacerze.
};

//Czas ma przykłady efektów VFX (czyli tego z Wld_PlayEffect)

//VFX - PRAWY BUT ZBOI ZLODZIEJA
instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_S getriggert. Aura um den Spieler
{
visname_S = "P_BOOT";//PFX - najlepiej nazywac wszystko wedlug jakiegos systemu, bedzie nam dużo łatwiej wszystko ogarnąc póżniej.
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości PONIŻEJ.
visAlpha = 1;
emtrjmode_s = "FIXED";
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości POWYŻEJ.
emTrjOriginNode = "Bip01 Spine1";//Bip do którego bedzie przyłączony PFX.
// LightPresetname = "AURA";
emFXLifeSpan = 1;//Czas trwania VFXa, w naszym wypadku 1 (sekunda) - tak jak czas co jaki powtarza sie trigger.

};


//Czas na jakieś przykładowe PFXy - same pfxy maja za zadanie, nie jakby sie wydawalo, wyswietlanie czasteczek, a render mesha
//na którym te cząsteczki będa oparte - same cząsteczki mają być niewidzialne i w jaknajmniejszej ilosci.

//PFX - PRAWY BUT ZBROI ZŁODZIEJA
INSTANCE P_BOOT (C_PARTICLEFX)
{
ppsvalue = 3;
ppsscalekeys_s = "1";
ppsfps = 1;
shptype_s = "MESH";
shpfor_s = "object";
shpoffsetvec_s = "0 0 0";
shpdistribtype_s = "walk";
shpdim_s = "1";
shpmesh_s = "M_ARMOR_THIEF_RFOOT.3ds";//Kolejna nazwa - ze schematu - tu wstawic nazwe modelu czesci zbroi
ShpMeshRender_B = 1;
shpscalekeys_s = "1";
shpscaleislooping = 1;
shpscaleissmooth = 1;
shpscalefps = 1;
dirmode_s = "NONE";
velavg = 1.99999996e-012;
lsppartavg = 400;
flygravity_s = "0 0.000 0";
visname_s = "MAGICDUMMY16BIT_4.TGA";
visorientation_s = "NONE";
vistexisquadpoly = 0;
vistexanifps = 15;
vistexaniislooping = 1;
vistexcolorstart_s = "195 255 255";
vissizestart_s = "1 1";
vissizeendscale = 1;
visalphafunc_s = "NONE";
visalphastart = 1;
visalphaend = 1;
};


INSTANCE P_BOOT(C_Item)//Odstepstwo od typowej reguły, bo buty są jako jeden przemiot, a PFXy i VFXy są 2.
{
name = "But złodzieja";

mainflag = ITEM_KAT_ARMOR;
flags = 0;

protection [PROT_EDGE] = 5;
protection [PROT_BLUNT] = 5;
protection [PROT_POINT] = 2;
protection [PROT_FIRE] = 1;
protection [PROT_MAGIC] = 0;

value = 175;

visual = "P_BOOT.3ds";//Ten sam mesh co PFX - powinno wyglądać w miare
material = MAT_METAL;

description = name;
scemename = "MAP";//Nowy schemat taki sam jak np. czytanie mapy, picie piwa - z tym że animacja
//jest niezauwazalna i odrazu przechodzi do akcji, podłączego go potem jako załącznik.
//NARAZIE MOŻECIE DAC "MAP"
on_state[0] = PART_BOOTS;//Dla wszystkich butów ta sama funkcja
TEXT[1] = NAME_Prot_Edge; COUNT[1] = protection [PROT_EDGE];
TEXT[2] = NAME_Prot_Point; COUNT[2] = protection [PROT_POINT];
TEXT[3] = NAME_Prot_Fire; COUNT[3] = protection [PROT_FIRE];
TEXT[4] = NAME_Prot_Magic; COUNT[4] = protection [PROT_MAGIC];
TEXT[5] = NAME_Value; COUNT[5] = value;
};

//Teraz czas na funkcje które beda wywoływać te częsci zbroi - maja one na celu
//1. Usawić przedmiot jako założony - wczesniej zdejmując inne z tej samej kategorii np. zakładając
//ciezkie buty strażnika, zdejmuja się nam automatycznie buty złodzieja.
//2. Odjąc punkty obrone poprzednio używanego przedmiotu i dodać obrone nowego przedmiotu.

//Funkcja zbiorowa butów
func void PART_BOOTS()
{
var c_item itm;//wymagana zmienna pomocnicza.

//Musimy zączać od sprawdzenia w jakims stanie są obecnie "użyte buty"
//Jeśli są założone, gracz napewno chce je zdjąć, jeżeli nie są założone musi być na odwrót.

//Dodam że zmienna item w obecnej chwil przechowuje używany C_ITEM, co oczywiscie bardzo szeroko wykorzystamy;P.
//Nie jestem pewien, ale zmienna #msgote author=zalpl link=topic=7792.msg74871#msg74871 date=1261595954][code]const int ARMOR_NONE = 0;
const int ARMOR_THIEF = 1;
const int ARMOR_GRD_HEAVY = 2;
//itd.
//Teraz częsci ciała, potem moge nawet pomóc w rozpisaniu calej listy.

//VAR NAME || ZS/BIP NAME
var int ARMORPART_HELM;// ZS_HELMET
var int ARMORPART_BOOTS;//Bip01 R Foot & Bip01 L Foot
var int ARMORPART_BRACER;//Bip01 R Clavicle & Bip01 L  Clavicle
var int ARMORPART_BREASTPLATE;//Bip01 Spine2 LUB Bip01 Spine1 //zależnie od modelu zbroi
var int ARMORPART_GRAVES;//Bip01 R Thigh & Bip01 L Thigh
//Możliwość podzialu czesci zbroi równie na Lewą i prawą.


//Teraz obrona poszczególnych częsci ciała, jako że tablice nie funkcjonuja jak powinny, wszystko
//zrobimy na zwykłych var-ach.

//HELM
var int PROT_HELM_EDGE; //OSTRZE
var int PROT_HELM_BLUNT;//OBUCH
var int PROT_HELM_POINT;//POCISKI
var int PROT_HELM_FIRE;//OGIEN
var int PROT_HELM_MAGIC;//MAGIA
//Obrona przed bronia = EDGE i BLUNT

//BOOTS
var int PROT_BOOTS_EDGE;
var int PROT_BOOTS_BLUNT;
var int PROT_BOOTS_POINT;
var int PROT_BOOTS_FIRE;
var int PROT_BOOTS_MAGIC;

//Kopjujemy tekst i zamieniamy teraz BOOTS na BRACER, i zlatuje szybciej, ale najlepszy i tak jest column mode;p
//BRACER
var int PROT_BRACER_EDGE;
var int PROT_BRACER_BLUNT;
var int PROT_BRACER_POINT;
var int PROT_BRACER_FIRE;
var int PROT_BRACER_MAGIC;

//itd.
//bez problemu można dodać też inne np. FLY, FALL, BARRIER itd.


//Teraż przejdzmy do samego triggera, rozpisze kawalek funkcji jakby mialo to wygladać.
func void ARMOR_CHECK()
{

//---------------------
// BOOTS
//-Bip01 R Foot & Bip01 L Foot
//---------------------
if(ARMORPART_BOOTS==ARMOR_NONE)//lub poprostu (!ARMORPART_BOOTS)
{
//Render nothing.
}
else if(ARMORPART_BOOTS==ARMOR_THIEF)
{
//Render thief boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_THIEF_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_THIEF_LFOOT",hero,hero,0,0,0,FALSE);
}
else//(Lub jesli bedzie wiecej) if(ARMORPART_BOOTS==ARMOR_GRD_HEAVY)
{
//Render heavy old camp guard boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_LFOOT",hero,hero,0,0,0,FALSE);
};
//...itd.
//WLD_SENDTRIGGER("NAZWATRIGGERA"); ->najlepiej jednak zrobic pętle w spacerze.
};

//Czas ma przykłady efektów VFX (czyli tego z Wld_PlayEffect)

//VFX - PRAWY BUT ZBOI ZLODZIEJA
instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_S getriggert. Aura um den Spieler
{
visname_S = "P_BOOT";//PFX - najlepiej nazywac wszystko wedlug jakiegos systemu, bedzie nam dużo łatwiej wszystko ogarnąc póżniej.
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości PONIŻEJ.
visAlpha = 1;
emtrjmode_s = "FIXED";
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości POWYŻEJ.
emTrjOriginNode = "Bip01 Spine1";//Bip do którego bedzie przyłączony PFX.
// LightPresetname = "AURA";
emFXLifeSpan = 1;//Czas trwania VFXself#msgote author=zalpl link=topic=7792.msg74871#msg74871 date=1261595954][code]const int ARMOR_NONE = 0;
const int ARMOR_THIEF = 1;
const int ARMOR_GRD_HEAVY = 2;
//itd.
//Teraz częsci ciała, potem moge nawet pomóc w rozpisaniu calej listy.

//VAR NAME || ZS/BIP NAME
var int ARMORPART_HELM;// ZS_HELMET
var int ARMORPART_BOOTS;//Bip01 R Foot & Bip01 L Foot
var int ARMORPART_BRACER;//Bip01 R Clavicle & Bip01 L  Clavicle
var int ARMORPART_BREASTPLATE;//Bip01 Spine2 LUB Bip01 Spine1 //zależnie od modelu zbroi
var int ARMORPART_GRAVES;//Bip01 R Thigh & Bip01 L Thigh
//Możliwość podzialu czesci zbroi równie na Lewą i prawą.


//Teraz obrona poszczególnych częsci ciała, jako że tablice nie funkcjonuja jak powinny, wszystko
//zrobimy na zwykłych var-ach.

//HELM
var int PROT_HELM_EDGE; //OSTRZE
var int PROT_HELM_BLUNT;//OBUCH
var int PROT_HELM_POINT;//POCISKI
var int PROT_HELM_FIRE;//OGIEN
var int PROT_HELM_MAGIC;//MAGIA
//Obrona przed bronia = EDGE i BLUNT

//BOOTS
var int PROT_BOOTS_EDGE;
var int PROT_BOOTS_BLUNT;
var int PROT_BOOTS_POINT;
var int PROT_BOOTS_FIRE;
var int PROT_BOOTS_MAGIC;

//Kopjujemy tekst i zamieniamy teraz BOOTS na BRACER, i zlatuje szybciej, ale najlepszy i tak jest column mode;p
//BRACER
var int PROT_BRACER_EDGE;
var int PROT_BRACER_BLUNT;
var int PROT_BRACER_POINT;
var int PROT_BRACER_FIRE;
var int PROT_BRACER_MAGIC;

//itd.
//bez problemu można dodać też inne np. FLY, FALL, BARRIER itd.


//Teraż przejdzmy do samego triggera, rozpisze kawalek funkcji jakby mialo to wygladać.
func void ARMOR_CHECK()
{

//---------------------
// BOOTS
//-Bip01 R Foot & Bip01 L Foot
//---------------------
if(ARMORPART_BOOTS==ARMOR_NONE)//lub poprostu (!ARMORPART_BOOTS)
{
//Render nothing.
}
else if(ARMORPART_BOOTS==ARMOR_THIEF)
{
//Render thief boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_THIEF_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_THIEF_LFOOT",hero,hero,0,0,0,FALSE);
}
else//(Lub jesli bedzie wiecej) if(ARMORPART_BOOTS==ARMOR_GRD_HEAVY)
{
//Render heavy old camp guard boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_LFOOT",hero,hero,0,0,0,FALSE);
};
//...itd.
//WLD_SENDTRIGGER("NAZWATRIGGERA"); ->najlepiej jednak zrobic pętle w spacerze.
};

//Czas ma przykłady efektów VFX (czyli tego z Wld_PlayEffect)

//VFX - PRAWY BUT ZBOI ZLODZIEJA
instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_S getriggert. Aura um den Spieler
{
visname_S = "P_BOOT";//PFX - najlepiej nazywac wszystko wedlug jakiegos systemu, bedzie nam dużo łatwiej wszystko ogarnąc póżniej.
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości PONIŻEJ.
visAlpha = 1;
emtrjmode_s = "FIXED";
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości POWYŻEJ.
emTrjOriginNode = "Bip01 Spine1";//Bip do którego bedzie przyłączony PFX.
// LightPresetname = "AURA";
emFXLifeSpan = 1;//Czas trwania VFX przechowuje raczej osobe która dany przedmiot używa, z racji ze nie jestem pewny,
//będe poprostu korzystał z #msgote author=zalpl link=topic=7792.msg74871#msg74871 date=1261595954][code]const int ARMOR_NONE = 0;
const int ARMOR_THIEF = 1;
const int ARMOR_GRD_HEAVY = 2;
//itd.
//Teraz częsci ciała, potem moge nawet pomóc w rozpisaniu calej listy.

//VAR NAME || ZS/BIP NAME
var int ARMORPART_HELM;// ZS_HELMET
var int ARMORPART_BOOTS;//Bip01 R Foot & Bip01 L Foot
var int ARMORPART_BRACER;//Bip01 R Clavicle & Bip01 L  Clavicle
var int ARMORPART_BREASTPLATE;//Bip01 Spine2 LUB Bip01 Spine1 //zależnie od modelu zbroi
var int ARMORPART_GRAVES;//Bip01 R Thigh & Bip01 L Thigh
//Możliwość podzialu czesci zbroi równie na Lewą i prawą.


//Teraz obrona poszczególnych częsci ciała, jako że tablice nie funkcjonuja jak powinny, wszystko
//zrobimy na zwykłych var-ach.

//HELM
var int PROT_HELM_EDGE; //OSTRZE
var int PROT_HELM_BLUNT;//OBUCH
var int PROT_HELM_POINT;//POCISKI
var int PROT_HELM_FIRE;//OGIEN
var int PROT_HELM_MAGIC;//MAGIA
//Obrona przed bronia = EDGE i BLUNT

//BOOTS
var int PROT_BOOTS_EDGE;
var int PROT_BOOTS_BLUNT;
var int PROT_BOOTS_POINT;
var int PROT_BOOTS_FIRE;
var int PROT_BOOTS_MAGIC;

//Kopjujemy tekst i zamieniamy teraz BOOTS na BRACER, i zlatuje szybciej, ale najlepszy i tak jest column mode;p
//BRACER
var int PROT_BRACER_EDGE;
var int PROT_BRACER_BLUNT;
var int PROT_BRACER_POINT;
var int PROT_BRACER_FIRE;
var int PROT_BRACER_MAGIC;

//itd.
//bez problemu można dodać też inne np. FLY, FALL, BARRIER itd.


//Teraż przejdzmy do samego triggera, rozpisze kawalek funkcji jakby mialo to wygladać.
func void ARMOR_CHECK()
{

//---------------------
// BOOTS
//-Bip01 R Foot & Bip01 L Foot
//---------------------
if(ARMORPART_BOOTS==ARMOR_NONE)//lub poprostu (!ARMORPART_BOOTS)
{
//Render nothing.
}
else if(ARMORPART_BOOTS==ARMOR_THIEF)
{
//Render thief boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_THIEF_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_THIEF_LFOOT",hero,hero,0,0,0,FALSE);
}
else//(Lub jesli bedzie wiecej) if(ARMORPART_BOOTS==ARMOR_GRD_HEAVY)
{
//Render heavy old camp guard boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_LFOOT",hero,hero,0,0,0,FALSE);
};
//...itd.
//WLD_SENDTRIGGER("NAZWATRIGGERA"); ->najlepiej jednak zrobic pętle w spacerze.
};

//Czas ma przykłady efektów VFX (czyli tego z Wld_PlayEffect)

//VFX - PRAWY BUT ZBOI ZLODZIEJA
instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_S getriggert. Aura um den Spieler
{
visname_S = "P_BOOT";//PFX - najlepiej nazywac wszystko wedlug jakiegos systemu, bedzie nam dużo łatwiej wszystko ogarnąc póżniej.
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości PONIŻEJ.
visAlpha = 1;
emtrjmode_s = "FIXED";
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości POWYŻEJ.
emTrjOriginNode = "Bip01 Spine1";//Bip do którego bedzie przyłączony PFX.
// LightPresetname = "AURA";
emFXLifeSpan = 1;//Czas trwania VFXhero#msgote author=zalpl link=topic=7792.msg74871#msg74871 date=1261595954][code]const int ARMOR_NONE = 0;
const int ARMOR_THIEF = 1;
const int ARMOR_GRD_HEAVY = 2;
//itd.
//Teraz częsci ciała, potem moge nawet pomóc w rozpisaniu calej listy.

//VAR NAME || ZS/BIP NAME
var int ARMORPART_HELM;// ZS_HELMET
var int ARMORPART_BOOTS;//Bip01 R Foot & Bip01 L Foot
var int ARMORPART_BRACER;//Bip01 R Clavicle & Bip01 L  Clavicle
var int ARMORPART_BREASTPLATE;//Bip01 Spine2 LUB Bip01 Spine1 //zależnie od modelu zbroi
var int ARMORPART_GRAVES;//Bip01 R Thigh & Bip01 L Thigh
//Możliwość podzialu czesci zbroi równie na Lewą i prawą.


//Teraz obrona poszczególnych częsci ciała, jako że tablice nie funkcjonuja jak powinny, wszystko
//zrobimy na zwykłych var-ach.

//HELM
var int PROT_HELM_EDGE; //OSTRZE
var int PROT_HELM_BLUNT;//OBUCH
var int PROT_HELM_POINT;//POCISKI
var int PROT_HELM_FIRE;//OGIEN
var int PROT_HELM_MAGIC;//MAGIA
//Obrona przed bronia = EDGE i BLUNT

//BOOTS
var int PROT_BOOTS_EDGE;
var int PROT_BOOTS_BLUNT;
var int PROT_BOOTS_POINT;
var int PROT_BOOTS_FIRE;
var int PROT_BOOTS_MAGIC;

//Kopjujemy tekst i zamieniamy teraz BOOTS na BRACER, i zlatuje szybciej, ale najlepszy i tak jest column mode;p
//BRACER
var int PROT_BRACER_EDGE;
var int PROT_BRACER_BLUNT;
var int PROT_BRACER_POINT;
var int PROT_BRACER_FIRE;
var int PROT_BRACER_MAGIC;

//itd.
//bez problemu można dodać też inne np. FLY, FALL, BARRIER itd.


//Teraż przejdzmy do samego triggera, rozpisze kawalek funkcji jakby mialo to wygladać.
func void ARMOR_CHECK()
{

//---------------------
// BOOTS
//-Bip01 R Foot & Bip01 L Foot
//---------------------
if(ARMORPART_BOOTS==ARMOR_NONE)//lub poprostu (!ARMORPART_BOOTS)
{
//Render nothing.
}
else if(ARMORPART_BOOTS==ARMOR_THIEF)
{
//Render thief boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_THIEF_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_THIEF_LFOOT",hero,hero,0,0,0,FALSE);
}
else//(Lub jesli bedzie wiecej) if(ARMORPART_BOOTS==ARMOR_GRD_HEAVY)
{
//Render heavy old camp guard boots.
//RIGHT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_RFOOT",hero,hero,0,0,0,FALSE);
//LEFT:
Wld_PlayEffect("V_ARMOR_GRD_HEAVY_LFOOT",hero,hero,0,0,0,FALSE);
};
//...itd.
//WLD_SENDTRIGGER("NAZWATRIGGERA"); ->najlepiej jednak zrobic pętle w spacerze.
};

//Czas ma przykłady efektów VFX (czyli tego z Wld_PlayEffect)

//VFX - PRAWY BUT ZBOI ZLODZIEJA
instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_S getriggert. Aura um den Spieler
{
visname_S = "P_BOOT";//PFX - najlepiej nazywac wszystko wedlug jakiegos systemu, bedzie nam dużo łatwiej wszystko ogarnąc póżniej.
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości PONIŻEJ.
visAlpha = 1;
emtrjmode_s = "FIXED";
//Być może dla poprawy efektu, bedzie trzeba zmodyfikowac wartości POWYŻEJ.
emTrjOriginNode = "Bip01 Spine1";//Bip do którego bedzie przyłączony PFX.
// LightPresetname = "AURA";
emFXLifeSpan = 1;//Czas trwania VFX.
if(item.flags==0)//0 to wartość początkowa, czyli taka przy której przedmiot nie jest założony, wiec gracz chce go ZAŁOŻYĆ.
{
//Zaczynamy od zdjęcia starego przedmiotu, nie bawimy sie w zaawansowane funkcje sprawdzające czy przedmiot był załozony.
//Poprostu wykonujemy operacje przy każdym przedmiocie który jest w ekwipunku herosa i mógł być założony.

//Buty złodzieja:
if(Npc_HasItems(hero,P_BOOT))//takie sprawdzenie zwróci prawde jeśli ilość tych przedmiotów to bedzie równa jeden lub więcej.
{
itm = Npc_GetInvItem(hero,P_BOOT);
itm.flags = 0;//zdejmujemy wszelkie flagi itemowi, teraz napewno nie będzie "załozony".
};


//Wszystkie ewentualnie założone przedmioty mamy już zdjete, teraz czas na odjęcie punktów obrony:

hero.protection [PROT_EDGE] -=PROT_BOOTS_EDGE;
hero.protection [PROT_BLUNT]-=PROT_BOOTS_BLUNT;  
hero.protection [PROT_POINT]-=PROT_BOOTS_POINT;  
hero.protection [PROT_FIRE] -=PROT_BOOTS_FIRE;  
hero.protection [PROT_MAGIC]-=PROT_BOOTS_MAGIC;  

//zmiennym przypisujemy nowe wartosci obrony:

PROT_BOOTS_EDGE  = item.protection[PROT_EDGE];
PROT_BOOTS_BLUNT = item.protection[PROT_BLUNT];
PROT_BOOTS_POINT = item.protection[PROT_POINT];
PROT_BOOTS_FIRE  = item.protection[PROT_FIRE];
PROT_BOOTS_MAGIC = item.protection[PROT_MAGIC];

//teraz ustawiamy je bohaterowi:
hero.protection [PROT_EDGE] +=PROT_BOOTS_EDGE;
hero.protection [PROT_BLUNT]+=PROT_BOOTS_BLUNT;  
hero.protection [PROT_POINT]+=PROT_BOOTS_POINT;  
hero.protection [PROT_FIRE] +=PROT_BOOTS_FIRE;  
hero.protection [PROT_MAGIC]+=PROT_BOOTS_MAGIC;  

//pozostało tyło jeszcze "założyć" przedmiot, musimy tylko przypisać mu specjalna flage:
item.flags = 1<<30;
};

};

Ja troche odciolem skrypt orcwarriora...bo zalezy mi tylko na bucie....i dalem wszystko do pliku Armor w items...kiedy wlaczam Gothica to problem jest w linijce
instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_SWywala tu po prostu błąd...


Bo to sie w osobnych funkcjach umieszcza.
 

zalpl

zalpl

Użytkownicy
posty92
  • Użytkownicy

zalpl

Poszczególne elementy pancerza
#72 2009-12-23, 20:28(Ostatnia zmiana: 2009-12-23, 20:29)
Bo to sie w osobnych funkcjach umieszcza.
tzn? co mam zle?
 

orcwarrior

orcwarrior

The Modders
posty475
Propsy317
Profesjabrak
  • The Modders

orcwarrior
The Modders

Poszczególne elementy pancerza
#73 2009-12-23, 20:32(Ostatnia zmiana: 2009-12-23, 20:34)
Nie masz co próbować, i tak na tamtych poprzednich pfxach to nie dziala, poprawione mam jak narazie tylko na kompie.

A i nie chce nawet wiedzieć do jakiego pliku to wstawiłeś:

instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_S
Acha
jutro, o ile wystarczy mi czasu wrzuce jedna zbroi w pełni kompletna skryptami (raczej jakaś skł. się z niewielu elementów, jako szablon dla was.
 



zalpl

zalpl

Użytkownicy
posty92
  • Użytkownicy
Nie masz co próbować, i tak na tamtych poprzednich pfxach to nie dziala, poprawione mam jak narazie tylko na kompie.

A i nie chce nawet wiedzieć do jakiego pliku to wstawiłeś:

instance P_BOOT (CFx_Base_Proto) // HEAL ORIGIN wird automatisch über emFXInvestOrigin_S
Acha
jutro, o ile wystarczy mi czasu wrzuce jedna zbroi w pełni kompletna skryptami (raczej jakaś skł. się z niewielu elementów, jako szablon dla was.

Do items armor;p

OO dzięki...jak jutro wstawisz to będzie gitaraa...powiedzmy że to będzie prezent świąteczny od Ciebie ...pozdro...i miłego moddingu :D
 

orcwarrior

orcwarrior

The Modders
posty475
Propsy317
Profesjabrak
  • The Modders
Do items armor;p
No to źle, a zrobiłeś chociaz TriggerScripta w zenie?
 



zalpl

zalpl

Użytkownicy
posty92
  • Użytkownicy
No to źle, a zrobiłeś chociaz TriggerScripta w zenie?
Nie...nawet o tym tutka nigdzie nie ma...
 

Althar

Althar

Użytkownicy
posty307
Propsy44
  • Użytkownicy
Jest: http://themodders.org/index.php?showtopic=89

Cytuj
jutro, o ile wystarczy mi czasu wrzuce jedna zbroi w pełni kompletna skryptami (raczej jakaś skł. się z niewielu elementów, jako szablon dla was.

Fajnie by było. A to jako .mod czy poprostu pliki ? Jakbyś wrzucił byłby to miły prezent na święta :D




Życzę Wam wszystkim fajnych prezentów i dobrego jedzenia ;)  Wesołych Świąt :D
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
W komentarzach w kodzie napisałeś że będzie trzeba zrobić nowe sceme, zamiast map, takie które nie będzie używało animacji bądź używało taką której nie widać. Tylko gdzie się takie sceme definiuje?

orcwarrior

orcwarrior

The Modders
posty475
Propsy317
Profesjabrak
  • The Modders
W komentarzach w kodzie napisałeś że będzie trzeba zrobić nowe sceme, zamiast map, takie które nie będzie używało animacji bądź używało taką której nie widać. Tylko gdzie się takie sceme definiuje?

Mam odpowiednio przygotowaną pod CZ - podrzuce razem z tymi skryptami jutro.
 




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