SOL
SAĞ
[C++] Bonus Transfer Sistemi
SİDEBAR REKLAMI


Config.cpp açılır
 

Kod:

int    CostumeTransferBonusItemVnum = 71084;



Config.h açılır
 

Kod:

extern int CostumeTransferBonusItemVnum;



char.h açılır
 

Kod:

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!");

}



char.h açılır
 

Kod:

void            CostumeBonusTransfer(DWORD cell1, DWORD cell2);



cmd.cpp açılır
 

Kod:


 

Kod:

ACMD(do_costume_transfer_bonus);
[B]---[/B]
{ "kostum_degis_bonus",do_costume_transfer_bonus,0,POS_DEAD,GM_PLAYER},



Cmd_general.cpp açılır
 

Kod:

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);

}



Çalışma şekli;

/kostum_degis_bonus slot1 slot2

Slot1 deki bonuslar
slot2 deki bonuslara eklenir.

YAZAR HAKKINDA;
arcface
Admin

Web Developer

KONU YORUMLARI
YORUM YAP
Image

C++ / C# / Python

[C++] Bonus Transfer Sistemi

[C++] Bonus Transfer Sistemi [C++] Bonus Transfer Sistemi [C++] Bonus Transfer Sistemi [C++] Bonus Transfer Sistemi [C++] Bonus Transfer Sistemi [C++] Bonus Transfer Sistemi

EN ÇOK OKUNAN 5 MAKALELER
arcface
Admin Yazdı;

2 ay önce

Yarı insan denilince ne anlıyoruz önce ona bir bakalım. Yarı insan; bi..

arcface
Admin Yazdı;

2 ay önce

Rubinum2 Web Panel Rubinum2 Web Panel Rubinum2 Web PanelRubinum2 Web..

arcface
Admin Yazdı;

2 ay önce

Afro2 Web Panel Kodlaması Afro2 Web Panel Kodlaması Afro2 Web Pane..

arcface
Admin Yazdı;

2 ay önce

Discord Widget Discord Widget Discord Widget Discord Widget Di..

arcface
Admin Yazdı;

2 ay önce

Aegea2 Site Teması İndir Aegea2 Site Teması İndir Aegea2 Site Teması..