Odnawianie pż a'la gothic 3 4015 12

O temacie

Autor Nekovskyy

Zaczęty 25.11.2013 roku

Wyświetleń 4015

Odpowiedzi 12

Nekovskyy

Nekovskyy

Użytkownicy
posty23
Propsy4
ProfesjaNierób
  • Użytkownicy
Hmm jest jakiś sposób aby zrobić uzupełnianie pż w procentowy sposób jak było to zrobione w Gothicu 3?
 
No pain, no gain.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
no pewnie :D W BSM takie coś masz :) http://budzis.republika.pl/mody/Budzis_Skrypt_Mod.html

a dokładnie masz to w pliku .\BSM\JEDZENIE\FUNC.d

Func Void HP_PROC (var int procenty){

if (Npc_IsPlayer(self)){

var int HP_PROC; HP_PROC = ((hero.attribute[ATR_HITPOINTS_MAX]*procenty)/100);

if (HP_PROC > 1){

hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_PROC;

}else{

hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 1;

};

if (hero.attribute[ATR_HITPOINTS] > hero.attribute[ATR_HITPOINTS_MAX]){
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS_MAX];
};

}else{

Npc_ChangeAttribute (self, ATR_HITPOINTS, procenty);

};

};

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Jest to do G1. Będzie pasować do G2NK , próbował ktoś?

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Wystarczy ci ta funkcja którą podałem i będzie ona pasowała w 100 % Jedyna trudność jest taka ze musisz wiedzieć jak ją użyć a z tym będzie gorzej skoro zadajesz takie pytanie do tak banalnego skryptu.

Nekovskyy

Nekovskyy

Użytkownicy
posty23
Propsy4
ProfesjaNierób
  • Użytkownicy
Hmm wiesz co ja w skryptach mogę napisać dialog czy jakiegoś bohatera ale co do złożonych skryptów nie mam głowy, ogólnie mówiąc jestem zielony.Mogłbyś w jakiś sposób wytłumaczyć działanie tego skryptu oraz sposób wywołania?
 
No pain, no gain.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
No proszę cie procentów w szkole nie miałeś ??

MAXHP - 100 %
X - ILE PROCENT DODAĆ%

przyjmiemy ze postać na 160 HP_MAX i chcesz dodać 5% HP

160 - 100%
X - 5%

Jak to policzysz ???

(160*5) /100

więc wracając do schematu bez wartości to będzie to wyglądało tak

(MAXHP   *  ILE PROCENT DODAĆ)   /  100

funkcje musisz podmienić dla każdego item`u Jak jest norlmalnie

FUNC VOID Use_NazwaItemu()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, 20);
};
zmieniasz na
FUNC VOID Use_NazwaItemu()
{
HP_PROC (20);
};

Nekovskyy

Nekovskyy

Użytkownicy
posty23
Propsy4
ProfesjaNierób
  • Użytkownicy
Hehe procenty miałem i nie szły mi najgorzej, tylko mi bardziej chodzi o skrypty np. gdzie wkleić ten:


Cytuj
Func Void HP_PROC (var int procenty){

   if (Npc_IsPlayer(self)){

      var int HP_PROC; HP_PROC = ((hero.attribute[ATR_HITPOINTS_MAX]*procenty)/100);

      if (HP_PROC > 1){

         hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_PROC;

      }else{

         hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 1;

      };

      if (hero.attribute[ATR_HITPOINTS] > hero.attribute[ATR_HITPOINTS_MAX]){
         hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS_MAX];
      };

   }else{

         Npc_ChangeAttribute   (self,   ATR_HITPOINTS,   procenty);

   };

};
 
No pain, no gain.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Gdziekolwiek w pliku .d który w Gothic.SCR będzie PRZED Items ;)

Nekovskyy

Nekovskyy

Użytkownicy
posty23
Propsy4
ProfesjaNierób
  • Użytkownicy
Wszystko spoko tylko potiony dodają jakieś dziwne randomowe ilości hp, to nie jest czasem tak że to dodaje ileś procent hp którego posiadamy obecnie a nie MAX?
 
No pain, no gain.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Spróbuj tak :

i pokaż jak wywołujesz ta funkcje.

Func Void HP_PROC (var int procenty){

      var int HP_PROC; HP_PROC = ((hero.attribute[ATR_HITPOINTS_MAX]*procenty)/100);

      if (HP_PROC > 1){
         hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_PROC;
      }else{
         hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 1;
      };

      if (hero.attribute[ATR_HITPOINTS] > hero.attribute[ATR_HITPOINTS_MAX]){
         hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS_MAX];
      };

};

Nekovskyy

Nekovskyy

Użytkownicy
posty23
Propsy4
ProfesjaNierób
  • Użytkownicy
Cytuj
i pokaż jak wywołujesz ta funkcje.


Nie widze potrzeby, bo z tym skryptem wszystko działa :D Jesteś wielki, gratuluje cierpliwośći.A jeszcze ostatnie pytanko jak chce zrobić mane to kopiuje tą funkcje tylko HP zmieniam na MP tak?
 
No pain, no gain.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
taaa i ATR_HITPOINTS na ATR_MANA

Nekovskyy

Nekovskyy

Użytkownicy
posty23
Propsy4
ProfesjaNierób
  • Użytkownicy
Dobra dzięki, temat do zamknięcia.
 
No pain, no gain.


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