Jump to content

hanxgo

Members
  • Posts

    13
  • Joined

  • Last visited

Posts posted by hanxgo

  1. 10 minutes ago, AnnieRuru said:

    ok ... now I understand what you mean

    this script ... has use some ... tricks ... on it ....
    so you can't actually test the script by changing that label,
    that OnSun0000: has to be like that because it runs the calculation based on SQL command DATEDIFF

    the moment you install the script, it automatically save a the current Sunday of the current week, and it save as weekindex 0
    if you test the script that way, it will save the weekindex as -1, which will bug the script

    the proper way, like I said previously, is to change your test server's computer time into (future) current week Saturday 11:58pm and wait for it to run that label
    and remember time only move forward, it can't roll backwards, so if you change your computer time into the future, and change back original time, this script will also bug XD

    that's why I say this script has so many tricks inside
    and actually I don't even know the proper way to do this ... I've search on the internet and can't really find a perfect solution

    Thank you master @AnnieRuru
    and more power :D

  2. 23 hours ago, AnnieRuru said:

    the script might look short, but damn lots of tricks are compact inside
    http://upaste.me/2d7a496551c99fca3
    especially how to tackle the week .... without having go into next year

    @hanxgo

    EDIT: oh yeah I forgotten about the mail ... HAHAHA ... there is no need using mail in this script, so you can disable it again

    Thank you Master @AnnieRuru
    and another noob question, because I am trying to test the script and I just edit this line to reset the MVP ranking and gives a rewards,

    OnWed1430:
        query_sql "select datediff( curdate(), '"+ $mvp_rank_1st_wednesday +"' ) /7", .this_week_index;
        if ( .this_week_index == $mvp_rank_week_index ) end;
     

    thank you master

  3. On 4/5/2018 at 10:17 PM, AnnieRuru said:

    if your server enable rodex mail system then I can reconsider this request ...

     

    yes, I mean write *rodex_mail script command to use in rathena ... very simple to do since hercules already having it

     

     

    EDIT: yeah .... everyone mention @Annie Ruru ....

    I actually didn't get any notification ...

    Hello Master @AnnieRuru thank you..

    can you please make it with rodex, and I will enable the rodex in the server.. thank you in advance...

    rodex is this one right>? nZp5Ew8m.jpg

    thank you so much master @AnnieRuru

     

     

     

     

  4. 51 minutes ago, AnnieRuru said:

    I remember I made this script

    http://herc.ws/board/topic/4552-mvp-ladder-script-enhancement/

     

    curious ... why not just use the new rodex mail ? that also save my time .... very simple to convert into rodex_mail script command

    EDIT: oops ~ only hercules has *rodex_mail, rathena doesn't have this script command

     

    also this script is to be use monthly ... if wanna change into weekly it needs lots of tweaking ...

     

    a claim reward option so player can claim the prize whenever they want ??

    that needs another SQL table ...

     

    conclusion ... there are 3 heavy modification that you are asking ...

    @Annie Ruru thank you for your reponse and I apologize for asking too much..

    I am new on scripting..

    btw thank you again

    master @Annie Ruru

    and I am willing to wait even its take a long period of time.. thank you master..

  5. Hello guys. Please help me on this script.. I want to claim the reward by the same NPC by having an option of "Claim Rewards" after a week.. instead of inserting the rewards thru mail.. because in the server we turn-off the mailing system...thank you in advance..

    /*
    alter table `char` add column mvp_rank int(11) default 0 after delete_date, add index (mvp_rank);
    
    create table mvp_rank_archive (
    `date` datetime,
    pos tinyint(4) unsigned,
    cid int(11) unsigned default 0,
    name varchar(23) default '',
    points int(11) unsigned not null,
    primary key ( `date`, pos )
    ) engine innodb;
    */
    prontera,158,183,3    script    MVP Ladder    100,{
        mes "[MVP Ladder]";
        mes "Hello!";
        mes "What are you doing here?";
        next;
        switch(select("Check rankings.:My stats.:Previous Week ranking:Claim Rewards")) {
        case 1:
            mes "[MVP Ladder]";
            mes "Rankings :->";
            [email protected] = query_sql( "select name, mvp_rank from `char` where mvp_rank > 0 order by mvp_rank desc limit 10", [email protected]$, [email protected] );
            if ( [email protected] ) {
                mes "no entry";
                close;
            }
            for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ )
                mes ( [email protected] +1 )+". "+ [email protected]$[[email protected]] +" -> "+ [email protected][[email protected]] +" points";
            close;
        case 2:
            query_sql "select mvp_rank from `char` where char_id = "+ getcharid(0), [email protected];
            mes "[MVP Ladder]";
            mes "You have killed "+ [email protected] +" MVPs";
            close;
        case 3:
            mes "[MVP Ladder]";
            mes "Last week ranking";
            if ( gettime(6) > 10 )
                [email protected]_date$ = gettime(7) +"-"+( gettime(6) -1 )+"-00 00:00:00";
            else if ( gettime(6) > 1 )
                [email protected]_date$ = gettime(7) +"-0"+( gettime(6) -1 )+"-00 00:00:00";
            else
                [email protected]_date$ = ( gettime(7) -1 ) +"-12-00 00:00:00";
            [email protected] = query_sql( "select name, points from mvp_rank_archive where `date` = '"+ [email protected]_date$ +"' order by pos", [email protected]$, [email protected] );
            if ( [email protected] ) {
                mes "no entry";
                close;
            }
            for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ )
                mes ( [email protected] +1 )+". "+ [email protected]$[[email protected]] +" -> "+ [email protected][[email protected]] +" points";
            close;
        }
        close;
    OnInit:
        if ( $mvp_ladder_last_given == atoi( gettime(7) +""+ gettime(6) ) ) end;
        goto L_give;
    OnClock0000:
        if ( gettime(4) != 1 ) end;
    L_give:
        [email protected] = query_sql( "select char_id, name, mvp_rank from `char` where mvp_rank > 0 order by mvp_rank desc limit 10", [email protected], [email protected]$, [email protected] );
        if ( [email protected] ) end;
        setarray [email protected], 501, 502, 503, 504, 505, 506, 507, 508, 509, 510;
        setarray [email protected], 10, 9, 8, 7, 6, 5, 4, 3, 2, 1;
        for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ )
            query_sql "insert into mail ( send_name, dest_id, title, message, nameid, amount, identify, zeny, time ) values ( '"+ escape_sql( [email protected]$[[email protected]] ) +"', "+ [email protected][[email protected]] +", '[MVP RANK]', 'Congratulations for earning No. "+( [email protected] +1 )+" position in MVP rank. Here is your reward.', "+ [email protected][[email protected]] +", "+ [email protected][[email protected]] +", 1, 0, unix_timestamp( now() ) )";
        if ( gettime(6) > 10 )
            [email protected]_date$ = gettime(7) +"-"+( gettime(6) -1 )+"-00 00:00:00";
        else if ( gettime(6) > 1 )
            [email protected]_date$ = gettime(7) +"-0"+( gettime(6) -1 )+"-00 00:00:00";
        else
            [email protected]_date$ = ( gettime(7) -1 ) +"-12-00 00:00:00";
        for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ )
            [email protected]$[[email protected]] = "( '"+ [email protected]_date$ +"', "+( [email protected] +1 )+", "+ [email protected][[email protected]] +", '"+ escape_sql( [email protected]$[[email protected]] ) +"', "+ [email protected][[email protected]] +" )";
        query_sql "insert into mvp_rank_archive values "+ implode( [email protected]$, "," );
        query_sql "update `char` set mvp_rank = 0"; // reset the ladder
        $mvp_ladder_last_given = atoi( gettime(7) +""+ gettime(6) );
        end;
    OnNPCKillEvent:
        if ( getmonsterinfo( killedrid, MOB_MVPEXP ) ) {
            query_sql "update `char` set mvp_rank = mvp_rank +1 where char_id = "+ getcharid(0);
            query_sql "select mvp_rank from `char` where char_id = "+ getcharid(0), [email protected];
            dispbottom "~ You've killed "+ [email protected] +" MVP. ~";
            specialeffect2 EF_HEAL2;
        }
        end;
    }

     

×
×
  • Create New...

Important Information

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