licznik damage G1 3109 18

O temacie

Autor pawbuj

Zaczęty 4.05.2016 roku

Wyświetleń 3109

Odpowiedzi 18

pawbuj

pawbuj

Użytkownicy
posty1623
Propsy135
ProfesjaSkrypter
  • Użytkownicy
czy ma ktoś pomysł na funkcje licząca obrażenia zadawane przez npc? chodzi o teorię.
 

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
Czas Zapłaty,  damage_func.d Tam prawdopodobnie znajdziesz odpowiedź.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Nie znajdzie.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Xardas47

Xardas47

Użytkownicy
Mhroczny charakterek
posty249
Propsy150
ProfesjaProgramista
  • Użytkownicy
  • Mhroczny charakterek
Może porównanie punktów życia przed i po ataku? Damage, z tego co wiem, jest obliczany w silniku - można by więc dokopać się do funkcji które za to odpowiadają. Pomysł z PŻ wydaję mi się w miarę sensowny i na pewno dużo prostszy -  trzeba tylko znaleźć sposób na pobranie punktów życia w odpowiednich momentach.
 

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Kombinuj.
func int DMG_OnDmg(var int victimPtr, var int attackerPtr, var int dmg) {
    // Diese Funktion anpassen, wenn ihr den Schaden verändern wollt! 'dmg' ist der von Gothic berechnete Schaden.
    return dmg;
};
   
   
func void _DMG_OnDmg() {
    EAX = DMG_OnDmg(ECX, MEM_ReadInt(MEM_ReadInt(ESP+548)+4), EAX);
};
func void InitDamage() {
    const int dmg = 0;
    if (dmg) { return; };
    HookEngineF(7567329, 6, _DMG_OnDmg);
    dmg = 1;
};
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

pawbuj

pawbuj

Użytkownicy
posty1623
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Kombinuj.
func int DMG_OnDmg(var int victimPtr, var int attackerPtr, var int dmg) {
    // Diese Funktion anpassen, wenn ihr den Schaden verändern wollt! 'dmg' ist der von Gothic berechnete Schaden.
    return dmg;
};
   
   
func void _DMG_OnDmg() {
    EAX = DMG_OnDmg(ECX, MEM_ReadInt(MEM_ReadInt(ESP+548)+4), EAX);
};
func void InitDamage() {
    const int dmg = 0;
    if (dmg) { return; };
    HookEngineF(7567329, 6, _DMG_OnDmg);
    dmg = 1;
};
to przykład dla G2.


dla G1 nie ma hookengineF, nalezy by zmodyfikować hook_engines.d na podst. nowego Lego. za mały goguś jestem do tego, chociaż interface.d poprawiłem, że pozostał tylko bug z krzyżującymi się napisami (na pewno w g2 też tak to działa).

na razie zrobiłem, że przy drugim i kolejnym uderzeniu obrazenia wyświetlają sie prawidowo (zs_reacttodamage.d).
potrzebuje pobrać hp npc jeszcze przed uderzeniem, tu będzie pomocne ikariusowy hero.fcus_vob (nie testowałem).
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Ten skrypt został przeportowany do G1. Starczy zmienić funckję HookengineF i będzie działać (w CZ jest hookengine).
 
: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.

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Cytuj
dla G1 nie ma hookengineF
Jest.
Cytuj
pozostał tylko bug z krzyżującymi się napisami
Może jakbyś mniej grzebał w plikach LeGo, to by działało, bo odziwo mnie do dziś działa bezproblemowo. Dowód:
https://www.youtube.com/watch?v=kpRY4thDKTo
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

pawbuj

pawbuj

Użytkownicy
posty1623
Propsy135
ProfesjaSkrypter
  • Użytkownicy

pawbuj

