Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - WayneBlack

Strony: [1] 2
1
Pytania i problemy / Święte czary (G2NK)
« dnia: 2018-06-21, 20:57 »
JA TO JEDNAK JESTEM KURWA DOBRY xDD

Już wiem, co się stało... pod skryptem dla warunków Tchnienia Śmierci wrzuciłem z dupy return COLL_DOEVERYTHING. I pewnie na nim zatrzymywała się funkcja i nie sprawdzała już warunków z czarów poniżej jej - czyli wszystkich "świętych" zaklęć. Usunąłem to, sprawdziłem i działa normalnie.

Hehe x]

2
Pytania i problemy / Święte czary (G2NK)
« dnia: 2018-06-21, 18:55 »
Hejo, mordki wy moje przebrzydłe.

Z nieznanych mi powodów, wszystkie zaklęcia, które standardowo mają działać tylko na "złych" przeciwników, działają też (i to niezwykle skutecznie) na KAŻDY inny cel.

Wymijając pytania - tak, bawiłem się collide with spell w folderze "magic", ale NIC nie zmieniałem w tych zaklęciach - wyjątkiem był czar magów z IV kręgu (niszczenie nieumarłych), Tchnienie Śmierci, Szał Beliara i parę innych, ale po moich testach działało wszystko idealnie. Dopiero nagle, z dupy, że tak powiem, każdy "święty" czar (poza ww. "niszczeniem nieumarłych") zaczął mordować wszystko wokół.

Co ciekawe, czary te, jak cel ma odpowiednio dużo obrony przed magią, to nie zadają tych minimalnych 5-ciu punktów obrażeń.

Pomijam, że wiem doskonale, że niektóre te czary są i tak popsute, np. Fala Śmierci czy Krzyk Umarłych w skryptach mają wypisane, żeby omijać "złych" i nieumarłych, ale i tak ich atakują.

Spotkał się ktoś z tym i zdołał to jakoś naprawić, czy mam się bawić w omijanie problemu? xD

3
Skrypty / Obrażenia specjalnej broni dystansowej
« dnia: 2017-11-17, 15:01 »
Co do obrażeń od DAM_FIRE to wiem jak to działa, tak samo jak z bronią kontaktową, bo to wszystko przerobiłem co do jednego u siebie wg. swojego widzimisię. Tylko nie wiedziałem, jak to jest z łukami/kuszami. Jak tak, jak mówisz, to trochę mi to psuje plany... hueh.

4
Skrypty / Obrażenia specjalnej broni dystansowej
« dnia: 2017-11-17, 13:41 »
Dobry!

Już jakiś ładny czas temu, jak zacząłem swoje skrypty przerabiać, to ustawiłem broni magicznej dystansowej (ognisty łuk, magiczny łuk i magiczna kusza), by zadawały obrażenia od tego, od czego pochodzą ich nazwy (DAM_FIRE i DAM_MAGIC analogicznie). Podstawowo w GIINK wszystkie te bronie mają ustawione DAM_MAGIC, ale walić to. Teraz zauważyłem, że niezależnie od ustawionych typów obrażeń, specjalna broń dystansowa I TAK zachowuje się tak samo, jak standardowa - to znaczy, skaluje się od zręczności (obrażenia +1/1 zręczność) i redukowana jest przez odporność na pociski. I teraz pytanie - czy bronie dystansowe rządzą się własnymi prawami i niezależnie, jak ustawie "damagetotal", "tamagetype" i damage z "INDEX", to i tak będzie działać tak samo, czy może gdzieś, coś, przestawić się da dla nich?

5
Mam nadzieję, że z tej odpowiedzi ktoś skorzysta, chociaż długo nikt nic nie pisał tutaj. No nic, pomogę:

najlepiej jest ustawić tylko obrażenia "DAM_FIRE" czarom, które mają być ogniste, bo łatwiej jest wtedy zbalansować obronę przed magią i przed ogniem. Teraz, by zmienić te obrażenia z podpalenia, wchodzisz do content/_intern i odpalasz plik "constants", a w nim szukasz linijki:
CONST INT NPC_BURN_DAMAGE_POINTS_PER_INTERVALLTo ona podaje, ile obrażeń co ile czasu zadaje podpalenie. Podstawowo ta linijka kończy się "= 50" - czyli te nasze magiczne 50 obrażeń co sekundę. Ja to ustawiłem na 10, ale trzeba pamiętać, że każdy punkt obrony przed ogniem to 1 punkt obrażeń mniej otrzymywanych od ognia. Więc wszelkie pancerze, amulety, pierścienie, pasy, które dają postaci ochronę przed ogniem mogą łatwo zniwelować tę wartość. Dlatego dobrze jest pobawić się właśnie jednocześnie wszystkimi wartościami obronnymi - nie tylko przedmiotów, ale i potworów. Pamiętaj, że potwory z wczytanego zapisu będą miały stare statystyki, dopiero zaczęcie nowej gry wczyta świat ze stworami (ogólnie NPC) o wpisanych im bazowych w skryptach statystykach.

