monolog ostrzenia miecza 3231 3

O temacie

Autor pawbuj

Zaczęty 2.01.2010 roku

Wyświetleń 3231

Odpowiedzi 3

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy

pawbuj

monolog ostrzenia miecza
2010-01-02, 06:45(Ostatnia zmiana: 2010-01-02, 06:46)
na podstawie skryptów MT zrobiłem monolog ostrzenia mieczy.

jednak wystąpiły następujące bugi:

1. do osełki możemy podejść jeżeii mamy itmiswordblade
2. zaraz po zakończeniu ostrzenia tworzy nam się niewykończony miecz
3. wybierając opcje odejdź od osełki, bohater dalej ostrzy na kole - dopiero używając klawiszy mozna oderwaś sie od koła[codebox]var int sharp_chanse;
var int antic;
func void sharpnery()
{

   self.aivar[AIV_INVINCIBLE] = FALSE;

   PrintScreen("Właśnie naostrzyłeś oręż.",-1,-1,"font_old_20_white.tga",3);
   MOBUSE = 0;
   PrintGlobals(PD_ITEM_MOBSI);
   Npc_SendPassivePerc(hero,PERC_ASSESSENTERROOM,NULL,hero);
   };

func void sharpnery_s1()
{
   var C_Npc him;
   var C_Npc rocker;
   MOBUSE = SHARPNERY_USING;
   him = Hlp_GetNpc(PC_Hero);
   rocker = Hlp_GetNpc(PC_Rockefeller);
   if((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(him)) || (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(rocker)))
   {
      self.aivar[AIV_INVINCIBLE] = TRUE;
      AI_ProcessInfos(him);
   };
};


instance NOSHARP1(C_Info)
{
   npc = PC_Hero;
   nr = 999;
   condition = NOSHARP1_condition;
   information = NOSHARP1_info;
   important = 0;
   permanent = 1;
   description = "Nie potrafisz ostrzyć mieczy.";
};


func int NOSHARP1_condition()
{
   if (MOBUSE == SHARPNERY_USING) && (sharpner == FALSE)
   {
      return 1;
   };
};

func void NOSHARP1_info()
{
   AI_StopProcessInfos (self);
   MOBUSE = 0;
   self.aivar[AIV_INVINCIBLE] = FALSE;
};


instance NOSHARP(C_Info)
{
   npc = PC_Hero;
   nr = 999;
   condition = NOSHARP_condition;
   information = NOSHARP_info;
   important = 0;
   permanent = 1;
   description = "Odejdź od kamienia szlifierskiego.";
};


func int NOSHARP_condition()
{
   if (MOBUSE == SHARPNERY_USING) && (sharpner == TRUE)
   {
      return 1;
   };
};

func void NOSHARP_info()
{
   
   AI_StopProcessInfos (self);
   MOBUSE = 0;
   self.aivar[AIV_INVINCIBLE] = FALSE;
};

instance goodlongsword_sharp(C_Info)
{
   npc = PC_Hero;
   condition = goodlongsword_sharp_condition;
   information = goodlongsword_sharp_info;
   important = 0;
   permanent = 1;
   description = "Naostrz antyczny miecz od Thorusa!";
};


func int goodlongsword_sharp_condition()
{
   if (MOBUSE == SHARPNERY_USING) && (sharpner == TRUE)&&(Npc_HasItems(hero,ItMw_1H_Sword_99) >= 1)
   {
      return 1;
   };
};

func void goodlongsword_sharp_info()
{
   AI_StopProcessInfos (self);
   sharp_chanse = Hlp_Random(1);
   if(sharp_chanse == 0)
   {
      ItMw_1H_Sword_99.TEXT[0]         = "Naostrzony miecz.";
      ItMw_1H_Sword_99.TEXT[1]         = "Należy teraz do Beziminnego,";
      ItMw_1H_Sword_99.damagetotal +=12;
      ItMw_1H_Sword_99.COUNT[2] = ItMw_1H_Sword_99.damageTotal;
      sharpnery();
   }
   else if(sharp_chanse == 1)
   {
      ItMw_1H_Sword_99.TEXT[0]         = "Dobrze naostrzony miecz.";
      ItMw_1H_Sword_99.damagetotal +=14;
      ItMw_1H_Sword_99.COUNT[2] = ItMw_1H_Sword_99.damageTotal;
      sharpnery();
   };
};
[/codebox]
 

maciejG

maciejG

Użytkownicy
posty450
Propsy1
  • Użytkownicy
1. W Spacerze usunąć opcję usewithitem.
3. Tego raczej się nie da zmienić.
 
Spoiler

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

monolog ostrzenia miecza
#2 2010-01-02, 14:57(Ostatnia zmiana: 2010-01-02, 14:57)
2. Może przy wychodzeniu z ostrzenia dodaj funkcję która zabiera nam z EQ jeden niewykończony miecz, lub, trochę na około, dodaje -1 niewykończony miecz (są to dwie różne funkcje).
3. Tego niemal na pewno nie można zmienić, zresztą chyba w niczym to nie przeszkadza.

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
1. W Spacerze usunąć opcję usewithitem.
3. Tego raczej się nie da zmienić.
jak usunę useiwithitem to w ogóle nie ma ostrzenia
 


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