Jump to content
  • 0

Question

Posted

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;
}

 

1 answer to this question

Recommended Posts

  • 0
Posted
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:
	if (Zeny < .ZenyPay) {
	mes "[Lotti Girl]";
	mes "You don't have enough zeny.";
	close;
	}
    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)+"]");
    }
	close2;
    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;
}

 

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...