Nad podaną przeze mnie linijką jest jeszcze jedna, która określa, co ile czasu jest "tyknięcie" obrażeń:
CONST INT NPC_BURN_TICKS_PER_DAMAGE_POINTi podstawowo podane jest "= 1000" - czyli co sekundę. To też możesz zmienić, np. "= 500" będzie oznaczało zadawanie obrażeń od ognia co pół sekundy itd.

6
Skrypty / Wymagania broni
« dnia: 2016-09-27, 14:25 »
U mnie jest tak:
INSTANCE ItRw_Mil_Crossbow(C_Item)
{


name = "Kusza";

mainflag = ITEM_KAT_FF;
flags = ITEM_CROSSBOW;
material = MAT_WOOD;

value = Value_MilArmbrust;

damageTotal = 60;
damagetype = DAM_POINT;
munition = ItRw_Bolt;
cond_atr[2]    = ATR_STRENGTH;
cond_value[2]  = 10;
visual = "ItRw_Mil_Crossbow.mms";

on_equip = Equip_Mil_Crossbow;

description = name;
TEXT[2] = NAME_Damage; COUNT[2] = damageTotal;
TEXT[3] = "Wymaga 30% w posługiwaniu się kuszami";
TEXT[5] = NAME_Value; COUNT[5] = value;
};

FUNC VOID Equip_Mil_Crossbow()
{
if (self.hitchance[NPC_TALENT_CROSSBOW] < 30)
{
      AI_UnequipWeapons(self);
};
};
I działa. Więc... spoko. Teraz tylko poustawiać wszystko jak należy... he he

7
Skrypty / Wymagania broni
« dnia: 2016-09-27, 14:05 »
Pomijając fakt, że napisałeś to dla broni jednoręcznej, to chyba niezły pomysł...

Jak zamiast "self.hitchance[1h]" napiszę "self.hitchance[crossbow]" to wyskakuje błąd. GMDK pisze, że właśnie tej frazy (crossbow) nie rozumie w tej linijce kodu.

Spróbuję tam wstawić "NPC_TALENT_CROSSBOW" między nawiasy kwadratowe.

Post połączony: 2016-09-27, 14:11
Wróciłem!

Działa idealnie... co prawda zdejmuje KAŻDĄ broń, jak spróbuje się założyć, ale to nie problem. Przynajmniej nie dla mnie.

8
Skrypty / Wymagania broni
« dnia: 2016-09-27, 12:05 »
OnEquip i UnEquip to raczej słaby pomysł, skoro te funkcje działają podczas zakładania/zdejmowania przedmiotu, a chodzi o wymagania do jego założenia. Nie sądzisz?

A niewykorzystanych nie mogę użyć, bo w swoich skryptach już ich używam... więc z tej tabeli wszystko jest w użyciu.

9
Skrypty / Wymagania broni
« dnia: 2016-09-27, 11:27 »
Hejo! Zamęczę was... ale dobrze, przyda wam się trochę, nie? No. To pewnie kolejny problem, który rozwiążę sam, ale pytanie z prośbą o pomoc tak właśnie na mnie działa. Do rzeczy:

w itemach macie podane ich ogólne parametry - jak obrażenia, wartość, zasięg... i wymagania. Bronie podstawowo wymagają siły, niektóre zręczności, dystansowe podobnie. A chciałem zrobić tak, by właśnie bronie dystansowe zamiast wymagać siły (kusze) i zręczności (łuki), wymagały procentów w posługiwaniu się nimi.

Żeby nie było, że nie próbowałem:
cond_atr[2]    = NPC_TALENT_CROSSBOW;
cond_value[2]  = 30;
To dla kuszy. Tylko że wskazana kusza i tak z jakichś powodów wymagała siły. Przejrzałem skrypty i wiem, że jest jeszcze "REAL_TALENT_CROSSBOW", ale wpisanie tego w kodzie wywalało błąd.

Ktoś? Coś?

10
Skrypty / Reakcja NPC
« dnia: 2016-09-23, 10:42 »
No nie. Bardziej myślałem o tym warunku "if (Npc_CanSeeNpc(self, hero))" - czyli jeśli NPC może zobaczyć naszego bohatera (ewentualnie opcja z zaprzeczeniem, czyli: "if (!Npc_CanSeeNpc(self, hero))"). Tylko średnio wiem, gdzie to wstawić... do każdego NPC z osobna? xD

Post połączony: 2016-09-23, 11:29
Ok, zrobiłem to! Chcecie wiedzieć jak? A nie powiem...

