Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - nergosu

Strony: [1]
1
Pytania i problemy / Kilka problemów ze skryptami
« dnia: 2019-04-26, 00:09 »
Podepnę się, bo robię coś podobnego i nie chce zakładać nowego tematu.
Nie startują mi FrameFunctions, gdy wywołam funkcję "ręcznie" to się wykonuje, a w global init FF_ApplyOnce nie trybi.
Spoiler
func void INIT_GLOBAL()
{
   Game_InitGerman();
   LeGo_Init (LeGo_HookEngine);
   LeGo_Init(LeGo_FrameFunctions);
   Hook_oCNpc__DoTakeVob();
   Hook_oCNpc__DoDropVob();
   if(!FF_Active(Check_Inv_SH))
   {
      FF_ApplyOnce(Check_Inv_SH); // 1 na sec
   };
};

Spoiler
func void Check_Inv_SH()
{
   IF (Npc_HasItems(hero,Itemek) >= 1 )
   {
      FF_Remove(Check_Inv_SH);
      B_LogEntry(TOPIC_Quest,"Dupa (ale głosem beziego)");
   };
};

@update: Dobra, po wybraniu LeGo_ALl działa, ciekawi mnie czego brakuje oprócz samych frame functions.
Bo nie chce używać wszystkich skryptów LeGo.
Ktoś coś?

2
Wow, udało się.
Teraz mogę wykorzystać potencjał pakietów skryptowych.

3
Dobra, poskładałem wszystko do kupy, napisałem osobny plik z tymi 2 funkcjami z pierwszego linku.
Podpiąłem do gothic.src, oraz w headerze lego(nie wiem czy to konieczne).
Co teraz zrobić aby to podnoszenie itemów faktycznie działało? :O
Czy gdzieś trzeba wywoływać tą funkcję z hooka voba??

I jeszcze pytanie gdzie jest lista adresów do danych rzeczy? Może być w dowolnym systemie liczbowym.

Jeżeli dodam w startup.d konkretniej w INIT_NewWorld() z tą metodą tworzenia nowego stringa i wywołuję tą pierwszą funkcję Hook, to mam Access Violation i Crash. Podczas wchodzenia do gry (świata).

4
Dziękuję Drakonter za pomoc.
Tobie również Nestarion, ale podejście wydaje się mało optymalne.
Przestudiuję pisma ikariusa :D, dzięki temu będę miał nowe możliwości.
Imo, rozwiązane.

5
Bez użycia pakietów skryptowych tego nie zrobisz. A jak chcesz użyć pakietów to już jest taki skrypt. Wstawił go Milky-Way na WoGa

PS: C_INFO to klasa dialogów, do postaci jest C_NPC
Bardzo dziękuje za odsyłacz.
Niemniej jednak mam jeszcze kilka pytań.

Nie wiem czy powinienem tutaj wklejać ten kod ;x

Tam jest funkcja z tego ikara, czy to bedzie skomplikowane wdrożyć taką jedną funkcje? Bede musiał sciagac jakies dodatkowe rzeczy implementowac etc etc? Innymi słowy, jak się za to zabrać (odsyłacze mogą być ;f)

W których miejscach wywoływać te rzeczy?
Tam widziałem dalej, że w startupie dodawał, i w .src
ale coś mu nie trybiło chyba za bardzo.

Jeżeli nikomu się nie chce mnie poprowadzić przez ten jeden skrypcik, to proszę o odsyłacze, które mi w tym pomogą i można zamknąć temat jako rozwiązany :V

@Edit: Zapomniałem dodać, że chodzi o G2:NK

6
Dzień dobry, forum czytam od dawna szukając pomocy i często znajduję rozwiązanie, ale na jedno nie mogę znaleźć.
Mianowicie chcę obsłużyć zdarzenie zdobycia przedmiotu, a najlepiej mieć do tego klase/funkcje, która by takie coś przechwytywała i sprawdzała co się dzieję z itemami.
Moduję dopiero od wczoraj więc przepraszam za nieprawidłowe przekazywanie parametrów, C_INFO to chyba postacie (?), no a C_ITEM to item :V.
Przykładowo:
Podnoszę przedmiot X/Klikam przycisk akcji zabierając komuś przedmiot X
 - wywołał się event/callback/funkcja (nie wiem jak tu się z tym obnosić) np
NPC_Got_Item(C_INFO, C_ITEM)
{
    //Tutaj możemy się bawić kodem np. dodać log do misji, że coś zdobyliśmy, albo zmienić porę dnia przykładowo podnosimy przeklętą runę to się robi burza i noc :V;
}
Upuszczam item I/LUB tracę go z ekwipunku
NPC_Lost_Item(C_INFO, C_ITEM)
{
    //Tutaj możemy się bawić kodem np. dodać log do misji, że coś zdobyliśmy, albo zmienić porę dnia przykładowo podnosimy przeklętą runę to się robi burza i noc :V;
}
Co do używania przedmiotów to mamy on_state[0], o ile przedmiot jest "używalny".

Może jest jakieś miejsce gdzie się takie zdarzenia wywołują, ale nie pamiętam aby w grze coś takiego było, szukałem czegoś na wzór ZS_DEAD, ale nie znalazlem a szukam już z pół dnia.
Możemy zejść na niższy poziom programowania o ile to konieczne.

TL;DR
Gdzie można/nie można wywołać zdarzenia gdy zdobywamy item do ekwipnuku/pozbywamy się go.

No bo przecież gdzieś jest to zapisane, że gdy klikniemy [przycisk akcji] w eq [target] to nam przenosi go do eq [this].

Strony: [1]
Do góry