Błąd w tej linijce, jaki? 7599 22

O temacie

Autor Gamer

Zaczęty 30.12.2009 roku

Wyświetleń 7599

Odpowiedzi 22

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy

Gamer

Błąd w tej linijce, jaki?
2009-12-30, 20:32(Ostatnia zmiana: 2009-12-30, 21:05)
Wld_PlayEffect ("spellFX_IceCube",attacker,defender,0,0,0,0,FALSE)
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!


Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy

Gamer

Błąd w tej linijce, jaki?
#2 2009-12-30, 20:38(Ostatnia zmiana: 2009-12-30, 20:51)
syntax error : wld_playeffect(line 42)
EDIT: Nie pomogło
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Za dużo masz argumentów w funkcji. Wywal jedno 0.

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy

Gamer

Błąd w tej linijce, jaki?
#4 2009-12-30, 21:17(Ostatnia zmiana: 2009-12-31, 15:32)
Nic to nie dało  :lol2:   to mój skrypt 42 to wld
Cytuj
func void weaponreaction (var c_npc attacker,var c_npc defender)
{
if(!Npc_IsInFightMode(attacker,FMODE_MELEE))
{return;};
var c_item weapon;
weapon=Npc_GetReadiedWeapon(attacker);
if(Hlp_IsItem(weapon,a1))
{
    //reakcja na broń a

}
else if(Hlp_IsItem(weapon,a2))
{
    //reakcja na broń b

};
};
///////////////////////////////////////////////////
////////////////////////////////////////////////////
func void B_Orc_AssessCombatDamage()
{
weaponreaction(other,self);
};
////////////////////////////////////////////////
///////////////////////////////////////////////
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(self,hero);};
};
Wld_PlayEffect ("spellFX_IceCube",attacker,defender,0,0,0,FALSE);


/////////////////////////////////////////////
/////////////////////////////////////////////////
func void B_AssessMagic_IceCube()
{
   PrintDebugNpc( PD_MAGIC, "B_AssessMagic ...IceCube oder IceWave" );   

   //   Damit andere NSCs den Angriff wahrnehmen können
   Npc_SendPassivePerc(self, PERC_ASSESSFIGHTSOUND, self, other);


// kein Freezen von SLEEPER, DEMON, GOLEM, SWAMPSHARK, TROLL und wenn Opfer in BS_SWIM oder BS_DIVE
// FIXME: MInecrawlerqueeen ist GIL_MINECRAWLER! Andere Gilde geben, damit auch sie nicht gefreezt werden kann?!
   if ( !(   (self.guild   == GIL_SLF)       ||
         (self.guild == GIL_DEMON)       ||
         (self.guild == GIL_GOLEM)       ||
         (self.guild == GIL_SWAMPSHARK)    ||
         (self.guild == GIL_TROLL)) )    &&
         ( ! (C_BodystateContains(self,BS_SWIM)) ||   (C_BodystateContains(defender,BS_DIVE)) )
   {
   Npc_ClearAIQueue(self);
   AI_StartState   (self, ZS_MagicFreeze, 0, "");
   };
};

//////////////////////////
/////////////////////////
/////////////////////////////
INSTANCE a1 (C_Item)
{
   name             =   "T";

   mainflag          =   ITEM_KAT_NF;
   flags             =   ITEM_2HD_SWD;
   material          =   MAT_METAL;

   value             =   500;

   damageTotal         =    90;
   damagetype         =   DAM_EDGE;
   range             =     150;

   cond_atr[2]         =    ATR_STRENGTH;
   cond_value[2]        =    75;

   visual             =   "ItMw_1H_Club_01.3DS.3DS";

   description         = name;
   TEXT[2]            = NAME_Damage;               COUNT[2]   = damageTotal;
   TEXT[3]          = NAME_Str_needed;            COUNT[3]   = cond_value[2];
   TEXT[4]          = NAME_TwoHanded;
   TEXT[5]            = NAME_Value;               COUNT[5]   = value;
};
/////////////////////
///////////////////
INSTANCE a2 (C_Item)
{
   name             =   "T";

   mainflag          =   ITEM_KAT_NF;
   flags             =   ITEM_2HD_SWD;
   material          =   MAT_METAL;

   value             =   500;

   damageTotal         =    90;
   damagetype         =   DAM_EDGE;
   range             =     150;

   cond_atr[2]         =    ATR_STRENGTH;
   cond_value[2]        =    75;

   visual             =   "ItMw_1H_Club_01.3DS.3DS";

   description         = name;
   TEXT[2]            = NAME_Damage;               COUNT[2]   = damageTotal;
   TEXT[3]          = NAME_Str_needed;            COUNT[3]   = cond_value[2];
   TEXT[4]          = NAME_TwoHanded;
   TEXT[5]            = NAME_Value;               COUNT[5]   = value;
};
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

