Skrypt, w którym dostaje się +1% walki 4013 18

O temacie

Autor Bogdan Zwei

Zaczęty 18.06.2011 roku

Wyświetleń 4013

Odpowiedzi 18

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
/*Jeśli temat jest w złym miejscu (bo na pewno jest ;p ), to proszę o przeniesienie.*/

Chciałem się zapytać, czy dałoby się zrobić skrypt runiczny, przez którego dostaje się +1% walki 1h za każde 25 ciosów, tzn. jeśli ma się broń 1h i się nią walczy (po uderzeniu 25 razy). Taki skrypt mam, nie wywala błędu, ale nie działa.


func void B_TEST (var C_NPC oth, var C_NPC slf)
{
var C_ITEM ready;
var C_ITEM itm;

ready = Npc_GetReadiedWeapon(hero);

if ((itm.MainFlag == ITEM_KAT_NF) && (itm.Flags == ITEM_SWD) && Hlp_IsItem(ready, itm) // Tak pomyślałem, czyby nie dać Hlp_IsItem(ready, ready), ale doszedłem do wniosku, że nie zgadzałby się skrypt, ponieważ byłyby dwie takie same zmienne obok siebie, więc musi być (ready, itm). Albo mógłbym też zastosować Npc_GetInvItem(hero, itm), ale to jest raczej to samo, co Hlp_IsItem(ready, itm) lecz zamienione ready na hero.
 && Npc_IsInFightMode (hero, FMODE_MELEE))
{

Print (TEST); // tutaj mam napis, żeby sprawdzić czy działa, lecz nie pojawia się jak walę bronią 1h/2h/bow/cbow.

};
};
[/color]


Jeśli się nie da zrobić czegoś takiego poprzez B_AssessDamage jako miecz runiczny, proszę tylko o napisanie, że się nie da. ŻADNYCH błędów mi nie wywala z tego skryptu, Gothic działa normalnie, a skrypty mam zaznaczone w GothicStarter_MOD.


PS: Mam wpisane B_TEST (other, self);
 
: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.

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy924
ProfesjaLvl designer
  • Wyspa Khorinis
Więc tak:
zamiast tego:
ready = Npc_GetReadiedWeapon(hero);daj to:
itm = Npc_GetReadiedWeapon(hero);I co to jest:
&& (itm.MainFlag == itm.Flags) == (itm.Flags == itm.MainFlag) nie wiem co to ma robić ale on sam przeczy sobie :lol2:  jak mainflag może być takie samo jak flag?
Wywal to.
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Właśnie dałem to, bo myślałem, że zadziała, jeśli to wpiszę, ale żyd nie działa dalej. ;/





/* Nie działa z tym itm = Npc_GetReadiedWeapon(hero); */
 
: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.

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy924
ProfesjaLvl designer
  • Wyspa Khorinis
Może spróbuj tak (ja tak robię i działa) w on_equip broni daje jakąś zmienną na true (najpierw ją tworzę w story_globals) potem daje w warunku zamiast tego: if ((itm.MainFlag == ITEM_KAT_NF) == TRUE && (itm.Flags == ITEM_SWD) == TRUE && Npc_IsInFightMode (hero, FMODE_MELEE)
&& (itm.MainFlag == itm.Flags) == (itm.Flags == itm.MainFlag)) // tu próbowałem najpierw bez tego.
daje to:
if (zmienna == true)
&& (Npc_HasReadiedMeleeWeapon(hero))
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Tylko, że ja chcę, żeby mi dodawało +1% z 1h, jeśli mam 1h weapon (obojętnie którą broń 1h).




/* Nie działa. ;/ */
 
: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.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Chciałbym odświeżyć temat. Jeśli ktoś wie jak to zrobić, to bardzo proszę o choćby jakąś wskazówkę.


PS: Ostatni post był wysyłany 19.06.2011r., więc proszę nie dawać mi warnów za spamowanie. Dziękuję.
 
: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.

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Skrypt, w którym dostaje się +1% walki
#6 2011-12-12, 20:52(Ostatnia zmiana: 2011-12-12, 20:54)
Ten skrypt w ogóle nie ma sensu. Rozumiesz go w ogóle? Napisz to od początku, myśląc co ma robić każdy krok. Możesz zacząć od przemyślenia listy czynności które musi wykonywać.

//edit: przeczytałem go dokładnie i już widzę że ty na pewno nie masz pojęcia o skryptach :|  Radzę zacząć ci od podstaw albo obejrzenia jak wyglądają warunki w skryptach dołączonych do gry albo w jakimkolwiek języku programowania.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Aj to już dawno było. ;p  Muszę ten skrypt odświeżyć. :D



A z drugiej strony mógłbym spróbować z skryptem MagicGolem vs. HolyHammer. ;p

Oto ten skrypt Magicznego Golema kontra Święty młot :D :

if (Npc_HasItems (other, Holy_Hammer_MIS) > 0)
{
var C_NPC MagGol; MagGol = Hlp_GetNpc(MagicGolem);
Npc_GetInvItem(other, Holy_Hammer_MIS); //befüllt 'item'
var C_ITEM OthWeap; OthWeap = Npc_GetReadiedWeapon(other);

if (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(MagGol))
&& (Hlp_GetInstanceID(OthWeap) == Hlp_GetInstanceID(item))
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, -1000);
return;
};
};

Befüllt znaczy "wypełniony", tzn., że nie da rady tego dać do użytku tego skryptu ze względu na nieokreślony przedmiot w moim skrypcie - ten skrypt odnosi się do WSZYSTKICH broni 1h (jednoręcznych).

