Jump to content
Sign in to follow this  
dikapramantya

R> Convert GM Ocean Slot Machine script to 3ceam?

Recommended Posts

can anyone convert this script for support 3ceam?

 

https://rathena.org/board/topic/98001-quests-games-slot-machine/

 

i want this game but i can't use it.

 

still  have errorr like this post-743-0-97253900-1475382612_thumb.jpg

 

This is full code

 

all_one,187,160,5	script	EnOri Slot Machine	563,{
	if( getgmlevel() == 99 ) {
		mes "Welcome Administrator.";
		mes "What would you like to do?";
		menu "Play Game",-,"Change Slot Machine Mode",iMode;
		next;
		}
switch( getd(".mode"+strnpcinfo(3)+"") ){
	case 0: // Single Slot machine mode.
		mes "Do you want to play a game?";
		if( !.payment ) { mes "It costs: "+ .ssm_payment_message$[0] +" to play."; }
			else if ( .payment == 1 ) { mes "It costs: "+ .ssm_payment_message$[1] +" to play."; }
				else if ( .payment == 2 ) { mes "It costs: "+ .ssm_payment_message$[0] +" & "+ .payment_message$[1] +" to play."; }
		if( select("YES:NO") == 2 || Zeny < .ssm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.ssm_payment[1]) < .ssm_payment[2] && .payment ){ close; }
		while( @menu == 1 ){
			if( !.payment || .payment == 2 ) { set Zeny,zeny - .ssm_payment[0]; }
			if( .payment ) { delitem( .ssm_payment[1], .ssm_payment[2] ); }
			if( .soundeffects ) { soundeffect "se_cash_provider.wav",0; }
			.@a = rand(1,100);
			if( .@a < atoi(.ssm_animate$[0]) ){ .@a = 1; } else { .@a = 2; }
			.@b = 1;
			while( .@b < atoi(.ssm_animate$[.@a]) ) {
				cutin .ssm_animate$[3] + .@b,4; sleep2 ( ( atoi(.ssm_animate$[4]) * 1000 ) / atoi(.ssm_animate$[.@a]) ); .@b++;
				}
			if( .@a == 1 ){ 
				cutin .ssm_animate$[3] + atoi(.ssm_animate$[.@a]),4;
				dispbottom "Failed";
				} 
			else {
				cutin .ssm_animate$[3] + atoi(.ssm_animate$[.@a]),4;
				if( !.prize || .prize == 2 ) { Zeny += .ssm_prize[0]; }
				if( .prize ) { getitem .ssm_prize[1], .ssm_prize[2]; }
				if( .soundeffects ){ soundeffect "rog_steal coin.wav",0; }
				}
			if( select("Another Round:I'm done") == 2 || Zeny < .ssm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.ssm_payment[1]) < .ssm_payment[2] && .payment ){ cutin "",255; close; }
			}
		end;
	
	case 1: // Triple Slot machine mode.
		mes "Do you want to play a game?";
		if( !.payment ) { mes "It costs: "+ .tsm_payment_message$[0] +" to play."; }
			else if ( .payment == 1 ) { mes "It costs: "+ .tsm_payment_message$[1] +" to play."; }
				else if ( .payment == 2 ) { mes "It costs: "+ .tsm_payment_message$[0] +" & "+ .tsm_payment_message$[1] +" to play."; }
		if( select("YES:NO") == 2 || Zeny < .tsm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.tsm_payment[1]) < .tsm_payment[2] && .payment ){ close; }
		while( @menu == 1 ){
			if( !.payment || .payment == 2 ) { Zeny -= .tsm_payment[0]; }
			if( .payment ) { delitem( .tsm_payment[1], .tsm_payment[2] ); }
			if( .soundeffects ) { soundeffect "se_cash_provider.wav",0; }
			// Slot 1 = 100% Chance for success. (Because I didn't make a fail animation for it.
			.@2 = rand(1,100); //Rolls dice for Slot 2
			.@3 = rand(1,100); //Rolls dice for Slot 3
				if( .@2 <= atoi(.tsm_animate$[0]) && .@3 <= atoi(.tsm_animate$[1]) ){ .@a = 8; }
				else if( .@2 <= atoi(.tsm_animate$[0]) && .@3 > atoi(.tsm_animate$[1]) ){ .@a = 6; }
				else if( .@2 > atoi(.tsm_animate$[0]) && .@3 <= atoi(.tsm_animate$[1]) ){ .@a = 4; }
				else { .@a = 2; }
			.@b = 1;
			while( .@b < atoi(.tsm_animate$[.@a+1]) ) {
				cutin .tsm_animate$[.@a] + .@b,4; sleep2 ( ( atoi(.tsm_animate$[10]) * 1000 ) / atoi(.tsm_animate$[.@a+1]) ); .@b++;
				}
			cutin .tsm_animate$[.@a] + atoi(.tsm_animate$[.@a+1]),4;
				if( .@a == 2 ){
					if( !.prize || .prize == 2 ) { Zeny += .tsm_prize[0]; }
					if( .prize ) { getitem .tsm_prize[1], .tsm_prize[2]; }
					if( .soundeffects ){ soundeffect "rog_steal_coin.wav",1; }
				} else { dispbottom "Failed"; }
			if( select("Another Round:I'm done") == 2 || Zeny < .tsm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.tsm_payment[1]) < .tsm_payment[2] && .payment ){ cutin "",255; close; }
			}
		end;
	}
