Wywołanie funkcji po trafieniu zaklęciem 3200 5

O temacie

Autor Siemekk

Zaczęty 29.08.2017 roku

Wyświetleń 3200

Odpowiedzi 5

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Tak jak w temacie. Jakoś nigdy nie zastanawiałem się jak to zrobić. Próbowałem B_AssesMagic, ale funkcja nie wiem czemu nie odpala się wcale (pytanie nr 1 - dlaczego?), próbowałem Hookować, ale gdy atakujący schowa broń funkcja się nie wywoła... Więc pytanie - jak wywołać funkcję gdy np. firebolt trafi w npc?
 

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

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
func void Test ()
{
    var int ptr; ptr = MEM_ReadInt (ESP+4);

    if (MEM_ReadInt (ptr+24) > 0)
    {
    [..]
    };
};

HookEngineF (6709472, 7, Test);
 
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
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Czym jest MEM_ReadInt (ptr+24)? ID zaklęcia? Oraz pytanie do tego B_AssesMagic - czemu funkcja nie jest wyzwalana?
 

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

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Cytuj
ID zaklęcia?
Yup.
Cytuj
Oraz pytanie do tego B_AssesMagic - czemu funkcja nie jest wyzwalana?
Nie wiem. Niektóre funkcje wywoływane przez silnik nie działają za dobrze. O ile pamiętam B_AssessDamage lubi czasami wywoływać się zanim jeszcze npc zostanie trafiony.
 
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
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Cytuj
Nie wiem. Niektóre funkcje wywoływane przez silnik nie działają za dobrze. O ile pamiętam B_AssessDamage lubi czasami wywoływać się zanim jeszcze npc zostanie trafiony.
Właśnie jak dałem w B_AssesDamage na początku Print("B_AssesDamage"), to nie miałem tego Printa nigdy...
Jeszcze jedno do tego Hook'a. Jak określić NPC w hooku? Ofiarą na 100% jest ECX bądź EBP (u mnie jest to EBP), a atakujący?
 

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

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
class oSDamageDescriptor
{
    var int dwFieldsValid;     //int
    var int pVobAttacker;     //zCVob*
    var int pNpcAttacker;     //oCNpc*
    var int pVobHit;     //zCVob*
    var int pFXHit;     //oCVisualFX*
    var int pItemWeapon;     //oCItem*
    var int nSpellID;     //zUINT32
    var int nSpellCat;     //zUINT32
    var int nSpellLevel;     //zUINT32
    var int enuModeDamage;     //int
    var int enuModeWeapon;     //int
    var int aryDamage[8];     //zUINT32
    var int fDamageTotal;     //zREAL
    var int fDamageMultiplier;     //zREAL
    var int vecLocationHit;     //zVEC3
    var int vecDirectionFly;     //zVEC3
    var string strVisualFX;     //zSTRING
    var int fTimeDuration;     //zREAL
    var int fTimeInterval;     //zREAL
    var int fDamagePerInterval;     //zREAL
    var int bDamageDontKill;     //zBOOL
    /*
    struct
    {
    zUINT32 bOnce : 1;
    zUINT32 bFinished : 1;
    zUINT32 bIsDead : 1;
    zUINT32 bIsUnconscious : 1;
    zUINT32 lReserved : 28;
    };
    */

    var int fAzimuth;     //zREAL
    var int fElevation;     //zREAL
    var int fTimeCurrent;     //zREAL
    var int fDamageReal;     //zREAL
    var int fDamageEffective;     //zREAL
    var int aryDamageEffective[8];     //zUINT32
    var int pVobParticleFX;     //zCVob*
    var int pParticleFX;     //zCParticleFX*
    var int pVisualFX;     //oCVisualFX*
};
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie


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