Now i got a new problem... Im using one item evolve script but i want some attributes r maintened after the evolve, things like refine, cards/enchants and random options, but, after some tests i cant reach this.
here's the full script. The // part is the last thing ive tried.
Question
Rizta
Hi community, is me again!
Now i got a new problem... Im using one item evolve script but i want some attributes r maintened after the evolve, things like refine, cards/enchants and random options, but, after some tests i cant reach this.
here's the full script. The // part is the last thing ive tried.
- script Items_Conf -1,{ OnInit: /* Adaga */ callsub Ids, 13040,1, 111, 1, 1203, 1, 111, 5, 1206, 1, 111, 15, 1209, 1, 111, 25, 1212, 1, 111, 30, 1215, 1, 111, 60, 1218, 1, 111, 70, 1221, 1, 111, 80, 1222, 1, 111, 90, 13048, 1, 111, 150 ; // Adaga /* 1HSword */ callsub Ids, 13415,1, 111, 1, 1103, 1, 111, 5, 1106, 1, 111, 15, 1109, 1, 111, 25, 1112, 1, 111, 30, 1115, 1, 111, 60, 1122, 1, 111, 70, 1123, 1, 111, 80, 1126, 1, 111, 90, 1121, 1, 111, 100, 1129, 1, 111, 125, 13422, 1, 111, 150 ; // Espada 1H /* 2HSword */ callsub Ids, 1118, 1, 111, 5, 1153, 1, 111, 15, 1156, 1, 111, 25, 1160, 1, 111, 30, 1159, 1, 111, 60, 1163, 1, 111, 70, 1190, 1, 111, 100, 1188, 1, 111, 200 ; // Espada 2H /* 2HAxe */ callsub Ids, 1381, 1, 111, 1, 1353, 1, 111, 5, 1356, 1, 111, 15, 1359, 1, 111, 25, 1362, 1, 111, 30, 1388, 1, 111, 100, 1384, 1, 111, 200 ; // Machado 1H /* Maces */ callsub Ids, 1545, 1, 111, 1, 1503, 1, 111, 5, 1506, 1, 111, 15, 1509, 1, 111, 25, 1512, 1, 111, 30, 1521, 1, 111, 60, 1515, 1, 111, 70, 1518, 1, 111, 80, 1548, 1, 111, 200 ; // Maces 1H /* Arcos */ callsub Ids, 1742, 1, 111, 1, 1703, 1, 111, 5, 1706, 1, 111, 15, 1709, 1, 111, 25, 1712, 1, 111, 30, 1713, 1, 111, 60, 1714, 1, 111, 70, 1735, 1, 111, 80, 18128, 1, 111, 200 ; // Arcos /* Cajados */ callsub Ids, 1639, 1, 111, 1, 1603, 1, 111, 5, 1606, 1, 111, 15, 1609, 1, 111, 25, 1612, 1, 111, 30, 1614, 1, 111, 60, 1615, 1, 111, 80, 1636, 1, 111, 100; // Cajados /* 1HSpear */ callsub Ids, 1403, 1, 111,10, 1406, 1, 111,15, 1409, 1, 111, 30, 1430, 1, 111, 200; /* 2HSpear */ callsub Ids, 1453, 1, 111,20, 1456, 1, 111,30, 1459, 1, 111, 40, 1462, 1, 111, 50, 1465, 1, 111, 70, 1412, 1, 111, 100; /* Knuckles */ callsub Ids, 1801, 1, 111,20, 1803, 1, 111,30, 1805, 1, 111, 40, 1809, 1, 111, 50, 1811, 1, 111, 60, 1807, 1, 111, 70, 1814, 1, 111, 80, 1829, 1, 111, 100; /* Violin */ callsub Ids, 1901, 1, 111,20, 1903, 1, 111,30, 1905, 1, 111, 40, 1909, 1, 111, 50, 1911, 1, 111, 60, 1907, 1, 111, 80, 1925, 1, 111,100, 1918, 1, 111, 150; /* Whip */ callsub Ids, 1950, 1, 111,20, 1952, 1, 111,30, 1954, 1, 111, 40, 1958, 1, 111, 50, 1960, 1, 111, 60, 1958, 1, 111, 80, 1994, 1, 111,100; /* Katar */ callsub Ids, 1264, 1, 111,20, 1262, 1, 111,30, 1295, 1, 111, 40, 1250, 1, 111, 50, 1252, 1, 111, 60, 1283, 1, 111, 100; /* Debug */ /* ID[...], evolution mode[...], mob id[...], neccessary to get 1%[...]. If you want any monster, use 111. Evolution modes: 1 = Every X numer of mobs (1%). 2 = Experience (1%). */ /* 0 = Won't be evolved automatically. 1 = Will be evolved automatically */ .auto = 1; /* Color of the announces. */ setarray .c$[0], "09e2f9", // % of evolution. "d43438", // Wings evolving. "e2f909"; // Wings evolved. /* slots to check. EQI_ACC_L (0) - Accessory 1 EQI_ACC_R (1) - Accessory 2 EQI_SHOES (2) - Footgear (shoes, boots) EQI_GARMENT (3) - Garment (mufflers, hoods, manteaux) EQI_HEAD_LOW (4) - Lower Headgear (beards, some masks) EQI_HEAD_MID (5) - Middle Headgear (masks, glasses) EQI_HEAD_TOP (6) - Upper Headgear EQI_ARMOR (7) - Armor (jackets, robes) EQI_HAND_L (8) - Left hand (weapons, shields) EQI_HAND_R (9) - Right hand (weapons) EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear EQI_COSTUME_GARMENT (13) - Costume Garment EQI_AMMO (14) - Arrow/Ammunition EQI_SHADOW_ARMOR (15) - Shadow Armor EQI_SHADOW_WEAPON (16) - Shadow Weapon EQI_SHADOW_SHIELD (17) - Shadow Shield EQI_SHADOW_SHOES (18) - Shadow Shoes EQI_SHADOW_ACC_R (19) - Shadow Accessory 2 EQI_SHADOW_ACC_L (20) - Shadow Accessory 1 */ setarray .slots[0], EQI_HEAD_TOP, EQI_HEAD_MID, EQI_HEAD_LOW, EQI_ARMOR, EQI_HAND_R, EQI_HAND_L, EQI_GARMENT, EQI_SHOES, EQI_ACC_R, EQI_ACC_L; //============================================= .w1 = 0; end ; Ids: .@index = .w1; .w1++; for ( .@args = getargcount ( ); .@a < .@args ; .@a+=4 ) { .@i = ++.w2[.@index]; setd ".a1"+ .w1 +"_"+ .@i, getarg ( .@a ); // id. setd ".a2"+ .w1 +"_"+ .@i, getarg ( .@a + 1 ); // mode. setd ".a3"+ .w1 +"_"+ .@i, getarg ( .@a + 2 ); // mob id. setd ".a4"+ .w1 +"_"+ .@i, getarg ( .@a + 3 ); // amount. } return ; OnNPCKillEvent: // Cache. That old loop on every mob killed... if ( @wing[0] && isequipped ( @wing[0] ) ) { .@c = 1; .@e = @wing[0]; .@w = @wing[1]; .@id = @wing[2]; } else { for ( .@size = getarraysize ( .slots ); .@a < .@size && !.@c ; .@a++ ) { .@e = getequipid ( .slots[.@a] ); if ( .@e < 0 ) continue ; .@id = 0; .@w = 1; while ( .@id++ <= .w2[.@w - 1] && !.@c ) { if ( .@id > .w2[.@w - 1] ) { .@id = 1; .@w++; } if ( .@e == getd ( ".a1"+ .@w +"_"+ .@id ) ) if ( getd ( ".a4"+ .@w +"_"+ .@id ) > 0 && ( killedrid == getd ( ".a3"+ .@w +"_"+ .@id ) || getd ( ".a3"+ .@w +"_"+ .@id ) < 1001 ) ) { .@c = 1; setarray @wing[0], .@e, .@w, .@id; } } } } if ( .@c ) { if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 1 ) { .@amount = getd ( "mobs_"+ .@e ); setd "mobs_"+ .@e, .@amount + 1; if ( getd ( "mobs_"+ .@e ) < getd ( ".a4"+ .@w +"_"+ .@id ) ) end ; setd "evo"+ .@e, getd ( "evo"+ .@e ) + 1; setd "mobs_"+ .@e, 0; } else if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 2 ) { .@amount = getd ( "exp_"+ .@e ); setd "exp_"+ .@e, .@amount + strmobinfo ( 6, killedrid ); if ( getd ( "exp_"+ .@e ) < getd ( ".a4"+ .@w +"_"+ .@id ) ) end ; setd "evo"+ .@e, getd ( "evo"+ .@e ) + 1; setd "exp_"+ .@e, 0; } else debugmes "Script Items_Evo, error: wrong mode."; announce getitemname ( .@e ) +" está com "+ getd ( "evo"+ .@e ) +"% para evoluir...", bc_self, "0x"+ .c$[0] ; specialeffect2 58 ; sleep2 200 ; specialeffect2 383 ; if ( getd ( "evo"+ .@e ) == 100 && .auto ) { specialeffect2 263 ; sleep2 500 ; specialeffect2 377 ; sleep2 300 ; specialeffect2 542 ; sleep2 300 ; announce getitemname ( .@e ) +" está evoluindo..." , bc_self, "0x"+ .c$[1] ; .@i = 3; while ( .@i-- ) { specialeffect2 521 ; sleep2 900 ; } specialeffect2 463 ; sleep2 200; specialeffect2 665 ; sleep2 500 ; setarray .@card[1], getequipcardid ( .slots[.@a], 0 ), getequipcardid ( .slots[.@a], 1 ), getequipcardid ( .slots[.@a], 2 ), getequipcardid ( .slots[.@a], 3 ); .@refine = getequiprefinerycnt ( .slots[.@a] ); //setarray .@Oid[0],0; //setarray .@Oid[1],0; //setarray .@Oid[2],0; //setarray .@Oid[3],0; //setarray .@Oid[4],0; //setarray .@Oval[0],0; //setarray .@Oval[1],0; //setarray .@Oval[2],0; //setarray .@Oval[3],0; //setarray .@Oval[4],0; //setarray .@Opam[0],0; //setarray .@Opam[1],0; //setarray .@Opam[2],0; //setarray .@Opam[3],0; //setarray .@Opam[4],0; //for (.@j = 0; .@j < 5; .@j++) { //setarray .@Oid[.@j],getequiprandomoption(.slots[.@a],.@j,ROA_ID); //setarray .@Oval[.@j],getequiprandomoption(.slots[.@a],.@j,ROA_VALUE); //setarray .@Opam[.@j],getequiprandomoption(.slots[.@a],.@j,ROA_PARAM); //} //sleep2 200; delitem .@e, 1;// 1, .@refine, 0, .@card[1], .@card[2], .@card[3], .@card[4], .@Oid, .@Oval, .@Opam ; getitem2 getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) , 1, 1, .@refine, 0, .@card[1], .@card[2], .@card[3], .@card[4];//.@Oid, .@Oval, .@Opam; equip getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) ; setd "evo"+ .@e, 0; deletearray @wing ; announce "Parabéns seu item evoluiu para "+ getitemname ( getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) ) +"." , bc_self , "0x"+ .c$[2] ; } } end ; }
Link to comment
Share on other sites
46 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.