[G1]Pytanie/a związane z premią do walki. 11771 52

O temacie

Autor Graveir

Zaczęty 11.12.2013 roku

Wyświetleń 11771

Odpowiedzi 52

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Spoiler
   FUNC VOID Equip_HKnife()
    {
          if (Npc_GetTalentValue(self, NPC_TALENT_1H) >= 5)
          {
                    Npc_SetTalentSkill(self, NPC_TALENT_1H,2);
          };
    };

Ludzie, kurwa, okulary se kupcie... ten skrypt musi działać, bo jest poprawnie napisany i nie ma szans, żeby cokolwiek było w nim źle... Nie modduję Gothic 1, ale dając mi odpowiednie formułki i funkcję, zrobię niektóre rzeczy bez problemu. Jeśli ten skrypt nie działa, to znaczy, że NIE reparsujesz skryptów!

Weź, skopiuj to i wklej do swojego skryptu. Używaj BRONI JEDNORĘCZNEJ Z TĄ FUNKCJĄ POWYŻEJ 5% SZANS NA TRAFIENIE KRYTYCZNE!!! Jeśli dalej "nie działa", odpuść sobie modowanie, albo praktykuj robienie skryptów typu
if (hero.level >= 1) { Print ("I am such a genius!"); };
 
: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.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Dobra, chyba się nie zrozumieliśmy. Chodzi mi o to, że:
1)Jeśli nauczymy się walki bronią 1-ręczną np. u scatty'ego za 5 punktów nauki to zwiększa nam się trafienie krytyczne o 5%(np. w menu statystyk mamy 0 procent na start, a po nauce u Scatty'ego 5 procent).
2)Według zamierzeń twórców nóż strażnika po założeniu miał dawać +5% trafienia krytycznego do aktualnej puli(czyli np. na początku mając 0% w walce bronią 1-ręczną po założeniu noża powinniśmy mieć 5%, mając 10% powinniśmy mieć 15% itd)
3)Ale jak widać - ani to, co podałeś ani to, co jest w oryginalnym skrypcie nie działa.
4)Aż takim debilem nie jestem, żeby nie wiedzieć, że po wprowadzeniu nawet najmniejszej zmiany(typu kropka w dialogu)trzeba reparsować skrypty(korzystam z GothicStarter_mod z opcją Reparse Scripts).
Mam nadzieję, że teraz się rozumiemy. Albo to ja po prostu ciebie nie rozumiem.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Sprawdzalem wszystko u siebie: Na poczatku mialem 0% na krytyka, potem wyuczylem sie u scatty'ego bron jednoreczna poziom 1 (adept) i mialem 5%, nastepnie zalozylem bron, ktora dodaje 5% wiec mialem 10% ... napewno cos pierdolisz! U mnie wszystko dziala oraz bron trzyma w 1 rece. Uzylem tego samego skryptu co w mt(tylko w zamiarze testowania):
FUNC VOID Equip_HKnife()
{
Npc_SetTalentValue(hero, NPC_TALENT_1H, Npc_GetTalentValue(hero, NPC_TALENT_1H)+5);
//Npc_SetTalentValue(self, NPC_TALENT_SNEAK, Npc_GetTalentValue(self, NPC_TALENT_SNEAK)+5);
};

FUNC VOID UnEquip_HKnife()
{
Npc_SetTalentValue(hero, NPC_TALENT_1H, Npc_GetTalentValue(hero, NPC_TALENT_1H)-5);
//Npc_SetTalentValue(self, NPC_TALENT_SNEAK, Npc_GetTalentValue(self, NPC_TALENT_SNEAK)-5);
};
Ewentualnie zrob tak:
Zaloz bron zebys mial 5% na kryta, potem wyucz sie u scatty'ego poslugiwanie sie bronia 1-reczna na poziom 1 i zobacz czy masz 10%. Jesli tak to zdejmij bron i zobaczy czy masz 5%, a potem znow zaloz i znow zobacz czy masz 10%.

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Wrzucam filmik, na którym pokazuję jedną z dwóch rzeczy:
1)Że nie działa u mnie.
lub
2)Że coś źle robię i dlatego nie działa.
Poziom adepta wymaga wydania 25 PN.
Link do filmiku(41 sekund)
Link
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Scatty jest przerobiony prawda? Moglbys mi wyslac jego skrypty(postac i dialog) zebym mogl CI lepiej pomoc?

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Moze jeszcze zobacz to:
func int premia(var C_NPC kto, var int ilosc, var int skill)
{
Npc_SetTalentValue(kto, skill, Npc_GetTalentValue(kto, skill)+ilosc);
return 1;
};
FUNC VOID Equip_HKnife()
{
if (Npc_IsPlayer(self))
{
premia(hero, 5, NPC_TALENT_1H);
};
};

