Перейти к содержанию

Прошу помощи со встраиванием


Рекомендуемые сообщения

Использую рАмод, суть такова что при встраивании в доспех или какой либо итем сферки ( она не даёт тех параметров которые я задал )
Например:
В доспехе 1 слот  - В слоте стоит гостринг
Встраиваю туда камень на хп

Вот скрипт :

31608,Silver_Bradium,Silver Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHP,18579; },{},{}

Одеваю броньку хп не изменилось, Странно то что на другом Эмуляторе работает идеально, а на этом нет...
31598,Black_Bradium,Black Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Water,25; bonus2 bSubEle,Ele_Dark,25; bonus2 bSubEle,Ele_Undead,25; },{},{}
31599,Blue_Bradium,Blue Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Wind,25; bonus2 bSubEle,Ele_Earth,25; bonus2 bSubEle,Ele_Fire,25; },{},{}
31600,Brown_Bradium,Brown Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Holy,25; bonus2 bSubEle,Ele_Poison,25; bonus2 bSubEle,Ele_Ghost,25; },{},{}
31601,Cyan_Bradium,Cyan Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus2 bResEff,Eff_Stun,2500; bonus2 bResEff,Eff_Sleep,2500; bonus2 bResEff,Eff_Blind,2500; },{},{}
31602,Gold_Bradium,Gold Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus2 bResEff,Eff_Curse,2500; bonus2 bResEff,Eff_Freeze,2500; bonus2 bResEff,Eff_Silence,2500; },{},{}
31603,Green_Bradium,Green Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddEle,Ele_Undead,20; bonus2 bAddEle,Ele_Water,20; bonus2 bAddEle,Ele_Dark,20; },{},{}
31604,Orange_Bradium,Orange Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddEle,Ele_Fire,20; bonus2 bAddEle,Ele_Earth,20; bonus2 bAddEle,Ele_Wind,20; },{},{}
31605,Pink_Bradium,Pink Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddEle,Ele_Poison,20; bonus2 bAddEle,Ele_Holy,20; bonus2 bAddEle,Ele_Ghost,20; },{},{}
31606,Purple_Bradium,Purple Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus bAtkRate,10; },{},{}
31607,Red_Bradium,Red Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus bMatkRate,10; },{},{}
31608,Silver_Bradium,Silver Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHP,18579; },{},{}
31609,White_Bradium,White Embedded stone Lv.5,6,20,,10,,,,,,,,,,,,,{ bonus bMaxSP,7942; },{},{}

Не один из этих камней не дают бонус но встраивание успешное...
Я незнаю может эмулятор запрещает использовать скрытые слоты? Если кто сталкивался, или Мастера, подскажите разгадку а то эта тайна не даёт мне покоя...


Вот Скрипт которым встраивается сферка в вещь

