Jump to content

Renji Abarai

Members
  • Posts

    90
  • Joined

  • Last visited

Posts posted by Renji Abarai

  1. Good day rathena. i am not sure if this is a bug or if am posting at the right forum. (please move it if posted wrong)


     


    Well my problem is i commented the part in skill.c to enable the skill potion pitcher and sanctuary to heal emperium.


     


    1. It works but the problem is even though the skill works (consumes sp, potion etc) it shows that it heals "0" HP on the emperium.


     


    2 .Sometimes when a player wears certain shields or card shields(it's sort of random) potion pitcher (with soul link) reduces their hp or kills them. BTW i am using eathena. I really hope someone can help me.


     


    Thankyou rathena!


     


    -------------


  2. Hmmm, the code looks quite a bit different from the current skill.c code:

    https://raw.githubusercontent.com/rathena/rathena/master/src/map/skill.c

     

    Doesn't skill_strip_equip already call sc_start?

     

     

    Other than that my first assumption would be that the duration is 0.

     

    Try putting after:

    if (d < 0) d = 0; //Minimum duration 0ms
    This:

    ShowDebug("Strip duration = %d\n", d);
    Then compile and try using strip.

     

    UPDATE !!! THIS BUG IS HAPPENING ONLY WHEN THE TARGET IS IN TALIS MODE, but when the target is not in talis mode the script is working fine.

    My Single Strip is Bug here is the scenario:

    Player 1(stalker in talis mode): Use Single Strip on Player 2, After player 1 stripped the item of (player 2 in talis mode)

    Player 2(any job in talis mode): stripped already, but you can equip the item again.

    THIS BUG IS HAPPENING ONLY WHEN THE TARGET IS IN TALIS MODE, but when the target is not in talis mode the script is working fine.

    to make it short after you Single Strip the Armor. the other player is stripped but he/she can equip it again after being stripped.

  3. My Single Strip is Bug here is the scenario:

    Player 1(stalker in talis mode): Use Single Strip on Player 2, After player 1 stripped the item of (player 2 in talis mode)
    Player 2(any job in talis mode): stripped already, but you can equip the item again.

    THIS BUG IS HAPPENING ONLY WHEN THE TARGET IS IN TALIS MODE, but when the target is not in talis mode the script is working fine.

    i want even the target have talis he still can be single strip

    to make it short after you Single Strip the Armor. the other player is stripped but he/she can equip it again after being stripped.

    Eathena user:

     

    here my source code kindly help me check where is the problem??? :(

     

    //Special message when trying to use strip on FCP [Jobbie]
    if( sd && skillid == ST_FULLSTRIP && tsc && tsc->data[SC_CP_WEAPON] && tsc->data[SC_CP_HELM] && tsc->data[SC_CP_ARMOR] && tsc->data[SC_CP_SHIELD] )
    {
    clif_gospel_info(sd, 0x28);
    break;
    }
    if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 5
                 &&
                ( skillid == RG_STRIPWEAPON && tsc->data[SC_CP_WEAPON] ||
                skillid == RG_STRIPSHIELD && tsc->data[SC_CP_SHIELD] ||
                skillid == RG_STRIPARMOR && tsc->data[SC_CP_ARMOR] ||
                skillid == RG_STRIPHELM && tsc->data[SC_CP_HELM] ) ) {
                int item_id = 7139; // Glistening Coat
                int ii;
    ARR_FIND( 0, MAX_INVENTORY, ii, sd->status.inventory[ii].nameid == item_id );
    if ( ii < MAX_INVENTORY ) {
     pc_delitem( sd, ii, 1, 0, 0);
     switch ( skillid ) {
    case RG_STRIPWEAPON:
    status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER );
    sc_start( bl, SC_STRIPWEAPON, 100, skilllv, d );
    break;
    case RG_STRIPSHIELD:
    status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER );
    sc_start( bl, SC_STRIPSHIELD, 100, skilllv, d );
    break;
    case RG_STRIPARMOR:
    status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER );
    sc_start( bl, SC_STRIPARMOR, 100, skilllv, d );
    break;
    case RG_STRIPHELM:
    status_change_end( bl, SC_CP_HELM, INVALID_TIMER );
    sc_start( bl, SC_STRIPHELM, 100, skilllv, d );
    break;
     }
     clif_skill_nodamage( src, bl, skillid, skilllv, i );
    }
    }
    //Attempts to strip at rate i and duration d
    if( (i = skill_strip_equip(bl, location, i, skilllv, d)) || (skillid != ST_FULLSTRIP && skillid != GC_WEAPONCRUSH) )
    clif_skill_nodamage(src,bl,skillid,skilllv,i); 
     
    //Nothing stripped.
    if( sd && !i )
    clif_skill_fail(sd,skillid,0,0,0);
     
    if( skillid == SC_STRIPACCESSARY && i )
    clif_status_change(src, SI_ACTIONDELAY, 1, 1000, 0, 0, 1);
    }
    break;
    
    
  4.  

    Here's a quick example npc I'll probably finish this one up later today.

    prontera,150,150,5	script	Anti-bot-tests#1	100,{
    		mes "[^FF0000Anti Bot Checking^000000]";
    		mes "Are you a bot?";
    		mes "You have 5 minutes to follow the directions bellow and verify your a real player.";
    		mes "Choose the correct colour and number to enter.";
    		next;
    		.@correct = rand(.length);
    		for( .@a = 0; .@a < .length; .@a++ ) {
    			for( .@b = 0; .@b < .numbers; .@b++ )
    				.@part$[.@b] = ""+rand(10);
    			.@r = rand(getarraysize(.colour$));
    			.@answers$[.@a] = ( .@a_c$[.@a] = .colour$[.@r] )+( .@parts$[.@a] = implode(.@part$,""))+"^000000";
    			deletearray .colour$[.@r], 1;
    			mes "   "+.@answers$[.@a];
    		}
    		while( getstrlen(.@c$) < .numbers ) .@c$ = .@c$ + "#";
    		mes "The correct answer is: "+.@a_c$[.@correct]+.@c$;
    		set .@input$,"";
    		input( .@input$ );
    		if( compare( .@answers$[.@correct], .@a_c$[.@correct]+.@input$+"^000000" ) ) {
    			mes "Correct!";
    		} else {
    			mes "Wrong!";
    		}
    		close;
    		
    OnInit:
    	setarray .colour$, "^00FF00", "^FF0000", "^0000FF", "^0FF0FF", "^CCCCCC", "^CBCBCB";
    	.length = 6; //Length of the list.
    	.numbers = 6; //Length of the numbers.
    }
    

     

    OW YEAH ! GONNA TEST IT RIGHT NOW !!! THANKS SKORM!!! :)))

    Sir Skorm ive got this error

    http://i58.tinypic.com/11b7lp0.png

  5. anyone have this script?
    * When you Log In this will check you if you are BOT or NOT.

    * if you didn't answer correctly you will be kick in the server. (3 attempts)


    here is the link that ive read before, but i don't want the other features.
    http://www.eathena.ws/board/lofiversion/index.php/t240945.html


    I want to make it Simple Anti Bot Check only when login in game.

    * When you Log In this will check you if you are BOT or NOT.

    Sample picture 1
    r89esy.jpg

    Sample picture 2

    19useh.jpg

    Sample picture 3

    2ldim2g.jpg

    Sample picture 4

    2mrsm6e.jpg

    * if you didn't answer correctly you will be kick in the server. (3 attempts)

     

  6. Hello everyone I am using this script. Can someone edit this script to separate the WOE prize for Guild Leader & Guild Members.

    Example:
    Guild Leader will get prize = "2pcs Treasure Box",100pcs YGG,100pcs BOT
    While
    Guild Members will get prize = 100pcs YGG,100pcs BOT only
     
    & another question what if I did not disable the default agit controllers???
    i don't to remove this because, I want to announce the Player & Guild who broke the emperium.
    npc\guild\agit_controller.txt ??? 
    npc\guild2\agit_start_se.txt ???
     
     
    eAthena user here
     

    //===== eAthena Script =======================================
    //= Euphy's WOE Controller
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.3a - eAthena
    //===== Description: =========================================
    //= A controller for War of Emperium designed for
    //= simplicity and ease of use.
    //= Many concepts taken from ToastOfDoom's script,
    //= and "rewards" function originally by Goddameit.
    //===== Additional Comments: =================================
    //= Be sure to disable the default agit controllers!
    //== npc\guild\agit_controller.txt
    //== npc\guild2\agit_start_se.txt
    //============================================================
     
    //prontera,162,192,3 script WoE Information 835,{ doevent "WOE_CONTROL::OnMenu"; end; OnAgitStart: while(agitcheck()) { misceffect 58; sleep 425; } end; }
    prontera,162,192,3 script WoE Information 665,{ doevent "WOE_CONTROL::OnMenu"; end; OnAgitStart: while(agitcheck()) { misceffect 58; sleep 425; } end; }
     
    - script WOE_CONTROL -1,{
    function Disp_Owner; function Add_Zero;
     
    OnInit:
    // --------------------------------------------------------------------------------------------------------------------------
     
    set .CastleWarp,0; // 1: Always enable all castle warps. | 0: Warp only to active castles.
    set .AutoKick,1; // Automatically kick players from inactive castles during WOE? (1:yes / 0:no)
    set .ExitWarp,0; // Warp all players from castles when WOE ends? (1:yes / 0:no)
    set .GMAccess,80; // GM level required to access Session Manager (cannot be 0)
    setarray .Reward[0],607,100,12028,100; // Reward for all members of conquering guilds, per castle: <ID>,<Count>{,...} (0 to disable)
     
    // --------------------------------------------------------------------------------------------------------------------------
    set .Size, getarraysize($WOE_CONTROL);
    setarray .Castles$[0],
    "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
    "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
    "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
    "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
    "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05",
    "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05";
    setarray .EndLabel$[0],"aru01","aru02","aru03","aru04","aru05","sch01","sch02","sch03","sch04","sch05";
    setarray .Days$[0],"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday";
    setarray .Regions$[0],"Prontera","Payon","Geffen","Aldebaran","Arunafeltz","Schwaltzvalt";
    setarray .Map$[0],"prt_gld","pay_gld","gef_fild13","alde_gld","aru_gld","sch_gld";
    setarray .MapX[0],134,240,153,111,208,121,295,317,140,204,214,308,143,193,305,48, 95,142,239,264,158,83, 68,299,292,293,288, 97,137, 71;
    setarray .MapY[0], 65,128,137,240,240,233,116,293,160,266, 75,240,240,278, 87,83,249, 85,242, 90,272,47,155,345,107,100,252,196, 90,315;
    if (!agitcheck() && !agitcheck2()) sleep 4000;
    set .Init,1;
    OnMinute00:
    if (agitcheck() || agitcheck2()) {
    for(set .@i,0; .@i<.Size; set .@i,.@i+4)
    if (gettime(4)==$WOE_CONTROL[.@i] && gettime(3)==$WOE_CONTROL[.@i+2]) {
    OnWOEEnd:
    announce "The War Of Emperium is over!",bc_all|bc_woe;
    AgitEnd; AgitEnd2;
    sleep 1000;
    for(set .@j,0; .@j<30; set .@j,.@j+1) {
    if (.Active[0]&(1<<.@j)) Disp_Owner(.Castles$[.@j],1);
    else if (.AutoKick) removemapflag .Castles$[.@j], mf_loadevent;
    if (.ExitWarp) maprespawnguildid .Castles$[.@j],0,3; }
    if (.Reward[0] && .Active[0] && .ForceEnd != 2) callsub OnReward, .Active[0];
    deletearray .Active[0],2;
    if (.ForceEnd) { set .ForceEnd,0; end; }
    break; } }
    sleep 5;
    if ((!agitcheck() && !agitcheck2()) || .Init) {
    if (!agitcheck() && !agitcheck2()) set .Init,0;
    for(set .@i,0; .@i<.Size; set .@i,.@i+4)
    if (gettime(4)==$WOE_CONTROL[.@i] && gettime(3)>=$WOE_CONTROL[.@i+1] && gettime(3)<$WOE_CONTROL[.@i+2]) {
    deletearray .Active[0],2;
    set .Active[0], $WOE_CONTROL[.@i+3];
    if (.Init) { AgitEnd; AgitEnd2; }
    else announce "The War Of Emperium has begun!",bc_all|bc_woe;
    sleep 1000;
    AgitStart; AgitStart2;
    for(set .@j,0; .@j<30; set .@j,.@j+1) {
    if (.Active[0]&(1<<.@j)) {
    if (!.Init) Disp_Owner(.Castles$[.@j],0);
    set .Active[1], .Active[1] | (1<<((.@j/5)+1));
    } else {
    if (.AutoKick) setmapflag .Castles$[.@j], mf_loadevent;
    if (.@j<20) {
    donpcevent "Agit#"+.Castles$[.@j]+"::OnAgitEnd";
    killmonster .Castles$[.@j], "Agit#"+.Castles$[.@j]+"::OnAgitBreak";
    } else {
    donpcevent "Manager#"+.Castles$[.@j]+"_02::OnAgitEnd2";
    killmonster .Castles$[.@j], "Steward#"+.EndLabel$[.@j-20]+"::OnStartArena"; } } }
    break; } }
    set .Init,0;
    end;
     
    function Disp_Owner {
    set .@o, getcastledata(getarg(0),1);
    if (.@o) announce "The ["+getcastlename(getarg(0))+"] castle "+((getarg(1))?"has been conquered":"is currently held")+" by the ["+getguildname(.@o)+"] guild.",bc_all|bc_woe;
    else announce "The ["+getcastlename(getarg(0))+"] castle is currently unoccupied.",bc_all|bc_woe;
    return; }
     
    function Add_Zero {
    return ((getarg(0)<10)?"0":"")+getarg(0)+(getarg(1,0)?".":":")+"00"; }
     
    OnReward:
    for(set .@i,0; .@i<30; set .@i,.@i+1)
    if (getarg(0)&(1<<.@i)) {
    set .@guild, getcastledata(.Castles$[.@i],1);
    if (.@guild) {
    deletearray .@acc[0], getarraysize(.@acc); deletearray .@char[0], getarraysize(.@char);
    query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@guild+"'", .@acc, .@char);
    for(set .@j,0; .@j<getarraysize(.@acc); set .@j,.@j+1)
    if (isloggedin(.@acc[.@j],.@char[.@j])) { 
    for(set .@k,0; .@k<getarraysize(.Reward); set .@k,.@k+2)
    getitem .Reward[.@k], .Reward[.@k+1], .@acc[.@j];
    message rid2name(.@acc[.@j]),"You have been rewarded for conquering "+getcastlename(.Castles$[.@i])+"."; } 
    sleep 1; } }
    return;
     
    OnPCLoadMapEvent:
    if (!compare(strcharinfo(3),"g_cas")) end;
    sleep2 1000;
    message strcharinfo(0), getcastlename(strcharinfo(3))+" is inactive during this WOE session.";
    sleep2 5000;
    if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0;
    end;
     
    OnMenu:
    while(1) {
    mes "[WOE Information]";
    if (agitcheck() || agitcheck2()) {
    if (!.Size) mes "The War of Emperium is ^0055FFactive^000000.";
    else {
    for(set .@i,0; .@i<.Size; set .@i,.@i+4)
    if (gettime(4)==$WOE_CONTROL[.@i] && gettime(3)>=$WOE_CONTROL[.@i+1] && gettime(3)<$WOE_CONTROL[.@i+2]) {
    set .@i, $WOE_CONTROL[.@i+2]; break; }
    mes "The War of Emperium is ^0055FFactive^000000 until ^FF0000"+Add_Zero(.@i)+"^000000 in the following regions:";
    mes " ";
    for(set .@i,0; .@i<6; set .@i,.@i+1)
    if (.Active[1]&(1<<(.@i+1))) mes " > ^777777"+.Regions$[.@i]+"^000000"; }
    } else {
    set .@j,0; set .@k,0;
    for(set .@i,0; .@i<.Size; set .@i,.@i+4)
    if ((gettime(4)==$WOE_CONTROL[.@i] && gettime(3)<=$WOE_CONTROL[.@i+1]) || gettime(4)<$WOE_CONTROL[.@i]) {
    set .@j, $WOE_CONTROL[.@i]; set .@k, $WOE_CONTROL[.@i+1]; break; }
    if (!.@j && !.@k) {
    set .@j, $WOE_CONTROL[0]; set .@k, $WOE_CONTROL[1]; }
    mes "The War of Emperium is ^777777inactive^000000.";
    if (.Size) {
    mes " ";
    mes "The next session will begin";
    mes "on ^0055FF"+.Days$[.@j]+"^000000 at "+Add_Zero(.@k)+"^000000."; } }
    next;
    switch(select(""+((.CastleWarp || .Active[1])?" ~ Warp to castles...":"")+": ~ Check schedule...: ~ View castle owners...:"+((getgmlevel()<.GMAccess || !getgmlevel())?"":" ~ Manage sessions...")+": ~ ^777777Cancel^000000")) {
    case 1:
    set .@menu$,"";
    for(set .@i,0; .@i<6; set .@i,.@i+1) {
    if (.CastleWarp || .Active[1]&(1<<(.@i+1))) set .@menu$, .@menu$+" ~ "+((.Active[1]&(1<<(.@i+1)))?"^0055FF":"^777777")+.Regions$[.@i]+" Castles^000000";
    set .@menu$, .@menu$+":"; }
    set .@i, select(.@menu$)-1;
    set .@menu$,"";
    for(set .@j,.@i*5; .@j<(.@i*5)+5; set .@j,.@j+1) {
    if (.CastleWarp || .Active[0]&(1<<.@j)) set .@menu$, .@menu$+" ~ "+((.Active[0]&(1<<.@j))?"^0055FF":"^777777")+getcastlename(.Castles$[.@j])+"^000000";
    set .@menu$, .@menu$+":"; }
    set .@j, select(.@menu$)-1;
    warp .Map$[.@i],.MapX[(.@i*5)+.@j],.MapY[(.@i*5)+.@j];
    close;
    case 2:
    mes "[schedule]";
    if (.Size) {
    for(set .@i,0; .@i<.Size; set .@i,.@i+4) {
    mes "> ^FF0000"+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1])+"-"+Add_Zero($WOE_CONTROL[.@i+2])+")^000000";
    for(set .@j,0; .@j<30; set .@j,.@j+1)
    if ($WOE_CONTROL[.@i+3]&(1<<.@j)) mes "  ~ "+getcastlename(.Castles$[.@j])+" ^777777("+.Castles$[.@j]+")^000000";
    if (.@i+4<.Size) mes " ";
    sleep2 1; }
    } else mes "No times are configured.";
    next;
    break;
    case 3:
    mes "[Castle Ownership]";
    for(set .@i,0; .@i<6; set .@i,.@i+1) {
    set .@k, .@i*5;
    mes "> ^FF0000"+.Regions$[.@i]+"^000000";
    for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) { 
    set .@t, getcastledata(.Castles$[.@j],1);
    mes "  ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildname(.@t):"^777777unoccupied")+"^000000"; }
    if (.@i<5) mes " "; }
    next;
    break;
    case 4:
    while(1) {
    mes "[session Manager]";
    mes "There are ^0055FF"+(.Size/4)+" session(s)^000000 configured.";
    mes "What would you like to do?";
    next;
    switch(select(" ~ Add a session...: ~ Delete a session...: ~ Reload settings...:"+((agitcheck() || agitcheck2())?" ~ End WOE session...":"")+": ~ ^777777Go back^000000")) {
    case 1:
    mes "[New Session]";
    if (.Size > 127) {
    mes "You have already reached the maximum of 32 sessions."; next; break; }
    mes "Select a day.";
    next;
    set .@menu$,"";
    for(set .@i,0; .@i<7; set .@i,.@i+1)
    set .@menu$, .@menu$+" ~ "+.Days$[.@i]+":";
    set .@Day, select(.@menu$)-1;
    mes "[New Session]";
    mes "Select a start time for ^0055FF"+.Days$[.@Day]+"^000000.";
    next;
    set .@menu$,"";
    for(set .@i,0; .@i<23; set .@i,.@i+1)
    set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":";
    set .@Start, select(.@menu$)-1;
    mes "[New Session]";
    mes "Select an end time for ^0055FF"+.Days$[.@Day]+"^000000.";
    next;
    set .@menu$,"";
    for(set .@i,.@Start+1; .@i<24; set.@i,.@i+1)
    set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":";
    set .@End, select(.@menu$)+.@Start;
    for(set .@i,0; .@i<.Size; set .@i,.@i+4)
    if (.@Day==$WOE_CONTROL[.@i] &&
      ((.@Start >= $WOE_CONTROL[.@i+1] && .@Start < $WOE_CONTROL[.@i+2]) ||
       (.@End > $WOE_CONTROL[.@i+1] && .@End <= $WOE_CONTROL[.@i+2]) ||
       (.@Start <= $WOE_CONTROL[.@i+1] && .@End >= $WOE_CONTROL[.@i+2]))) {
    mes "[New Session]";
    mes "The chosen times overlap with an existing session.";
    next;
    set .@d,1; break; }
    if (.@d) { set .@d,0; break; }
    set .@Castle,0;
    while(1) {
    mes "[New Session]";
    mes "^0055FF"+.Days$[.@Day]+" ("+Add_Zero(.@Start)+"-"+Add_Zero(.@End)+")^000000";
    mes " > Castles:";
    if (!.@Castle) mes "   ~ ^777777(none selected)^000000";
    else for(set .@i,0; .@i<30; set .@i,.@i+1)
    if (.@Castle&(1<<.@i)) mes "   ~ "+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")";
    next;
    set .@menu$,((.@Castle)?" ~ ^FF0000Finished...^000000":"")+":";
    for(set .@i,0; .@i<30; set .@i,.@i+1)
    set .@menu$, .@menu$+" ~ "+((.@Castle&(1<<.@i))?"^0055FF":"")+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")^000000:";
    set .@i, select(.@menu$)-1;
    if (.@i) set .@Castle, .@Castle^(1<<(.@i-1));
    else {
    mes "[New Session]";
    mes "Are you sure?";
    next;
    switch(select(" ~ ^0055FFAdd session...^000000: ~ Continue selecting castles...: ~ ^777777Cancel^000000")) {
    case 1:
    for(set .@i,0; .@i<.Size; set .@i,.@i+4)
    if ((.@Day==$WOE_CONTROL[.@i] && .@End<=$WOE_CONTROL[.@i+1]) || .@Day<$WOE_CONTROL[.@i]) {
    set .@d,1; break; }
    if (!.@d) { set .@d,1; set .@i,.Size; }
    copyarray $WOE_CONTROL[.@i+4], $WOE_CONTROL[.@i], .Size-.@i;
    setarray $WOE_CONTROL[.@i], .@Day, .@Start, .@End, .@Castle;
    set .Size, getarraysize($WOE_CONTROL);
    case 3:
    mes "[New Session]";
    mes ((.@d)?"Session added.":"Cancelled.");
    next;
    set .@d,1;
    case 2:
    break;
    } if (.@d) { set .@d,0; break; } }
    } break;
    case 2:
    mes "[Remove Session]";
    if (!.Size) {
    mes "There are no sessions configured."; next; break; }
    mes "Select a session to remove.";
    next;
    set .@menu$,"";
    for(set .@i,0; .@i<.Size; set .@i,.@i+4)
    set .@menu$, .@menu$+" ~ "+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1],1)+"-"+Add_Zero($WOE_CONTROL[.@i+2],1)+"):";
    set .@menu$, .@menu$+" ~ ^777777Cancel^000000";
    set .@i, select(.@menu$)-1;
    if (.@i==(.Size/4)) break;
    mes "[Remove Session]";
    mes "Delete ^0055FF"+.Days$[$WOE_CONTROL[.@i*4]]+"'s^000000 session?";
    mes "This action cannot be undone.";
    next;
    set .@j, select(" ~ ^FF0000Delete session...^000000: ~ ^777777Cancel^000000");
    mes "[Remove Session]";
    if (.@j==2) mes "Cancelled.";
    else {
    deletearray $WOE_CONTROL[.@i*4],4;
    set .Size, getarraysize($WOE_CONTROL);
    mes "Session deleted."; }
    next;
    break;
    case 3:
    mes "[Reload Settings]";
    mes "This will trigger all events related to new session configurations, if any.";
    if (agitcheck() || agitcheck2()) { mes " "; mes "Be aware that this will disrupt the current WOE session."; }
    next;
    set .@i, select(" ~ ^0055FFReload settings...^000000: ~ ^777777Cancel^000000");
    mes "[Reload Settings]";
    if (.@i==2) mes "Cancelled.";
    else {
    set .Init,1;
    donpcevent "WOE_CONTROL::OnMinute00";
    mes "Variables have been re-initialized."; }
    next;
    break;
    case 4:
    mes "[Force Agit End]";
    if (!agitcheck() && !agitcheck2())  {
    mes "WOE has already ended."; next; break; }
    mes "This command will safely execute all AgitEnd events.";
    mes " ";
    mes "Kill the current WOE session?";
    next;
    set .@i, select(" ~ ^FF0000End session...^000000:"+((.Reward[0])?" ~ ^FF0000End session without rewards...^000000":"")+": ~ ^777777Cancel^000000");
    mes "[Force Agit End]";
    if (.@i==3) mes "Cancelled.";
    else {
    set .ForceEnd, .@i;
    donpcevent "WOE_CONTROL::OnWOEEnd";
    mes "WOE session terminated."; }
    next;
    break;
    case 5:
    set .@d,1; break;
    } if (.@d) { set .@d,0; break; } }
    break;
    case 5:
    close; }
    }
    }

  7. does anyone have a src code for the @lock & @unlock feature like in dark RO? when in @lock mode, when you login you cant open storage, trade players, drop items, sell items unless you input the security password when you type @unlock

  8. im using eathena
    all of the script is not working in their specific class :(
    if(Class== all classess are not working to their according stats :(

    { bonus bAllStats,2; bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bAddRace,RC_DemiHuman,2; if(Class==Job_Swordman) { bonus bMaxHPrate,2; } if(Class==Job_Mage) { bonus bMatkRate,2; } if(Class==Job_Archer) { bonus bAspdRate,2; } if(Class==Job_Acolyte) { bonus bShortWeaponDamageReturn,5; } if(Class==Job_Merchant) { bonus bAtkRate,2; } if(Class==Job_Thief) { bonus bFlee,4; } if(Class==Job_Gunslinger) { bonus bMaxHPrate,2; bonus2 bSubRace,RC_DemiHuman,2; } if(Class==Job_Taekwon) { bonus2 bAddEle,Ele_Holy,6; } },{},{}

  9. PLEASE HELP IS THIS SCRIPT CORRECT????

    { bonus bAllStats,2; bonus bMaxHPrate,2; bonus bMaxSPrate,2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bAddRace,RC_DemiHuman,2; if(Class==Job_Swordman) { bonus bMaxHPrate,2; } if(Class==Job_Mage) { bonus bMatkRate,2; } if(Class==Job_Archer) { bonus bAspdRate,2; } if(Class==Job_Acolyte { bonus bShortWeaponDamageReturn,5; } if(Class==Job_Merchant { bonus bAtkRate,2; } if(Class==Job_Thief { bonus bFlee,4; } if(Class==Job_Gunslinger { bonus bMaxHPrate,2; bonus2 bSubRace,RC_DemiHuman,2; } if(Class==Job_Job_Taekwon { bonus2 bAddEle,Ele_Holy,6; } },{},{}

  10. Can i have the script of these :(((

    Allstat +6
    MaxHP/SP +10%
    Inflict 6% more damage on Demi Humans.
    Reduce 6% less damage on Demi Humans.
    [^00FF00 Swordman Class ^000000]
    MaxHP +6%
    [^00FF00 Mage Class ^000000]
    Matk +10%
    [^00FF00 Archer Class ^000000]
    Bow Damage +10%
    [^00FF00 Acolyte Class ^000000]
    Reflects melee damage by 10%
    [^00FF00 Merchant Class ^000000]
    Atk Rate +10%
    [^00FF00 Thief Class ^000000]
    Flee +12
    PD +12
    [^00FF00 Gunslinger Class ^000000]
    MaxHP +10%
    Reduce damage taken from Demi Human by 10%
    [^00FF00 Star Gladiator Class ^000000]
    Increase damage on holy property enemies by 20%
    Enables use of ^008800Level 1 Sight^000000.
    Class :^777777 Headgear^000000
    Defense :^777777 7^000000
    Equipped on :^777777 Middle^000000
    Weight :^777777 10^000000
    Applicable Job :^777777 Every Job^000000
    #
  11. help :( i still dont get it :(
     

    13042#
    A dagger with an unnaturally dark colored blade. Those who hold it instinctively sense the danger and risk of wielding this weapon.
    [^333399Refine Rate 9~10^000000]
    Vit+ 5 Deals +10% Crit damage and gives +10 Crit Rate.
    10% more damage to Demi Human
    [^333399Refine Rate 9~10^000000]
    Pierces Defense of DemiHuman monster by 5%.
    Class :^777777 Dagger^000000
    Attack :^777777 120^000000
    Weight :^777777 0^000000
    Weapon Level :^777777 4^000000
    Required Level :^777777 80^000000
    Applicable Job :^777777 Novice Class, Swordman Class, Mage Class, Archer Class, Merchant Class, Thief Class, Ninja, Soul Linker^000000
    #
  12. hm there's already explained D: or what do you mean by those point/zeny?

    I Mean how to get/buy items in Recruit Reward Shop??? 1recruit = 1point ?? or 1recruit = 1Zeny ??

    I Mean what the script will give to you? to be able to buy in Recruit Reward Shop??? 1recruit = 1point ?? or 1recruit = 1Zeny ??

×
×
  • Create New...