FUNC VOID UnEquip_HKnife()
{
if (Npc_IsPlayer(self))
{
premia(hero, -5, NPC_TALENT_1H);
};
};

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Po przeróbce skrypt wygląda tak:
INSTANCE HKnife (C_Item)
{    
    name                 =    "Nóż strażnika";

    mainflag             =    ITEM_KAT_NF;
    flags                 =    ITEM_SWD|ITEM_MULTI;    
    material             =    MAT_METAL;

    value                 =    120;

    damageTotal            =     20;
    damagetype             =    DAM_EDGE;
    range                =      100;        

    cond_atr[2]           =     ATR_STRENGTH;
    cond_value[2]          =     10;
    visual                 =    "ItMw_012_1h_Knife_02.3DS";

    on_equip                =    Equip_HKnife;
    on_unequip                =    UnEquip_HKnife;
    description            = name;
    TEXT[1]                = "Premia do Walki: ";                    COUNT[1]    = 5;
    TEXT[2]                = NAME_Damage;                    COUNT[2]    = damageTotal;
    TEXT[3]             = NAME_Str_needed;                COUNT[3]    = cond_value[2];
    TEXT[4]             = NAME_OneHanded;
    TEXT[5]                = NAME_Value;                    COUNT[5]    = value;
};


func int premia(var C_NPC kto, var int ilosc, var int skill)
{
Npc_SetTalentValue(kto, skill, Npc_GetTalentValue(kto, skill)+ilosc);
return 1;
};
    FUNC VOID Equip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
    premia(hero, 5, NPC_TALENT_1H);
    };
};

    FUNC VOID UnEquip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
    premia(hero, -5, NPC_TALENT_1H);
    };
    
};
Ale niestety, dalej nie daje mi tych +5%(nauczyłem się u Scattiego 10 pkt, zakładam nóż i dalej mam te 10 pkt[%]).
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Cytat: Graveir
Po przeróbce skrypt wygląda tak:
Kod: [Zaznacz]INSTANCE HKnife (C_Item)
{    
    name                 =    "Nóż strażnika";

    mainflag             =    ITEM_KAT_NF;
    flags                 =    ITEM_SWD|ITEM_MULTI;    
    material             =    MAT_METAL;

    value                 =    120;

    damageTotal            =     20;
    damagetype             =    DAM_EDGE;
    range                =      100;        

    cond_atr[2]           =     ATR_STRENGTH;
    cond_value[2]          =     10;
    visual                 =    "ItMw_012_1h_Knife_02.3DS";

    on_equip                =    Equip_HKnife;
    on_unequip                =    UnEquip_HKnife;
    description            = name;
    TEXT[1]                = "Premia do Walki: ";                    COUNT[1]    = 5;
    TEXT[2]                = NAME_Damage;                    COUNT[2]    = damageTotal;
    TEXT[3]             = NAME_Str_needed;                COUNT[3]    = cond_value[2];
    TEXT[4]             = NAME_OneHanded;
    TEXT[5]                = NAME_Value;                    COUNT[5]    = value;
};


func int premia(var C_NPC kto, var int ilosc, var int skill)
{
Npc_SetTalentValue(kto, skill, Npc_GetTalentValue(kto, skill)+ilosc);
return 1;
};
    FUNC VOID Equip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
    premia(hero, 5, NPC_TALENT_1H);
    };
};

    FUNC VOID UnEquip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
    premia(hero, -5, NPC_TALENT_1H);
    };
    
};
Ale niestety, dalej nie daje mi tych +5%(nauczyłem się u Scattiego 10 pkt, zakładam nóż i dalej mam te 10 pkt[%]).

Podpowiedź: Zaznacz w Gothic Starter Mod opcję "reparse scripts"...
 
: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.

Splash

Splash

Moderator
posty4213
Propsy3414
ProfesjaNierób
  • Moderator
