Jump to content

Joseph

Community Contributors
  • Content Count

    23
  • Joined

  • Last visited


Reputation Activity

  1. Upvote
    Joseph got a reaction from Kong in R > Item bonus script   
    NPC:
     
    map,x,y,z script Group_ID 100,{ if (getgroupid()) end; // Group ID above 0 are not allowed to use mes "You're now granted with super powers."; close2; atcommand "@adjgroup 1"; // Temporary change, no need to relog query_sql("UPDATE `login` SET `group_id`=1 WHERE `account_id`='"+getcharid(3)+"'"); // Change permanently end;}
  2. Upvote
    Joseph got a reaction from jaBote in Need help (item bonus)   
    Not as simple as I thought. 
    function script F_EQP { // End all other sessions if (@totalSession > 0) { @totalSession--; return; } .@card_id = getarg(0); // Equipment Slot .@type[0] = EQI_HEAD_TOP; .@type[1] = EQI_ARMOR; .@type[2] = EQI_GARMENT; for (.@i = 0; .@i < getarraysize(.@type); .@i++) for (.@c = 0; .@c < getequipcardcnt(.@type[.@i]); .@c++) if (getequipcardid(.@type[.@i],.@c) == .@card_id) setd ".@tmp_eqp[" + .@i + "]", getd(".@tmp_eqp[" + .@i + "]") + 1; for (.@i = 0; .@i < getarraysize(.@type); .@i++) if (getd(".@tmp_eqp[" + .@i + "]") > 0) @totalSession++; if (@totalSession == 0) { debugmes "Unexpected return... o.o"; return; } for (.@i = 0; .@i < getarraysize(.@type); .@i++) if (getd(".@tmp_eqp[" + .@i + "]") != @eqp[.@i]) { .@check = .@check | (1 << .@i); break; } if (.@check < 1) @totalSession--; for (.@i = 0; .@i < getarraysize(.@type); .@i++) { switch (.@i) { // .@type index number case 0: bonus bStr,getd(".@tmp_eqp[" + .@i + "]") * 5; break; case 1: bonus bAgi,getd(".@tmp_eqp[" + .@i + "]") * 5; break; case 2: bonus bVit,getd(".@tmp_eqp[" + .@i + "]") * 5; break; } if (.@check & (1 << .@i) > 0) { @totalSession--; @eqp[.@i] = getd(".@tmp_eqp[" + .@i + "]"); } } return; }   
    Usage:
    { callfunc("F_EQP",<card_id>); },{},{}
  3. Upvote
    Joseph got a reaction from Critica in R > Item bonus script   
    NPC:
     
    map,x,y,z script Group_ID 100,{ if (getgroupid()) end; // Group ID above 0 are not allowed to use mes "You're now granted with super powers."; close2; atcommand "@adjgroup 1"; // Temporary change, no need to relog query_sql("UPDATE `login` SET `group_id`=1 WHERE `account_id`='"+getcharid(3)+"'"); // Change permanently end;}
  4. Upvote
    Joseph got a reaction from Critica in Any good scripter here? i need help on this,   
    Changed .slot to .@slots[.@a-1].
     
    Edit:
     
    P/S Masao: Hello!
     
    /* ||======================================================|| ||======================================================|| || NPC: || ||======================================================|| || Evolution Wings || ||======================================================|| || Version 1.3 || ||======================================================|| || Made by Streiker || ||======================================================|| || Updates: || || (5 latests) || || Version 1.1: || || Fixed: The npc didn't work. || || Added new configs. || || Changed the exp rates system. || || || || Version 1.1.1: || || Fixed: Mistakes. || || || || Version 1.2: || || Added rahuldev345 suggestion (spec. mobs)|| || Added AnnieRuru suggestion (refine) || || || || Version 1.3: || || Added new mode, new confs, new vars. || ||======================================================|| || Description: || || || || Make easily "evolution wings" with this. || ||======================================================|| || Additional Comments: || || || || At the moment none. || ||======================================================|| ||======================================================|| */ - script Wings_Conf -1,{ OnInit: /* Evolution modes: 1 = Every X numer of mobs (1%). 2 = Experience (1%). 3 = Every X number of mobs (100%). */ set .rates, 100; // % (Only for Mode 2). /* ID[...], evolution mode[...], mob id[...], neccesary to advance 1%[...]. (Configured for the 1st mode). If you want any monster, use 111. // Use callsub for add more wings. */ callsub Ids, 1101, 3, 111, 1, 1107, 3, 111, 1, 1113, 3, 111, 100, 1116, 3, 111, 0 ;/* 0 = Won't evolved automatically. 1 = Will be evolved automatically */ set .auto, 1; // Delay of evolution (miliseconds). set .time, 3000; // Announces color. setarray .c$[0],"4db557", // % of evolution. "d43438", // Wings evolving. "4da5b5"; // Wings evolved. set .w1, 0; end ; Ids: set .w1, .w1 + 1; for ( set .@a, 0; getarg ( .@a, 0 ) != 0 ; set .@a, .@a + 4 ) { set .w2[.w1 - 1], .w2[.w1 - 1] + 1; setd ".a1"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a ); // id. setd ".a2"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a + 1 ); // mode. setd ".a3"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a + 2 ); // mob id. setd ".a4"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a + 3 ); // amount. } return ; OnNPCKillEvent: setarray .@slots[0], 1, 3, 4, 9, 10; // put here your slots. for ( set .@a, 0; .@a < 3 && ! .@c ; set .@a, .@a + 1 ) { if ( set ( .@e, getequipid ( .@slots[.@a] ) ) < 0 ) continue ; set .@id, 0; set .@w, 1; while ( set ( .@id, .@id + 1 ) <= .w2[.@w - 1] && ! .@c ) { if ( .@e == getd ( ".a1"+ .@w +"_"+ .@id ) ) { set .@c, ( getd ( ".a4"+ .@w +"_"+ .@id ) > 0 ) * ( killedrid == getd ( ".a3"+ .@w +"_"+ .@id ) || getd ( ".a3"+ .@w +"_"+ .@id ) < 1001 ); if ( .@c ) break ; } if ( .@id >= .w2[.@w - 1] ) { set .@id, 0; set .@w, .@w + 1; } } } if ( ! ( .@c ) ) end ; set .@e2, getd ( "evo"+ .@e ); if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 1 ) { setd "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e, getd("$Mobs_"+ getcharid( 0 ) +"_"+ .@e ) + 1; if ( ( getd ( "$Mobs_"+getcharid ( 0 ) ) % getd ( ".a4"+ .@w +"_"+ .@id ) ) ) end ; setd "evo"+ .@e, getd ( "evo"+ .@e ) + 1; setd "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e, 0; } else if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 2 ) { setd "$Exp_"+ getcharid ( 0 ) +"_"+ .@e, getd ("$Exp_"+ getcharid ( 0 ) +"_"+ .@e ) + ( strmobinfo ( 6, killedrid ) * .rates / 100 ); if ( getd ( "$Exp_"+getcharid ( 0 ) +"_"+ .@e ) < getd ( ".a4"+ .@w +"_"+ .@id ) ) end ; setd "evo"+ .@e, getd ( "evo"+ .@e ) + 1; setd "$Exp_"+ getcharid ( 0 ), 0; } else if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 3 ) { setd "$Mobs_"+ getcharid ( 0 ), getd ("$Mobs_"+ getcharid( 0 ) +"_"+ .@e ) + 1; if ( ( getd ( "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e ) % getd ( ".a4"+ .@w +"_"+ .@id ) ) ) end ; setd "evo"+ .@e, getd ( "evo"+ .@e ) + 100; setd "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e, 0; } else debugmes "Script Wings_Evo, error: wrong mode configuration."; if ( .@e2 != getd ( "evo"+ .@e ) ) { announce getd ( "evo"+ .@e ) +"% "+ getitemname ( .@e ) , 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 ) +" evolving..." , bc_self, "0x"+ .c$[1] ; if ( .time ) sleep2 .time ; specialeffect2 463 ; sleep2 200; specialeffect2 665 ; sleep2 500 ; //specialeffect2 437 ; .@a -= 1; setarray .@card[1], getequipcardid ( .@slots[.@a], 0 ), getequipcardid ( .@slots[.@a], 1 ), getequipcardid ( .@slots[.@a], 2 ), getequipcardid ( .@slots[.@a], 3 ); set .@refine, getequiprefinerycnt ( .@slots[.@a] ); delitem .@e, 1 ; getitem2 getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) , 1, 1, .@refine, 0, .@card[1], .@card[2], .@card[3], .@card[4] ; equip getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) ; setd "evo"+ .@e, 0; announce "Congratulations, your weapon have leveled to "+ getitemname ( getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) ) +"." , bc_self , "0x"+ .c$[2] ; } end; }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.