Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TuT] Magic BackPack


Gość Maxikk

Rekomendowane odpowiedzi

Opublikowano

Witam w tym tutorialu pokaże wam jak zrobić Magic BackPack który dodaje HP,Manę oraz Atak Magiczny tak więc zaczynamy

 

 

otwieramy config.lua i na samym końcu dodajemy:

 

------------- Magic Backpack -------------
-- Ile % ataku dodawac ma Magic Backpack?
MagicBpAtk = 10
-- Ile regenerowac ma zycia na sekunde?
MagicBpHp = 100
-- Ile regenerowac ma many na sekunde?
MagicBpMp = 100
-- Czy ma byc wlaczona opcja zmiany outfitu? (yes/no)
MagicBp = "yes"
-- Na jaki outfit ma zmieniac bp po jego zalozeniu?
MagicBpLt = 57
------------------------------------------

 

Następnie edytujemy plik const76.h i pod:

 

ITEM_WAND_OF_DRAGONBREATH    = 2191,

 

Dodajemy:

 

ITEM_MAGIC_BACKPACK        = 2000,

 

Zapisujemy i zamykamy plik i przechodzimy do pliku creature.h w creature.h pod:

 

class Creature : public AutoID, public Thing
{
public:

 

Dodajemy:

 

bool MagicBp;

 

Zapisujemy i zamykamy plik następnie przechodzimy do game.cpp i pod:

 

manaDamage = std::min(damage, targetCreature->mana);
               targetCreature->drainMana(manaDamage);
               damage = 0;
           }
           else

 

Dodajemy:

 

if(attackPlayer && attackPlayer->getItem(SLOT_BACKPACK) && attackPlayer->getItem(SLOT_BACKPACK)->getID() == ITEM_MAGIC_BACKPACK){
           double newdamage = damage*g_config.MAGIC_BACKPACK/100.0; 
           damage += (int)newdamage; 
}

 

Następnie pod:

 

#ifdef YUR_RINGS_AMULETS
           player->checkRing(thinkTicks);

 

 

Dodajemy:

 

if(g_config.MBP && player && player->items[sLOT_BACKPACK] && player->items[sLOT_BACKPACK]->getID() == ITEM_MAGIC_BACKPACK)
{

int MagicBp = g_config.MBP_LOOKTYPE;                
   if(player->looktype != MagicBp)
   {
   creature->looktype = MagicBp;
   creatureChangeOutfit(creature);
   }
}
else
{  
   if(player->looktype == g_config.MBP_LOOKTYPE)
   {                
   creature->looktype = creature->lookmaster;
   creatureChangeOutfit(creature);
   }
}

 

 

Zapisujemy i zamykamy plik następnie przechodzimy do luascript.cpp i pod:

 

MANA_INFERNO = atoi(getGlobalStringField("wandmana", 5, "13").c_str());

 

Dodajemy:

 

    MAGIC_BACKPACK = getGlobalNumber("MagicBpAtk",10); 
   MAGIC_BACKPACK_HP = getGlobalNumber("MagicBpHp",1);
   MAGIC_BACKPACK_MP = getGlobalNumber("MagicBpMp",1);
   MBP = getGlobalString("MagicBp") == "yes";
   MBP_LOOKTYPE = getGlobalNumber("MagicBpLt",1);

 

Zapisujemy i zamykamy plik następnie przechodzimy do luascript.h i pod:

 

int MANA_INFERNO;

 

Dodajemy:

 

    int MAGIC_BACKPACK;
   int MAGIC_BACKPACK_HP;
   int MAGIC_BACKPACK_MP;
   int MBP_LOOKTYPE;
   int MBP;

 

Zapisujemy i zamykamy plik następnie przechodzimy do player.cpp i pod:

 

#ifdef YUR_PREMIUM_PROMOTION
       if (promoted)
       {
           if(manaTick < promotedGainManaVector[vocation][0])
               return false;

 

Dodajemy:

 

        else if (healthTick < (promotedGainHealthVector[vocation][0] - ((promotedGainHealthVector[vocation][0] * 25) / 100)) && items[sLOT_BACKPACK] && (items[sLOT_BACKPACK]->getID()!= ITEM_MAGIC_BACKPACK || items[sLOT_BACKPACK]->getID() != ITEM_MAGIC_BACKPACK))
               return false;

 

Następnie Pod:

 

#endif //YUR_PREMIUM_PROMOTION
       {
           if(manaTick < gainManaVector[vocation][0])
               return false;

 

Dodajemy:

 

            else if (manaTick < (gainManaVector[vocation][0] - ((gainManaVector[vocation][0] * 25) / 100)) && items[sLOT_BACKPACK] && (items[sLOT_BACKPACK]->getID()!= ITEM_MAGIC_BACKPACK || items[sLOT_BACKPACK]->getID() != ITEM_MAGIC_BACKPACK))
                return false;

 

Następnie pod:

 

bool timeRingNow = (items[sLOT_RING] && items[sLOT_RING]->getID() == ITEM_TIME_RING_IN_USE);
   if (timeRing != timeRingNow)
   {
       timeRing = timeRingNow;
       setNormalSpeed();
       hasteTicks = 0;
       sendChangeSpeed(this);
       sendIcons();
   }

 

Dodajemy:

 

    if(items[sLOT_BACKPACK] && items[sLOT_BACKPACK]->getID() == ITEM_MAGIC_BACKPACK)
   {
   mana += min(g_config.getGlobalNumber("MagicBpMp", 1), manamax - mana);
   health += min(g_config.getGlobalNumber("MagicBpHp", 1), healthmax - health);
   }

 

Zapisujemy i kompilujemy silnik :) gotowe od teraz macie Magic BackPack na swoim serwerze

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...