Jutro ten skrypt wypróbuję paroma sposobami, najwyżej jak nic nie zadziała to "spamnę" postem żeby ktoś pomógł. ^^
 
: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.

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Skrypt, w którym dostaje się +1% walki
#8 2011-12-12, 22:13(Ostatnia zmiana: 2011-12-12, 22:13)
Podbijam to co napisałem w poprzednim poście, najwyraźniej nie zrozumiałeś. Przeczytaj jeszcze raz. Kombinując z przerabianiem skryptów które robią kompletnie co innego dojdziesz co najwyżej do efektu podobnego co w pierwszym poście.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Ale przecież ja bardzo dobrze wiem, jak co działa...
 
: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.

Leinnan

Leinnan

Administrator
torsonic polarity syndrome
posty2671
Propsy3600
ProfesjaProgramista
  • Administrator
  • torsonic polarity syndrome
Ja się zbytnio na skryptach nie znam ale na moje to jest skrypt dzięki któremu używając innej broni niż śnięty młot od obrażeń zadawanych przez daną broń odejmowany jest 1000 więc koniec końców nie są zadawane żadne obrażenia.
 
Mit der Dummheit kämpfen die Götter selbst vergebens

steam | slavic castles |  last.fm | moddb.com | Stary, najlepszy lider Sclavinii

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Wiem, o co chodzi w skrypcie Młota, ale mi się chodzi o to, co w temacie i na samej górze jest napisane. :)
 
: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.

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator
Nie wiesz jak co działa, przeczytaj ten skrypt który dałeś na początku. Powtarzam po raz kolejny
Napisz to od początku, myśląc co ma robić każdy krok. Możesz zacząć od przemyślenia listy czynności które musi wykonywać.
Zrób sobie taki prosty, słowny algorytm, listę chociaż.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Chodzi ci o: "Jeśli mainflaga przedmiotu jest równa ITEM_KAT_NF - czyli jednoręczna, a flaga równa ITEM_SWD - czyli broń trzymana w lewej ręce"?


A nie dodałem do skryptu żeby mi zwiększało % walki, bo najpierw testuję...
 
: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.

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Skrypt, w którym dostaje się +1% walki
#14 2011-12-13, 22:12(Ostatnia zmiana: 2011-12-13, 22:17)
"Jeśli mainflaga przedmiotu jest równa ITEM_KAT_NF - czyli jednoręczna, a flaga równa ITEM_SWD - czyli broń trzymana w lewej ręce"?
Ok, masz warunek. Wiesz co by się stało gdybyś całkowicie poprawnie zapisał go w skryptach? Nic. Bo to tylko warunek. Musisz zastanowić się nad wszystkim co ma się po kolei dziać w skrypcie.
To jakbyś w algorytmie przynoszenia poczty do domu napisał tylko "sprawdzam czy w skrzynce jest poczta". Ta czynność sama w sobie to za mało. Musisz jeszcze wyjść z domu, wziąć tą pocztę, wrócić itd.

Wiem że nie pomagam ci w ten sposób wprost, ale wolę dać ci wędkę niż rybę. Gdybyś dostał gotowy skrypt zamiast odpowiednio pomyśleć przy następnym problemie znowu potrzebowałbyś pomocy.

Demonical Monk

Demonical Monk

Użytkownicy
posty145
Propsy152
  • Użytkownicy
Implikacja to "p => q". To teraz przeanalizuj co jest poprzednikiem, a co następnikiem.

a) Jeśli mainflaga przedmiotu jest równa ITEM_KAT_NF - czyli jednoręczna
b) a flaga równa ITEM_SWD
c) czyli broń trzymana w lewej ręce

a /\ b => c

Ja tu widzę kompletny poprzednik i następnik, kwestia tego że ten następnik jest cholernie ogólny. Ustal szczerzej co w ramach tego chcesz realizować i masz gotowy warunek.

(pseudokod, wyłącznie do celów demonstracyjno-rozrysowawczych)
if (a && b) {
   c();
};
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Cytuj
Wiem że nie pomagam ci w ten sposób wprost, ale wolę dać ci wędkę niż rybę. Gdybyś dostał gotowy skrypt zamiast odpowiednio pomyśleć przy następnym problemie znowu potrzebowałbyś pomocy.

Nie pomagasz? Tym postem mi pomogłeś. xD Zaraz to przeanalizuję itp. i powiem czy mi się udało. :)
 
: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.

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
możesz stworzyć zmienną powiedzmy
var int blabla;
następnie można zrobić miecz runiczny który ma 100% na trafienie w funkcji miecz runicznego dajesz
blabla += 1;
 następnie tworzysz funkcje a w niej warunek jeśli blabla >= 25 (daje specjalnie większe bądź równy gdyby coś zbugowało grę ) to dostaniemy 1% szans na trafieie krytyczne

a jeszcze trzeba by dać zmienną która będzia równa wyciągniętej broni hera

jest to dość proste rozwiąnie które osobiście bym zastosował gdybym robił coś takiego :)
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
możesz stworzyć zmienną powiedzmy
var int blabla;
następnie można zrobić miecz runiczny który ma 100% na trafienie w funkcji miecz runicznego dajesz
blabla += 1;
 następnie tworzysz funkcje a w niej warunek jeśli blabla >= 25 (daje specjalnie większe bądź równy gdyby coś zbugowało grę ) to dostaniemy 1% szans na trafieie krytyczne

a jeszcze trzeba by dać zmienną która będzia równa wyciągniętej broni hera

jest to dość proste rozwiąnie które osobiście bym zastosował gdybym robił coś takiego :)


Wiem jak zrobić ten skrypt, już go zrobiłem. Temat można zamknąć.
 
: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.


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