• 0
Sign in to follow this  
Followers 0
melv0

Tictac with required zeny

Question

i have script npc event tic tac toe

-	script	3er_2	-1,{

	if ( ( .X2 && .O2 ) && ( .X2 == getcharid ( 3 ) || .O2 == getcharid ( 3 ) ) &&  ( ! isloggedin ( .X2, .X ) || ! isloggedin ( .O2, .O ) ) ) donpcevent "Tic Tac Toe#3z::OnResetGame";
	set .@a, atoi ( strnpcinfo ( 2 ) );
	if ( ( ! [email protected]_a[.@a] ) && ( [email protected]_turn ) ) {
		if ( getcharid ( 0 ) == getvariableofnpc ( .X, "Tic Tac Toe#3z" ) ) {
			if ( ( [email protected]_turn % 2 ) ) {
				set [email protected]_a[.@a], 1;
				setnpcdisplay "Poring#"+ .@a, [email protected]_ids[0] ;
				set .@c, 1;
			}
			else dispbottom "Is not your turn!";
		}
		if ( getcharid ( 0 ) == getvariableofnpc ( .O, "Tic Tac Toe#3z" ) ) {
			if ( ! ( [email protected]_turn % 2 ) ) {
				set [email protected]_a[.@a], 2;
				setnpcdisplay "Poring#"+ .@a, [email protected]_ids[1] ;
				set .@c, 2;
			}
			else dispbottom "Is not your turn!";
		}
		if ( .@c ) {
			set [email protected]_turn, [email protected]_turn + 1;
			specialeffect 44 ;
			set .@b, callsub ( CheckTic, .@c );
			if ( .@b ) callsub Winner, .@b;
			else if ( [email protected]_turn >= 10 ) {
				if ( [email protected]_ann >= 0 ) announce "Draw game.", ( ( [email protected]_ann <= 3 ) ? [email protected]_ann : 3 ), "0x"+[email protected]_ann$ ;
				donpcevent "Tic Tac Toe#3z::OnResetGame";
			}
		}
	}
	end ;

OnInit:
	/*
			Item1 Amount1, Item2, Amount2, {Item...}, {Amount...}
			( Max items: 64 )
	*/
	setarray [email protected]_prizes[0],607,5;

			// Sprites.
			// ID X  ID O
	setarray [email protected]_ids[0],1582,1568;

	/*
		Announce:
		-1 = No announce
		0 = All.
		1 = Map.
		2 = Area.
		3 = Self.
	*/
	set [email protected]_ann,1;

	// Color of the announce (winner).
	// Default = "30bdb5"
	set [email protected]_ann$,"30bdb5";

	end;

CheckTic:


	setarray .@a[0], 1, 2, 3, 1, 5, 9, 3, 5, 7, 4, 5, 6, 7, 8, 9, 1, 6, 7, 2, 5, 8, 3, 4, 9;
	for ( set .@b, 0; .@b < getarraysize ( .@a ) ; set .@b, .@b + 3 )
		if (
			[email protected]_a[.@a[.@b]] == getarg ( 0 ) &&
			[email protected]_a[.@a[.@b + 1]] == getarg ( 0 ) &&
			[email protected]_a[.@a[.@b + 2]] == getarg ( 0 )
		) return getarg ( 0 ) ;
	return 0;

Winner:

	for ( set .@i, 0; .@i < getarraysize ( [email protected]_prizes ) ; set .@i, .@i + 2 )
		getitem [email protected]_prizes[.@i], [email protected]_prizes[.@i + 1];
	if ( [email protected]_ann >= 0 ) announce "The player "+ getarg ( 0 ) +" ("+ strcharinfo ( 0 ) +") has won!", ( ( [email protected]_ann <= 3 ) ? [email protected]_ann : 3 ), "0x"+[email protected]_ann$ ;
	donpcevent "Tic Tac Toe#3z::OnResetGame";
	return ;
	
}

prontera,152,136,4	duplicate(3er_2)	Poring#1	909
prontera,155,136,4	duplicate(3er_2)	Poring#2	909
prontera,158,136,4	duplicate(3er_2)	Poring#3	909
prontera,158,133,4	duplicate(3er_2)	Poring#4	909
prontera,155,133,4	duplicate(3er_2)	Poring#5	909
prontera,152,133,4	duplicate(3er_2)	Poring#6	909
prontera,152,130,4	duplicate(3er_2)	Poring#7	909
prontera,155,130,4	duplicate(3er_2)	Poring#8	909
prontera,158,130,4	duplicate(3er_2)	Poring#9	909

prontera,164,136,4	script	Tic Tac Toe#3z	909,{

	// NPC Name.
	set .@a$, "^2b86b5Tic Tac Toe^000000";

	mes .@a$;
	setarray .@a[0], .X2, .X, .O2, .O;
	for ( set .@b, getarraysize ( .@a ) ; .@c < .@b ; set .@c, .@c + 2 ) {
		if ( isloggedin ( .@a[.@c], .@a[.@c + 1] ) ) mes "Player "+ ( .@c / 2 + 1 ) +": "+ rid2name ( ( ( .@c == 0 ) ? .X2 : .O2 ) ) +".";
		else {
			mes "Player "+ ( .@c / 2 + 1 ) +": There isn't.";
			setd ( ( .@c == 0 ) ? ".X2" : ".O2" ), 0;
			setd ( ( .@c == 0 ) ? ".X" : ".O" ), 0;
		}
	}
	switch ( select ( "Register", "^911b1bExit^000000" ) ) {

		case 1:

			if (  .X && .O ) {
				mes "I'm sorry, but somebody else has already register before than you.";
				break ;
			}
			if ( .X2 == getcharid ( 3 ) || .O2 == getcharid ( 3 ) ) {
				mes "You're registered already.";
				break ;
			}
			if ( ! .X && ! .O ) {
				set .@a, rand ( 1, 2 );
				setd ( ( .@a == 1 ) ? ".X" : ".O" ), getcharid ( 0 );
				setd ( ( .@a == 1 ) ? ".X2" : ".O2" ), getcharid ( 3 );
			}
			else {
				setd ( ( .X == 0 ) ? ".X" : ".O" ), getcharid ( 0 );
				setd ( ( .X2 == 0  ) ? ".X2" : ".O2" ), getcharid ( 3 );
			}
			if (  .X && .O )  {
				set [email protected]_turn, rand ( 1, 2 );
				npctalk "The game can start, "+ strcharinfo ( 0 ) +" has been register!";
			}
			mes "You're registered now, you're the "+ ( ( .X2 == getcharid ( 3 ) ) ? "Deviling" : "Angeling" );
			break ;

		case 2:

			mes "Have a nice day.";
			break ;
	}
	close ;

OnResetGame:

	while ( set ( .@i, .@i + 1 ) < 10 ) {
		set [email protected]_a[.@i], 0;
		setnpcdisplay "Poring#"+ .@i, 909 ;
	}
	set .X2, 0;
	set .X, 0;
	set .O2, 0;
	set .O, 0;
	end ;
}

how to make cost zeny when register

somebody can help me?

Share this post


Link to post
Share on other sites

0 answers to this question

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0