Czasowe premie do statystyk 3114 9

O temacie

Autor Unelith

Zaczęty 22.05.2013 roku

Wyświetleń 3114

Odpowiedzi 9

Unelith

Unelith

Użytkownicy
posty40
  • Użytkownicy
Chcę stworzyć czar dodający np. 20 siły na 3 minuty. Da radę coś takiego zrobić? Jeśli tak to w jaki sposób?
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Tak, użyj ticktocka.
 
Ż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

zommer

zommer

Użytkownicy
posty135
Propsy25
ProfesjaNierób
  • Użytkownicy

zommer

Czasowe premie do statystyk
#2 2013-05-22, 16:07(Ostatnia zmiana: 2013-05-22, 16:23)
Sawik, nie łatwiej było by to zrobić w stylu mikstury szybkości? Wydaje mi się, że było by to możliwe.

Edit: Coś czułem, że tylko MDS można tym wykonać. Przynajmniej wyprowadziliście mnie z błędu. Dzięki.
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Sawik, nie łatwiej było by to zrobić w stylu mikstury szybkości? Wydaje mi się, że było by to możliwe.
Mikstura szybkości używa MDL_APPLYOVERLAYMDS_TIMED który nakłada na określony okres czasu MDS, czyli zmienia animacje.
 
Ż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

Czasowe premie do statystyk
#4 2013-05-22, 16:10(Ostatnia zmiana: 2013-05-22, 16:12)
Nie byłoby, mikstura szybkości korzysta z funkcji zewnętrznej Mdl_ApplyOverlayMdsTimed. To jedyna zewnętrzna funkcja pozwalająca określić czas trwania efektu. A za pomocą mds nie jesteś w stanie zmienić statystyk.

Z drugiej strony, jeśli efekt nie ma być krótki (a więc precyzja nie jest potrzebna), są skryptowe sposoby na odpalanie funkcji co jakiś czas. Jednak to sporo więcej kombinowania niż dodanie ticktocka (który może być przecież nawet zespawnowanym itemem z visualem ustawionym na zen zawierający tylko odpowiedni trigger).

Unelith

Unelith

Użytkownicy
posty40
  • Użytkownicy
No cóż spróbuję z tym ticktockiem i zobaczymy.
 

Unelith

Unelith

Użytkownicy
posty40
  • Użytkownicy

Unelith

Czasowe premie do statystyk
#6 2013-05-23, 19:27(Ostatnia zmiana: 2013-05-23, 19:40)
No i jest problem, pokombinowałem troche (możliwe że i przekombinowałem), chciałem przetestować na miksturze i teraz nie mogę nawet sparsować skryptu, wyrzuca mi Syntax Error magic_lesserempower_level

To dałem na początku Constants.d:
var float magic_lesserempower_dur;
var int magic_lesserempower_level;

To w Story\Events\B_TickTock.d:
func void tick_tock_lesserempower()
{
if (magic_lesserempower_level = 1)
{
magic_lesserempower_dur = magic_lesserempower_dur + 0.125;
if (magic_lesserempower_dur = 10.0)
{
hero.attribute[ATR_STRENGTH] = hero.attribute[ATR_STRENGTH] - 10;
magic_lesserempower_dur = 0.0;
magic_lesserempower_level = 0;
PrintScreen ("A! HA-HA!", -1, 58, "FONT_OLD_20_WHITE.TGA",2);
Snd_Play ("DEM_Warn");
};
};
};

A to funkcja uruchamiana po wypiciu eliksiru:
FUNC VOID UseItPo_Tracza()
{
B_RaiseAttribute (self, ATR_STRENGTH, 10);
magic_lesserempower_level = 1;
PrintScreen ("A! HA-HA!", -1, 58, "FONT_OLD_20_WHITE.TGA",2);
Snd_Play ("DEM_Warn");
};

Wygląda na to że wogóle mi nie widzi tych zmiennych globalnych. Co robię źle?
EDIT: A i opóźnienie ticktocka wynosi 0.125 sekundy.
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
if (magic_lesserempower_level = 1)
zawsze zwróci prawdę, = to przypisanie, powininieś użyć == porównania.

Sprawdź czy Twój plik niejest parsowany po constants.d (możesz to sprawdzić w gothic.src).

Btw. gothic nie obsługuje floats.
 
Ż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
Do jakiegośtam stopnia obsługuje (ma taki typ), ale ma jakieś braki (nikt chyba nie kojarzy o co dokładnie chodzi). W każdym razie rzeczywiście lepiej korzystać z liczb całkowitych (odpowiednio przemnożyć przez potęgę 10).

Unelith

Unelith

Użytkownicy
posty40
  • Użytkownicy

Unelith

Czasowe premie do statystyk
#9 2013-05-23, 19:37(Ostatnia zmiana: 2013-05-23, 19:45)
Cholera nigdy bym nie pomyślał że zrobię taki mały błąd. Zmieniłem i zaraz zobaczę efekt.

EDIT: I niespodzianka. Nie działa. Teraz jest syntax error w 5 linijce:
magic_lesserempower_dur = magic_lesserempower_dur + 0.125;Wygląda na to że muszę użyć int zamiast float.

EDIT 2: No i to pomogło. Dziękuję za pomoc.
 


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