Magiczna zbroja 1818 4

O temacie

Autor banner

Zaczęty 14.02.2009 roku

Wyświetleń 1818

Odpowiedzi 4

banner

banner

Użytkownicy
posty25
  • Użytkownicy
Witam chciałbym się zapytac czy może mnie ktoś  napisac jak zrobic magiczna zbroje w której
jeśli ktos mnie uderzy i zmniejszy się moja ilośc hp zbroja automatycznie mi je odnowi :lol2:  ??

Da się ta?? i jeśli tak to czy może mnie ktoś napisa taki skrypt
 

Kretoszczur

Kretoszczur

Użytkownicy
posty31
  • Użytkownicy

Kretoszczur

Magiczna zbroja
#1 2009-02-14, 10:44(Ostatnia zmiana: 2009-02-14, 10:45)
[list=1]
  • To foum nie jest od gotowców. Tylko od problemów -.-
  • Po co się męczyć jak można dać obronę na 9999 i gicio.
  • Najlepszym nauczycielem są inne skrypty...
Gothic I

[codebox]INSTANCE MOJA_S_ZBROJA(C_Item) // unikalna nazwa (ta od insert)
{
name = "Excellent Super Zbroja + 15"; // nazwa

mainflag = ITEM_KAT_ARMOR; //kategoria
flags = 0;    //flaga = 0

protection [PROT_EDGE] = 99999; //obrona
protection [PROT_BLUNT] = 99999; //obrona
protection [PROT_POINT] = 99999; //obrona
protection [PROT_FIRE] = 99999; //obrona
protection [PROT_MAGIC] = 99999; //obrona

value = 1000; //wartość  w rudzie, złocie

wear = WEAR_TORSO; // tego nie zmieniaj

visual = "sldh.3ds"; //model
visual_change = "Hum_sldh_ARMOR.asc"; //wygląd
visual_skin = 0; //tekstura
material = MAT_LEATHER; //materiał
descript = "Gwarantuje nieśmiertelność"; //opis

TEXT[0] = "Wymagana siła:"; COUNT[0] = 0;
TEXT[1] = NAME_Prot_Edge; COUNT[1] = protection [PROT_EDGE];
TEXT[2] = NAME_Prot_Point; COUNT[2] = protection [PROT_POINT];
TEXT[3] = NAME_Prot_Fire; COUNT[3] = protection [PROT_FIRE];
TEXT[4] = NAME_Prot_Magic; COUNT[4] = protection [PROT_MAGIC];
TEXT[5] = NAME_Value; COUNT[5] = value;

on_equip = Equip_ARMOR9999;
on_unequip = UnEquip_ARMOR9999;
};

FUNC VOID Equip_ARMOR9999()
{
//co sie stanie gdy założysz
};

FUNC VOID UnEquip_ARMOR9999()
{
//co sie stanie gdy zdejmiesz
};
[/codebox]

Do GII poczytaj skrypty wygląda podobnie...
 
Sry za moje beznadziejne pytania.

banner

banner

Użytkownicy
posty25
  • Użytkownicy

banner

Magiczna zbroja
#2 2009-02-14, 10:56(Ostatnia zmiana: 2009-02-14, 15:46)
HEHE no właśnie chodziło mi jak zrobic to na zasadzie Equip bo gdy wpisze
FUNC VOID Equip_ARMOR9999()
{
if (self.attribute[ATR_HITPOINTS] < other.attribute[ATR_HITPOINTS_MAX])
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Essenz);

i wyskakuje mi błąd IF

Co źle robię ?? jak to napisac by było dobrze

Koduj skrypty.
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Magiczna zbroja
#3 2009-02-14, 11:01(Ostatnia zmiana: 2009-02-14, 11:02)
if (self.attribute[ATR_HITPOINTS] < other.attribute[ATR_HITPOINTS_MAX])Bądź konsekwentny. Albo self, albo other.

Cytuj
i wyskakuje mi błąd IF
Ale konkretnie: jaki?

Kretoszczur

Kretoszczur

Użytkownicy
posty31
  • Użytkownicy
Po pierwsze zamiast tego:
FUNC VOID Equip_ARMOR9999()
{
if (self.attribute[ATR_HITPOINTS] < other.attribute[ATR_HITPOINTS_MAX])
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Essenz);

daj to:

Cytuj
FUNC VOID Equip_ARMOR9999()
{
   if (other.attribute[ATR_HITPOINTS] < other.attribute[ATR_HITPOINTS_MAX])
   {
      Npc_ChangeAttribute    (other,    ATR_HITPOINTS,    HP_Essenz);
   }; // Tego nie możesz pomijać :D
}; // Tego też :P
Nie wiem na którego G piszesz skrypty. Ale ja to: HP_Essenz zamienił bym na liczbę np. 100, albo na: other.attribute[ATR_HITPOINTS_MAX]
 
Sry za moje beznadziejne pytania.


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