Jump to content

LewL

Members
  • Posts

    84
  • Joined

  • Last visited

Posts posted by LewL

  1. On 5/26/2022 at 5:51 AM, TheKingDino said:

    This is for the most part a client-side issue. Do you want to remove the effect for yourself or all players on your server?


    It'll help if you can answer:
    Is your server using an encrypted GRF? (Namely one they are required to use to log onto your server)

    i want to remove the effect for all players.

    yes my grf is encrypted.

  2. Hi everyone, i'm currently using a Party Search npc and it works fine.

    i would like to add something to it hope you could help me.

    i want to add on the announce part the player's current blvl, jlvl and job.

    Party_Search.txt

    example:

    Player name: Player / blvl: 99 / jlvl:70 / Job: Champion

    it should announce:
    Player 99/70 Champion : is looking for Party Members

  3. Hello everyone, I would like to request for Custom Socket Enchanter NPC (Add slot to armor/weapon npc)

    Same as rathena/npc/merchants/socket_enchant2.txt

    But the modification i want is instead of zeny and other requirements i want a custom item as payment example itemid 32000 as item requirement to put slot on armor/weapon and 50% success 40% fail(nothing happens) 10% item destroy.

    hope someone could help. Thanks in advance.

  4. Hi everyone, i got the script of @Haruka Mayumi Lotti npc it works fine just getting stuck on this part when you have enough zeny to play the lotti, i wish it would just tell the player that he/she doesn't have enough zeny or enough item to play the lotti game.

    1.png.343eb95f45fa1c32f74b15cda63a17ad.png

     

    prontera,170,181,3	script	Lotti Girl	714,{
    	mes "[Lotti Girl]";
    	mes "Hello Sir! Are you out";
    	mes "shopping in the city?!";
    	next;
    	mes "[Lotti Girl]";
    	mes "I'm Lotti! I'll exchange cool";
    	mes "random prizes for every";
    	if(.LottoID && .LottoAmt)
    		mes "^ff0000"+.LottoAmt+" "+getitemname(.LottoID)+"^000000.";
    	if(.ZenyPay)
    		mes "^ff0000"+callfunc("F_InsertComma",.ZenyPay)+"z";
    	next;
    	mes "[Lotti Girl]";
    	if(getarraysize(.P1)<4){
    		mes "Our Grand prize is:";
    		mes "^ff0000"+.P1[2]+" "+getitemname(.P1[1])+"^000000";
    	} else {
    		mes "Random Grand prize:";
    		for(.@i=1;.@i<getarraysize(.P1);.@i+=2)
    			mes "^ff0000"+.P1[.@i+1]+" "+getitemname(.P1[.@i])+"^000000";
    	}
    	if(getarraysize(.P2)<4){
    		mes "Special prize is:";
    		mes "^ff0000"+.P2[2]+" "+getitemname(.P2[1])+"^000000";
    	} else {
    		mes "Random Special prize:";
    		for(.@i=1;.@i<getarraysize(.P2);.@i+=2)
    			mes "^ff0000"+.P2[.@i+1]+" "+getitemname(.P2[.@i])+"^000000";
    	}
    	next;
    	mes "[Lotti Girl]";
    	mes "You can still get random item";
    	mes "if you failed to get the grand";
    	mes "prize and special prizes.";
    	if(.LottoID && .LottoAmt && (countitem(.LottoID) < .LottoAmt))
    		close;
    	if(.Zeny && Zeny < .Zeny)
    		close;
    	next;
    	if(select("Deal me in!:No way...")==2)
    		close;
    L_Roll:
        mes "[Lotti Girl]";
        mes "Here we go...";
        if(.LottoID && .LottoAmt)
           delitem .LottoID,.LottoAmt;
        if(.ZenyPay) Zeny -= .ZenyPay;
        set .@i, rand(1,.Total);
        set .@rand,rand(10000);
    	for(.@j=.Total;.@j>=1;.@j--)
    		if( getd(".P"+.@j+"[0]") >= .@rand)
    			.@i = .@j;
    	next;
        if ( .@rand > getd(".P"+.@i+"[0]")){
            .@iid = rand(getarraysize(.Default)/2);
            setarray .@get,.Default[(.@iid*2)],.Default[((.@iid*2)+1)];
        } else {
            .@iid = rand(getarraysize(getd(".P"+.@i))/2);
            setarray .@get,getd(".P"+.@i+"["+((.@iid*2)+1)+"]"),getd(".P"+.@i+"["+((.@iid*2)+2)+"]");
        }
        getitem .@get[0],.@get[1];
    	if(inarray(.AnnouncedID,.@get) >=0 )
        announce "Congratulations! "+strcharinfo(0)+" just received "+getitemname(.@get[0])+" x "+.@get[1]+" from Lotti Girl ("+.map$+" "+.x+" "+.y+")!",0;
        specialeffect2 248;
    	if(.LottoID && .LottoAmt && (countitem(.LottoID) < .LottoAmt))
    		close;
    	if(.Zeny && Zeny < .Zeny)
    		close;
    	next;
    	mes "[Lotti Girl]";
    	mes "Want to roll again?";
    	if(select("Roll again:Nope, No luck!")==1){
    		clear();
    		goto L_Roll;
    	}
    	close;
    	
    OnInit:	//No need to edit the main script. all editable are here.
    	.ZenyPay = 100000;	//Zeny to Pay [0 = Disable]
    	.LottoID = 0;	//ItemID to Roll [0 = Disable]
    	.LottoAmt = 0;		//Amount of LottoID Per Roll[0 = Disable]
        set .Total,4;
    	setarray .AnnouncedID,501,502,512,513;	//To reduce announcement. let's not announce common items.
        //setarray .P#[0],<% chance(1-10000)>,<ItemID>,<Amount>
        setarray .P1[0],100,501,1;	//Grand Prize
        setarray .P2[0],1000,502,1,512,2,513,3;	//Special Prizes
        setarray .P3[0],5000,503,1;
        setarray .P4[0],7500,504,1,514,4;
        setarray .Default[0],505,5,506,1;
    	getmapxy(.map$,.x,.y,BL_NPC);
    end;
    }

     

  5. i made a custom halter lead by copying it's item script

    The Original

      - Id: 12622
        AegisName: Boarding_Halter
        Name: Reins Of Mount
        Type: Usable
        Flags:
          NoConsume: true
        Jobs:
          All: true
          Gunslinger: false
        Delay:
          Duration: 3000
          Status: All_Riding_Reuse_Limit
        Trade:
          Override: 100
          NoDrop: true
          NoTrade: true
          NoSell: true
          NoCart: true
          NoGuildStorage: true
          NoMail: true
          NoAuction: true
        Script: |
          setmounting();
        UnEquipScript: |
          if (ismounting()) setmounting();
    
     
    i made 1 for Gunslinger
      - Id: 33014
        AegisName: Motorcycle_Key
        Name: Motorcycle Key
        Type: Usable
        Flags:
          NoConsume: true
        Jobs:
          Gunslinger: true
        Trade:
          Override: 100
          NoDrop: true
          NoTrade: true
          NoSell: true
          NoCart: true
          NoGuildStorage: true
          NoMail: true
          NoAuction: true
        Script: |
          setmounting();
        UnEquipScript: |
          if (ismounting()) setmounting();
    
    the one i made for Gunslinger is working fine when i use it but when im on the mount and tried to use it again the mount wouldn't be release/remove
    how do i fix it?
  6. Hello everyone, i have this working gacha script of @Capuche

    I want a little modification on it,  npc will announce when a player got the rare item from 1% to 3% chance.

    i hope this is the right place to post this and hope you guys could help me. Thanks in advance ❤️

    Gatcha.txt

    tavern,66,37,3	script	Gacha	562,{
    
    	mes .npc_name$;
    	mes "Hello, do you want to play the Gatcha??";
    	next;
    	switch( select( "Play !", "More Informations", "Leave" ) ) {
    	case 1:
    		break;
    	case 2:
    		while( getd(".p"+ .@j ) ) {
    			mes .npc_name$;
    			mes "Item required: ^FFCC00"+ getitemname( getd(".p"+ .@j ) ) +"^000000";
    			mes "Chance to gain something: ^CC0000"+ getd(".p"+ .@j +"[1]" ) +"%^000000";
    			mes "Possible gains:";
    			for( .@i = 3; .@i < getarraysize( getd(".p"+ .@j ) ); .@i +=  3 )
    				mes "^0000FFx"+ getd(".p"+ .@j +"["+ .@i +"]" ) +"^000000 "+ getitemname( getd(".p"+ .@j +"["+ (.@i -1) +"]" ) ) +" (^CC0000"+ getd(".p"+ .@j +"["+ (.@i +1) +"]" ) +"%^000000)";
    			.@j++;
    			next;
    		}
    		break;
    	case 3:
    		mes .npc_name$;
    		mes "Bye!~";
    		close;
    	}
    	mes .npc_name$;
    	mes "Which item do you want to use ?";
    	next;
    	for( .@j = 0; getd(".p"+ .@j ); .@j++ ) {
    		.@size = getarraysize( .@menu$ );
    		.@menu$[ .@size ] = getitemname( getd(".p"+ .@j ) );
    		.@sel[ .@size ] = .@j;
    	}
    	.@s = .@sel[ select( implode( .@menu$, ":" ) ) -1 ];
    	while (1) {
    		if ( countitem( getd(".p"+ .@s ) ) < 1 ) {
    			mes .npc_name$;
    			mes "it seems you have ran out of "+ getitemname( getd(".p"+ .@s ) );
    			close;
    		}
    		mes .npc_name$;
    		mes "Here we go...";
    		delitem getd(".p"+ .@s ), 1;
    		if( rand(100) > getd(".p"+ .@s +"[1]" ) )// lose
    			mes "You got nothing";
    		else {
    			.@rand = rand( getd(".totalchance"+ .@s ) );
    			.@r = 1;
    			while ( ( .@rand = .@rand - getd( ".p"+ .@s +"["+ (1+ 3 * .@r) +"]" ) ) >= 0 ) .@r++;
    			getitem getd( ".p"+ .@s +"["+ (1+ 3*.@r -2) +"]" ), getd( ".p"+ .@s +"["+( 1+3*.@r -1 )+"]" );
    			mes "You got ^FF00CC"+ getd( ".p"+ .@s +"["+( 1+3*.@r -1 )+"]" ) +" "+ getitemname( getd( ".p"+ .@s +"["+ (1+ 3*.@r -2) +"]" ) ) +"^000000";
    		}
    		mes " ";
    		mes "wanna try again ?";
    		next;
    
    		if ( select( "Yes", "No" ) == 2 ) close;
    	}
    	close;
    
    OnInit:
    // (item ID need) (chance), (reward 1) (number of reward 1) (chance to gain), (reward 2) (number of reward 2) (chance to gain)...
    	setarray .p0, 32130,100,	31731,1,1,	20255,1,2,	31320,1,3,	6320,1,14,	32044,1,14,	7776,1,14,	32041,1,80,	32091,1,80,	32092,1,80,	32093,1,80,	32040,10,80;	// Mithril Coin
    	setarray .p1, 32131,100,	19827,1,1,	5335,1,1,	32041,1,28,	32091,1,28,	32092,1,28,	32093,1,28,	32040,1,28,	7517,1,70;	// Gold Coin
    
    	while ( getd(".p"+ .@j ) ) {
    		for( .@i = 4; .@i < getarraysize( getd(".p"+ .@j ) ); .@i += 3 )
    			setd ".totalchance"+ .@j, getd(".totalchance"+ .@j ) + getd(".p"+ .@j +"["+ .@i +"]" );
    		.@j++;
    	}
    	
    	.npc_name$ = "[ "+ strnpcinfo(1) +"]";
    	end;
    }

     

  7. On 4/4/2013 at 7:33 AM, Capuche said:

     

    
    prontera,155,180,5	script	Random	98,{
    
    	mes .npc_name$;
    	mes "Hello, do you want to play ?";
    	next;
    	if( select( "Play !", "More Informations", "Leave" ) == 3 ) {
    		mes .npc_name$;
    		mes "Bye!~";
    		close;
    	}
    	else if( @menu == 2 ) {
    		while( getd(".p"+ .@j ) ) {
    			mes .npc_name$;
    			mes "Item required: ^FFCC00"+ getitemname( getd(".p"+ .@j ) ) +"^000000";
    			mes "Chance to gain something: ^CC0000"+ getd(".p"+ .@j +"[1]" ) +"%^000000";
    			mes "Possible gains:";
    			for( .@i = 3; .@i < getarraysize( getd(".p"+ .@j ) ); .@i +=  3 )
    				mes "^0000FFx"+ getd(".p"+ .@j +"["+ .@i +"]" ) +"^000000 "+ getitemname( getd(".p"+ .@j +"["+ (.@i -1) +"]" ) ) +" (^CC0000"+ getd(".p"+ .@j +"["+ (.@i +1) +"]" ) +"%^000000)";
    			.@j++;
    			next;
    		}
    	}
    	mes .npc_name$;
    	mes "Which item do you want to use ?";
    	next;
    	for( .@j = 0; getd(".p"+ .@j ); .@j++ )
    		if( countitem( getd(".p"+ .@j ) ) ) {
    			.@size = getarraysize( .@menu$ );
    			.@menu$[ .@size ] = getitemname( getd(".p"+ .@j ) );
    			.@sel[ .@size ] = .@j;
    		}
    	.@s = .@sel[ select( implode( .@menu$, ":" ) ) -1 ];
    	mes .npc_name$;
    	while (1) {
    		mes "Here we go...";
    		delitem getd(".p"+ .@s ), 1;
    		if( rand(100) > getd(".p"+ .@s +"[1]" ) )// lose
    			mes "You got nothing";
    		else {
    			.@rand = rand( getd(".totalchance"+ .@s ) );
    			.@r = 1;
    			while ( ( .@rand = .@rand - getd( ".p"+ .@s +"["+ (1+ 3 * .@r) +"]" ) ) >= 0 ) .@r++;
    			getitem getd( ".p"+ .@s +"["+ (1+ 3*.@r -2) +"]" ), getd( ".p"+ .@s +"["+( 1+3*.@r -1 )+"]" );
    			mes "You got ^FF00CC"+ getd( ".p"+ .@s +"["+( 1+3*.@r -1 )+"]" ) +" "+ getitemname( getd( ".p"+ .@s +"["+ (1+ 3*.@r -2) +"]" ) ) +"^000000";
    		}
    		mes " ";
    		mes "wanna try again ?";
    		next;
    
    		if ( select( "Yes", "No" ) == 2 ) close;
    		mes .npc_name$;
    		if ( countitem( getd(".p"+ .@s ) ) < 1 ) {
    			mes "it seems you have ran out of "+ getitemname( getd(".p"+ .@s ) );
    			close;
    		}
    	}
    	close;
    
    OnInit:
    // (item ID need) (chance), (reward 1) (number of reward 1) (chance to gain), (reward 2) (number of reward 2) (chance to gain)...
    	setarray .p0, 671,50,	2462,1,20,	1161,1,30,	5394,1,50;					// gold coin 
    	setarray .p1, 7227,20,	2462,1,10,	2541,1,10,	1161,1,10,	13517,1,70;
    
    	while ( getd(".p"+ .@j ) ) {
    		for( .@i = 4; .@i < getarraysize( getd(".p"+ .@j ) ); .@i += 3 )
    			setd ".totalchance"+ .@j, getd(".totalchance"+ .@j ) + getd(".p"+ .@j +"["+ .@i +"]" );
    		.@j++;
    	}
    	
    	.npc_name$ = "[ "+ strnpcinfo(1) +"]";
    	end;
    }

    This option is set here

    
    // (item ID need) (chance), (reward 1) (number of reward 1) (chance to gain), (reward 2) (number of reward 2) (chance to gain)...
    	setarray .p0, 671,50,	2462,1,20,	1161,1,30,	5394,1,50;					// gold coin 
    	setarray .p1, 7227,20,	2462,1,10,	2541,1,10,	1161,1,10,	13517,1,70;

     

     

    You can add more reward or add an other list following the typo I wrote

    @Capuche got error with this script hope you can help ?

    1.png.2df97c3dc89f50218e7be116315bc7a6.png

     

    2.png.1adc32c2961b97f876c96f8024a661ac.png

  8. 8 hours ago, Tanjiro said:

    As you say, you can access your PhpMyAdmin before. It means you stop/restart your VPS. It means you need to start the PhpMyAdmin too by typing "systemctl start mariadb" in your PuTTy.

    i have to try to on my server maintenance by monday. hope things will be fixed. i'll keep you update guys. thanks for the support ❤️

×
×
  • Create New...