Co rozdzial wieksze statystyki potworów 2371 4

O temacie

Autor MrocznyPaladyn

Zaczęty 17.04.2013 roku

Wyświetleń 2371

Odpowiedzi 4

MrocznyPaladyn

MrocznyPaladyn

Użytkownicy
posty47
Propsy12
  • Użytkownicy
Witam. Ma ktos pomysł jak zmienic co rozdzial atrybuty potworów tak by np
Aligator rozdzial pierwszy np mial 200hp a już w kolejnym rozdziale np każdy aligator 300hp itd. Da się to jakos zrobic aby nie robic na każdy rozdzial nowego prototypu danego potwora itd. Bardzo by mi to ułatwiło prace w dokanczaniu moda ktory zaprzestalem robic 5lat temu.
 

diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
Nie wiem czy to by podziałało, bo sam nie sprawdzałem, ale możesz spróbować w prototype danego potwora przed statystykami zrobić kilka ifów.

If (Rozdział == 1)
{
atributte:
...
}
else if (Rozdział == 2)
atributte:
...
};

Ale nie wiem czy podziała.  :D
 

gothic1210
  • Gość
Witam. Ma ktos pomysł jak zmienic co rozdzial atrybuty potworów tak by np
Aligator rozdzial pierwszy np mial 200hp a już w kolejnym rozdziale np każdy aligator 300hp itd. Da się to jakos zrobic aby nie robic na każdy rozdzial nowego prototypu danego potwora itd. Bardzo by mi to ułatwiło prace w dokanczaniu moda ktory zaprzestalem robic 5lat temu.
A nie możesz dać w B_Kapitelwechsel przy każdym rozdziale czegoś takiego:
Demon.attribute[ATR_STRENGTH] = Demon.attribute[ATR_STRENGTH] + 10;? Chyba wystarczy
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Co rozdzial wieksze statystyki potworów
#3 2013-04-17, 20:34(Ostatnia zmiana: 2013-04-17, 20:48)
@diegomez
Nie, prototyp to nie funkcja. Warunków można używać w funkcjach.

@MrocznyPaladyn
Nie jest to sprawa trywialna. Ja użyłbym któregoś z perceptionów do odpalania funkcji aktualizującej atrybuty jeśli w danym rozdziale jeśli jeszcze nie były w nim aktualizowane (co z kolei można kontrolować ustawiając któryś z aivarów).
Powtarzam: to nie jest sprawa trywialna i nie pytaj o gotowy kod. Napisałem to co powinieneś zrobić, potrzebujesz jeszcze tylko rozplanować to logicznie, dowiedzieć się czym są i jak działają perceptiony, aivary, i jak skonstruować odpowiedni warunek. Ale to już zrób we własnym zakresie.

@gothic1210
"Demon" to z punktu widzenia parsera stała typu całkowitoliczbowego (tak jak "const int Demon = 666;") (możesz ją sobie printnąć, to nawet dowiesz się co to za numerek :D ). Nie obiekt typu c_npc, a jedynie jego identyfikator. W przypadku prawdziwych npc da się uzyskać odniesienie do obiektu dzięki metodzie Hlp_GetNpc, która jako argument przyjmuje właśnie liczbowy identyfikator. Jednak działa to dzięki założeniu że każdy npc jest na świecie tylko w jednym egzemplarzu. Dla potwora, zwróciłoby po prostu jedynie pierwszy znaleziony egzemplarz. Jedyny sensowny sposób zdobycia odniesienia do konkretnego potwora to zmienna self / other, użyta w funkcji odpalanej przez któryś z perceptionów (o czym napisałem).

Ciągle mylicie instancje z identyfikatorami, czyli obiekty z numerkami, a do tego jeszcze z definicjami ("szablonami" obiektów). Prototypy to jeszcze co innego, bo z kolei "szablony" definicji. Tyle razy już pisałem jak to działa, chyba muszę zebrać to w ładniejszy artykuł / rozbudować go :D
Niestety, ale działanie parsera w tym temacie jest momentami przeciw-intuicyjne.

Swoją drogą zabawna sprawa że Zysk, który niby tyle lat pisał skrypty, nie wierzył mi w to kiedy to pierwszy raz pokazałem :D

MrocznyPaladyn

MrocznyPaladyn

Użytkownicy
posty47
Propsy12
  • Użytkownicy
Myślalałem to zrobic podobnie ale tsoche się obawiam ze może cos nie byc tak..ale trzeb zobaczyc może akurat będzie ok:)
 


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