(G2)Miecz Magiczny 4544 9

O temacie

Autor Agrael

Zaczęty 26.11.2010 roku

Wyświetleń 4544

Odpowiedzi 9

Agrael

Agrael

Użytkownicy
posty85
  • Użytkownicy

Agrael

(G2)Miecz Magiczny
2010-11-26, 22:08(Ostatnia zmiana: 2010-11-27, 10:49)
http://themodders.org/index.php?/topic/5900-g2nkbron-ala-szpon-beliara/

Korzystałem z tego tuta na magiczny miecz.

Skrytp tego co mi wyszło:

func void B_U(other, self); (var C_NPC oth, var C_NPC slf)
{

if (Hlp_GetInstanceID(oth) == Hlp_GetInstanceID(hero))
{
var C_ITEM ready;
var int randomdmg;
var int 90;
var int 60;

ready = Npc_GetReadiedWeapon(hero);
randomdmg = Hlp_Random (100);


if (Npc_HasItems(hero, Mieczyk) == TRUE && Hlp_IsItem(ready, Mieczyk) == TRUE)
&& (randomdmg = 50)
{
if (slf.flags != NPC_FLAG_IMMORTAL)
{
Wld_PlayEffect("spellFX_Firestorm_SPREAD", slf, slf, 0, 0, 0, FALSE );
B_MagicHurtNpc (slf, slf, 60);
};
Wld_PlayEffect("spellFX_InstantFireball_FIRECLOUD", hero, hero, 0, 0, 0, FALSE );
};

if (Npc_HasItems(hero, Mieczyk) == TRUE && Hlp_IsItem(ready, Mieczyk) == TRUE)
&& (randomdmg = 50)
{
Wld_PlayEffect("spellFX_InstantFireball_FIRECLOUD", hero, hero, 0, 0, 0, FALSE );
};
};
};

A tutaj skrypt broni:

INSTANCE Mieczyk (C_Item)
{
name = "Ostrze Innosa";

mainflag = ITEM_KAT_NF;
flags = ITEM_SWD;
material = MAT_METAL;

value = 10;

damageTotal = 1;
damagetype = DAM_EDGE;
range = 120;

cond_atr[2] = ATR_STRENGTH;
cond_value[2] = Condition_MiscSword;
visual = "ItMw_020_1h_sword_old_01.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] = NAME_Value; COUNT[5] = value;
};

A error:

U:PAR: Expected ')
' ( line 7 )
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
W pierwszym wierszu masz błąd:
func void B_U(other, self); (var C_NPC oth, var C_NPC slf)
Powinno być:
func void B_U (var C_NPC oth, var C_NPC slf)

Agrael

Agrael

Użytkownicy
posty85
  • Użytkownicy

Agrael

(G2)Miecz Magiczny
#2 2010-11-26, 22:30(Ostatnia zmiana: 2010-11-26, 22:42)
Wszystko już jest git,tylko ze efektow pracy nie ma

Waliłem mieczykiem ale nic sie nie dzieje
 

Agrael

Agrael

Użytkownicy
posty85
  • Użytkownicy
hello:P?
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

(G2)Miecz Magiczny
#4 2010-11-27, 16:53(Ostatnia zmiana: 2010-11-27, 16:54)
A gdzie umieściłeś wywoływacze funkcji? (pamiętaj że nic nie odpali się samo, każda rzecz musi zostać włączona przez jakąś inną - to podstawy wszelkiego programowania!)

BTW, trochę dziwię się że nikt nie odpisał ci w jakiś mało subtelny sposób na to:

Cytat: Agrael link=topic=12053.msg120476#msg120476#msg120476#msg120476 date=1290807045
Waliłem mieczykiem ale nic sie nie dzieje

oreca

oreca

Użytkownicy
posty196
Propsy72
Nagrody
Profesjabrak
  • Użytkownicy
Wydaje mi się że błąd jest tutaj:
&& (randomdmg = 50)

powinno być:

&& (randomdmg <= 50)
 

Jurigag

Jurigag

Użytkownicy
posty869
Propsy285
ProfesjaSkrypter
  • Użytkownicy
Kolega ma racje, ten warunek co jest nigdy nie będzie spełniony :P
 
Skrypter/Tester - Szukasz testera/skryptera - Pisz !

Agrael

Agrael

Użytkownicy
posty85
  • Użytkownicy
oreca to już dawno poprawiłem.

Fragment z tutka

Na koniec trzeba jeszcze dodać do:

B_AssessDamage.D

Który znajduje się w:

_Work\Data\Scripts\Content\AI\Human\B_Human

Oraz do:

B_MM_AssessDamage.D

Który znajduje się w:

_Work\Data\Scripts\Content\AI\Monster\B_Monster

Najłatwiej po wystąpieniu tego:

B_BeliarsWeaponSpecialDamage (other, self);

Dodać to:

B_U(other, self);

Teraz reparsować skrypty i cieszyć się nową bronią

W B_MM_AssessDamage.D niby co mam zrobić?Bo koleś nie wyjaśnił o co chodzi z tym.
 

oreca

oreca

Użytkownicy
posty196
Propsy72
Nagrody
Profesjabrak
  • Użytkownicy
To się naucz czytać. Do plików B_AssessDamage.D i B_MM_AssessDamage.D masz dodać taką lnijkę:
B_U(other, self);Trzeba ją wkleić po wystąpieniu takiej linijki:
B_BeliarsWeaponSpecialDamage (other, self);Prościej chyba się nie da ;].
 

Agrael

Agrael

Użytkownicy
posty85
  • Użytkownicy
Wkleiłem to,ale za przeproszeniem gówno to pomogło:/
 


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