Zatrucię jako ZS 6305 20

O temacie

Autor Sauron

Zaczęty 2.04.2012 roku

Wyświetleń 6305

Odpowiedzi 20

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy
Zrobiłem skrypt zatrucia jako ZS na wzór ZS_MagicFreeze i skrypt wywołujący tak jak przy mieczu runicznym
ale nikt się nie zatruwa.
Oto skrypt ZS_Poisoned:
// *****************************
// B_StopPoisoned
// *****************************

func void B_StopPoisoned()
{
Npc_ClearAIQueue(self);
AI_StandUp (self);

if (self.guild < GIL_SEPERATOR_HUM)
{
B_AssessDamage();
}
else
{
Npc_SetTempAttitude (self, ATT_HOSTILE);
};


};

// **************************
// ZS_Poisoned
// **************************

func int ZS_Poisioned()
{

self.aivar[AIV_FreezeStateTime] = 0;

 };

func int ZS_Poisoned ()
{
// EXIT LOOP IF...

if (Npc_GetStateTime(self) > 60)
{
B_StopPoisoned();
return LOOP_END;
};

// LOOP FUNC
if (Npc_GetStateTime(self) != self.aivar[AIV_FreezeStateTime])
{
self.aivar[AIV_FreezeStateTime] = Npc_GetStateTime(self);

// ------ Damage abziehen, aber NICHT sterben (immer mindeststens 1 LE behalten) ------
if (self.attribute[ATR_HITPOINTS] > (self.attribute[ATR_HITPOINTS] - 3))
{

B_MagicHurtNpc (other, self, SPL_FREEZE_DAMAGE);
};
};

return LOOP_CONTINUE;
};


func void ZS_Poisioned_End()
{

};
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Zatrucię jako ZS
#1 2012-04-02, 14:42(Ostatnia zmiana: 2012-04-02, 14:43)
po 1 nie prasowałes skryptów by by wywaliło refinded identifier.
po 2 robienie zatrucia na ZS (czyność wykonywana) to głupota dlaczego ??

Bo zatruwasz kogoś a on wykonuje tylko zatrucie więc stoi w miejscu i nie atakuje bo jest zajety czynnością ZS_Poisioned.

Dobrym pomysłem mogło by być zrobienie to jako dodatek czynności ataku ale sam nie wiem.

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy

Sauron

Zatrucię jako ZS
#2 2012-04-02, 14:53(Ostatnia zmiana: 2012-04-02, 14:59)
po 1 nie prasowałes skryptów by by wywaliło refinded identifier.
eee... może podałem zły skrypt ma być tak:


// *****************************
// B_StopPoisoned
// *****************************

func void B_StopPoisoned()
{
Npc_ClearAIQueue(self);
AI_StandUp (self);

if (self.guild < GIL_SEPERATOR_HUM)
{
B_AssessDamage();
}
else
{
Npc_SetTempAttitude (self, ATT_HOSTILE);
};


};

// **************************
// ZS_Poisoned
// **************************

func int ZS_Poisioned()
{

self.aivar[AIV_FreezeStateTime] = 0;

 };

func int ZS_Poisoned ()
{
// EXIT LOOP IF...

if (Npc_GetStateTime(self) > 60)
{
B_StopPoisoned();
return LOOP_END;
};

// LOOP FUNC
if (Npc_GetStateTime(self) != self.aivar[AIV_FreezeStateTime])
{
self.aivar[AIV_FreezeStateTime] = Npc_GetStateTime(self);

// ------ Damage abziehen, aber NICHT sterben (immer mindeststens 1 LE behalten) ------
if (self.attribute[ATR_HITPOINTS] > (self.attribute[ATR_HITPOINTS] - 3))
{

B_MagicHurtNpc (other, self, SPL_FREEZE_DAMAGE);
};
};

return LOOP_CONTINUE;
};


func void ZS_Poisioned_End()
{

};

Może to jest to samo, ale sprawdzałem niedawno i błędu nie było
Chodzi ci o to: Poisioned i Poisoned jak się dobrze przyjrzysz to zobaczysz różnicę Poisionet
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Może to jest to samo, ale sprawdzałem niedawno i błędu nie było
Chodzi ci o to: Poisioned i Poisoned jak się dobrze przyjrzysz to zobaczysz różnicę Poisionet

