Raz na dzień 4057 11

O temacie

Autor Ridic530

Zaczęty 20.03.2012 roku

Wyświetleń 4057

Odpowiedzi 11

Ridic530

Ridic530

Użytkownicy
posty73
Propsy3
  • Użytkownicy

Ridic530

Raz na dzień
2012-03-20, 08:43(Ostatnia zmiana: 2012-03-20, 08:48)
Witam mam problem w gothicu nie mogłem znaleść skryptu który odpowiada za ćoś co się dzieje raz na dzień chodzi mi że tylko raż możemy dostać coś od kogoś w ciągu dnia.

P.S jak zrobić wykonane zadanie wraz z podniesieniem przedmiotu
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Raz na dzień
#1 2012-03-20, 14:56(Ostatnia zmiana: 2012-03-20, 19:13)
Musisz zrobić zmienną
const int mozna = true;//mogepotem w dialogu
if (mozna == true){//jezeli moge - dialog
return 1;
...

i po opcjach dialogowych
mozna = false;//nie moge
potem do RefreshArmor.d w funkcji dajesz
mozna = true;//mogei do monologu spania to samo.

RefreshArmor - wykona się kiedy gracz nie będzie spał i minie doba podczas gry
a monolog spania chyba nie muszę tłumaczyć ;)

Mozna by też zrobić to inaczej za pomocą wld_getday(); funkcja zwraca dany dzień gry

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Twoje PS jest równe Spacerowi bądź LeGo. A numer jeden to nie za bardzo wiem. Ja na przykład robiłem respawn potworów, który działał na zasadzie, że jeśli się prześpisz do ranka, to masz % szans na to, że na całej mapie wszystko się zrespi po jednej sztuce. Zaś dostawanie przedmiotu codziennie, możesz pozyskać od skryptu Onara, jak jesteś najemnikiem i idziesz po wypłatę. Mi się zdaje, że jest to zrobione na zasadzie WLD_GetDay()+1 czy jakoś tak. Nie sprawdzałem tego skryptu nigdy, więc nie jestem pewien, a szukać teraz mi się tego dialogu nie chce, więc poszukaj DIA_ Onara i tam poszukaj tą wypłatę lub wpisz w "wyszukaj" (w tym DIA_) WLD_GetDay.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Ridic530

Ridic530

Użytkownicy
posty73
Propsy3
  • Użytkownicy

Ridic530

Raz na dzień
#3 2012-03-20, 17:04(Ostatnia zmiana: 2012-03-20, 17:12)
A jak zrobić żeby po podniesieniu przedmiotu pisało że wykonano misję tak jak w g3 podniosło śię klucz do świątyni i dało ukończoną misję

nie za bardzo mam prasera i nie wiem jak to dać czy do warunku if dać WLD_GetDay() czy po dialogu
 

HerrKlebstoff

HerrKlebstoff

Użytkownicy
posty165
Propsy48
Profesjabrak
  • Użytkownicy
(Wld_GetDay() == 1)//raz na 1 dzień
(Wld_GetDay() == 2)//raz na 2 dni

Etc

Cytuj
nie za bardzo mam prasera i nie wiem jak to dać czy do warunku if dać WLD_GetDay() czy po dialogu

Możesz to robić na podstawie innych dialogów, wstawiasz to jako zwykły warunek. Np:

FUNC INT DIA_TWOJNPC_Hello_Condition()
{
if (Wld_GetDay() == 1)
{
return 1;
};
};

Spójrz np na dialog Hildy, codziennie dostajemy gulasz.
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Raz na dzień
#5 2012-03-20, 17:41(Ostatnia zmiana: 2012-03-20, 17:42)
źle mówisz

if(Wld_GetDay() == 1)//W pierwszy dzień w grze
if(Wld_GetDay() == 2)//W drugi dzień gry
...

a dlaczego upierasz się przy Wld_GetDay() mój sposób wydaje się lepszy

Ridic530

Ridic530

Użytkownicy
posty73
Propsy3
  • Użytkownicy

Ridic530

Raz na dzień
#6 2012-03-20, 17:44(Ostatnia zmiana: 2012-03-20, 17:45)
zastosowałem ten pierwszy sposób narazie nie wiem czy działa ale powinien
da się tak że jak zrobić wykonane zadanie wraz z podniesieniem przedmiotu jak nie to piszcie
 

Sawik

Sawik

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

Sawik
Moderator działu

Raz na dzień
#7 2012-03-20, 18:57(Ostatnia zmiana: 2012-03-20, 19:20)
Rafał czy ty naprawdę popełniłeś taki głupi błąd? W twoim poście wyżej, mówisz "Zrób zmienna" potem robisz stałą i co więcej, potem tą stałą edytujesz.

Ridic zmienne deklarujemy przez var nie const, oraz przy definiowaniu zmiennej nie podajemy jej wartość, przypisanie wartości zmiennej jest możliwe tylko jako część jakiejś funkcji. Podnoszenie itemów można zrobić triggerem.


Edit: Down Deadlus jeszcze długi czas będzie mnie zaskakiwał, słyszałem coś o stałych jako zmiennych, ale nie wiedziałem że chodzi o wszystkie stałe :D
 
Ż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

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Raz na dzień
#8 2012-03-20, 19:11(Ostatnia zmiana: 2012-03-20, 19:13)
Rafał czy ty naprawdę popełniłeś taki głupi błąd? W twoim poście wyżej, mówisz "Zrób zmienna" potem robisz stałą i co więcej, potem tą stałą edytujesz.
W Gothicu stała jest zmienną której na starcie przypisujesz swoją wartość :P Już wspominał o tym avallach, adanos i kupa innych a ty jak zwykle wyskoczyłeś jak filip :P

Ale jedno teraz zauważyłem ja ciągle deklaruje a potem powinienem zmieniać juz poprawie :D

Ravensword17

Ravensword17

Użytkownicy
posty35
Propsy3
  • Użytkownicy
A wieć mogłby ktoś podać gotowy skrypt. Najlepiej z Wld_GetDay(), bo z zmiennymi i stałymi jeszcze się nie orientuje. Tak czy inaczej proszę o skrypt, albo wytłumaczenie, bo ze skryptu Onara i Thekli nie umiem się za bardzo połapać.
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Raz na dzień
#10 2012-03-31, 21:59(Ostatnia zmiana: 2012-03-31, 22:00)
(metoda Wld_GetDay())
- zapisujesz dzień do jednej zmiennej (kiedy zaczynamy)
zmienna = Wld_GetDay();- zapisujesz dzień dzisiejszy do drugiej zmiennej (Kiedy zwracamy true dla dialogu)
zmienna2 = Wld_GetDay();- i porównujesz je ze sobą jeśli będą takie same to znaczy ze mamy ten sam dzień jeśli różne od siebie to znaczy ze mamy  następny dzień
if (zmienna<zmienna2){
return TRUE;
};

Więc OBIE metody są na zmiennych :P

Ravensword17

Ravensword17

Użytkownicy
posty35
Propsy3
  • Użytkownicy

Ravensword17

Raz na dzień
#11 2012-03-31, 22:05(Ostatnia zmiana: 2012-04-02, 18:49)
Już rozumiem, tylko gdzie wpisać zmienną?
 


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