artrybut HP (gothic 1) 6158 11

O temacie

Autor koksikmajor

Zaczęty 12.02.2012 roku

Wyświetleń 6158

Odpowiedzi 11

koksikmajor

koksikmajor

Użytkownicy
posty692
Propsy89
  • Użytkownicy

koksikmajor

artrybut HP (gothic 1)
2012-02-12, 18:07(Ostatnia zmiana: 2012-02-12, 18:08)
Chcę żeby Energia życiowa była do nauczenia się, więc B_BuyAttributePoints napisałem taki skrypt:
na początku dałem takie coś


Cytuj
else if (ATR == ATR_HITPOINTS_MAX)   {   Typ_Atr = typ.attribute[ATR_HITPOINTS_MAX];   };
chyba nie muszę mówić gdzie to było wsadzone i dalej napisałem to



Cytuj
else if (ATR == ATR_HITPOINTS_MAX)
         {
            typ.attribute[ATR_HITPOINTS_MAX] = typ.attribute[ATR_HITPOINTS_MAX] + AtrPlus;
            PrintString = ConcatStrings(NAME_BuyAttributeHIT, AtrPlusSTRING);
            PrintScreen   (PrintString, -1,-1,"FONT_OLD_20_WHITE.TGA",1);
         };

i tu jest problem, kiedy w spacku parse i mam błąd:

unknow definder czy jakoś tam, nie może mi zweryfikować tej linijki


Cytuj
PrintString = ConcatStrings(NAME_BuyAttributeHIT, AtrPlusSTRING);

w czym jest problem?
 

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy925
ProfesjaLvl designer
  • Wyspa Khorinis
A masz zdefiniowaną tą zmienną: NAME_BuyAttributeHIT
 

koksikmajor

koksikmajor

Użytkownicy
posty692
Propsy89
  • Użytkownicy
dzięki za pomoc masz propsa ode mnie :D
 

koksikmajor

koksikmajor

Użytkownicy
posty692
Propsy89
  • Użytkownicy

koksikmajor

artrybut HP (gothic 1)
#3 2012-02-13, 12:13(Ostatnia zmiana: 2012-02-13, 12:18)
nowy problem mam teraz podsunę dialog gdzie Jarvis(dla testowania to zrobiłem u niego) może nas nauczyć HP o to skrypt



Cytuj
//========================================
//-----------------> HELLO7
//========================================
INSTANCE DIA_Jarvis_HELLO7(C_INFO)
{
   npc         = PC_Thief;
   nr         = 100;
   condition   = DIA_Jarvis_HELLO7_Condition;
   information   = DIA_Jarvis_HELLO7_Info;
   permanent   = 1;
   description = "Pokaż mi jak zwiększyć moc witalną.";
};                      

FUNC INT DIA_Jarvis_HELLO7_Condition()
{
   if (Npc_KnowsInfo (other, DIA_Jarvis_HELLO1))
   {
      return TRUE;
   };
};

FUNC VOID DIA_Jarvis_HELLO7_Info()
{   

   AI_Output(other,self,"Info_Jarvis_HELLO7_15_00"); //Pokaż mi jak zwiększyć moc witalną.
   
   
   Info_ClearChoices   (DIA_Jarvis_HELLO7);
   Info_AddChoice      (DIA_Jarvis_HELLO7,DIALOG_BACK                     ,DIA_Jarvis_HELLO7_BACK);
   Info_AddChoice      (DIA_Jarvis_HELLO7,B_BuildLearnstring(NAME_LearnHitpoints_20,20*LPCOST_ATTRIBUTE_HITPOINTS,0)         ,DIA_Jarvis_HELLO7_HIT_20);
   Info_AddChoice      (DIA_Jarvis_HELLO7,B_BuildLearnstring(NAME_LearnHitpoints_4,4*LPCOST_ATTRIBUTE_HITPOINTS,0)         ,DIA_Jarvis_HELLO7_HIT_4);
   
};
func void DIA_Jarvis_HELLO7_BACK()
{
   Info_ClearChoices   (DIA_Jarvis_HELLO7);
};
   
func void DIA_Jarvis_HELLO7_HIT_4()
{
   B_BuyAttributePoints (other, ATR_HITPOINTS, 4*LPCOST_ATTRIBUTE_HITPOINTS);
   Info_ClearChoices   (DIA_Jarvis_HELLO7);
   Info_AddChoice      (DIA_Jarvis_HELLO7,DIALOG_BACK                           ,DIA_Jarvis_HELLO7_BACK);
   Info_AddChoice      (DIA_Jarvis_HELLO7,B_BuildLearnstring(NAME_LearnHitpoints_20,20*LPCOST_ATTRIBUTE_HITPOINTS,0)         ,DIA_Jarvis_HELLO7_HIT_20);
   Info_AddChoice      (DIA_Jarvis_HELLO7,B_BuildLearnstring(NAME_LearnHitpoints_4,4*LPCOST_ATTRIBUTE_HITPOINTS,0)         ,DIA_Jarvis_HELLO7_HIT_4);
   
};

