Giant Whisper Posted December 1, 2018 Group: Members Topic Count: 55 Topics Per Day: 0.01 Content Count: 190 Reputation: 3 Joined: 04/11/12 Last Seen: 17 hours ago Share Posted December 1, 2018 Hi, this error can be solved EvoWing.txt Quote Link to comment Share on other sites More sharing options...
0 Giant Whisper Posted December 3, 2018 Group: Members Topic Count: 55 Topics Per Day: 0.01 Content Count: 190 Reputation: 3 Joined: 04/11/12 Last Seen: 17 hours ago Author Share Posted December 3, 2018 with the change not evolve the item that can not exceed 100% Quote Link to comment Share on other sites More sharing options...
0 n0tttt Posted December 3, 2018 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 303 Reputation: 118 Joined: 12/10/16 Last Seen: April 18 Share Posted December 3, 2018 Okay, I understand now. - script Items_Conf -1,{ OnInit: callsub Ids, 60656, 1, 1004, 1, 60657, 1, 1004, 1, 60658, 1, 1004, 0 ; callsub Ids, 60635, 1, 111, 1, 60636, 1, 111, 1, 60637, 1, 111, 0 ; /* 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], "4db557", // % of evolution. "d43438", // Wings evolving. "4da5b5"; // 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_LOW, EQI_HEAD_MID, EQI_HEAD_TOP; //============================================= end ; Ids: for ( .@args = getargcount ( ); .@a < .@args ; .@a+=4 ) { .@i = .w2[.w1]++; setd ".a1"+ .w1 +"_"+ .@i, getarg ( .@a ); // id. if ( getarg ( .@a + 4, 0 ) != 0 ) { 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. } } .w1++; return ; OnNPCKillEvent: if ( @evolving ) end ; // Cache. That old loop on every mob killed... if ( @wing[0] && isequipped ( @wing[0] ) ) { .@c = 1; .@e = @wing[0]; .@i = @wing[1] - 1; .@j = @wing[2] - 1; .@a = @wing[3]; } else { .@size = getarraysize ( .slots ); while ( .@a < .@size && !.@c ) { .@e = getequipid ( .slots[.@a] ); .@a++; if ( .@e < 0 ) continue ; .@i = 0; while ( .@i < .w1 && !.@c ) { .@j = 0; while ( .@j < .w2[.@i] && !.@c ) { if ( .@e == getd ( ".a1"+ .@i +"_"+ .@j ) && getd ( ".a1"+ .@i +"_"+ ( .@j + 1 ) ) ) { if ( getd ( ".a4"+ .@i +"_"+ .@j ) > 0 && ( killedrid == getd ( ".a3"+ .@i +"_"+ .@j ) || getd ( ".a3"+ .@i +"_"+ .@j ) < 1001 ) ) { .@c = 1; setarray @wing[0], .@e, .@i + 1, .@j + 1, .@a; } } if ( !.@c ) .@j++; } if ( !.@c ) .@i++; } } } if ( .@c ) { .@percent = getd ( "evo"+ .@e ); if ( getd ( ".a2"+ .@i +"_"+ .@j ) == 1 ) { .@amount = getd ( "mobs_"+ .@e ); setd "mobs_"+ .@e, .@amount + 1; if ( getd ( "mobs_"+ .@e ) < getd ( ".a4"+ .@i +"_"+ .@j ) ) end ; setd "mobs_"+ .@e, 0; } else if ( getd ( ".a2"+ .@i +"_"+ .@j ) == 2 ) { .@amount = getd ( "exp_"+ .@e ); setd "exp_"+ .@e, .@amount + strmobinfo ( 6, killedrid ); if ( getd ( "exp_"+ .@e ) < getd ( ".a4"+ .@i +"_"+ .@j ) ) end ; setd "exp_"+ .@e, 0; } else { debugmes "Script Items_Evo, error: wrong mode."; end; } if ( .@percent < 100 ) setd "evo"+ .@e, ++.@percent; announce getitemname ( .@e ) +" "+ .@percent +"% to evolve...", bc_self, "0x"+ .c$[0] ; specialeffect2 58 ; sleep2 200 ; specialeffect2 383 ; if ( .@percent >= 100 && .auto ) { @evolving = 1; specialeffect2 263 ; sleep2 500 ; specialeffect2 377 ; sleep2 300 ; specialeffect2 542 ; sleep2 300 ; announce getitemname ( .@e ) +" is evolving..." , bc_self, "0x"+ .c$[1] ; .@k = 3; while ( .@k-- ) { specialeffect2 521 ; sleep2 900 ; } specialeffect2 463 ; sleep2 200; specialeffect2 665 ; sleep2 500 ; .@a--; setarray .@card[1], getequipcardid ( .slots[.@a], 0 ), getequipcardid ( .slots[.@a], 1 ), getequipcardid ( .slots[.@a], 2 ), getequipcardid ( .slots[.@a], 3 ); .@refine = getequiprefinerycnt ( .slots[.@a] ); unequip .slots[.@a]; delitem .@e, 1 ; getitem2 getd ( ".a1"+ .@i +"_"+ ( .@j + 1 ) ) , 1, 1, .@refine, 0, .@card[1], .@card[2], .@card[3], .@card[4] ; equip getd ( ".a1"+ .@i +"_"+ ( .@j + 1 ) ) ; setd "evo"+ .@e, 0; deletearray @wing ; announce "Congratulations, your wings have evolved to "+ getitemname ( getd ( ".a1"+ .@i +"_"+ ( .@j + 1 ) ) ) +"." , bc_self , "0x"+ .c$[2] ; @evolving = 0; } } end ; } Quote Link to comment Share on other sites More sharing options...
0 Giant Whisper Posted December 3, 2018 Group: Members Topic Count: 55 Topics Per Day: 0.01 Content Count: 190 Reputation: 3 Joined: 04/11/12 Last Seen: 17 hours ago Author Share Posted December 3, 2018 now to the 100% error in console and does not equip the article that's killing more than 100 mob Quote Link to comment Share on other sites More sharing options...
0 n0tttt Posted December 3, 2018 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 303 Reputation: 118 Joined: 12/10/16 Last Seen: April 18 Share Posted December 3, 2018 I think the script was meant to kill a large amounts of mobs in an instant, but well, I think this fixes it: - script Items_Conf -1,{ OnInit: callsub Ids, 60656, 1, 1004, 1, 60657, 1, 1004, 1, 60658, 1, 1004, 0 ; callsub Ids, 60635, 1, 111, 1, 60636, 1, 111, 1, 60637, 1, 111, 0 ; /* 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], "4db557", // % of evolution. "d43438", // Wings evolving. "4da5b5"; // 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_LOW, EQI_HEAD_MID, EQI_HEAD_TOP; //============================================= end ; Ids: for ( .@args = getargcount ( ); .@a < .@args ; .@a+=4 ) { .@i = .w2[.w1]++; setd ".a1"+ .w1 +"_"+ .@i, getarg ( .@a ); // id. if ( getarg ( .@a + 4, 0 ) != 0 ) { 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. } } .w1++; return ; OnNPCKillEvent: if ( @evolving ) end ; // Cache. That old loop on every mob killed... if ( @wing[0] && isequipped ( @wing[0] ) ) { .@c = 1; .@e = @wing[0]; .@i = @wing[1] - 1; .@j = @wing[2] - 1; .@a = @wing[3]; } else { .@size = getarraysize ( .slots ); while ( .@a < .@size && !.@c ) { .@e = getequipid ( .slots[.@a] ); .@a++; if ( .@e < 0 ) continue ; .@i = 0; while ( .@i < .w1 && !.@c ) { .@j = 0; while ( .@j < .w2[.@i] && !.@c ) { if ( .@e == getd ( ".a1"+ .@i +"_"+ .@j ) && getd ( ".a1"+ .@i +"_"+ ( .@j + 1 ) ) ) { if ( getd ( ".a4"+ .@i +"_"+ .@j ) > 0 && ( killedrid == getd ( ".a3"+ .@i +"_"+ .@j ) || getd ( ".a3"+ .@i +"_"+ .@j ) < 1001 ) ) { .@c = 1; setarray @wing[0], .@e, .@i + 1, .@j + 1, .@a; } } if ( !.@c ) .@j++; } if ( !.@c ) .@i++; } } } if ( .@c ) { if ( getd ( ".a2"+ .@i +"_"+ .@j ) == 1 ) { .@amount = getd ( "mobs_"+ .@e ); setd "mobs_"+ .@e, .@amount + 1; if ( getd ( "mobs_"+ .@e ) < getd ( ".a4"+ .@i +"_"+ .@j ) ) end ; setd "mobs_"+ .@e, 0; } else if ( getd ( ".a2"+ .@i +"_"+ .@j ) == 2 ) { .@amount = getd ( "exp_"+ .@e ); setd "exp_"+ .@e, .@amount + strmobinfo ( 6, killedrid ); if ( getd ( "exp_"+ .@e ) < getd ( ".a4"+ .@i +"_"+ .@j ) ) end ; setd "exp_"+ .@e, 0; } else { debugmes "Script Items_Evo, error: wrong mode."; end; } specialeffect2 58 ; sleep2 rand ( 190, 280 ) ; specialeffect2 383 ; .@percent = getd ( "evo"+ .@e ); if ( .@percent < 100 ) { setd "evo"+ .@e, ++.@percent; announce getitemname ( .@e ) +" "+ .@percent +"% to evolve...", bc_self, "0x"+ .c$[0] ; } if ( .@percent >= 100 && .auto && !@evolving ) { @evolving = 1; specialeffect2 263 ; sleep2 500 ; specialeffect2 377 ; sleep2 300 ; specialeffect2 542 ; sleep2 300 ; announce getitemname ( .@e ) +" is evolving..." , bc_self, "0x"+ .c$[1] ; .@k = 3; while ( .@k-- ) { specialeffect2 521 ; sleep2 900 ; } specialeffect2 463 ; sleep2 200; specialeffect2 665 ; sleep2 500 ; .@a--; setarray .@card[1], getequipcardid ( .slots[.@a], 0 ), getequipcardid ( .slots[.@a], 1 ), getequipcardid ( .slots[.@a], 2 ), getequipcardid ( .slots[.@a], 3 ); .@refine = getequiprefinerycnt ( .slots[.@a] ); unequip .slots[.@a]; delitem .@e, 1 ; getitem2 getd ( ".a1"+ .@i +"_"+ ( .@j + 1 ) ) , 1, 1, .@refine, 0, .@card[1], .@card[2], .@card[3], .@card[4] ; equip getd ( ".a1"+ .@i +"_"+ ( .@j + 1 ) ) ; setd "evo"+ .@e, 0; deletearray @wing ; announce "Congratulations, your wings have evolved to "+ getitemname ( getd ( ".a1"+ .@i +"_"+ ( .@j + 1 ) ) ) +"." , bc_self , "0x"+ .c$[2] ; @evolving = 0; } } end ; } Quote Link to comment Share on other sites More sharing options...
0 Giant Whisper Posted December 3, 2018 Group: Members Topic Count: 55 Topics Per Day: 0.01 Content Count: 190 Reputation: 3 Joined: 04/11/12 Last Seen: 17 hours ago Author Share Posted December 3, 2018 thank you very much n0tttt works perfect you are my hero of RO 1 Quote Link to comment Share on other sites More sharing options...
Question
Giant Whisper
Hi, this error can be solved
EvoWing.txt
Link to comment
Share on other sites
30 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.