Jump to content

Kreustoo

Members
  • Posts

    215
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Kreustoo

  1. Okay my bad, tested it with reloadnpc, @iraciz
     

    From d3f15f841b1a0f563925e8710c3b798360a5d8c7 Mon Sep 17 00:00:00 2001
    From: Kreustoo <kreustoo@gmail.com>
    Date: Sat, 29 Aug 2020 21:03:23 +0200
    Subject: [PATCH] ClickTheNinja, Fix the hideon hideoff
    
    ---
     scripts/Click The Ninja/ClickTheNinja.txt | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/scripts/Click The Ninja/ClickTheNinja.txt b/scripts/Click The Ninja/ClickTheNinja.txt
    index 04dc3f6..4a1c1bc 100644
    --- a/scripts/Click The Ninja/ClickTheNinja.txt	
    +++ b/scripts/Click The Ninja/ClickTheNinja.txt	
    @@ -61,7 +61,7 @@ prontera,149,150,4	script	Ninja Click	637,{ //!!Modify!! Position
     			for([email protected] = 0;[email protected] < .NbNpcSession;[email protected]++){
     				[email protected]$ = "EvNinjaTrainDup"+.Current;
     				movenpc [email protected]$,rand(.XMin,.XMax),rand(.YMin,.YMax);
    -				enablenpc [email protected]$;
    +				hideoffnpc [email protected]$;
     				.Current++;
     				if(.Current > .MaxNpc)
     					.Current = 1;
    @@ -109,7 +109,7 @@ prontera,149,150,4	script	Ninja Click	637,{ //!!Modify!! Position
     		if(.NbNpcSession < 1)
     			.NbNpcSession = 1;
     		for([email protected] = 1;[email protected] <= .MaxNpc;[email protected]++)
    -			disablenpc "EvNinjaTrainDup"[email protected];
    +			hideonnpc "EvNinjaTrainDup"[email protected];
     		mapannounce [email protected]$,"The event started, be the first to click on the npc!",bc_all;
     		initnpctimer;
     	end;

     

  2. @iraciz

    @@ -125,7 +126,7 @@ prontera,149,150,4	script	Ninja Click	637,{ //!!Modify!! Position
     		end;
     	}
     	npctalk "Training Ninja: Damn! "+strcharinfo(0)+" got me!";
    -	disablenpc strnpcinfo(3);
    +	hideonnpc strnpcinfo(3);
     	for([email protected] = 0;[email protected]< getarraysize(.Rewards);[email protected] [email protected] +2){
     		getitem .Rewards[[email protected]],.Rewards[[email protected]+1];
     	}

    I relaunched the game to test and this little fix should fix the crash, tell me if it does the job or not

  3. In my answer there's already the loop, you just had to copy/paste to replace, but whatever:

    function    script    CustomBox    {
    
            set [email protected],65;
            setarray [email protected][0],90,983,5; //Black Dyestuff
            setarray [email protected][0],91,981,5; //Violet Dyestuff
            setarray [email protected][0],93,13517,1; //YGGBOX
            setarray [email protected][0],94,12534,1; //YGGSEED
            setarray [email protected][0],80,3016,1; //HOKAGEHAT
            setarray [email protected][0],81,3696,1; //LUFFYHAT
            setarray [email protected][0],85,740,10; //PUPPET
            setarray [email protected][0],89,720,10; //AQUAMARINE
            setarray [email protected][0],87,14176,1; //ENRICHEDELU
            setarray [email protected][0],88,14177,1; //ENRICHEDORI
            setarray [email protected][0],60,50005,1; //PREMIUMCREDIT
            setarray [email protected][0],70,3676,1; //HOLLOWMASK
            setarray [email protected][0],75,3678,1; //ROBOEARS
            setarray [email protected][0],50,19130,1; //MAGICEYES
            setarray [email protected][0],51,5184,1; //CAPTAINSHAT
                setarray [email protected][0],52,8327,1; //EVOLVED POOPOO
            setarray [email protected][0],53,3782,1; //DARKLORDHELM
            setarray [email protected][0],54,18534,1; //FANCYPHANTOM
            setarray [email protected][0],55,5325,1; //ROBOEYE
            setarray [email protected][0],51,19176,1; //FALLENANGELBLESSING
            setarray [email protected][0],56,5517,1; //HAWKEYES
            setarray [email protected][0],57,3661,1; //DEVILING WINGS
            setarray [email protected][0],58,3000,1; //ANGELINGWINGS
            setarray [email protected][0],59,3001,1; //ARTICWINGS
            setarray [email protected][0],60,3003,1; //DEMONWINGS
            setarray [email protected][0],61,3005,1; //GARGOYLEWINGS
            setarray [email protected][0],62,3007,1; //PHOENIXWINGS
            setarray [email protected][0],63,3008,1; //TORNWINGS
            setarray [email protected][0],64,3002,1; //BLACKBUTTERFLYWING
            setarray [email protected][0],65,3009,1; //WHITEBUTTERFLYWING
            setarray [email protected][0],65,2726,1; //ICARUSWINGS
            setarray [email protected][0],40,7828,1; //BRAVERYBADGE
            setarray [email protected][0],41,45078,1; //NEKOHOOD
            setarray [email protected][0],42,20073,1; //MVPHAT
            setarray [email protected][0],43,rand(45066,45072),1; //BUNDANNA
            setarray [email protected][0],40,rand(45099,45101),1; //RUNES
            setarray [email protected][0],40,45084,1; //BLACKRUNES
            setarray [email protected][0],40,rand(45026,45028),1; //BLACKAURA-PINK
            setarray [email protected][0],40,rand(45062,45065),1; //BLACKAURA-WHITE
            setarray [email protected][0],20,rand(3515,3526),1; //DRAGONWEAPON
            setarray [email protected][0],20,28605,1; //DRAGONBOOK
            setarray [email protected][0],20,3536,1; //DRAGONSHURIKEN
            setarray [email protected][0],15,rand(45211,45214),1; //FUSHIONVALKYIRE
            setarray [email protected][0],10,rand(8032,8033),1; //DIABLOSPIRIT
            setarray [email protected][0],10,20727,1; //BRILLIANTGOLDEN
            setarray [email protected][0],9,82517,1; //INVOKERCAPE
            setarray [email protected][0],2,4549,1; //UPDMAYA
            setarray [email protected][0],3,4359,1; //SINXCARD
            setarray [email protected][0],3,4357,1; //LKCARD
            setarray [email protected][0],3,4361,1; //WSCARD
            setarray [email protected][0],3,4363,1; //HIGHPRIESTCARD
            setarray [email protected][0],3,4365,1; //HIGHWIZARDCARD
            setarray [email protected][0],5,4128,1; //GTB
            setarray [email protected][0],7,3742,1; //GOLDENSWORDAURA
            setarray [email protected][0],4,40016,1; //DRAGONRING
            setarray [email protected][0],5,rand(40006,40012),1; //DRAGONSET
            setarray [email protected][0],1,rand(4480,4504),1; //SEALED
            setarray [email protected][0],1,rand(4535,4544),1; //SEALED
                setarray [email protected][0],100,7227,rand(1,5); // TCG
            setarray [email protected][0],100,7227,rand(5,10); // TCG
            setarray [email protected][0],95,6767,rand(1,10); //MVPCOIN
            setarray [email protected][0],96,3100,rand(1,10); //CREDIT
            setarray [email protected][0],97,7608,rand(1,5); //LOTTITICKET
            setarray [email protected][0],96,6420,rand(1,10); //HOURLYCOIN
            setarray [email protected][0],2,rand(40033,40034),1; //VIPBOX
       for([email protected] = 0;[email protected] < 10;[email protected]++){
        do{
            set [email protected], rand(1,[email protected]);
        }while( rand(1,100) > getd("[email protected]"[email protected]+"[0]") );
        
        for(set [email protected],1; [email protected]<getarraysize(getd("[email protected]"[email protected])); set [email protected],[email protected]+2)
        {
            getitem getd("[email protected]"[email protected]+"["[email protected]+"]"), getd("[email protected]"[email protected]+"["+([email protected]+1)+"]");
            if ([email protected][0])
            {
                set [email protected],[email protected];
                setarray [email protected][0], getd("[email protected]"[email protected]+"["[email protected]+"]"), getd("[email protected]"[email protected]+"["+([email protected]+1)+"]");
                break;
            }
        }
        if( [email protected] && [email protected] <= 10 ) // 10% equal or below will announce
        announce "Congratulations! "+strcharinfo(0)+" just received "+getitemname([email protected][0])+" x "[email protected][1]+" From Supply Box",0;
        specialeffect2 248;
     }
    end;
    }

     

  4. Hello,

    When opening your item, check your map error, it'll tell you if it can't find "CustomBox", if that's the case, you have an error when loading your function that you have to correct.

    If not, that's what Patskie said, you have a problem in your function directly that does not work as you think and you need to debug it.

  5. Hello,

    You can put a for around the logical that goes from 0 to 10

    for([email protected] = 0;[email protected] < 10;[email protected]++){
        do{
            set [email protected], rand(1,[email protected]);
        }while( rand(1,100) > getd("[email protected]"[email protected]+"[0]") );
        
        for(set [email protected],1; [email protected]<getarraysize(getd("[email protected]"[email protected])); set [email protected],[email protected]+2)
        {
            getitem getd("[email protected]"[email protected]+"["[email protected]+"]"), getd("[email protected]"[email protected]+"["+([email protected]+1)+"]");
            if ([email protected][0])
            {
                set [email protected],[email protected];
                setarray [email protected][0], getd("[email protected]"[email protected]+"["[email protected]+"]"), getd("[email protected]"[email protected]+"["+([email protected]+1)+"]");
                break;
            }
        }
        if( [email protected] && [email protected] <= 10 ) // 10% equal or below will announce
        announce "Congratulations! "+strcharinfo(0)+" just received "+getitemname([email protected][0])+" x "[email protected][1]+" From Supply Box",0;
        specialeffect2 248;
     }

     

  6. Hello,

    Did you actuallty check the documentation?

    *getinventorylist {<char_id>};

    What you want to use I guess is:

    *countitem(<item id>{,<accountID>})
    *countitem("<item name>"{,<accountID>})
    
    This function will return the number of items for the specified item ID that the
    invoking character has in the inventory.
    
    	mes "[Item Checker]";
    	mes "Hmmm, it seems you have " + countitem(502) + " apples";
    	close;
    
    Like 'getitem', this function will also accept an 'english name' from the
    database as an argument.
    
    If you want to state the number at the end of a sentence, you can do it by
    adding up strings:
    
    	mes "[Item Checker]";
    	mes "Hmmm, the total number of apples you are holding is " + countitem("APPLE");
    	close;

     

    • Upvote 1
  7. Hello,

    rand(13517,12534,12103,6767,3100,7227,7608,6420,981,983)

    You need F_rand to do that (a script function). rand is just for maximum 2 numbers:

    *rand(<number>{,<number>});
    
    This function returns a number ...
    (if you specify one) ... randomly positioned between 0 and the number you specify -1.
    (if you specify two) ... randomly positioned between the two numbers you specify.
    
    rand(10)  would result in 0,1,2,3,4,5,6,7,8 or 9
    rand(0,9) would result in 0,1,2,3,4,5,6,7,8 or 9
    rand(2,5) would result in 2,3,4 or 5

    The rest seems good to me

  8. Hello,

    The npc says when the training is over (Line 69). You can change that to an announce if you want :).

    And for the gm, there's a .MinGMLevel value that you can edit to what you want, and yeah, there's no protection into breaking the npc launching it multiples time, but I don't put thoses kind of protection for the gm, I assume they know what they are doing.

  9. Hello,

    I think you can just modify in status.cpp:

    base_status->size = (sd->class_&JOBL_BABY || ((battle_config.summoner_trait&2) && (sd->class_&MAPID_BASEMASK) == MAPID_SUMMONER)) ? SZ_SMALL : SZ_MEDIUM;
    
    to
    
    base_status->size = (((battle_config.summoner_trait&2) && (sd->class_&MAPID_BASEMASK) == MAPID_SUMMONER)) ? SZ_SMALL : SZ_MEDIUM;

    Not tested at all.

  10. Hello,
    Maybe what you want is this?

    *changebase <job ID number>{,<account ID>};
    
    This command will change a character's appearance to that of the specified job
    class. Nothing but appearance will change.
    
    The command will run for the invoking character unless an account ID is given.
    
    	changebase Job_Novice; // Changes player to Novice sprite.
    	changebase Class; // Changes player back to default sprite.

     

×
×
  • Create New...

Important Information

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