Przedmiot zawierający inne przedmioty 2244 4

O temacie

Autor

Zaczęty 14.01.2012 roku

Wyświetleń 2244

Odpowiedzi 4

gothic1210
  • Gość
Napisałem prosty skrypt sakiewki. Nie ma w nim błędów, ale chyba jest źle napisany.
INSTANCE ItMi_Worek_10 (C_Item)
{
name = "Lekka sakiewka";

mainflag = ITEM_KAT_NONE;
flags = ITEM_MULTI;

value = 8;

visual = "DB_ItMi_Pocket.3ds";
material = MAT_CLAY;

scemeName = "MAP";
on_state[0] = UseOWorek10;

description = "Lekka sakiewka prawdopodobnie z rudą.";
TEXT[4] = NAME_Value; COUNT[4] = value;
};
func void UseOWorek10()
{
    CreateInvItems (other, ItMiNugget, 10);
    Print ("Znaleźono 10 bryłek rudy");
};
Po pierwsze w eq nie pojawiają się przedmioty. Jestem świadom, że to CreateInvItems nie pasuje, ale nie wiem czym to zastąpić żeby działało.
Po drugie worek nie znika po użyciu. Tu nie wiem co zrobić.
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel

Sawik
Moderator działu

Przedmiot zawierający inne przedmioty
#1 2012-01-14, 12:07(Ostatnia zmiana: 2012-01-14, 12:08)
Co do znikania to w MDS przy animacji daj DEF_DESTROY_ITEM        [*eventTag (35 "DEF_DESTROY_ITEM")]
A co do dawania przedmiotów to spróbuj przejrzeć skrypty sakiewek z oryginału.
 
Ż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

gothic1210
  • Gość
Co do znikania to w MDS przy animacji daj DEF_DESTROY_ITEM (dokładniej masz w tutorialu Avallacha o MDS)

A co do dawania przedmiotów to spróbuj przejrzeć skrypty sakiewek z oryginału.
W G1 nie było sakiewek.  ;p  

A co do tych MDS-ów to przedmiot nie zostaje w ręku tylko w ekwipunku. Czyli mogę go używać w nieskończoność. To takie sprostowanie.
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
CreateInvItems (hero, ItMi_Nugget ,1);Zrobiłeś prawie dobrze powyższe to wycinek z pliku z sakiewką Cavalorna.

A co do MDS do zrozumiałem ale on zniszczy przedmiot = nie będzie go ani w ręce ani w ekwipunku.
 
Ż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

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Przedmiot zawierający inne przedmioty
#4 2012-01-14, 12:23(Ostatnia zmiana: 2012-01-14, 12:43)
A ja wam powiem że powinno się to robić jeszcze inaczej ;p
INSTANCE ItMi_Worek_10 (C_Item)
{
        name                            =       "Lekka sakiewka";

        mainflag                        =       ITEM_KAT_NONE;
        flags                           =       ITEM_MULTI;

        value                           =       8;

        visual                          =       "DB_ItMi_Pocket.3ds";
        material                        =       MAT_LEATHER;
       
        scemeName                               =       "MAPSEALED";  
        on_state[0]                             =       UseOWorek10;
       
        description                     = "Lekka sakiewka prawdopodobnie z rudą.";
        TEXT[4]                         = NAME_Value;                                   COUNT[4]        = value;
};
func void UseOWorek10()
{
    CreateInvItems (self, ItMiNugget, 10);
    if (Npc_IsPlayer(self)) { Print ("Znaleźono 10 bryłek rudy"); };
};
Po pierwsze, trzeba użyć animacji MAPSEALED. Jest identyczna do MAP, ale zawiera już eventTag o którym napisał Sawik. Używa jej choćby list do magów ognia (który po użyciu tak naprawdę znika i dodaje do ekwipunku własną zmodyfikowaną wersję).
Po drugie, "idealnie" powinno się używać ani other ("inna osoba niż wykonująca czynność"), ani hero ("postać którą rozpoczęto grę, bohater główny"), tylko self ("postać która wykonuje daną czynność"). Gdybyś dał hero, to nawet gdyby sakiewki użył jakiś npc (czemu nie, można to dać choćby w dialogach czy skryptach AI po podniesieniu itemu), to i tak zawartość trafiałaby do gracza. Przy użyciu self, wszystko będzie działać.
U g2nk akurat nie planowali widocznie używania jej przez npc, ale skoro jest to kwestia jednej zmiennej, to lepiej robić "uniwersalnie".

BTW, materiał z którego jest wykonana sakiewka to zdecydowanie skóra a nie glina :p


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