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 - czuks

Strony: [1]
1
Skrypty / Obrażenia zaklęć + mana
« dnia: 2015-01-25, 16:22 »
Hm wpadłem na pliczkek b_magichurtnpc i zedytowałem linijke:
Npc_ChangeAttribute (oth, ATR_HITPOINTS, -(damage + (self.damage [DAM_INDEX_MAGIC])));
i wydaje się że działa tak jak powinno. Czy są z tym sposobem jakieś problemy których nie zdążyłem zauważyć?

2
Skrypty / Obrażenia zaklęć + mana
« dnia: 2015-01-24, 15:57 »
Polecam dodać skrypt dodatkowych obrażeń do C_CanNpcCollideWithSpell.d
Tyle, że jest problem (który łatwo ominąć), który aktywuje efekt więcej niż raz. Starczy dodać zmienną, która będzie dodawana (+1), a chciany efekt będzie wywoływany, jak zmienna będzie wynosiła 1. Spell_ProcessMana i Spell_ProcessMana_Release będą minimalizowały zmienną do 0. Teraz starczy tylko dodać warunek, jeśli wybrany czar to czar, który ma zadawać dodatkowe obrażenia i dodać skalę obrażeń dodatkowych poprzez B_MagicHurtNpc(other, self, dmg);.

Brzmi fantastycznie! :lol: Nie mam pojęcia jak to zrobić.  :facepalm:
Jeżeli nie jest to dużo roboty mógłby mi ktoś napisać ten kodzik/ wytłumaczyć krok po kroku jak to zrobić?

3
Skrypty / Obrażenia zaklęć + mana
« dnia: 2015-01-24, 14:32 »
Witam. Mój 1 wątek, właściwie konto specjalnie dla niego założone, przepraszam jeśli narobię modom roboty.

Czytałem wszystkie samouczki które znalazłem o takiej tematyce i googlowałem długo i namiętnie, ale po prostu nie umiem dostatecznie skryptów.

Chciałbym żeby ułamek many max był dodawany do obrażeń (zrobione pomyślnie przez dodanie mana max/5 do dam_index_magic + odświeżanie w starcie) potem, żeby dam_index_magic był dodawany (tuning zostawiam na później) do obrażeń zadawanych przez zaklęcia. Jedyne co przyszło mi do głowy (ze względu na ograniczoną głowę) to dodanie do skryptów spell zmiennych w sposób:
var int damage;

INSTANCE Spell_Zap (C_Spell_Proto)
{
time_per_mana = 0;
damageType = DAM_MAGIC;
damage = (30 + (self.damage [DAM_INDEX_MAGIC]));
damage_per_level = damage;
};

Po długich i namiętnych testach na różne sposoby, także z dodaniem linijki tutaj:
func int Spell_Logic_Zap(var int manaInvested)
{
damage = (30 + (self.damage [DAM_INDEX_MAGIC]));

if (Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll))
{
return SPL_SENDCAST;
}
else if (self.attribute[ATR_MANA] >= SPL_Cost_Zap)
{
return SPL_SENDCAST;
}
else //nicht genug Mana
{
return SPL_SENDSTOP;
};
obrażenia albo się dodają albo nie (częściej nie) bądź w najlepszym wypadku ustawiają się poprawnie od 2 strzału.
Będzie ktoś uprzejmy powiedzieć mi czy to jest możliwe na silniku gothica (zakładam że jest) i jak to należy zrobić poprawnie?

Strony: [1]
Do góry