OnSingleSlot:
setd ".mode"+strnpcinfo(3)+"",0;
end;
OnTripleSlot:
setd ".mode"+strnpcinfo(3)+"",1;
end;

iMode:
next;
mes "Which did you want to do?";
menu "Change THIS machine's mode:Change ALL machine's mode",-;
if( @menu == 1 ) {
	next;
	mes "What mode would you like this machine to have?";
	menu "Single Slot Machine Mode:Triple Slot Machine Mode",-;
	if( @menu == 1 ) {
		setd ".mode"+strnpcinfo(3)+"",0;
		} else {
			setd ".mode"+strnpcinfo(3)+"",1;
			}
	close;
	} else {
		next;
		mes "What mode would you like to change all slot machines to?";
		menu "Single Slot Machine Mode:Triple Slot Machine Mode",-;
		if( @menu == 1 ) {
			donpcevent "::OnSingleSlot";
			} else {
				donpcevent "::OnTripleSlot";
				}
		close;
		}

OnInit:
// 0 = Disabled, 1 = Enabled.
.soundeffects = 0; 

//[ 0 = Single Slot Machine Mode ]_[ 1 = Triple Slot Machine Mode ]
setd ".mode"+strnpcinfo(3)+"",1;

//[0] = Fail Rate
//[1] = Fail (Do not change)
//[2] = Success (Do not change)
//[3] = File Name (Do not change)
//[4] = Animation Time (Do not change, for best results )
setarray .ssm_animate$[0],"80","29","33","slot_","3";

//[0] = Fail Rate "Slot 2"
//[1] = Fail Rate "Slot 3"
//[2] = SSS (Do not change)
//[3] = SSS_Count (Do not change)
//[4] = SSF (Do not change)
//[5] = SSF_Count (Do not change)
//[6] = SFS (Do not change)
//[7] = SFS_Count (Do not change)
//[8] = SFF (Do not change)
//[9] = SFF_Count (Do not change)
//[10] = Animation Time (Do not change, for best results )
setarray .tsm_animate$[0],"80","30","SSS_","41","SSF_","37","SFS_","41","SFF_","45","3";

// Prize Settings
// Prize Type
// 0 = Zeny, 1 = Item, 2 = Zeny&Item
.prize = 1;
// [0] = Zeny, [1] = Item ID, [2] = Item Amount;
setarray .ssm_prize[0],125,501,10;
setarray .tsm_prize[0],800000,7620,1;

// Payment Settings
// Payment Type
// 0 = Zeny, 1 = Item, 2 = Zeny&Item
.payment = 2;
// [0] = Zeny, [1] = Item ID, [2] = Item Amount;
setarray .ssm_payment[0],100,984,35; // Single Slot Machine Payment Price
setarray .tsm_payment[0],800000,984,35; // Triple Slot Machine Payment Price

// DO NOT CHANGE BELOW
// Payment Text Syntax
setarray .ssm_payment_message$[0],""+ .ssm_payment[0] +" zeny",""+ getitemname(.ssm_payment[1]) +" x"+ .ssm_payment[2] +"";
setarray .tsm_payment_message$[0],""+ .tsm_payment[0] +" zeny",""+ getitemname(.tsm_payment[1]) +" x"+ .tsm_payment[2] +"";
end;
}

//Duplicates
all_one,187,160,5	duplicate(EnOri Slot Machine)	EnOri Slot Machine#2slot	563
all_one,187,160,5	duplicate(EnOri Slot Machine)	EnOri Slot Machine#3slot	563

 

Share this post