jendrzejs

jendrzejs

Użytkownicy
posty586
Propsy31
Profesjabrak
  • Użytkownicy

jendrzejs

Błąd w tej linijce, jaki?
#5 2009-12-30, 21:19(Ostatnia zmiana: 2009-12-30, 21:21)
Co to jest ?
 

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy
nie widzisz miecz magiczny
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

jendrzejs

jendrzejs

Użytkownicy
posty586
Propsy31
Profesjabrak
  • Użytkownicy

jendrzejs

Błąd w tej linijce, jaki?
#7 2009-12-30, 21:30(Ostatnia zmiana: 2009-12-30, 21:31)
Miecz magiczny nie jest robiony w jednym pliku tylko trzeba to porozdzielac do poszczególnych funkcji.Nie ważne gdzie to dasz tylko żeby było zarejstrowane w gothic.src.
 

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy
czy ja wiem kierowałem się tutem Zyska
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

jendrzejs

jendrzejs

Użytkownicy
posty586
Propsy31
Profesjabrak
  • Użytkownicy
Tak jest jak sie podstaw nie zna.
 

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy
Tak jest jak sie podstaw nie zna.
ale dodałem wywołanie tego skryptu w plikach typu zs_assesdamage
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

jendrzejs

jendrzejs

Użytkownicy
posty586
Propsy31
Profesjabrak
  • Użytkownicy
Przeczytaj sobie to (Tylko nie rób miecza takedowna bo nie działa,tam na dole są rady Avallacha jak ten miecz powinien byc zrobiony) http://themodders.org/index.php?showtopic=7214
 

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy
czytałem to i wyraźnie napisał że skrypty mogą być byle gdzie byle by był ich plik w gothic.src i dodałem do trzech plików weaponreaction(other, self ) tylko nieznalazłem b_mm... i b_mm...
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Bo te dwie funkcje nie są w osobnych plikach, tylko razem z innymi upchane. Musisz wyszukiwać po ciągach znaków w zawartości, nie po nazwach. Jeśli Eksplorator Windows sobie z tym nie radzi polecam Total Commandera, ja używam go non-stop do wyszukiwania kiedy robię coś w skryptach.

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Już wszystko jasne w czym tkwi problem. Funkcja wld_playeffect jest "bezpańska"
func void Sbd_is_damaged()
{
//ERRATA if (self==other&&hero==victim)
if(Npc_IsPlayer(victim)&&CmpNpc(self,other))
{weaponreaction(self,hero);};
};
Wld_PlayEffect ("spellFX_IceCube",attacker,defender,0,0,0,FALSE);

Należy ją więc wsadzić do funkcji, czyli np. tak:
func void Sbd_is_damaged()
{
//ERRATA if (self==other&&hero==victim)
if(Npc_IsPlayer(victim)&&CmpNpc(self,other))
{weaponreaction(self,hero);};
Wld_PlayEffect ("spellFX_IceCube",attacker,defender,0,0,0,FALSE);
};