A no tak sorry mój błąd ale to nie zmienia faktu ze źle to zrobiłeś ;) Przeczytaj jeszcze raz
http://themodders.org/index.php?/topic/16469-nowa-rutyna/page__p__1023920#entry1023920
I zastanów się gdzie ma być _Loop ;)

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy

Sauron

Zatrucię jako ZS
#4 2012-04-02, 15:15(Ostatnia zmiana: 2012-04-02, 15:20)
Tak?:
// *****************************
// B_StopPoisoned
// *****************************

func void B_StopPoisoned()
{      
        Npc_ClearAIQueue(self);
        AI_StandUp              (self);

        if (self.guild < GIL_SEPERATOR_HUM)
        {
                B_AssessDamage();
        }
        else
        {
                Npc_SetTempAttitude (self, ATT_HOSTILE);
        };
       
       
};

// **************************
// ZS_Poisoned
// **************************

func int ZS_Poisioned()
{
       
        self.aivar[AIV_FreezeStateTime] = 0;

 };

func int ZS_Poisoned_Loop ()
{      
        // EXIT LOOP IF...
       
        if (Npc_GetStateTime(self) > 60)
        {
                B_StopPoisoned();
                return LOOP_END;
        };
       
        // LOOP FUNC
        if (Npc_GetStateTime(self) != self.aivar[AIV_FreezeStateTime])
        {
                self.aivar[AIV_FreezeStateTime] = Npc_GetStateTime(self);
       
                // ------ Damage abziehen, aber NICHT sterben (immer mindeststens 1 LE behalten) ------
                if (self.attribute[ATR_HITPOINTS] > (self.attribute[ATR_HITPOINTS] - 3))
                {

                        B_MagicHurtNpc          (other, self, SPL_FREEZE_DAMAGE);
                };
        };
       
        return                          LOOP_CONTINUE;
};


func void ZS_Poisioned_End()
{

};
A właśnię Ty zrobiłeś do Gothica 1 zatrucię jak? Tak jak regeneracja tylko że odejmuję życia czyli TICK_TOCK?
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel

Sawik
Moderator działu

Zatrucię jako ZS
#5 2012-04-02, 15:57(Ostatnia zmiana: 2012-04-02, 15:58)
Tak, Rafał zrobił to tick_tockiem, ale to ma wadę działa tylko dla PC_HERO.

Edit: Lub każdej innej osoby której dodamy to ręcznie, wpisując ich instance itp itd.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Zatrucię jako ZS
#6 2012-04-02, 16:22(Ostatnia zmiana: 2012-04-02, 16:33)
Tak, Rafał zrobił to tick_tockiem, ale to ma wadę działa tylko dla PC_HERO.
Ale pierdolisz ;d  Uderzenie mieczem też może powodować zatrucie.
http://themodders.org/index.php?topic=15891.msg1015358#msg1015358

EDIT : Niech ci będzie ale nie ogarniam najpierw piszesz ze tylko na PC_hero a potem ze na wszystkich xD

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Mówiłem że albo do każdej osoby której instance przypiszemy :P W trakcie uderzenia przypisujesz instance.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy
To jak to zrobić?
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Zatrucię jako ZS
#9 2012-04-02, 16:56(Ostatnia zmiana: 2012-04-02, 16:56)
No zrobił bym to inaczej ale ok musisz mieć wszędzie taki sam pierwszy człon nazwy więc dopisz te "i" którego nie było.

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy
DZIAŁAAAAA!!!
A teraz jak zrobić żeby krwiopijca zatruwała????
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Dodaj jeden warunek ze jeżeli atakujący ma gildie krwiopijcy