No dobra, powiem, muszę się pochwalić. Wchodzicie do: content/AI/human/C_human i tam macie plik "C_WantToAttackMurder"... i ja to mam tam tak:

// ********************
// C_WantToAttackMurder
// ********************

func int C_WantToAttackMurder (var C_NPC slf, var C_NPC oth)
{
// ------ ausgenommeme Gilden ------
if (slf.guild == GIL_DMT)
|| (slf.guild == GIL_STRF)
|| (slf.guild == GIL_DJG)

//Addon: Banditen im Lager sollen auf Murder reagieren
|| (slf.guild == GIL_BDT) 
{
return FALSE;
};

// ------ NSC ignoriert Mord ------
if (slf.aivar[AIV_IGNORE_Murder] == TRUE)
{
return FALSE;
};

// ------ Täter war Player und ich bin NPCType_Friend ------
if ( Npc_IsPlayer(oth) && (slf.npctype == NPCTYPE_FRIEND) )
{
return FALSE;
};

// ------ Mörder hat guten Grund zu töten ------
if (C_NpcHasAttackReasonToKill(oth))
{
return FALSE;
};

// ------ Torwachen bleiben stehen, memorizen aber News ------
if (C_NpcIsGateGuard(slf))
{
return FALSE;
};

if (!Npc_CanSeeNpc(self, hero))
{
return FALSE;
};

if (Npc_GetDistToNpc (self, hero) > 4000)
{
return FALSE;
};

return TRUE;
};

Nic nie zmieniałem, poza wklejeniem dwóch warunków na końcu:
if (!Npc_CanSeeNpc(self, hero))
{
return FALSE;
};

if (Npc_GetDistToNpc (self, hero) > 4000)
{
return FALSE;
};
Oznaczają one, że:
1. Jak NPC nas nie widzi (był odwrócony w inną stronę), to nie ma powodu do zabijania mordercy, nawet nie zareaguje.
2. NPC nie reaguje, jeśli postać, którą kierujemy, była na dystansie ponad 4000 jednostek od niej, a zginął ktoś obok.

ALE! Reagują strażnicy danej frakcji. Zawsze. Ich reakcja jest w innym pliku... ale myślę, że fajnie tego akurat nie zmieniać.

Wesołej zabawy w snajperów!

11
Skrypty / Reakcja NPC
« dnia: 2016-09-22, 23:19 »
Dobry. Dostałem niedawno w łapki z powrotem swoje skrypty i zacząłem się nimi znowu bawić. Hue hue...

Tak czy siak, zaczynam omawianie problemu: jak pewnie wiecie (albo i nie, bo niektórzy bywają mało inteligentni), jak zaatakujecie NPC, to on w jakiś sposób wam odda. Albo zawoła kolegów, by mu pomogli. W danej frakcji NPC reagują też na zabójstwo - jak zabijecie NPC w mieście na oczach innych, to zaraz zaczyna się zabawa w uciekanie, albo walkę itd. No dobra, to normalne... ale ciekawi mnie, jak można zrobić, by NPC nie reagował na walkę/zabójstwo, jeśli NIE WIDZI agresora?
Zdarzyło mi się to wiele razy, że jak zestrzeliłem NPC z bardzo dużej odległości jakimś czarem, to reszta nie reagowała na to, że ten umarł. Natomiast, jak próbuję to zrobić łukiem/kuszą to właściwie natychmiast jest reakcja - niezależnie od dystansu i pozycji.
Więc... tak, chciałbym się dowiedzieć, czy jest opcja zabawy w cichego snajpera, który może z dystansu kogoś zabić, a ludki wokół niego nie zauważą, kto to zrobił?

Pomijam, że szukałem w necie o reakcjach NPC, ale gówno można znaleźć. Na forum chyba nikt czegoś takiego nie poruszył... a jest późno i mam gorączkę i nie umiem się nawet zastanowić, gdzie miałbym tego szukać w samych skryptach.

12
Skrypty / Skrypt zadawanych obrażeń
« dnia: 2016-07-08, 14:23 »
Dobra, szkoda czasu na zjeba, który nie rozumie, jak się do niego mówi. Jak matka Ci mówi, że masz wyjebać śmieci, bo nie masz miejsca w koszu, to kupisz drugi kosz? Myśl Ty czasem, upośledzona podróbko człowieka.

Post połączony: 2016-07-08, 14:24
Pan Zwei mówił, że ponoć mnie blokuje. Kłamczuszek nawet tego zrobić nie umie, a udaje mądrego.

13
Skrypty / Skrypt zadawanych obrażeń
« dnia: 2016-07-08, 12:17 »
Do tej pory Ty też tylko fantazjujesz i nie sprawdzasz nawet, o to mi chodzi. Nie to, o czym mówię, a co mam na myśli - spójrz na dowolny skrypt pancerza. Widzisz, by miał odporność na lot? Oczywiście, niektóre potwory mają ustawioną odporność na wszystkie obrażenia, ale ludzie - a raczej, ich pancerze - nie mają tej obrony. To było dla mnie podstawą, by stwierdzić, że ta obrona nie jest potrzebna - dlatego można ustawić nowe obrażenia, które również obrony nie posiadają.