Jestem pewien na 100%, że nie zaznaczył, bo patrząc na tą funkcję od razu widać, że wywali błąd unknown identifer FUNC, bo w funkcji nie można pisać nowej funkcji.
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Splash przeczytaj dokladnie jeszcze raz... nie ma funkcji w funkcji............ jest pomiedzy

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Zaznaczam reparse script za każdym razem, jeśli jest jakaś zmiana.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

Splash

Splash

Moderator
posty4213
Propsy3414
ProfesjaNierób
  • Moderator
Cytat: chicken
Splash przeczytaj dokladnie jeszcze raz... nie ma funkcji w funkcji............ jest pomiedzy
Dziwnie postawione średniki to się pogubiłem :lol2:
Jednak nie rozumiem po jaką cholerę to :
Cytuj
func int premia(var C_NPC kto, var int ilosc, var int skill)
{
Npc_SetTalentValue(kto, skill, Npc_GetTalentValue(kto, skill)+ilosc);
return 1;
};
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Cytuj
Jednak nie rozumiem po jaką cholerę to :
A nie wiem. Myslalem, ze to cos zdziala :F
Cytuj
Dziwnie postawione średniki to się pogubiłem
No coz... ja tak zawsze robie, wiec rozumiem Cie :D
Ja juz nie wiem co moze Ci pomoc Graveir. Poddaje sie.
Ewentualnie jest to bug gry, ktory nie wlicza premii z broni ale tak naprawde dodaje czyli tzw. efekt wizualny. Mozliwe, ze jest 30% a pokazuje 25% ale watpie.
EDIT:
Dostalem oswiecenia :D wypierdol wszystkie glupoty ktory napisalem i zrob tak:
    FUNC VOID Equip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
    B_GiveprocentSkill (self,NPC_TALENT_1H,5,0,self);
    };
};

    FUNC VOID UnEquip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
   B_GiveprocentSkill (self,NPC_TALENT_1H,-5,0,self);
    };
   
};

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Czyli najwyraźniej tak jak mówisz - albo mam buga(z tym, że nawet nie ma tych teoretycznych procent - nauczyłem się 5% u CharacterHelpera, zakładam ten nóż i nic)lub po prostu Gothic(lub brak dostępu do jakiś skryptów[to wgl możliwe?])mnie nie lubi ;/
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Sprawdziles ten skrypt ktory napisalem 1 post temu?

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Tak. I dalej nic nie było. Ale znalazłem jedną rzecz, która poprawnie działa(chociaż i tak z niej nie będę korzystał, bo to nie ma sensu). A mianowicie:
    FUNC VOID Equip_HKnife()
    {
    Npc_SetTalentSkill(self,NPC_TALENT_1H,1 );
    };

    FUNC VOID UnEquip_HKnife()
    {
    Npc_SetTalentSkill(self,NPC_TALENT_1H,-1 );
    };
Jeśli założę nóż, to zyskuję poziom nowicjusza(broń trzymana w 1 ręce), a jak zdejmę to mam brak poziomu.
Edit: Ale dalej trzyma broń jak na poziomie nowicjusza. Czyli przy zdjęciu musi być 0 pewnie.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Poprawilem tamten skrypt na inny. Zobacz tamten:
    FUNC VOID Equip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
    B_GiveprocentSkill (self,NPC_TALENT_1H,5,0,self);
    };
};

    FUNC VOID UnEquip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
   B_GiveprocentSkill (self,NPC_TALENT_1H,-5,0,self);
    };
   
};
EDit: Dziala?

Graveir

Graveir

Użytkownicy
Avatar Twilight Sparkle / Pożeracz serc
posty1275
Propsy235
ProfesjaGracz
  • Użytkownicy
  • Avatar Twilight Sparkle / Pożeracz serc
Jak dam twój skrypt to pisze, że "Ten nauczyciel nie nauczy cię więcej niż 0" oraz "Brak ci doświadczenia" przez co nie mogę założyć broni.
 
Mój obecny sprzęt PC:
Intel core i5-4590
8 gb ram
Geforce GTX 1050Ti

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Poprawka:
var C_NPC fighter;
fighter = Hlp_GetNpc(pc_fighter);
    FUNC VOID Equip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
    B_GiveprocentSkill (self,NPC_TALENT_1H,5,0,fighter);
    };
};

    FUNC VOID UnEquip_HKnife()
    {
    if (Npc_IsPlayer(self))
    {
   B_GiveprocentSkill (self,NPC_TALENT_1H,-5,0,fighter);
    };
   
};


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