Jump to content
  • 0

Help with this script


Budots

Question


  • Group:  Members
  • Topic Count:  69
  • Topics Per Day:  0.02
  • Content Count:  200
  • Reputation:   1
  • Joined:  09/25/13
  • Last Seen:  

I have here a Job Sprite Changer Script made by or shall we say modified by AnnieRuRu

I hope Annie can read this

 

I want to add something like;

 

- They need to do a random MONSTER QUEST before they can change their job sprites.

- 3 Sets of MOBS

- 200 - 300 monster per set like for example (poring = 238 / fabre = 287 / lunatic = 292)

- If they want to return to original job sprite, they need to pay 1,000 item 9524         // 9524 <----- is the item ID

 

 

Hopefully pro scripters will help me with this :wub: :wub: :wub:

 

MERRY CHRISTMAS :meow: :meow: :meow:


bump


BUMP


BUMP

job_sprite.txt

Edited by Budots
Link to comment
Share on other sites

1 answer to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

depends on my mood /yawn

this is not event script ... this is a quest script, which I'm not very motivated...

that's why the other topics solved faster than this

prontera,150,180,4    script    asdfasdf    100,{
//    job_sprite_changer_q$ = "";
    if ( job_sprite_changer_d ) {
        mes "return to original disguise ?";
        if ( select ( "Yes", "No" ) == 2 ) close;
        else if ( countitem(9524) < 1000 ) {
            mes "you need 1000x "+ getitemname(9524);
            close;
        }
        mes "disguise reverted";
        changebase class;
        job_sprite_changer_d = 0;
        close;
    }
    if ( getstrlen( job_sprite_changer_q$ ) ) {
        mes job_sprite_changer_q$;
        for ( .@i = 0; .@i < 3; .@i++ )
            mes strmobinfo( 2, @job_sprite_changer_qm[.@i] ) +" : ["+ @job_sprite_changer_qa[.@i] +"/"+ @job_sprite_changer_qr[.@i] +"]";
        .@i = 0;
        while ( @job_sprite_changer_qa[.@i] >= @job_sprite_changer_qr[.@i] && .@i < 3 ) .@i++;
        if ( .@i < 3 ) close;
        next;
        mes "select which jobtype you would like to change into.";
        switch ( select ( "Normal Jobs", "Rebirth Jobs", "Baby Jobs", "Expanded Jobs" ) ) {
            case 1: .@job = callsub( L_eamenu, 0 ); break;
            case 2: .@job = callsub( L_eamenu, EAJL_UPPER ); break;
            case 3: .@job = callsub( L_eamenu, EAJL_BABY ); break;
            case 4: .@job = callsub( L_menu, 23,24,25, 4046,4047,4049 );
        }
        if ( !.@job ) {
            mes "sry you can't take novice"; // TO-DO
            close;
        }
        changebase .@job;
        mes "You now look like "+ jobname( .@job ) +"! Enjoy";
        job_sprite_changer_d = .@job;
        job_sprite_changer_q$ = "";
        close;
    }
    mes "want to take up monster quest ?";
    next;
    if ( select ( "Yes", "No" ) == 2 ) {
        mes "come back another time";
        close;
    }
    set .@Blacklist$,    // Blacklisted mob IDs.
    "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+
    "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+
    "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+
    "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+
    "1975,1976,1977,1978,1979";
    query_sql("SELECT ID FROM `mob_db` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND ID not in ("+ .@Blacklist$ +") ORDER BY rand() LIMIT 3", @job_sprite_changer_qm);
    job_sprite_changer_q$ = "";
    for ( .@i = 0; .@i < 3; .@i++ ) {
        @job_sprite_changer_qr[.@i] = rand(200,300);
        job_sprite_changer_q$ = job_sprite_changer_q$ + @job_sprite_changer_qm[.@i] +"#"+  @job_sprite_changer_qr[.@i] +"#0#";
    }
    mes "the monster you need to hunt is";
    for ( .@i = 0; .@i < 3; .@i++ )
        mes strmobinfo( 2, @job_sprite_changer_qm[.@i] ) +" : [0/"+ @job_sprite_changer_qr[.@i] +"]";
    close;
L_menu:
    for ( set .@i, 0; getarg(.@i, -1) != -1; set .@i, .@i +1 )
        set .@menu$, .@menu$ + jobname( getarg(.@i) ) +":";
    set .@s, select(.@menu$) -1;
    return getarg(.@s);
L_eamenu:
    switch ( select ( "First Jobs", "2-1", "2-2", "3-1", "3-2" ) ) {
        case 1: set .@job, callsub( L_eajob, 0 | getarg(0) ); break;
        case 2: set .@job, callsub( L_eajob, EAJL_2_1 | getarg(0) ); break;
        case 3: set .@job, callsub( L_eajob, EAJL_2_2 | getarg(0) ); break;
        case 4: set .@job, callsub( L_eajob, EAJL_THIRD | EAJL_2_1 | getarg(0) ); break;
        case 5: set .@job, callsub( L_eajob, EAJL_THIRD | EAJL_2_2 | getarg(0) );
    }
    return .@job;
L_eajob:
    for ( set .@i, getarg(0); .@i < getarg(0) +7; set .@i, .@i +1 ) {
        set .@job[.@c], roclass( getarg(0) + .@c );
        set .@menu$, .@menu$ +( ( jobname( .@job[.@c] ) == "Unknown Job" )? "" : jobname( .@job[.@c] ) )+":";
        set .@c, .@c +1;
    }
    set .@s, select(.@menu$) -1;
    return .@job[.@s];
OnNPCKillEvent:
    if ( !getstrlen( job_sprite_changer_q$ ) ) end;
    while ( @job_sprite_changer_qm[.@i] != killedrid && .@i < 3 ) .@i++;
//    dispbottom @job_sprite_changer_qm[.@i] +" "+ killedrid +" "+ ( @job_sprite_changer_qm != killedrid )+" ";
    if ( .@i < 3 && @job_sprite_changer_qa[.@i] < @job_sprite_changer_qr[.@i] ) {
        @job_sprite_changer_qa[.@i]++;
        job_sprite_changer_q$ = "";
        for ( .@i = 0; .@i < 3; .@i++ )
            job_sprite_changer_q$ = job_sprite_changer_q$ + @job_sprite_changer_qm[.@i] +"#"+  @job_sprite_changer_qr[.@i] +"#"+ @job_sprite_changer_qa[.@i] +"#";
    }
    end;
OnPCLoginEvent:
    if ( job_sprite_changer_d )
        changebase job_sprite_changer_d;
    else if ( getstrlen( job_sprite_changer_q$ ) ) {
        explode .@var$, job_sprite_changer_q$, "#";
        for ( .@i = 0; .@i < 9; .@i++ ) {
            if ( .@i % 3 == 0 ) @job_sprite_changer_qm[.@i /3] = atoi( .@var$[.@i] );
            if ( .@i % 3 == 1 ) @job_sprite_changer_qr[.@i /3] = atoi( .@var$[.@i] );
            if ( .@i % 3 == 2 ) @job_sprite_changer_qa[.@i /3] = atoi( .@var$[.@i] );
        }
    }
    end;
}

got a feeling this script gonna bug ... since I did this half-heartedly

check out everything issit working or not before say thx

... the script looks unoptimized too

Edited by AnnieRuru
  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...