licznik damage G1
#8 2016-05-05, 10:56(Ostatnia zmiana: 2016-05-05, 11:10)
Cytuj
dla G1 nie ma hookengineF
Jest.
Cytuj
pozostał tylko bug z krzyżującymi się napisami
Może jakbyś mniej grzebał w plikach LeGo, to by działało, bo odziwo mnie do dziś działa bezproblemowo. Dowód:
https://www.youtube.com/watch?v=kpRY4thDKTo

mam aktualne Lego od chickena, chyba że ty masz jeszcze nowszą wersję, może dasz mi linka.
rzeczywiście jest HookEngineF

jeszcze podaj jak wywołeś. u mnie ten bug był przy zwykłym printscreenie.
 

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
Pokaż skrypt printa, miałem podobny błąd,ale nie wiem czy u ciebie skrypt stringa wygląda tak samo (starcza odnośniki do var int string ;)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Cytuj
jeszcze podaj jak wywołeś. u mnie ten bug był przy zwykłym printscreenie.
Ty myślisz, że logo powoduje, że funkcja PrintScreen nie nakłada się na siebie? :|
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

pawbuj

pawbuj

Użytkownicy
posty1623
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Cytuj
jeszcze podaj jak wywołeś. u mnie ten bug był przy zwykłym printscreenie.
Ty myślisz, że logo powoduje, że funkcja PrintScreen nie nakłada się na siebie? :|

myślę, że Lego powoduje, że zwykłe printscreeny się nakładają. generalnie jest to potrzebne np. jak wyświetlasz zmienne, które się szybko zmieniają.

Siema, sprawdze ta metodę.
 

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Zwykłe PrintScreeny zawsze nakładały się na siebie...
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
U mnie błędem była zła budowa var string msg; zawsze zawracal do poprzedniego i przez to się bugowalo.  Polecam Ci napisać własnego printa,  lub przerobić prints_ext.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
No bo on nie używa funkcji ConcatStrings, tylko wywołuje kilka razy PrintScreen, które zawsze wyśrodkowuje tekst. A potem się dziwi, że tekst nakłada się na siebie zależnie od jego długości.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
To najlepiej skopiuj prints_ext (funkcja)
I przerób ja dodając pozycję na środku,i zmieniając jej fonta (prints_ext(var int text, var int color, var int X, var int y,var string font)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

pawbuj

pawbuj

Użytkownicy
posty1623
Propsy135
ProfesjaSkrypter
  • Użytkownicy

pawbuj

licznik damage G1
#16 2016-05-05, 11:41(Ostatnia zmiana: 2016-05-05, 11:49)
No bo on nie używa funkcji ConcatStrings, tylko wywołuje kilka razy PrintScreen, które zawsze wyśrodkowuje tekst. A potem się dziwi, że tekst nakłada się na siebie zależnie od jego długości.
jednak nie do końca się moge zgodzić. zostawmy teorię. dobrym przykładem jest wyświetlanie expa w BSM Rafała. tam napis co punkt unosił sie do góry, przy Lego  napisy z pierwszych linii nie znikały (bo był efekt nakładania). wiem co mówię.
 

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Cytuj
dobrym przykładem jest wyświetlanie expa w BSM Rafała. tam napis co punkt unosił sie do góry, przy Lego  napisy z pierwszych linii nie znikały (bo był efekt nakładania).
Tylko, że on to zrobił kompletnie inaczej, niż do czego dążysz...
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

pawbuj

pawbuj

Użytkownicy
posty1623
Propsy135
ProfesjaSkrypter
  • Użytkownicy
jak wiem jak zrobił, tylko przy Lego to nie zadziała. Wiem, że przy anim8 można to zrobic bardziej efektownie, ale w tamtych czasach (2008-2010) to było coś....

reasumując, nie jest tak , że Lego nie generuje ten defektu (napisałem do Lehony, bo w g2 jest podobnie tylko że tak było od początku , może cos wymyśli). aż tak mi to nie przeszkadza, bo alternatywą może być korzystanie z ConctatStrings przy wyświetlaniu ciągu zmiennych . Generalnie pakiet Lego chickena dużo wnosi i jest to jedyny defekt.
 


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