Link to post
Share on other sites
all_one,187,160,5	script	EnOri Slot Machine	563,{
   	if( getgmlevel() == 99 ) {
   		mes "Welcome Administrator.";
   		mes "What would you like to do?";
   		menu "Play Game",-,"Change Slot Machine Mode",iMode;
   		next;
	}
	
	switch( getd(".mode"+strnpcinfo(3)+"") ){
		case 0: // Single Slot machine mode.
			mes "Do you want to play a game?";
			if( !.payment ) { mes "It costs: "+ .ssm_payment_message$[0] +" to play."; }
			else if ( .payment == 1 ) { mes "It costs: "+ .ssm_payment_message$[1] +" to play."; }
			else if ( .payment == 2 ) { mes "It costs: "+ .ssm_payment_message$[0] +" & "+ .payment_message$[1] +" to play."; }
			if( select("YES:NO") == 2 || Zeny < .ssm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.ssm_payment[1]) < .ssm_payment[2] && .payment ){ close; }
			while( @menu == 1 ){
				if( !.payment || .payment == 2 ) { set Zeny,zeny - .ssm_payment[0]; }
				if( .payment ) { delitem( .ssm_payment[1], .ssm_payment[2] ); }
				if( .soundeffects ) { soundeffect "se_cash_provider.wav",0; }
				set .@a, rand(1,100);
				if( .@a < atoi(.ssm_animate$[0]) ){ set .@a, 1; } else { set .@a, 2; }
				set .@b, 1;
				while( .@b < atoi(.ssm_animate$[.@a]) ) {
					cutin .ssm_animate$[3] + .@b,4; sleep2 ( ( atoi(.ssm_animate$[4]) * 1000 ) / atoi(.ssm_animate$[.@a]) ); set .@b,.@b+1;
					}
				if( .@a == 1 ){ 
					cutin .ssm_animate$[3] + atoi(.ssm_animate$[.@a]),4;
					dispbottom "Failed";
					} 
				else {
					cutin .ssm_animate$[3] + atoi(.ssm_animate$[.@a]),4;
					if( !.prize || .prize == 2 ) { set Zeny, Zeny + .ssm_prize[0]; }
					if( .prize ) { getitem .ssm_prize[1], .ssm_prize[2]; }
					if( .soundeffects ){ soundeffect "rog_steal coin.wav",0; }
					}
				if( select("Another Round:I'm done") == 2 || Zeny < .ssm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.ssm_payment[1]) < .ssm_payment[2] && .payment ){ cutin "",255; close; }
				}
			end;
		
		case 1: // Triple Slot machine mode.
			mes "Do you want to play a game?";
			if( !.payment ) { mes "It costs: "+ .tsm_payment_message$[0] +" to play."; }
				else if ( .payment == 1 ) { mes "It costs: "+ .tsm_payment_message$[1] +" to play."; }
					else if ( .payment == 2 ) { mes "It costs: "+ .tsm_payment_message$[0] +" & "+ .tsm_payment_message$[1] +" to play."; }
			if( select("YES:NO") == 2 || Zeny < .tsm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.tsm_payment[1]) < .tsm_payment[2] && .payment ){ close; }
			while( @menu == 1 ){
				if( !.payment || .payment == 2 ) { set Zeny, Zeny - .tsm_payment[0]; }
				if( .payment ) { delitem( .tsm_payment[1], .tsm_payment[2] ); }
				if( .soundeffects ) { soundeffect "se_cash_provider.wav",0; }
				// Slot 1 = 100% Chance for success. (Because I didn't make a fail animation for it.
				set .@2, rand(1,100); //Rolls dice for Slot 2
				set .@3, rand(1,100); //Rolls dice for Slot 3
				if( .@2 <= atoi(.tsm_animate$[0]) && .@3 <= atoi(.tsm_animate$[1]) ){ set .@a, 8; }
				else if( .@2 <= atoi(.tsm_animate$[0]) && .@3 > atoi(.tsm_animate$[1]) ){ set .@a, 6; }
				else if( .@2 > atoi(.tsm_animate$[0]) && .@3 <= atoi(.tsm_animate$[1]) ){ set .@a, 4; }
				else { set .@a, 2; }
				set .@b, 1;
				while( .@b < atoi(.tsm_animate$[.@a+1]) ) {
					cutin .tsm_animate$[.@a] + .@b,4; sleep2 ( ( atoi(.tsm_animate$[10]) * 1000 ) / atoi(.tsm_animate$[.@a+1]) ); set .@b,.@b+1;
					}
				cutin .tsm_animate$[.@a] + atoi(.tsm_animate$[.@a+1]),4;
					if( .@a == 2 ){
						if( !.prize || .prize == 2 ) { set Zeny, Zeny + .tsm_prize[0]; }
						if( .prize ) { getitem .tsm_prize[1], .tsm_prize[2]; }
						if( .soundeffects ){ soundeffect "rog_steal_coin.wav",1; }
					} else { dispbottom "Failed"; }
				if( select("Another Round:I'm done") == 2 || Zeny < .tsm_payment[0] && ( !.payment || .payment == 2 ) || countitem(.tsm_payment[1]) < .tsm_payment[2] && .payment ){ cutin "",255; close; }
				}
			end;
		}
	OnSingleSlot:
	setd ".mode"+strnpcinfo(3)+"",0;
	end;
	OnTripleSlot:
	setd ".mode"+strnpcinfo(3)+"",1;
	end;
	 
	iMode:
	next;
	mes "Which did you want to do?";
	menu "Change THIS machine's mode:Change ALL machine's mode",-;
	if( @menu == 1 ) {
		next;
		mes "What mode would you like this machine to have?";
		menu "Single Slot Machine Mode:Triple Slot Machine Mode",-;
		if( @menu == 1 ) {
			setd ".mode"+strnpcinfo(3)+"",0;
			} else {
				setd ".mode"+strnpcinfo(3)+"",1;
				}
		close;
		} else {
			next;
			mes "What mode would you like to change all slot machines to?";
			menu "Single Slot Machine Mode:Triple Slot Machine Mode",-;
			if( @menu == 1 ) {
				donpcevent "::OnSingleSlot";
				} else {
					donpcevent "::OnTripleSlot";
					}
			close;
			}
	 
	OnInit:
	// 0 = Disabled, 1 = Enabled.
	set .soundeffects, 0; 
	 
	//[ 0 = Single Slot Machine Mode ]_[ 1 = Triple Slot Machine Mode ]
	setd ".mode"+strnpcinfo(3)+"",1;
	 
	//[0] = Fail Rate
	//[1] = Fail (Do not change)
	//[2] = Success (Do not change)
	//[3] = File Name (Do not change)
	//[4] = Animation Time (Do not change, for best results )
	setarray .ssm_animate$[0],"80","29","33","slot_","3";
	 
	//[0] = Fail Rate "Slot 2"
	//[1] = Fail Rate "Slot 3"
	//[2] = SSS (Do not change)
	//[3] = SSS_Count (Do not change)
	//[4] = SSF (Do not change)
	//[5] = SSF_Count (Do not change)
	//[6] = SFS (Do not change)
	//[7] = SFS_Count (Do not change)
	//[8] = SFF (Do not change)
	//[9] = SFF_Count (Do not change)
	//[10] = Animation Time (Do not change, for best results )
	setarray .tsm_animate$[0],"80","30","SSS_","41","SSF_","37","SFS_","41","SFF_","45","3";
	 
	// Prize Settings
	// Prize Type
	// 0 = Zeny, 1 = Item, 2 = Zeny&Item
	set .prize, 1;
	// [0] = Zeny, [1] = Item ID, [2] = Item Amount;
	setarray .ssm_prize[0],125,501,10;
	setarray .tsm_prize[0],800000,7620,1;
	 
	// Payment Settings
	// Payment Type
	// 0 = Zeny, 1 = Item, 2 = Zeny&Item
	set .payment, 2;
	// [0] = Zeny, [1] = Item ID, [2] = Item Amount;
	setarray .ssm_payment[0],100,984,35; // Single Slot Machine Payment Price
	setarray .tsm_payment[0],800000,984,35; // Triple Slot Machine Payment Price
	 
	// DO NOT CHANGE BELOW
	// Payment Text Syntax
	setarray .ssm_payment_message$[0],""+ .ssm_payment[0] +" zeny",""+ getitemname(.ssm_payment[1]) +" x"+ .ssm_payment[2] +"";
	setarray .tsm_payment_message$[0],""+ .tsm_payment[0] +" zeny",""+ getitemname(.tsm_payment[1]) +" x"+ .tsm_payment[2] +"";
	end;
}
	 
	//Duplicates
	all_one,187,160,5	duplicate(EnOri Slot Machine)	EnOri Slot Machine#2slot	563
	all_one,187,160,5	duplicate(EnOri Slot Machine)	EnOri Slot Machine#3slot	563

 

There you go... it's untested but should be working ^^

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

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