GtRoMall,93,163,4    script    Мастер Инкрустации    667,{

function Insertion;
Insertion( "Zeny",5000000 );


function    Insertion    {
if (getgroupid() == 0 ) {set .@ZenyDiscount,getarg(1); }
if (getgroupid() == 1 ) {set .@ZenyDiscount,(getarg(1)/100)*95; }
if (getgroupid() == 2 ) {set .@ZenyDiscount,(getarg(1)/100)*90; }
if (getgroupid() >= 3 ) {set .@ZenyDiscount,(getarg(1)/100)*80; }

mes "["+.StoneHardName$+"]";
mes "Привет я Волшебник.";
mes "Я могу встроить самоцветы в твое снаряжение.";
mes "Для этого мне надо:";
mes "^0000FFВсего: "+.@ZenyDiscount+" Zeny^000000";

 

for( set .@c,.StartIds; .@c <= .EndIds; set .@c,.@c + 1 )
    if( countitem( .@c ) ){
        set .@StoneHard[ getarraysize( .@StoneHard ) ],.@c;
        set .@Menu$,.@Menu$ + getitemname( .@c )+":";
    }
next;
    
    if(zeny<.@ZenyDiscount) { mes "["+.StoneHardName$+"]"; mes "У тебя нехватает Zeny.";  close;}
    if( .@Menu$ == "" || !getarraysize( .@StoneHard ) ){ mes "["+.StoneHardName$+"]"; mes "У тебя нету самоцветов.";close;
}else{
    if (  getequipisequiped(6) == 0 && getequipisequiped(5) == 0 && getequipisequiped(4) == 0 && getequipisequiped(7) == 0 &&
    getequipisequiped(8) == 0 && getequipisequiped(3) == 0 && getequipisequiped(2) == 0) {
    mes "["+.StoneHardName$+"]";
    mes "Чтобы, вставить самоцвет, наденьте необходимую вещь.";
    close;
    }
    set .@i,select( .@Menu$ ) - 1;
    switch(select( ( getequipisequiped(1) == 0 )?"":"Голова[ ^1200ff"+getequipname(1)+"^000000 ]",
            ( getequipisequiped(9) == 0 )?"":"Голова[ ^1200ff"+getequipname(9)+"^000000 ]",
            ( getequipisequiped(10) == 0 )?"":"Голова[ ^1200ff"+getequipname(10)+"^000000 ]",
            ( getequipisequiped(2) == 0 )?"":"Броня[ ^1200ff"+getequipname(2)+"^000000 ]",
            ( getequipisequiped(3) == 0 )?"":"Щит [ ^1200ff"+getequipname(3)+"^000000 ]",
            ( getequipisequiped(5) == 0 )?"":"Мантия[ ^1200ff"+getequipname(5)+"^000000 ]",
            ( getequipisequiped(6) == 0 )?"":"Обувь [ ^1200ff"+getequipname(6)+"^000000 ]",
                "^FF0000Отмена^000000")) {
        

    Case 1:
        set .@itemtype,1;
        goto GO_TO_SELECT_SLOT;
    Case 2:
        set .@itemtype,9;
        goto GO_TO_SELECT_SLOT;
    Case 3:
        set .@itemtype,10;
        goto GO_TO_SELECT_SLOT;
    Case 4:
        set .@itemtype,2;
        goto GO_TO_SELECT_SLOT;
    Case 5:
        set .@itemtype,3;
        goto GO_TO_SELECT_SLOT;
    Case 6:
        set .@itemtype,5;
        goto GO_TO_SELECT_SLOT;
    Case 7:
        set .@itemtype,6;
        goto GO_TO_SELECT_SLOT;
    Case 8:
        close;
    }
}

GO_TO_SELECT_SLOT:    
                set .@itemid,getequipid(.@itemtype);
                set .@itemrefi,getequiprefinerycnt(.@itemtype);
                set .@itemcard,getequipcardid(.@itemtype,0);
                set .@itemcard2,getequipcardid(.@itemtype,1);
                set .@itemcard3,getequipcardid(.@itemtype,2);
                set .@itemcard4,getequipcardid(.@itemtype,3);

                mes "Название: ^0000FF"+getitemname(.@itemid)+"^000000";
                mes "Заточка ^0000FF+"+.@itemrefi+"^000000";
                if (.@itemcard > 0) mes "Карта: ^0000FF"+getitemname(.@itemcard)+"^000000";
                if (.@itemcard2 > 0) mes "Слот 1: ^0000FF"+getitemname(.@itemcard2)+"^000000";
                if (.@itemcard3 > 0) mes "Слот 2: ^0000FF"+getitemname(.@itemcard3)+"^000000";
                if (.@itemcard4 > 0) mes "Слот 3: ^0000FF"+getitemname(.@itemcard4)+"^000000";
                if (.@itemcard2 != 0 && .@itemcard3 != 0 && .@itemcard4 != 0) {mes "Все слоты заняты."; close;}
            switch(select( ( .@itemcard2 != 0 )?"":"Вставить в 1 слот",( .@itemcard3 != 0 )?"":"Вставить в 2 слот",( .@itemcard4 != 0 )?"":"Вставить в 3 слот","Отмена")) {
            Case 1:
                set .@Item_slot,1;
                goto INSERT_TO_SLOT;
            Case 2:
                set .@Item_slot,2;
                goto INSERT_TO_SLOT;
            Case 3:
                set .@Item_slot,3;
                goto INSERT_TO_SLOT;
            Case 4:
                close;
}


INSERT_TO_SLOT:

                if( .@StoneHard[.@i] == 31597 && (getequipcardid (.@itemtype,0) == 31609 || getequipcardid (.@itemtype,1) == 31609 ||
                getequipcardid (.@itemtype,2) == 31609 || getequipcardid (.@itemtype,3) == 31609 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31609 && (getequipcardid (.@itemtype,0) == 31597 || getequipcardid (.@itemtype,1) == 31597 ||
                getequipcardid (.@itemtype,2) == 31597 || getequipcardid (.@itemtype,3) == 31597 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }

                if( .@StoneHard[.@i] == 31596 && (getequipcardid (.@itemtype,0) == 31608 || getequipcardid (.@itemtype,1) == 31608 ||
                getequipcardid (.@itemtype,2) == 31608 || getequipcardid (.@itemtype,3) == 31608 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31608 && (getequipcardid (.@itemtype,0) == 31596 || getequipcardid (.@itemtype,1) == 31596 ||
                getequipcardid (.@itemtype,2) == 31596 || getequipcardid (.@itemtype,3) == 31596 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }

                if( .@StoneHard[.@i] == 31593 && (getequipcardid (.@itemtype,0) == 31605 || getequipcardid (.@itemtype,1) == 31605 ||
                getequipcardid (.@itemtype,2) == 31605 || getequipcardid (.@itemtype,3) == 31605 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31605 && (getequipcardid (.@itemtype,0) == 31593 || getequipcardid (.@itemtype,1) == 31593 ||
                getequipcardid (.@itemtype,2) == 31593 || getequipcardid (.@itemtype,3) == 31593 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }

                if( .@StoneHard[.@i] == 31592 && (getequipcardid (.@itemtype,0) == 31604 || getequipcardid (.@itemtype,1) == 31604 ||
                getequipcardid (.@itemtype,2) == 31604 || getequipcardid (.@itemtype,3) == 31604 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31604 && (getequipcardid (.@itemtype,0) == 31592 || getequipcardid (.@itemtype,1) == 31592 ||
                getequipcardid (.@itemtype,2) == 31592 || getequipcardid (.@itemtype,3) == 31592 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }

                if( .@StoneHard[.@i] == 31591 && (getequipcardid (.@itemtype,0) == 31603 || getequipcardid (.@itemtype,1) == 31603 ||
                getequipcardid (.@itemtype,2) == 31603 || getequipcardid (.@itemtype,3) == 31603 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31603 && (getequipcardid (.@itemtype,0) == 31591 || getequipcardid (.@itemtype,1) == 31591 ||
                getequipcardid (.@itemtype,2) == 31591 || getequipcardid (.@itemtype,3) == 31591 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }

                if( .@StoneHard[.@i] == 31590 && (getequipcardid (.@itemtype,0) == 31602 || getequipcardid (.@itemtype,1) == 31602 ||
                getequipcardid (.@itemtype,2) == 31602 || getequipcardid (.@itemtype,3) == 31602 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31602 && (getequipcardid (.@itemtype,0) == 31590 || getequipcardid (.@itemtype,1) == 31590 ||
                getequipcardid (.@itemtype,2) == 31590 || getequipcardid (.@itemtype,3) == 31590 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }

                if( .@StoneHard[.@i] == 31589 && (getequipcardid (.@itemtype,0) == 31601 || getequipcardid (.@itemtype,1) == 31601 ||
                getequipcardid (.@itemtype,2) == 31601 || getequipcardid (.@itemtype,3) == 31601 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31601 && (getequipcardid (.@itemtype,0) == 31589 || getequipcardid (.@itemtype,1) == 31589 ||
                getequipcardid (.@itemtype,2) == 31589 || getequipcardid (.@itemtype,3) == 31589 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }

                if( .@StoneHard[.@i] == 31588 && (getequipcardid (.@itemtype,0) == 31600 || getequipcardid (.@itemtype,1) == 31600 ||
                getequipcardid (.@itemtype,2) == 31600 || getequipcardid (.@itemtype,3) == 31600 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31600 && (getequipcardid (.@itemtype,0) == 31588 || getequipcardid (.@itemtype,1) == 31588 ||
                getequipcardid (.@itemtype,2) == 31588 || getequipcardid (.@itemtype,3) == 31588 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }


                if( .@StoneHard[.@i] == 31587 && (getequipcardid (.@itemtype,0) == 31599 || getequipcardid (.@itemtype,1) == 31599 ||
                getequipcardid (.@itemtype,2) == 31599 || getequipcardid (.@itemtype,3) == 31599 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31599 && (getequipcardid (.@itemtype,0) == 31587 || getequipcardid (.@itemtype,1) == 31587 ||
                getequipcardid (.@itemtype,2) == 31587 || getequipcardid (.@itemtype,3) == 31587 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }

                if( .@StoneHard[.@i] == 31586 && (getequipcardid (.@itemtype,0) == 31598 || getequipcardid (.@itemtype,1) == 31598 ||
                getequipcardid (.@itemtype,2) == 31598 || getequipcardid (.@itemtype,3) == 31598 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                if( .@StoneHard[.@i] == 31598 && (getequipcardid (.@itemtype,0) == 31586 || getequipcardid (.@itemtype,1) == 31586 ||
                getequipcardid (.@itemtype,2) == 31586 || getequipcardid (.@itemtype,3) == 31586 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }


                if( .@StoneHard[.@i] == 31606 && (getequipcardid (.@itemtype,0) == 31594 || getequipcardid (.@itemtype,1) == 31594 ||
                getequipcardid (.@itemtype,2) == 31594 || getequipcardid (.@itemtype,3) == 31594 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                
                if( .@StoneHard[.@i] == 31594 && (getequipcardid (.@itemtype,0) == 31606 || getequipcardid (.@itemtype,1) == 31606 ||
                getequipcardid (.@itemtype,2) == 31606 || getequipcardid (.@itemtype,3) == 31606 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }


                if( .@StoneHard[.@i] == 31595 && (getequipcardid (.@itemtype,0) == 31607 || getequipcardid (.@itemtype,1) == 31607 ||
                getequipcardid (.@itemtype,2) == 31607 || getequipcardid (.@itemtype,3) == 31607 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }
                
                if( .@StoneHard[.@i] == 31607 && (getequipcardid (.@itemtype,0) == 31595 || getequipcardid (.@itemtype,1) == 31595 ||
                getequipcardid (.@itemtype,2) == 31595 || getequipcardid (.@itemtype,3) == 31595 )) { mes "Ты неможешь встроить такой же тип самоцвета."; close;
                }

                for( set .@ii, 0; .@ii < 4; set .@ii, .@ii + 1 ) {
                if( getequipcardid (.@itemtype,0) == .@StoneHard[.@i] || getequipcardid (.@itemtype,1) == .@StoneHard[.@i] ||
                getequipcardid (.@itemtype,2) == .@StoneHard[.@i] || getequipcardid (.@itemtype,3) == .@StoneHard[.@i] ) {

                        next;
                        mes "["+.StoneHardName$+"]";
                        mes "В у тебя уже встроен такой же самоцвет.";
                        close;
                    }


                }

 

                

            next;
                mes "["+.StoneHardName$+"]";
                mes "Желаешь продолжиь?";
                switch(select( "Да","Нет")) {
                Case 1:
                    delitem2 .@itemid, 1, 1, .@itemrefi, 0, .@itemcard, .@itemcard2, .@itemcard3, .@itemcard4;
                    set getd( getarg(0) ),getd( getarg(0) ) - .@ZenyDiscount ;;            
                    if (.@Item_slot == 1){
                    getitembound2 .@itemid, 1, 1, .@itemrefi, 0, .@itemcard, .@StoneHard[.@i], .@itemcard3, .@itemcard4,4;
                    }
                    if (.@Item_slot == 2){
                    getitembound2 .@itemid, 1, 1, .@itemrefi, 0, .@itemcard, .@itemcard2, .@StoneHard[.@i], .@itemcard4,4;                
                    }
                    if (.@Item_slot == 3){
                    getitembound2 .@itemid, 1, 1, .@itemrefi, 0, .@itemcard, .@itemcard2, .@itemcard3, .@StoneHard[.@i],4;
                    }
                
                    delitem .@StoneHard[.@i],1;
                close;

                Case 2:
                    close;
                }


close;
}

OnInit:
set .StoneHardName$,"Gem Wizzard";
set .StartIds, 31550;
set .EndIds, 31609;
end;    
}

Изменено пользователем Fizik
Ссылка на комментарий
Поделиться на другие сайты

Открываем ../src/map/itemdb.h и меняем:

#define itemdb_isenchant(i) (i >= 4700 && i <= 4999)

на:

#define itemdb_isenchant(i) ((i >= 4700 && i <= 4999) || (i >= 31598 && i <= 31609))

Сохраняем изменения и компилируем сервер.

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Спасибо)) Это он из за новых айди не работал получается?
И если я ещё добавлю то их тоже надо будет вбивать?
Потому-что у меня 5 уровней самоцветов...
От 31550 До 31609

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика