[G2nk] Jak zrobić tarczę 18116 34

O temacie

Autor inż. Avallach

Zaczęty 7.02.2011 roku

Wyświetleń 18116

Odpowiedzi 34

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

[G2nk] Jak zrobić tarczę
2011-02-07, 16:33(Ostatnia zmiana: 2014-12-12, 11:37)
Ktoś mi przypomniał o fragmencie skryptu który dałem kilka postów temu, zapomniałem tam dopisać że przy zakładaniu trzeba dać pustą animkę zakładającą item na slot.
Jest druga, prostsza metoda - polega na zrobieniu tarczy na slocie kuszy. Napisałem właśnie gotowy skrypt, jednak jako że nie mam Gothica nie wiem czy nie ma w nim błędów.
Item:itsh_shield_01INSTANCE itsh_shield_01 (C_Item)
{
name = "Drewniana tarcza";

mainflag = 16;
flags = ITEM_CROSSBOW;
material = 0;

protection [PROT_EDGE] = 10; //Tylko te wartości edytujemy. Pozostałe są pobierane od nich.
protection [PROT_POINT] = 30;
protection [PROT_FIRE] = 0;
protection [PROT_MAGIC] = 0;

on_equip = Equip_itsh_shield_01;
on_unequip = UnEquip_itsh_shield_01;

value = 100;
visual = "itsh_shield_01.3ds";

description = name;
//TEXT[0]= ""; //COUNT[0] = 0;
TEXT[1] = NAME_Prot_Edge; COUNT[1] = protection [2];
TEXT[2] = NAME_Prot_Point; COUNT[2] = protection [6];
TEXT[3] = NAME_Prot_Fire; COUNT[3] = protection [3];
TEXT[4] = NAME_Prot_Magic; COUNT[4] = protection [5];
TEXT[5] = NAME_Value; COUNT[5] = value;
};

FUNC VOID Equip_itsh_shield_01()
{
self.protection [1] += item.protection [2];
self.protection [2] += item.protection [2];
self.protection [6] += item.protection [6];
self.protection [3] += item.protection [3];
self.protection [5] += item.protection [5];
Mdl_ApplyOverlayMds (self,"Humans_Shield.mds");
};

FUNC VOID UnEquip_itsh_shield_01()
{
self.protection [1] -= item.protection [2];
self.protection [2] -= item.protection [2];
self.protection [6] -= item.protection [6];
self.protection [3] -= item.protection [3];
self.protection [5] -= item.protection [5];
Mdl_RemoveOverlayMds (self,"Humans_Shield.mds");
};

OverlayMDS:Humans_Shield.mdsModel ("HuS"){
meshAndTree ("Hum_Body_Naked0.ASC" DONT_USE_MESH)
aniEnum { modelTag ("DEF_HIT_LIMB" "zs_RightHand")


ani ("t_1h_2_1hRun" 1 "s_1hRun" 0.0 0.1 M. "Hum_1hSDrawT2.asc" F 4 14)
{
*eventTag (4 "DEF_FIGHTMODE" "1H")
*eventTag (4 "DEF_DRAWSOUND")
*eventSwapMesh (5 "ZS_CROSSBOW" "ZS_LEFTHAND")
*EventTag (5 "DEF_SWAPMESH" "ZS_CROSSBOW" "ZS_LEFTHAND")
}

ani ("t_1hRun_2_1h" 1 "s_1h" 0.1 0.0 M. "Hum_1hSDrawT2.asc" R 4 14)
{
*eventTag (4 "DEF_FIGHTMODE" "")
*eventTag (4 "DEF_UNDRAWSOUND")
*eventSwapMesh (5 "ZS_LEFTHAND" "ZS_CROSSBOW")
*EventTag (5 "DEF_SWAPMESH" "ZS_LEFTHAND" "ZS_CROSSBOW")
}


ani ("t_1h_2_1hRun" 1 "s_1hRun" 0.0 0.1 M. "Hum_1hSDrawT3.asc" F 5 14)
{
*eventTag (5 "DEF_FIGHTMODE" "1H")
*eventTag (5 "DEF_DRAWSOUND")
*eventSwapMesh (5 "ZS_CROSSBOW" "ZS_LEFTHAND")
*EventTag (5 "DEF_SWAPMESH" "ZS_CROSSBOW" "ZS_LEFTHAND")
}

ani ("t_1hRun_2_1h" 1 "s_1h" 0.1 0.0 M. "Hum_1hSDrawT3.asc" R 5 14)
{
*eventTag (5 "DEF_FIGHTMODE" "")
*eventTag (5 "DEF_UNDRAWSOUND")
*eventSwapMesh (5 "ZS_LEFTHAND" "ZS_CROSSBOW")
*EventTag (5 "DEF_SWAPMESH" "ZS_LEFTHAND" "ZS_CROSSBOW")
}

}
}


Tak jak pisałem da się zrobić też niezależnie od kuszy, ale wtedy trzeba skorzystać z jednej dodatkowej niewidocznej animki z eventTagiem przy zakładaniu i ściąganiu. Wtedy trzeba użyć innych flagsów oraz załączyć zestaw warunków, na przykład takich jak w poprzednim skrypcie, z tym że var int shield_equipped; musi być POZA funkcją, a jeśli mają używać tarcz także npc to najlepiej całkiem to wywalić a w warunku zastąpić przez self.aivar[43] .
MDS który załączyłem zajmuje się tylko przekładaniem pomiędzy slotami, animacje trzeba załatwić we własnym zakresie.

//edit: jako że tematy z podobnym pytaniem są ciągle zakładane, na moją prośbę Wowoz wydzielił posta z dyskusji na osobny temat. Przypominam jednak że skrypt pisałem w okresie kiedy nie mogłem korzystać z Gothica i był pisany z pamięci, więc może posiadać drobne błędy. Ogólną zasadę jednak wcześniej wielokrotnie testowałem i z pewnością działa.

Max2808

Max2808

Użytkownicy
posty38
Propsy12
  • Użytkownicy
Mam błąd :

U: NPC: (WearItem)

Unguelitiger 'wear'-Wert von Drewniana tarcza  




:(
 
Zapraszam Na moją stronę !



Zarabiaj kase! Za darmo! 20$ w miesiąc!!!!

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Mam błąd :

U: NPC: (WearItem)

Unguelitiger #msg1002833wear#msg1002833-Wert von Drewniana tarcza  

Przeczytałeś dopisek?
To nie jest 100% poprawny skrypt tylko zarys jak to ma wyglądać (pisany z pamięci Avallacha :D )
Wymaga poprawek których jeśli nie potrafisz zrobić to się za to nie bierz bo na MDS polegniesz zupełnie a nikt Ci nie będzie pisał ich (nawet ci którzy ogólnie podają gotowe skrypty na prośbę). Wiem że Avallach napisał tam MDS ale nawet nie będziesz wiedział jak tego użyć.
A i jeszcze animacje będą Ci potrzebne.
 
Ogólnie polecam zostawić sobie tarcze na później. W międzyczasie "pobaw się" innymi skryptami, żebyś nauczył się poprawiać i wyłapywać błędy. Bo w MDS nie są one pokazane (gra się crashuje, często bez podania przyczyny)

Ogólnie nie staram się po tobie jechać czy coś ale naprawdę popracuj nad czymś łatwiejszym, bo z doświadczenia wiem że MDS idzie w miarę łatwo załapać jak się zna skryptowanie w dobrze opanowanym poziomie podstawowym.


Jeżeli dalej chcesz to robić to załóż temat i pokaż tam skrypt z niemca jestem słaby ale tam pisze że wartość użycia jest nieprawidłowa. (chyba)
 
Ż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


Drock

Drock

Użytkownicy
posty357
Propsy75
ProfesjaProgramista
  • Użytkownicy
hmm...... chyba spróbuje to zrobić może animki z G3 będą chodzić
 

gothic1210
  • Gość
:facepalm:  Już się nie mogę doczekać.
To nie twój notatnik tylko forum.  :ok:
 

Drock

Drock

Użytkownicy
posty357
Propsy75
ProfesjaProgramista
  • Użytkownicy

Drock

[G2nk] Jak zrobić tarczę
#6 2011-08-17, 08:58(Ostatnia zmiana: 2011-08-17, 09:03)
Sorry chodzi mi oto czy  ktoś wie czy animki z G3 będą chodzić


Czy ktoś wie jak wyciągnąć animkę z G3
 

Wowoz

Wowoz

Użytkownicy
Wowoźny
posty3698
Propsy4862
NagrodyVV
Profesjabrak
  • Użytkownicy
  • Wowoźny

Wowoz

[G2nk] Jak zrobić tarczę
#7 2011-08-17, 10:58(Ostatnia zmiana: 2011-08-17, 10:59)
Nie da sie tego zrobic bo animacje z Gothic 3 są oparte na innym rigu (szkielecie) niż ten, ktory masz w 1-ce czy 2-ce.
 


Max2808

Max2808

Użytkownicy
posty38
Propsy12
  • Użytkownicy
Avallach: Nie, nic.
 
Zapraszam Na moją stronę !



Zarabiaj kase! Za darmo! 20$ w miesiąc!!!!


Max2808

Max2808

Użytkownicy
posty38
Propsy12
  • Użytkownicy
G2NK - Dalej próbuje, mam G2MDK i Spolszczone skrypty, a i tak nie działa :-/.
 
Zapraszam Na moją stronę !



Zarabiaj kase! Za darmo! 20$ w miesiąc!!!!


Max2808

Max2808

Użytkownicy
posty38
Propsy12
  • Użytkownicy
Jest Stary błąd i nowy: Przy ładowaniu (screen) a potem: Ciemno jak w dupie u WWZ
 
Zapraszam Na moją stronę !



Zarabiaj kase! Za darmo! 20$ w miesiąc!!!!

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Chłopie nie wiem dokładnie o co chodzi (coś z skycontrolerem o którym wiem nie wiele więcej niż to że takie coś jest) ale wygląda na to że masz solidnie nawalone w innych plikach więc polecam reinstal. Jak ktoś ma lepszy pomysł to słuchaj ich ale ja bym rozwiązał to w szybki sposób reinstalem :)
 
Ż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!

kaczka
RaveN Studio

[G2nk] Jak zrobić tarczę
#15 2011-08-24, 01:27(Ostatnia zmiana: 2011-08-24, 01:27)
Jest Stary błąd i nowy: Przy ładowaniu (screen) a potem: Ciemno jak w dupie u WWZ

Jak jego dupę chcesz zobaczyć od środka to mu to powiedz.
Imo tylko elyta tM może się gnoić na forum... reszta powinna pisać we względnym ładzie i porządku.  Czyt. - na Twoim miejscu oszczędziłbym sobie tego typu teksty.

Wowoz chyba się nie obrazi jeżeli na 2 minuty zostanę jego adwokatem :lol:
 

PROR

PROR

Użytkownicy
posty42
Propsy6
  • Użytkownicy
Dzięki Avallach. Masz props'a, bardzo mi pomogłeś  ^^
 


PROR

PROR

Użytkownicy
posty42
Propsy6
  • Użytkownicy
Dobrze wiedzieć że działa, sam pisałem ten skrypt nie posiadając zainstalowanego Gothica i nigdy go nie przetestowałem, jesteś chyba pierwszą której udało się go wykorzystać.
Troszkę musiałem go poprawić, ale jest ok ,wielkie dzięki
 

Vic7im

Vic7im

Użytkownicy
posty84
Propsy92
Profesjabrak
  • Użytkownicy
Sorry for necroposting this guys, but I'm having problems with shields.

Every time I load a game they stop working. Avallach, you mentioned something about self.[aivar] = 43, could you be more specific?

Sorry for speaking in english, you guys are the only still playing gothic xD
 


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