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

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

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