PS. Rób wcięcia. Łatwiej się wtedy czyta kod.

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy
teraz mi pokazuje w tej linijce func void B_AssessMagic_IceCube() , a Avallach świetny program
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!


Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy
redefined identifier
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Została już raz zdefiniowana taka funkcją. Sprawdź w którym pliku została zdefiniowana i... zrób z nią coś wg uznania.

Gamer

Gamer

Użytkownicy
posty245
Propsy20
Profesjabrak
  • Użytkownicy

Gamer

Błąd w tej linijce, jaki?
#19 2010-01-01, 01:53(Ostatnia zmiana: 2010-01-01, 20:06)
funkcja ta była użyta w pliku assesmagicdamage czy jakoś tak bo zysk na końcu napisał że wystarczy skopiować zawartość jednego z nich

sory za drugi post ale nie udolnie przeczytałem miałem bez funkcji tylko z jej zawartością przekopiować tylko nie wiem gdzie to wklejać





Oto mój kod nowy w 13 lini błąd bo gothic myśli że 13 i 14 jest razem ponieważ jest taki niby {(
Już sprawdzałem bez skryptu z b_asses magic ale ja chce mieć ze wali w kilku npc.
Cytuj
func void weaponreaction (var c_npc attacker,var c_npc defender)
{
if(!Npc_IsInFightMode(attacker,FMODE_MELEE))
{
return;
};

var c_item weapon;
weapon=Npc_GetReadiedWeapon(attacker);
if(Hlp_IsItem(weapon,a1))
{
Wld_PlayEffect ("spellFX_FireRain",attacker,defender,0,0,0,FALSE);
{
   PrintDebugNpc( PD_MAGIC, "B_AssessMagic_Firerain" );   

   //   Damit andere NSCs den Angriff wahrnehmen können
   Npc_SendPassivePerc(defender, PERC_ASSESSFIGHTSOUND, self, other);
};
}
else if(Hlp_IsItem(weapon,a2))
{
Wld_PlayEffect ("spellFX_IceCube",attacker,defender,0,0,0,FALSE);

};
};
///////////////////////////////////////////////////
////////////////////////////////////////////////////
func void B_Orc_AssessCombatDamage()
{
weaponreaction(other,self);
};
////////////////////////////////////////////////
///////////////////////////////////////////////
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()
{
if (self==other&&hero==victim)
{
if(Npc_IsPlayer(victim)&&CmpNpc(self,other))
{weaponreaction(self,hero);
};
};
};



//////////////////////////
/////////////////////////
/////////////////////////////
INSTANCE a1 (C_Item)
{
name =   "T";

mainflag =   ITEM_KAT_NF;
flags =   ITEM_2HD_SWD;
material =   MAT_METAL;

value =   500;

damageTotal    = 90;
damagetype    =   DAM_EDGE;
range = 150;

cond_atr[2] = ATR_STRENGTH;
cond_value[2] = 75;

visual =   "ItMw_2H_Sword_01.3DS";

description    = name;
TEXT[2]    = NAME_Damage;    COUNT[2]   = damageTotal;
TEXT[3] = NAME_Str_needed;    COUNT[3]   = cond_value[2];
TEXT[4] = NAME_TwoHanded;
TEXT[5]    = NAME_Value;    COUNT[5]   = value;
};
/////////////////////
///////////////////
INSTANCE a2 (C_Item)
{
name =   "T";

mainflag =   ITEM_KAT_NF;
flags =   ITEM_2HD_SWD;
material =   MAT_METAL;

value =   500;

damageTotal    = 90;
damagetype    =   DAM_EDGE;
range = 150;

cond_atr[2] = ATR_STRENGTH;
cond_value[2] = 75;

visual =   "ItMw_2H_Sword_01.3DS";

description    = name;
TEXT[2]    = NAME_Damage;    COUNT[2]   = damageTotal;
TEXT[3] = NAME_Str_needed;    COUNT[3]   = cond_value[2];
TEXT[4] = NAME_TwoHanded;
TEXT[5]    = NAME_Value;    COUNT[5]   = value;
}
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!


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