Problemy z funkcją 2067 4

O temacie

Autor Siemekk

Zaczęty 21.07.2016 roku

Wyświetleń 2067

Odpowiedzi 4

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
 :lol2: :lol2: :lol2: :lol2: Gdy już po 3 miesiącach bohatersko udało mi się zdobyć klatkę animacji (dzięki Splash ;) ) pojawił się kolejny problem... Mianowicie :D Przypomniało mi się, że mam gdzieś ok. 13 nowych stylów walki, i do każdego trzeba pobierać inną klatkę. Napisałem parę funkcji:
func void OneHAnimsFrame(var int combo_frame)
{
var int Frame1Debug;
var int Frame2Debug;
var int Frame3Debug;
var int Frame4Debug;
if ((combo_frame==4)&&(!Frame1Debug))
||((combo_frame==36)&&(!Frame2Debug))
||((combo_frame==72)&&(!Frame3Debug))
||((combo_frame==107)&&(!Frame4Debug))
{
if(combo_frame==4)
{
Frame1Debug=true;
};
if(combo_frame==36)
{
Frame2Debug=true;
};
if(combo_frame==72)
{
Frame3Debug=true;
};
if(combo_frame==107)
{
Frame4Debug=true;
};
Read_voblist();
};
if(combo_frame==7)
{
Frame1Debug=false;
};

if(combo_frame==38)
{
Frame2Debug=false;
};

if(combo_frame==74)
{
Frame3Debug=false;
};

if(combo_frame==109)
{
Frame4Debug=false;
};
};
//
func void Ret2_AnimsHitFrame(var int frame)
{
var int First_Debugger;
var int Second_Debugger;
var int Third_Debugger;
var int Fourth_Debugger;
if ((frame==5)&&(!First_Debugger))
||((frame==28)&&(!Second_Debugger))
||((frame==53)&&(!Third_Debugger))
||((frame==80)&&(!Fourth_Debugger))
{
if(frame==5)
{
First_Debugger=true;
};
/***********/
if(frame==28)
{
Second_Debugger=true;
};
/***********/
if(frame==53)
{
Third_Debugger=true;
};
/***********/
if(frame==80)
{
Fourth_Debugger=true;
};
/*****ReInit******/
if(frame==7)
{
First_Debugger=false;
};
/***********/
if(frame==30)
{
Second_Debugger=false;
};
/***********/
if(frame==55)
{
Third_Debugger=false;
};
/***********/
if(frame==82)
{
Fourth_Debugger=false;
};
Read_Voblist();
};
};

I wywołuję to tak:
if(ReadiedWeapon.flags & ITEM_SWD || ReadiedWeapon.flags & ITEM_AXE)
{
if(hero.hitchance[1]>=30 && hero.hitchance[1]<80)//i nie zna
{
OneHAnimsFrame(combo_frame);
}
else if (hero.hitchance[1]>=80)//dodać warunek gdy zna arcymistrza
{
OneH_HitFrames_St3(combo_frame);
};
Ale gdy wybieram styl powyżej 80% to zmienne nie chcą zawracać z powrotem... Próbowałem na wiele sposobów nawet to upraszczać, ale nic nie chce działać... Ktoś wie gdzie może być błąd ?
(błąd gdzieś pewnie w funkcji, ale na szczęście nie ma tu żadnego ikarus'a ani LeGo więc...)
 

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

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Jak zmienne nie chcą zawracać? O co dokładnie Ci chodzi?
 
: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.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Chodzi o to:
Atakuje:
1x1-Pisze imiona npctów w tym przypadku wilk klatka 4- zmienna jest równa true
1x2-Druga sekwencja to samo co wyżej
1x3-Trzecia przedostatnia sekwencja to samo
1x4-Czwarta kończąca sekwencja dalej pisze
/*************************************/
2x1-Zaczynam combo drugi raz, nic nie pisze, powinno pisać wilk po lewej, ale nic nie ma tak jakby zmienna została przy wartości 1
2x2-To samo
2x3-To samo
2x4-To samo
To samo dzieje się z atakiem w lewo lub prawo. Combosy do innego typu zawracają ale tu nie :/
Jak by się dało pobrać za pomocą oCAniCtrl DEF_OPT_FRAME wtedy nie było by roboty :/ ale to raczej nie możliwe.
1x1-4 pierwszy raz combo, 1x= pierwszy raz x1-4= sekwencja
2x1-4 - drugi raz combo 2x=drugi raz x1-4= sekwencja :)
 

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

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Jeśli w ReadVoblist masz return, daj to na sam koniec (tzn ReadVoblist). Jeśli nie podziała, daj kasowanie zmiennych w pierwszej klatce na samym początku skryptu.
 
: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.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Próbowałem tak i raczej powinno działać, ale nie działało :/
if(combo_frame==4)
{
Frame1Debug=true;
}
else
{
Frame1Debug=false;
};
I to teoretycznie powinno działać.
 

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


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