Post połączony: 2016-07-08, 12:20
Poza tym, jakby moja teoria nie miała oparcia, to byś nie próbował jednocześnie i jej obalić, i potwierdzić - bo w poprzednich wypowiedziach potwierdziłeś, że nowe obrażenia dodać można. Fajnie się pokłócić z kimś tak zabawnym, jak Ty.

14
Skrypty / Skrypt zadawanych obrażeń
« dnia: 2016-07-08, 02:11 »
Nie uczę ojca, a idiotę. Jeśli stworzymy nowe obrażenia, nie potrzeba na nie obrony. Wiesz, że w grze występuje KILKA typów obrażeń? I na niektóre obrony nie ma - na przykład na obrażenia od lotu (powietrza). Więc można dodać nowe, które będą zadawać powiedzmy 1 punkt obrażeń co sekundę przez 10-20 sekund. Realistyczne.

15
Skrypty / Skrypt zadawanych obrażeń
« dnia: 2016-07-07, 23:48 »
Zapewne w pliku z tymi zmiennymi, gdzie były typy obrażeń, można dodać kolejny... a potem ustawić ten damagetype potworowi. Potem - pod podpalaniem - ustawić tyknięcia.

Nie, nie podam plików... nie pamiętam ich, nie zaglądałem do skryptów od miesiąca. I nie zależy mi tak bardzo - pierwszy post powstał pod wpływem emocji, jak widzę tego durnia, co wypowiada się w każdym temacie, nie pisze NIC wartościowego, jeszcze obraża innych.

16
Skrypty / Skrypt zadawanych obrażeń
« dnia: 2016-07-07, 23:40 »
To jakim cudem udało mi się to wszystko ustawić w zwykłych skryptach, by zamiast 50 obrażeń co sekundę, podpalenie zadawało 8? I by czary ogniste zadawały obrażenia DAM_MAGIC|DAM_FIRE - czyli obrażenia dwojakie - trafi magią, to podpali? No nie mówiłbym Ci o czymś, czego nie ma, bądź o czym nie wiem. W innym temacie, gdzie podawałem skalowanie się zaklęć, podałem też WSZYSTKO dotyczące tych obrażeń, bo przykładem była Kula Ognia.

17
Skrypty / Skrypt zadawanych obrażeń
« dnia: 2016-07-07, 23:32 »
Wyjaśniłem dwa razy, o co mi chodziło. Podałem po prostu, że PRZYKŁADEM obrażeń w czasie jest podpalenie. Czyli, że MOŻNA zrobić to, o co chodzi autorowi tematu. Nie moja wina, że nie potraficie przyswoić najprostszych informacji.

18
Skrypty / Skrypt zadawanych obrażeń
« dnia: 2016-07-07, 21:57 »
Skrypt podpalenia to ustawienie w linijce damagetype to: damagetype = DAM_FIRE, ot, cały skrypt obrażeń. Znajdź odpowiedni plik, w którym masz WSZYSTKO - skoro jesteś takim mistrzem, to będziesz wiedział, o jaki mi chodzi. I tam masz, ile sekund podpalenie trwa, ile zadaje obrażeń i co ile "tyknięć" je zadaje.

Wstyd mi, że wdaję się w dyskusję z kimś takim...

19
Skrypty / Skrypt zadawanych obrażeń
« dnia: 2016-07-07, 12:36 »
Tak, bo to co ty gadasz na pewno wywołuje się przez całą grę. Jeśli nie wiesz, nie pierdol głupot.

Ja moduję Gothica od 8 lat, wiem co mówię.

Obrażenia od ognia działają 6 sekund, w tym czasie zadając 50 obrażeń od ognia co sekundę. Tak jest bazowo w skryptach i można to ustawić.

W mojej myśli byłoby się opierać na tym, wraz z damagetype.

20
Skrypty / Skrypt zadawanych obrażeń
« dnia: 2016-07-07, 11:39 »
Nie, wcale nie da się ustalić czasu trwania podpalenia, ani nie da się zmienić czasu życia przywołanych istot. Wcale nie ma funkcji czasowych w grze, w zwykłych skryptach. Ani trochę, wcale nie warto jest szukać.

Sorki za to, ale szału dostałem. Niestety, nie wiem, jak coś takiego odpalić, ale da się to zrobić... możesz próbować uzależnić czas trucizny od innego czynnika, który już ma ustawiony czas - jak chociażby wspomniane przeze mnie podpalenie, czy przywołanie.

Strony: [1] 2
Do góry