Resp po zabiciu 8628 22

O temacie

Autor Buras

Zaczęty 27.01.2011 roku

Wyświetleń 8628

Odpowiedzi 22

Buras

Buras

Użytkownicy
posty202
Propsy23
Profesjabrak
  • Użytkownicy
Dawno nie zajmowałem się moddingiem, ostanio coś mnie naszło i z tej właśnie okazji odświeżę ten oto tu temat :D
Podsumujmy zebrane dotychczas informacje:
Moim celem jest utworzenie miecza, który po uderzeniu w cel zamraża go, oraz zadaje obrażenia. Stworzyłem więc skrypt na podstawie tutka:
http://themodders.org/index.php?/topic/100-magiczna-bron/
I po kilkudziesięciu poprawkach kierowanych Waszymi radami wyszło mi ot coś takiego:
INSTANCE beliar (C_Item)
{
        name                            =       "Szpon Beliara";
 
        mainflag                        =       ITEM_KAT_NF;
        flags                           =       ITEM_SWD;
        material                        =       MAT_METAL;
 
        value                           =       0;
 
        damageTotal             =       150;
        damagetype                      =       DAM_EDGE;
        range                           =       100;
 
        cond_atr[2]             =       ATR_STRENGTH;
        cond_value[2]           =       75;
 
        visual                          =       "ItMw_BeliarWeapon_1H.3ds";
 
        description                     = name;
        TEXT[2]                         = NAME_Damage;                                  COUNT[2]        = damageTotal;
        TEXT[3]                         = NAME_Str_needed;                              COUNT[3]        = cond_value[2];
        TEXT[4]                         = NAME_OneHanded;
        TEXT[5]                         = "Szpon Beliara jest teraz bronią jednoręczną...";      
};
 
FUNC VOID weaponreaction()  
        {  
    var c_item weapon; weapon = Npc_GetReadiedWeapon (other);  
 
 
                if(Hlp_IsItem(weapon,beliar))  
                        {  
                Wld_PlayEffect("spellFX_IceCube",other,self,0,0,0,FALSE);  
                AI_StartState (self, ZS_MagicFreeze, 0, "");  
 
        };  
 
 
};
func void B_Orc_AssessCombatDamage()  
{  
        weaponreaction();  
};
func int CmpNpc(var c_npc p1,var c_npc p2)  
{  
var int old1;  
var int old2;  
var int result;  
old1=p1.aivar[0];  
old2=p2.aivar[0];  
p1.aivar[0]=0;  
p2.aivar[0]=1;  
result=p1.aivar[0];  
p1.aivar[0]=old1;  
p2.aivar[0]=old2;  
return result;  
};
 
 
func void Sbd_is_damaged()  
{  
//ERRATA if (self==other&&hero==victim)  
        if(Npc_IsPlayer(victim)&&CmpNpc(self,other))  
                {
                weaponreaction();
                };  
};

Ponadto dodałem wpis:
weaponreaction();
W tych plikach:
ZS_Reacttodamage
B_CombatReacttodamage
B_MM_ReactToDamage
B_MM_ReactToCombatDamage
B_Orc_AssessDamage

Otrzymałem również info, że należy utworzyć plik B_AssessDamage.d, którego w G1 nie ma i w którym należy dodać coś w rodzaju czegoś tam, co wyzwoli funkcje:
B_Orc_AssessCombatDamage() oraz Sbd_is_damaged()
Od razu mówię: Nie wiem, jak to zrobić i jak ma wyglądać treść tego skryptu. To pierwsza sprawa, w której potrzebuję pomocy, ale podsumuję to później...

No i to by było w sumie na tyle, jeśli chodzi o posumowanie. Teraz opiszę problemy jakie wynikły z utworzenia mojego tu oto skryptu miecza zamrażającego:
1. Po uderzeniu miecz zamraża, owszem, zamraża, jednak gdy postać się odmrozi z miecza wylatuje lodowy pocisk, który to powoduje ponowne zamrożenie bez mojej ingerencji oraz zabiera hp. W skrócie, mogę gościa trafić raz, iść sobie zjeść obiadek, kolację (co tam mi na myśl wpadnie), a po powrocie postać leży zabita i mogę kosić dalej.
2. Problem, nie problem. Jak już wyżej wspomniałem muszę lub też nie muszę utworzyć pliku B_AssessDamage.d. Jak ma on wyglądać?

Dziękuję za uwagę, oraz proszę o pomoc, w sprawie tych dwóch problemów wyżej.

Pozdrawiam, Buras :lol:
 

Buras

Buras

Użytkownicy
posty202
Propsy23
Profesjabrak
  • Użytkownicy
Odświeżam. Podsumowanie tego, co udało mi się do tej pory zrobić, powyżej.
 

Buras

Buras

Użytkownicy
posty202
Propsy23
Profesjabrak
  • Użytkownicy
Odświeżam. Podsumowanie tego, co udało mi się do tej pory zrobić, dwa posty wyżej.
 


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