Broń na dwa atrybuty 2723 8

O temacie

Autor mass1500

Zaczęty 21.12.2011 roku

Wyświetleń 2723

Odpowiedzi 8

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy

mass1500

Broń na dwa atrybuty
2011-12-21, 19:24(Ostatnia zmiana: 2011-12-21, 20:44)
Mam problem dotyczący skryptu broni wymagającej 2 atrybuty. Więc gdyby ktoś mógł mi taki skrypt napisać i wytłumaczyć był bym wdzięczny.

INSTANCE ItMw_Addon_grom_sword (C_Item)
{   
   name             =   "Cięcie gromu";  
   
   mainflag          =   ITEM_KAT_NF;
   flags             =   ITEM_AXE;
   material          =   MAT_METAL;

   value             =   2000;

   damageTotal           =    150;
   damagetype          =   DAM_EDGE;   
   range             =     Range_ElBastardo;      
   
   on_equip         =   Equip_1H_10;
   on_unequip         =   UnEquip_1H_10;   

   cond_atr[2]            =    ATR_DEXTERITY|ATR_STRENGTH;   
   cond_value[ATR_DEXTERITY]   =   90;
   cond_value[ATR_STRENGTH]   =   60;

   
   visual             =   "ItMw_065_1h_sword_bastard_03.3DS";

   wear            =    WEAR_EFFECT;
   effect            =   "SPELLFX_ITEMGLIMMER";
   
   description         = name;
   TEXT[1]            = NAME_Damage;               COUNT[1]   = damageTotal;
   TEXT[2]          = NAME_Dex_needed;            COUNT[2]   = "90";
   TEXT[3]          = NAME_Str_needed;            COUNT[3]   = "60";
   TEXT[4]            = NAME_ADDON_BONUS_1H;            COUNT[4]   = Waffenbonus_10;
   TEXT[5]            = NAME_Value;               COUNT[5]   = value;
};



to jest skrypt z którym mam problem prosze wskażcie mi błąd
 

eto

eto

Użytkownicy
-Banany pod pokładem? -SĄĄĄĄĄĄ
posty1741
Propsy1793
ProfesjaLvl designer
  • Użytkownicy
  • -Banany pod pokładem? -SĄĄĄĄĄĄ
Cytuj
wskażcie mi błąd
po co. z tego co sie orientuje robi to zspy
 
Niespełniony Level Designer z ambicjami, zmęczeniem i brakiem czasu...

HerrKlebstoff

HerrKlebstoff

Użytkownicy
posty165
Propsy48
Profesjabrak
  • Użytkownicy
Dokładnie. Pokaż co pokazuje zspy i co pisze kiedy wyskakuje błąd.
 

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy

mass1500

Broń na dwa atrybuty
#3 2011-12-21, 19:53(Ostatnia zmiana: 2011-12-21, 20:44)
U:PAR CONTENT\ITEMS\IT_ADDON_WEAPON.D: Buuuuhhh, Pfife, Unmut : Array-Index out Range : C_ITEM.COND_VALUE[5]....<zParser.cpp#599>

pierwszy raz widzę taki błąd i nie wiem wgl o co chodzi...
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Cytuj
U:PAR CONTENT\ITEMS\IT_ADDON_WEAPON.D: Buuuuhhh, Pfife, Unmut : Array-Index out Range : C_ITEM.COND_VALUE[5]....<zParser.cpp#599>
cond_value[ATR_DEXTERITY] = 90;
cond_value[ATR_STRENGTH] = 60;
cond_value jest jakąś skończoną tablicą, o rozmiarze 3. ATR_DEXTERITY prawdopodobnie ma rozmiar 5, tak więc po prostu przekraczasz wartość tablicy. Wartości w tablicy indeksujesz od 0 do n-1, gdzie n jest rozmiarem tablicy.

Nie pisz postów pod sobą w krótkim odstępie czasu. Używaj opcji edytuj.

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Broń na dwa atrybuty
#5 2011-12-21, 21:04(Ostatnia zmiana: 2011-12-21, 21:21)
cond_atr[2] = ATR_DEXTERITY|ATR_STRENGTH;
cond_value[ATR_DEXTERITY] = 90;
cond_value[ATR_STRENGTH] = 60;
Ale zapis :|
Potrafiłbyś uzasadnić co chciałeś w ten sposób osiągnąć, zwłaszcza pierwszą linijką? Napisałeś że drugi element tablicy to iloczyn suma bitowa liczb bodajże 4 i 5.
A następnie przypisałeś wartości elementom innej tablicy, tym razem czwartemu i piątemu.

cond_atr[0] = ATR_DEXTERITY
cond_atr[1] = ATR_STRENGTH;
cond_value[0] = 90;
cond_value[1] = 60;
Tak jest poprawnie.

Nie rozumiem po co takie kosmiczne kombinacje, przecież nawet nie mając pojęcia o skryptach wystarczyłoby zobaczyć zapis z oryginalnych broni.

//edit: w sumie z tego co widzę w oryginalnych broniach zawsze używa się indeksu 2. Jednak z innymi też prawdopodobnie powinno zadziałać.

Jeśli nie, to możesz po prostu dodać funkcję on_equip która ręcznie sprawdzi wartość funkcji i ewentualnie zdejmie broń.

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Cytuj
Napisałeś że drugi element tablicy to iloczyn bitowy liczb bodajże 6 i 5.
Jak już co, to jest to suma bitowa.


mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
dzięki za pomoc temat do zamknięcia ;)
 


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