Niedziałający sprint 7611 30

O temacie

Autor Kempix

Zaczęty 13.01.2017 roku

Wyświetleń 7611

Odpowiedzi 30

Kempix

Kempix

Użytkownicy
posty171
Propsy12
ProfesjaSkrypter
  • Użytkownicy
Wiecie czemu ten skrypt budzisa nie działa u mnie?
func void sprint_b(){
if(MEM_KeyState(KEY_m)==KEY_HOLD){

         if (sprint == 4){
            sprint = 1;
         };

         if (sprint == 1) {
            if !(C_BodyStateContains(hero, BS_FALL)||C_BodyStateContains(hero, BS_JUMP)) {
               sprint = 2;
               Mdl_ApplyOverlayMDS(hero, "HUMANS_SPRINT.MDS");   
            };
         };

      }else{
         if (sprint == 2){
            sprint = 3;
         };

         if (sprint == 3)  {
            sprint = 4;
            Mdl_RemoveOverlayMDS(hero, "HUMANS_SPRINT.MDS");   
         };
      };
Gra zawsze wywala błąd przy: if !(C_BodyStateContains(hero, BS_FALL)||C_BodyStateContains(hero, BS_JUMP)) {
A jak to wywale to sprint wgl nie działa naciskam m i nic się nie dzieje :/
Wyzwalam to tym:  FF_ApplyOnce(sprint_b); Po naciśnięciu M nic się nie dzieje. Zapytam też od razu.. jak dodać do tego pseudo wytrzymalosc. Minimalna ilość 1 maxymalna 10 i co sekundę odejmuje 1 jak jest 0 to sprint nie działa i się generuje
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator
Używaj tagu code do umieszczania skryptów - to po pierwsze. Po drugie, parser nie potrafi sobie skakać między plikami by znaleźć każdą funkcję, dlatego kolejność sprawdzania plików jest ustalona w pliku Gothic.src. A nawet gdyby umiał, to kompilacja skryptów trwałaby wieki. Dlatego parsuj funkcję sprintu po funkcji o nazwie C_BodyStateContains. 
Cytuj
Zapytam też od razu.. jak dodać do tego pseudo wytrzymalosc. Minimalna ilość 1 maxymalna 10 i co sekundę odejmuje 1 jak jest 0 to sprint nie działa i się generuje
Sam sobie odpowiedziałeś na pytanie.

 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Kempix

Kempix

Użytkownicy
posty171
Propsy12
ProfesjaSkrypter
  • Użytkownicy
Dlatego parsuj funkcję sprintu po funkcji o nazwie C_BodyStateContains.  Czyli jak? bo niezbyt rozumiem
2 sprawa czemu jak klikne M nic się nie dzieje?
 

Splash

Splash

Moderator
posty4212
Propsy3414
ProfesjaNierób
  • Moderator
To znaczy, że plik ze sprintem ma być sprawdzany dopiero po sprawdzeniu pliku, zawierającego funkcję C_BodyStateContains. Ich kolejność z góry na dół jest wyznaczona w pliku Gothic.src. Lokalizacja tego pliku różni się w zależności od tego czy robisz to w Gothic 1 czy 2.
Cytuj
2 sprawa czemu jak klikne M nic się nie dzieje?
KEY_HOLD - Hold - utrzymać. To znaczy, że funkcja działa tylko wtedy, kiedy trzymasz klawisz. Nie bez powodu Rafał Budzis wybrał klawisz Shift.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

Kempix

Kempix

Użytkownicy
posty171
Propsy12
ProfesjaSkrypter
  • Użytkownicy

Kempix

Niedziałający sprint
#4 2017-01-13, 15:06(Ostatnia zmiana: 2017-01-13, 15:17)
Hmm tylko że jak trzymam M to mimo tego sprint nie działa. Po prostu nic się nie dzieje.

Post połączony: 2017-01-13, 15:17
Wiesz dlaczego?
 

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Zaiste tyle niepotrzebnego kodu...
//var int Sprint_State; //Global Varriable
if (!C_BodyStateContains(hero, BS_STAND) || !C_BodyStateContains(hero, BS_RUN)) { return; };
if(MEM_KeyState(KEY_M)==KEY_HOLD)
{
if(!Sprint_State)
{
Mdl_ApplyOverlayMDS(hero,"Humans_Sprint");
Sprint_State = 1;
};
}
else
{
if(Sprint_State)
{
Mdl_RemoveOverlayMDS(hero,"Humans_Sprint");
Sprint_State = 0;
};
};
 

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

Kempix

Kempix

Użytkownicy
posty171
Propsy12
ProfesjaSkrypter
  • Użytkownicy
Okej działa dzięki za pomoc. Żeby nie robić nowego tematu zapytam tutaj. Jak zrobić aby zrobić aby coś dodawało się/wywoływało się ciągle? Tzn zmienna np. dodawała wartość do siebie cały czas co sekundę.
 

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Nie znam innego sposobu więc osobiście poda ten: http://themodders.org/index.php?topic=26931.0

Może ktoś inny zapoda czymś lepszym :)
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Kempix

Kempix

Użytkownicy
posty171
Propsy12
ProfesjaSkrypter
  • Użytkownicy
Mam jeszcze jedną sprawę. Pomógłby/powiedział ktoś jak do tego skryptu: func void bieganie_bochater(){

if(MEM_KeyState(KEY_M)==KEY_HOLD)
{
if(!Sprint_State)
{
Mdl_ApplyOverlayMDS(hero,"Humans_Sprint");
Sprint_State = 1;
};
}
else
{
if(Sprint_State)
{
Mdl_RemoveOverlayMDS(hero,"Humans_Sprint");
Sprint_State = 0;
};
};
};
   dodać stamine? tzn jak zrobić aby maxymalna ilość staminy było np. 10 i.. co zrobić aby co sekundę odejmowało 1 pkt i jak będzie 0 to regenerowało. Z paskami raczej sobie poradzę przez ten poradnik? http://themodders.org/index.php?topic=26571.0
 

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Cytuj
bieganie_bochater
:lol2:
Sprawdzaj czy postać biegnie i czy sprint jest aktywny.
 

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

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
func void bieganie_bochater(){

if(MEM_KeyState(KEY_M)==KEY_HOLD)
{
if(!Sprint_State)
{
Mdl_ApplyOverlayMDS(hero,"Humans_Sprint");
Sprint_State = 1;
}else{
 Sprint_State = 0;
Mdl_RemoveOverlayMDS(hero,"Humans_Sprint");
};
};
};

Mi się zdaje że ta funkcja mogłaby wyglądać tak :)