func void DIA_Jarvis_HELLO7_HIT_20()
{
   B_BuyAttributePoints (other, ATR_HITPOINTS, 20*LPCOST_ATTRIBUTE_HITPOINTS);
   Info_ClearChoices   (DIA_Jarvis_HELLO7);
   Info_AddChoice      (DIA_Jarvis_HELLO7,DIALOG_BACK                           ,DIA_Jarvis_HELLO7_BACK);
   Info_AddChoice      (DIA_Jarvis_HELLO7,B_BuildLearnstring(NAME_LearnHitpoints_20,20*LPCOST_ATTRIBUTE_HITPOINTS,0)         ,DIA_Jarvis_HELLO7_HIT_20);
   Info_AddChoice      (DIA_Jarvis_HELLO7,B_BuildLearnstring(NAME_LearnHitpoints_4,4*LPCOST_ATTRIBUTE_HITPOINTS,0)         ,DIA_Jarvis_HELLO7_HIT_4);

};


kiedy brałem parse script nie wykryto żadnych błędów ale chodzi o to, że po spełnieniu warunku wogule nie ma tej opcji dialogowej, tak jak by nie istniał
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Wiesz że PC_THIEF to Diego nie?
 
Ż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

koksikmajor

koksikmajor

Użytkownicy
posty692
Propsy89
  • Użytkownicy
czasami jestem rozkojarzony i prostych błędów nie umiem rozpatrzyć, ale dzięki
 

koksikmajor

koksikmajor

Użytkownicy
posty692
Propsy89
  • Użytkownicy
sory że znowu piszę, ale nowy problem znowu mam kiedy biorę np energia + 20 to punkty zabiera normalnie tylko mi HP nie chcę przydzielić co jest jego przyczyną
 

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
hero.lp = hero.lp-5;
hero.attribute[AATR_HITPOINTS_MAX] = hero.attribute[AATR_HITPOINTS_MAX] +5;
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS]+ 5;
Tak ja bym zrobiił skrypt nauki HP. Wywołując to w dialogu dostaniesz porządany efekt.
 
Ż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

diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
///////////////////////////////////////////////////////////////////////
// Info TEACH_HEALTH
///////////////////////////////////////////////////////////////////////
instance DIA_TEACH_TEACH_HITPOINTS2 (C_INFO)
{
npc = Twoj_GOSC;
nr =  14;
condition = DIA_TEACH_TEACH_HITPOINTS2_Condition;
information = DIA_TEACH_TEACH_HITPOINTS2_Info;
permanent = TRUE;
description = "Siły witalne (PŻ+5 = 1000 szt.)";
};
func int DIA_TEACH_TEACH_HITPOINTS2_Condition ()
{
return TRUE;
};
func void DIA_TEACH_TEACH_HITPOINTS2_Info ()
{
if (npc_hasitems (other, Itmi_gold) >= 1000)
{
B_giveinvitems (other, self, Itmi_gold, 1000);
B_RaiseAttribute (self, ATR_HITPOINTS_MAX, 5);
Npc_ChangeAttribute (self, ATR_HITPOINTS, 5);
other.attribute[ATR_HITPOINTS_MAX] = other.attribute[ATR_HITPOINTS_MAX]    + 5;
other.attribute[ATR_HITPOINTS] = other.attribute[ATR_HITPOINTS] + 5;

}
else
{
AI_Output (self, other, "DIA_TEACH_TEACH_HITPOINTS2_15_01"); //Wróć, jak będziesz miał złoto.
};
};

To są akurat PŻ za kase. Pokombinuj i zrób za LP.
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

artrybut HP (gothic 1)
#9 2012-02-13, 20:48(Ostatnia zmiana: 2012-02-13, 20:48)
hero.lp = hero.lp-5;
hero.attribute[AATR_HITPOINTS_MAX] = hero.attribute[AATR_HITPOINTS_MAX] +5;
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS]+ 5;
Tak ja bym zrobiił skrypt nauki HP. Wywołując to w dialogu dostaniesz porządany efekt.
Sawik trzeba sprawdzić jeszcze czy ma te punkty :P bo jesli tak bo będzie można mieć punkty na minusie ;d  Ale poza tym to napisałeś okej ;)

if (hero.lp>=5){
hero.lp = hero.lp-5;//zabranie 5 punktów nauki
hero.attribute[AATR_HITPOINTS_MAX] = hero.attribute[AATR_HITPOINTS_MAX] +5;//dodanie do max HP 5 punktów
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS]+ 5;//#msg1019756uzdrowienie#msg1019756 aby mieć 100 % HP
};

Sawik

Sawik

Moderator działu
Rebel
posty4772
Propsy3197
ProfesjaNierób
  • Moderator działu
  • Rebel
Ja pisałem samą zmianę warunkiem mógł się zająć sam. Problem miał z dodawaniem hp i odejmowaniem lp.
 
Ż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

koksikmajor

koksikmajor

Użytkownicy
posty692
Propsy89
  • Użytkownicy
dzięki teraz działa wszystko jak trzeba, rozdaje propsy :D

P.S temat do zamknięcia
 


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