Jump to content

GM Takumirai

Members
  • Posts

    592
  • Joined

  • Last visited

Posts posted by GM Takumirai

  1. if only i know the format on making a BG script i will make one..

    anyway i can try ripping the script for you .. [hope annie will not got mad at me]

    
    - script bg_emp#control -1,{
    OnInit:
    set .eventlasting, 20 * 60; // abort the system if there's no progress, 20 mins * seconds
    set .register_lasting, 10 * 60; // 10 minutes to joins, else abort registration, 10 mins * seconds
    sleep 1;
    disablenpc .rednpcname$;
    disablenpc .bluenpcname$;
    end;
    OnStart:
    if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) end;
    set .red, waitingroom2bg( "guild_vs3", 13,50, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ );
    copyarray .team1aid, $@arenamembers, $@arenamembersnum;
    set .blue, waitingroom2bg( "guild_vs3", 86,50, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ );
    copyarray .team2aid, $@arenamembers, $@arenamembersnum;
    .inprogress = 2;
    awake strnpcinfo(0);
    bg_warp .red, "guild_vs3", 13,50;
    bg_warp .blue, "guild_vs3", 86,50;
    bg_updatescore "guild_vs3", 0,0;
    sleep .eventlasting * 1000;
    if ( .start == 2 ) {
    if ( .score[1] == .score[2] )
    mapannounce "guild_vs3", "Draw !", 0;
    else if ( .score[1] > .score[2] ) {
    mapannounce "guild_vs3", " Red side wins !", 0;
    callsub L_reward, .red;
    }
    else if ( .score[1] < .score[2] ) {
    mapannounce "guild_vs3", " Blue side wins !", 0;
    callsub L_reward, .blue;
    }
    }
    bg_warp .red, "prontera", 155,182;
    bg_warp .blue, "prontera", 158,182;
    bg_kickall .red;
    bg_kickall .blue;
    .start = .score[1] = .score[2] = .register_num = 0;
    deletearray .register_aid;
    end;
    L_reward:
    getbgusers getarg(0);
    for ( .@i = 0; .@i < $@arenamembersnum; .@i++ )
    getitem 501, 1, $@arenamembers[.@i]; // item reward
    return;
    Onredout: callsub L_out, 2;
    Onblueout: callsub L_out, 1;
    L_out:
    announce strcharinfo(0) +" is out from the match !", 1;
    bg_leave;
    warp "SavePoint", 0,0;
    .score[ getarg(0) ]++;
    bg_updatescore "guild_vs3", .score[1], .score[2];
    if ( .score[ getarg(0) ] == .min2start )
    awake strnpcinfo(0);
    end;
    
    prontera,156,186,5 script gm_start 100,{
    if ( getgmlevel() < 99 ) {
    mes "I only talk to gm";
    close;
    }
    if ( getvariableofnpc( .inprogress, "bg_emp#control" ) ) {
    mes "abort ?";
    next;
    if ( select ( "Yes", "No" ) == 2 ) close;
    set getvariableofnpc( .inprogress, "bg_emp#control" ), 0;
    awake "bg_emp#control";
    killmonster "bat_a01", "bg_emp#control::OnRedDown";
    killmonster "bat_a01", "bg_emp#control::OnBlueDown";
    announce strcharinfo(0) +" has abort the battleground", 0;
    close;
    }
    mes "select how many players to start";
    next;
    if ( input( .@a, 1, 30 ) ) close;
    set getvariableofnpc( .minplayer2start, "bg_emp#control" ), .@a;
    announce strcharinfo(0) +" has hosted "+ .@a +"vs"+ .@a +" battleground", 0;
    enablenpc getvariableofnpc( .rednpcname$, "bg_emp#control" );
    enablenpc getvariableofnpc( .bluenpcname$, "bg_emp#control" );
    donpcevent getvariableofnpc( .rednpcname$, "bg_emp#control" ) +"::OnStart";
    donpcevent getvariableofnpc( .bluenpcname$, "bg_emp#control" ) +"::OnStart";
    set getvariableofnpc( .inprogress, "bg_emp#control" ), 1;
    donpcevent "bg_emp#control::OnAutoAbort";
    close;
    }
    
    prontera,155,182,5 script Red side#bg_emp 100,{
    end;
    OnStart:
    waitingroom "Red side", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" );
    end;
    OnInit:
    set getvariableofnpc( .rednpcname$, "bg_emp#control" ), strnpcinfo(0);
    end;
    }
    
    prontera,158,182,5 script Blue side#bg_emp 100,{
    end;
    OnStart:
    waitingroom "Blue side", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" );
    end;
    OnInit:
    set getvariableofnpc( .bluenpcname$, "bg_emp#control" ), strnpcinfo(0);
    end;
    }
    
    guild_vs3 mapflag battleground 2
    guild_vs3 mapflag nosave SavePoint
    guild_vs3 mapflag nowarp
    guild_vs3 mapflag nowarpto
    guild_vs3 mapflag noteleport
    guild_vs3 mapflag nomemo
    guild_vs3 mapflag nopenalty
    guild_vs3 mapflag nobranch
    guild_vs3 mapflag noicewall
    

  2. thanks for the response @God,

    create new event (OnItemGoneEvent:) to supply

    how to do it?.. sorry im noob ..

    and please check the function script if it's right

    
    function script command__ {
    
    attachnpctimer getcharid(3);
    atcommand "@autoattack";
    initnpctimer;
    return;
    

  3. @god

    is there a solution to provide in the function of a script to check if the item gone due to expiration the player will force to logout??..

    - because it will be abuse if pressing it / using it then the time expire still the player are in auto attack state..

  4. - I patch the auto attack by God http://rathena.org/b...297-autoattack/

    - i make a custom item

    30000,AutoAttack_Box,AutoAttack Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ rentitem 30001,604800; },{},{}
    

    - and i make a function

    
    function script command__ {
    
    attachnpctimer getcharid(3);
    atcommand "@autoattack";
    initnpctimer;
    return;
    

    - and i put also

    30001,Auto_Attack_Card,Auto Attack,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "command__"; },{},{}
    

    - my problem is what if the Auto Attack Card will expired?.. is the function enough to stop from auto attacking??.. if the expiration end?

  5. what i did to be red vs blue,

    i copy the party vs party script,

    - after the registration team blue will be warp to the location of waiting room A,

    and team red will be warp to the location of waiting room B,

    and the rest work...

    to make it work in other guild_vs map just change the map location

    
    set .red, waitingroom2bg( "bat_a01", 171,346, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ );
    

    
    set .blue, waitingroom2bg( "bat_a01", 162,50, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ );
    

    also

    
    bg_warp .red, "bat_a01", 171,346;
    bg_warp .blue, "bat_a01", 162,50;
    

    and all the bat_a01 maps..

  6. how could i patch a diff files using putty.exe

    - do i need to login on WinCP to put the .diff files or .patch??..

    what if i put it in cd /home/updates/patchfile

    and my server files located at cd /home/ra

    - how do i patch it?

    i can't understand this part

    Linux:

    cd /path/to/your/server/folder

    patch -p0 < /path/to/patch/file/filename.extension

    cd /home/ra patch -p0 /home/updates/patchfile

    - i did that in putty.exe but nothing happens

  7. you can edit it..

    
    if (BaseLevel < 91) {
    	mes "- This missions can only be -";
    	mes "- read by those who are -";
    	mes "- of the correct level. -";
    	mes "- There might be another -";
    	mes "- board somewhere for -";
    	mes "- my level. -";
    	close;
    }
    if (BaseLevel > 99) {
    

    change the base level

  8. status.c

    #ifndef RENEWAL_EDP
      val3 = 50*(val1+1); //Damage increase (+50 +50*lv%)
    #endif
    

    change it to

    #ifndef RENEWAL_EDP
      val3 = 40*(val1); //Damage increase (+40*lv%)
    #endif
    

    40 * skilllevel(5) = 200.

    is this fix the over power issue?

×
×
  • Create New...