No dzień dobry. Chciałem podpiąć banalną funkcję powodującą, że NPC A atakuje NPC B pod środkowy przycisk myszy. Napisałem banalną, przykładową funkcję:
b_attack(sentenza,hero,AR_NONE,0);
I wsadziłem ją do FrameFunction i zainicjowałem co klatkę - działa perfekcyjnie.
Idąc krok dalej dołożyłem na razie nic nie robiący warunek z klawiszem:
if (MEM_KeyState(MOUSE_BUTTONMID) == KEY_UP)
{
b_attack(sentenza,hero,AR_NONE,0);
};
I także działa perfekcyjnie, tzn. tak jak powinno się stać - Sentenza rzuca się od razu na gracza. Ale to by było na tyle, jeśli o działanie przy próbie podpięcia pod klawisz. Jeśli zamienię warunek na cokolwiek innego określającego czy przycisk jest naciśnięty czy nie, nawet na MEM_KeyState(MOUSE_BUTTONMID) != KEY_UP
To już się robi problem. Ten przykładowy Sentenza który sobie stoi w miejscu i je, przy wywołaniu przyciskiem funkcji po prostu zamiera w miejscu jakby kija połknął, ale atakuje może raz na 100 prób. Wsadzony do tej funkcji print działa, że więc ten warunek spełniony wg gry jest. Wie ktoś o co chodzi i jak okiełznać to drewno? Dodam tylko, że w ten sam sposób napisałem i podpiąłem pod PPM funkcję podnoszącą itemy z ziemi jak w returningu i działa bez problemu, a tu się dzieją jaja.