btw no to jeżeli poradzisz sobie z paskiem, to tym bardziej z timerem i dodaniem zmiennej stamina która będzie się odejmować co sekundę podczas trzymania klawisza, to kwestia if'ów dużo powinieneś zrozumieć czytając różne poradniki na forum, nawet te co cię nie interesują a także czip17 od podstaw :)
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Teraz funkcja wykonuje nieskończoną pętlę.
 

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

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
No w sumie racja hehe, mało się bawiłem z key_hold bardziej używam key_pressed

No a jakby zrobił w sumie tylko if(MEM_KeyState(KEY_M)==KEY_HOLD)
{
Mdl_ApplyOverlayMDS(hero,"Humans_Sprint");
}else{
Mdl_RemoveOverlayMDS(hero,"Humans_Sprint");
};

to na logikę powinno działać aż miód.
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Kempix

Kempix

Użytkownicy
posty171
Propsy12
ProfesjaSkrypter
  • Użytkownicy
Odnośnie paska musze mieć swoją grafikę jego aby działało za pomocą tego poradnika? http://themodders.org/index.php?topic=26571.0
 

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Cytuj
if(MEM_KeyState(KEY_M)==KEY_HOLD)
{
      Mdl_ApplyOverlayMDS(hero,"Humans_Sprint");
   }else{
Mdl_RemoveOverlayMDS(hero,"Humans_Sprint");
};
Teraz to w nieskończoność aplikuje mu nowy MDS lub usuwa stary ._. Tak jak zapisałem jest najkrócej i najlepiej.
Cytuj
Odnośnie paska musze mieć swoją grafikę jego aby działało za pomocą tego poradnika? http://themodders.org/index.php?topic=26571.0
Nie.
 

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

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Domyślnie Bogdan ustawił na texture paska pływania w poradniku.

EDIT: Siemek, ok hehe mniejsza:)
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Kempix

Kempix

Użytkownicy
posty171
Propsy12
ProfesjaSkrypter
  • Użytkownicy
Hmm po zrobieniu rzeczy z tego poradnika efekt jest taki przy włączeniu nowej gry:https://zapodaj.net/cb5021cd77696.png.html
 

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Którego poradnika i pokaż co zrobiłeś :)

 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Kempix

Kempix

Użytkownicy
posty171
Propsy12
ProfesjaSkrypter
  • Użytkownicy
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Jakbyś poprawnie zrobił to by błędów nie było. Na pewno wywołujesz coś miliard razy co klatkę i przez to Exeption Handler.
 
: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.


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