[C++]SYSTEM MUTARE BONUSURI

Închis
Avatar utilizator
Electrico
Nivel 2

Nivel 2
Mesaje: 288
Membru din: 16 Oct 2015, 12:32
Server: Respawn
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 302  
Medalii

Imagine
Adauga in config.cpp sub linia corespunzatoare :

Cod: Selectaţi tot

int    CostumeTransferBonusItemVnum = 71084;
Adauga in config.h sub linia corespunzatoare :

Cod: Selectaţi tot

extern int CostumeTransferBonusItemVnum;
Adauga in char.h sub linia corespunzatoare :

Cod: Selectaţi tot

void CHARACTER::CostumeBonusTransfer(DWORD cell1, DWORD cell2){
    if ((GetExchange() || IsOpenSafebox() || GetShopOwner()) || IsCubeOpen() || IsDead()){
        ChatPacket(CHAT_TYPE_INFO, "Nie mozesz teraz wykonac tej operacji!");
        return;
    }


    LPITEM costume1 = GetInventoryItem(cell1);
    if (!costume1){
        ChatPacket(CHAT_TYPE_INFO, "Nie odnaleziono pierwszego kostiumu.");
        return;
    }
    
    if (costume1->GetType() != ITEM_COSTUME || costume1->GetType() == ITEM_COSTUME && costume1->GetSubType() != COSTUME_BODY){
        ChatPacket(CHAT_TYPE_INFO, "Pierwszy przedmiot nie jest kostiumem!");
        return;
    }
    
    if (costume1->IsEquipped()){
        ChatPacket(CHAT_TYPE_INFO, "Kullanılamaz kostüm.");
        return;
    }
    
    LPITEM costume2 = GetInventoryItem(cell2);
    if (!costume2){
        ChatPacket(CHAT_TYPE_INFO, "Slotta kostüm yok.");
        return;
    }
    
    if (costume2->GetType() != ITEM_COSTUME || costume2->GetType() == ITEM_COSTUME && costume2->GetSubType() != COSTUME_BODY){
        ChatPacket(CHAT_TYPE_INFO, "Malesef bunula yapamazsın");
        return;
    }
    
    if (costume2->IsEquipped()){
        ChatPacket(CHAT_TYPE_INFO, "Böyle bir kostüm kullanamazsın");
        return;
    }
    
    if (CountSpecifyItem(CostumeTransferBonusItemVnum) < 1){
        ChatPacket(CHAT_TYPE_INFO, "Bonus yok Neyi aktaracaksın.");
        return;
    }
    
    if (costume2->GetAttributeCount() < 1){
        ChatPacket(CHAT_TYPE_INFO, "İkinci Slota İyi bak!");
        return;
    }
    
    
    RemoveSpecifyItem(CostumeTransferBonusItemVnum, 1);
    costume1->ClearAttribute();
    for (int i = 0; i < costume2->GetAttributeCount(); i++){
        costume1->SetForceAttribute(i, costume2->GetAttributeType(i), costume2->GetAttributeValue(i));
    }
    
    costume2->RemoveFromCharacter();
    
    ChatPacket(CHAT_TYPE_INFO, "Başarılı bir şekilde Transfer Edildi!");

}
Adauga in char.h sub linia corespunzatoare :

Cod: Selectaţi tot

void            CostumeBonusTransfer(DWORD cell1, DWORD cell2);

Adauga in cmd.cpp sub linia corespunzatoare :

Cod: Selectaţi tot

ACMD(do_costume_transfer_bonus);
Adauga in cmd.cpp sub linia corespunzatoare : (atentie la spatii)

Cod: Selectaţi tot

{ "cartof_muta_bonus",do_costume_transfer_bonus,0,POS_DEAD,GM_PLAYER },
Adauga in cmd_general.cpp sub linia corespunzatoare :

Cod: Selectaţi tot

ACMD(do_costume_transfer_bonus)
    {
    char arg1[256], arg2[256];
    DWORD cell1, cell2;
    two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));


    if (!*arg1 || !*arg2)
        return;
    str_to_number(cell1, arg1);
    str_to_number(cell2, arg2);


    if (cell1 < 0 || cell1 > INVENTORY_MAX_NUM || cell2 < 0 || cell2 > INVENTORY_MAX_NUM || cell1 == cell2)
        return;


    ch->CostumeBonusTransfer(cell1, cell2);

}
Dupa ce faceti toti pasii, intrati in joc si bagati comanda :

Cod: Selectaţi tot

/cartof_muta_bonus slot1 slot2
sau puteti pune pe un npc la fel cum e si la esarfe. (easy - daca vrei te pot ajuta)
Nu uita de thanks.
Imagine

Daca te-am ajutat, apasa pe butonul "Multumesc" !
Afișează semnătura
Avatar utilizator
CrazyWorld
Nivel 1

Nivel 1
Mesaje: 135
Membru din: 11 Aug 2013, 16:08
Server: Candy Longju
Regat: Jinno
Aprecieri: 2  
Mulţumiri: 7  
 Contact:
Medalii

Nu este complet!
Afișează semnătura
Avatar utilizator
M. Andrei - Marian
Veteran

Veteran
Mesaje: 5692
Membru din: 05 Ian 2016, 15:30
Aprecieri: 302  
Mulţumiri: 958  
Medalii

Închis
Răspunsuri
2
Vizualizări
406
Răspunsuri
3
Vizualizări
227
Răspunsuri
3
Vizualizări
380
Răspunsuri
1
Vizualizări
145

Înapoi la “Arhivă”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 5 vizitatori