Dodanie premii do pancerza w miksturze/dialogu. 3045 10

O temacie

Autor lucki666

Zaczęty 3.10.2019 roku

Wyświetleń 3045

Odpowiedzi 10

lucki666

lucki666

Użytkownicy
posty130
Propsy64
ProfesjaSkrypter
  • Użytkownicy
Jaka jest funkcja, aby uzyskać premię do jakiejkolwiek odporności? Czy to pijąc np. miksturę czy dostając w dialogu za wykonane zadanie.

Próbowałem:
      B_RaiseAttribute (self, PROT_BLUNT, 1);
      B_RaiseProtection (self, PROT_BLUNT, 1);
      Npc_ChangeAttribute   (self,   PROT_BLUNT, 1);
      Npc_ChangeProtection   (self,   PROT_BLUNT, 1);

oraz zastępowałem SELF > OTHERem w dialogach, ale to nie działa.

EDIT. Zły dział. Proszę o przeniesienie.
 

Fabio

Fabio

The Modders
posty3466
Propsy2150
ProfesjaSkrypter
  • The Modders
Na przykładzie Gulaszu Thekli z G2:

Spoiler
INSTANCE ItFo_XPStew (C_Item)
{
name = "Gulasz Thekli";

mainflag = ITEM_KAT_FOOD;
flags = ITEM_MULTI;

value = Value_Stew;

visual = "ItFo_Stew.3ds";
material = MAT_WOOD;
scemeName = "RICE";
on_state[0] = Use_XPStew;

description = name;
TEXT[1] = NAME_Bonus_HP; COUNT[1] = HP_Stew;
TEXT[2] NAME_Bonus_Str; COUNT[2] = 1;
TEXT[5] = NAME_Value; COUNT[5] = Value_Stew;

};

FUNC VOID Use_XPStew()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Stew);
Snd_Play ("LevelUp");
B_RaiseAttribute (self, ATR_STRENGTH, 1);
};

Użycie funkcji:
on_state[0] = Use_XPStew;
Funkcja:
FUNC VOID Use_XPStew()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Stew);
Snd_Play ("LevelUp");
B_RaiseAttribute (self, ATR_STRENGTH, 1);
};

Funkcja odpowiada za dodanie graczowi PC_HERO (self) określonej liczby punktów trafień, w przypadku HP_Stew jest to 20 punktów trafień, dodaje także jeden punkt siły (uruchomienie dźwięku pominąłem).

B_RaiseProtection było bodajże do dodania punktu ochrony, a te dwa ostatnie to prawdopodobnie (nie mam pewności, nie wiem/nie pamiętam) zmiana wartości na taką, którą wpiszesz.

Pokaż też kod jak to dodałeś, najpewniej zrobiłeś gdzieś drobny błąd.

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Może zacznijmy najpierw od tego, że nie istnieją takie funkcje jak B_RaiseProtection czy Npc_ChangeProtection. Wystarczy przejrzeć strukturę funkcji B_RaiseAttribute oraz klasę c_npc, pomyśleć chwilę i zrobić to analogicznie.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

lucki666

lucki666

Użytkownicy
posty130
Propsy64
ProfesjaSkrypter
  • Użytkownicy
@Fabio
Twoja funkcja odpowiada za dodanie atrybutów jak siła/zręczność/życie/mana. Ja ją doskonale znam. Potrzebuję funkcji, która doda odporności na broń/strzały/ogień/magię.
 

Fabio

Fabio

The Modders
posty3466
Propsy2150
ProfesjaSkrypter
  • The Modders
@Fabio
Twoja funkcja odpowiada za dodanie atrybutów jak siła/zręczność/życie/mana. Ja ją doskonale znam. Potrzebuję funkcji, która doda odporności na broń/strzały/ogień/magię.

To zobacz jak to jest zrobione tam, gdzie dodawana jest odporność na broń, strzały, ogień lub magię. Sprawdzaj w oryginalnych skryptach.

lucki666

lucki666

Użytkownicy
posty130
Propsy64
ProfesjaSkrypter
  • Użytkownicy
@Fabio
Przeważnie sprawdzam w skryptach jak coś jest zrobione i na tym się wzoruję. Rzecz w tym, że nie kojarzę sytuacji, aby bohater dostawał gdziekolwiek premię do odporności, abym mógł z tego skorzystać.
 

Fabio

Fabio

The Modders
posty3466
Propsy2150
ProfesjaSkrypter
  • The Modders
@Fabio
Przeważnie sprawdzam w skryptach jak coś jest zrobione i na tym się wzoruję. Rzecz w tym, że nie kojarzę sytuacji, aby bohater dostawał gdziekolwiek premię do odporności, abym mógł z tego skorzystać.

Były amulety, które zwiększały odporność dotyczące ognia, magii, pocisków (strzał). Nie wiem jednak czy chodzi ci o stałe zwiększenie (jak np. potki siły, zręczności) czy tymczasowe (po założeniu amuletu lub pierścienia). W obu przypadkach da się to zrobić.

lucki666

lucki666

Użytkownicy
posty130
Propsy64
ProfesjaSkrypter
  • Użytkownicy
@Fabio
Chodzi mi o stałe zwiększenie. Tak jak w przypadku eliksiru siły na przykład. Znasz funkcje aby to wykonać?
 

Fabio

Fabio

The Modders
posty3466
Propsy2150
ProfesjaSkrypter
  • The Modders
A tak samo z np. PROT_FIRE?

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
@Fabio
Chodzi mi o stałe zwiększenie. Tak jak w przypadku eliksiru siły na przykład. Znasz funkcje aby to wykonać?
No to wystarczy spojrzeć na skrypty pierścieni, amuletów czy pasów.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

lucki666

lucki666

Użytkownicy
posty130
Propsy64
ProfesjaSkrypter
  • Użytkownicy
Było to zbyt banalne, abym uznał to za właściwą funkcję. Wielkie dzięki.
 


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