if (self.guild == nie pamiętam jak była gildia krwiopijcy xD){
...

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy

Sauron

Zatrucię jako ZS
#12 2012-04-03, 12:58(Ostatnia zmiana: 2012-04-03, 13:23)
Do B_MM_AssessDamage?
Dam wszędzie  :lol2:  heh lepiej wieńcej niż mniej ni niż nie działa
A i odtrudka by się przydała
I jak w kogoś walnę to stoi w miejscu
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
I jak w kogoś walnę to stoi w miejscu

2 post w tym temacie

przeczytaj całe po 2 ...

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy

Sauron

Zatrucię jako ZS
#14 2012-04-03, 18:22(Ostatnia zmiana: 2012-04-03, 19:11)
A nie lepiej 2 czynności?
zatrucie i atakowanie a nie zatrucie w atakowaniu (chyba że właśnie o to ci chodzi)
EDIT: Zrobiłem atakowanie w zatruciu i przeciwnik się zamrarza na 2 sekundy przez ten czas bierze mu życia potem się "odmraża" i trucizna przestaje dzałać
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Pokaż co dopisałeś i gdzie najlepiej daj cały ZS_Attack

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy
Do ZS_Poisoned:
// *****************************
// B_StopPoisoned
// *****************************

func void B_StopPoisoned()
{
Npc_ClearAIQueue(self);
AI_StandUp (self);

if (self.guild < GIL_SEPERATOR_HUM)
{
B_AssessDamage();
}
else
{
Npc_SetTempAttitude (self, ATT_HOSTILE);
};


};

// **************************
// ZS_Poisoned
// **************************

func int ZS_Poisoned()
{

self.aivar[AIV_FreezeStateTime] = 0;

 };

func int ZS_Poisoned_Loop ()
{
// EXIT LOOP IF...

if (Npc_GetStateTime(self) > 500)
{
B_StopPoisoned();
return LOOP_END;
};

// LOOP FUNC
if (Npc_GetStateTime(self) != self.aivar[AIV_FreezeStateTime])
{
self.aivar[AIV_FreezeStateTime] = Npc_GetStateTime(self);

// ------ Damage abziehen, aber NICHT sterben (immer mindeststens 1 LE behalten) ------
if (self.attribute[ATR_HITPOINTS] > (self.attribute[ATR_HITPOINTS] - 5))
{

B_MagicHurtNpc(other, self, SPL_FREEZE_DAMAGE);
AI_StartState (self , ZS_Attack, 0, ""); //TUTAJ
};
};

return LOOP_CONTINUE;
};


func void ZS_Poisoned_End()
{

};
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Zatrucię jako ZS
#17 2012-04-03, 20:14(Ostatnia zmiana: 2012-04-03, 20:15)
Cytuj
Pokaż co dopisałeś i gdzie najlepiej daj cały ZS_Attack

Nic ci nie świta ? Jeśli nie to powiem ze Startowanie rutyny ci nic nie da bo i tak NPC wykonuje JEDNĄ czynność więc musisz to dopisać do ZS_attack ale nie wywoływać ZS`a ale poprostu wpierdolić.

       if (Npc_GetStateTime(self) != self.aivar[AIV_FreezeStateTime])
        {
                self.aivar[AIV_FreezeStateTime] = Npc_GetStateTime(self);
       
                // ------ Damage abziehen, aber NICHT sterben (immer mindeststens 1 LE behalten) ------
                if (self.attribute[ATR_HITPOINTS] > (self.attribute[ATR_HITPOINTS] - 5))
                {
                        B_MagicHurtNpc(other, self, SPL_FREEZE_DAMAGE);//właściwie to nie wiem po co obrażenia magiczne zobacz jak dodaje się życie w posiłkach i zrób ty tak samo tyle ze wpisz ujemną liczbę ;)
                };
        };

Zerknij na komentarz z skrypcie.

Sauron

Sauron

Użytkownicy
posty267
Propsy5
Profesjabrak
  • Użytkownicy

Sauron

Zatrucię jako ZS
#18 2012-04-10, 18:36(Ostatnia zmiana: 2012-04-10, 18:41)
Dobra już lepiej zrobić to jak TICK_TOCK (bo potem oddtrudkę czyba będzię zrobić, zesztą mniej kłopotów będzię i regeneracji się nauczę robić  :lol2:  ) tylko co tam wpisać i gdzie dać skrypt?
EDIT: Czytałem ten temat:link  a jak zrobić żeby broń zatruwała udeżającego?
 
Ash nazg durbatulûk, ash nazg gimbatul,
ash nazg thrakatulûk agh burzum-ishi krimpatul.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Zatrucię jako ZS
#19 2012-04-10, 20:29(Ostatnia zmiana: 2012-04-10, 20:33)
no to co tam jest to właśnie jest napisane jak zatruwać przeciwników.

przy zatruciu wpisujemy czas zatrucia
C_NPC.aivar[49] = 50;
odtrutka polega na wyzerowaniu licznika więc w odtrutce wpisujesz tylko
self.aivar[49] = 0;
P.S. zedytowałem tam ten post i napisałem skrypty w całości bez kropek


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