Specjalne wymagania broni - problem z warunkiem 2910 6

O temacie

Autor mass1500

Zaczęty 30.12.2011 roku

Wyświetleń 2910

Odpowiedzi 6

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
chciałem napisać skrypt broni która może być aktywowana tylko przy założeniu odpowiedniego pancerz
lecz nie mając go założonego (ani nawet nie trzeba mieć w eq) postac może założyć tą broń

instance Itmw_addon_noze (C_Item)
{
   name             =   "Rękawica";

   mainflag          =   ITEM_KAT_FF;
   flags             =   ITEM_crossbow;
   material          =   MAT_WOOD;

   value             =   1000;

   damageTotal         =   100;
   damagetype         =   DAM_POINT;
   munition         =   itmw_addon_rzucac;

   cond_atr[2]            =    ATR_DEXTERITY;
   cond_value[2]           =    80;
   
   on_equip          =    Equip_zxc;
   on_unequip         =    unEquip_zxc;   

   description         = name;
   TEXT[2]            = NAME_Damage;               COUNT[2]   = damageTotal;
   TEXT[3]          = NAME_Dex_needed;            COUNT[3]   = cond_value[2];
   TEXT[5]            = NAME_Value;               COUNT[5]   = value;
};
FUNC VOID Equip_zxc()
    {
var C_Item itm;
itm = Npc_GetEquippedArmor(other);
if (Hlp_IsItem (itm, armor_last) == TRUE)

 {
        AI_UnequipWeapons(hero);
        print("Załóż odpowiedni pancerz!");
        };

   };
FUNC VOID UnEquip_zxc()
{
};




co tu jest nie tak??
 

Demonical Monk

Demonical Monk

Użytkownicy
posty145
Propsy152
  • Użytkownicy


Chyba nie muszę mówić którą drogę wybrałeś? Podaj jakiekolwiek informacje. Jakieś błędy? Kompiluje się, ale nie ma efektu?
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Cytuj
instance Itmw_addon_noze (C_Item)
{
name =   "Rękawica";

mainflag =   ITEM_KAT_FF;
flags =   ITEM_crossbow;
material =   MAT_WOOD;

value =   1000;

damageTotal    =   100;
damagetype    =   DAM_POINT;
munition    =   itmw_addon_rzucac;

cond_atr[2] = ATR_DEXTERITY;
cond_value[2] = 80;

on_equip = Equip_zxc;
on_unequip    = unEquip_zxc;   

description    = name;
TEXT[2]    = NAME_Damage;    COUNT[2]   = damageTotal;
TEXT[3] = NAME_Dex_needed;    COUNT[3]   = cond_value[2];
TEXT[5]    = NAME_Value;    COUNT[5]   = value;
};
FUNC VOID Equip_zxc()
{
var C_Item itm;
itm = Npc_GetEquippedArmor(other);
if (Hlp_IsItem (itm, armor_last) == TRUE)

{
AI_UnequipWeapons(hero);
print("Załóż odpowiedni pancerz!");
};

};
FUNC VOID UnEquip_zxc()
{
};

Skrypt nie wie, od czego zacząć, bo masz "Jeśli gracz ma założony pancerz, to ma "zdjąć" broń".

instance Itmw_addon_noze (C_Item)
{
name = "Rękawica";

mainflag = ITEM_KAT_FF;
flags = ITEM_crossbow;
material = MAT_WOOD;

value = 1000;

damageTotal = 100;
damagetype = DAM_POINT;
munition = itmw_addon_rzucac;

cond_atr[2] = ATR_DEXTERITY;
cond_value[2] = 80;

on_equip = Equip_zxc;
on_unequip = unEquip_zxc;

description = name;
TEXT[2] = NAME_Damage; COUNT[2] = damageTotal;
TEXT[3] = NAME_Dex_needed; COUNT[3] = cond_value[2];
TEXT[5] = NAME_Value; COUNT[5] = value;
};
FUNC VOID Equip_zxc()
{
var C_Item itm;
itm = Npc_GetEquippedArmor(other);
if (Hlp_IsItem (itm, armor_last) == TRUE)
{
print ("spełniasz wymagania.");
}
else
{

AI_UnequipWeapons(hero);
print("Załóż odpowiedni pancerz!");

};
};
FUNC VOID UnEquip_zxc()
{
};

I tak jeszcze czegoś tu chyba brakuje, piszę z telefonu, więc nie powiem dokładnie co.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy


Chyba nie muszę mówić którą drogę wybrałeś? Podaj jakiekolwiek informacje. Jakieś błędy? Kompiluje się, ale nie ma efektu?



napisalem ze nie wykrywa bledow w skrypcie ale mimo to niedziala to jakie niby mam pokazac bledy??
skoro nie chcesz/nie umisz pomoc tylko chcesz napisac cos bez sensu lepiej wgl nie pisz


sry za ewentualne bledy ale pisze z telefony




edit///////////////////////////////////////
///////////////////////////////////////////

juz se poradzilem dzieki za pomoc
temat do zamkniecia
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Ehem, obaj sprawdzacie jaką zbroję ma założony OTHER. Nie mam pojęcia kim on jest w tym przypadku, prawdopodobnie jakimś losowym npc'em który ostatnio coś robił. Tutaj trzeba sprawdzać SELFa, czyli postać która wykonuje daną czynność (w tym przypadku zakłada zbroję).

instance Itmw_addon_noze (C_Item)
{
name = "Rękawica";

mainflag = ITEM_KAT_FF;
flags = ITEM_crossbow;
material = MAT_WOOD;

value = 1000;

damageTotal = 100;
damagetype = DAM_POINT;
munition = itmw_addon_rzucac;

cond_atr[2] = ATR_DEXTERITY;
cond_value[2] = 80;

on_equip = Equip_Itmw_addon_noze;

description = name;
TEXT[2] = NAME_Damage; COUNT[2] = damageTotal;
TEXT[3] = NAME_Dex_needed; COUNT[3] = cond_value[2];
TEXT[5] = NAME_Value; COUNT[5] = value;
};

FUNC VOID Equip_Itmw_addon_noze()
{
if (!Hlp_IsItem(Npc_GetEquippedArmor(self), armor_last) && Npc_IsPlayer(self))
{
AI_UnequipWeapons(self);
print("Załóż odpowiedni pancerz!");
};
};

Popraw tytuł tematu, nie mówi o nim nic konkretnego (to dział problematyka->skrypty, to oczywiste że prawie każdy temat jest o tym że "skrypt nie działa").

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Ja to z telefonu poprawiałem i nie zauważyłem tego "other'a".
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
if (Hlp_IsItem (itm, armor_last) == TRUE)Fajne ;d  tak na przyszłość if wykonuje się gdy funkcja lub warunek logiczny zwróci wartość TRUE więc porównywanie do TRUE jest dziwne ;)


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