View Single Post
Ognjen7
Junior Member
Join Date: Nov 2015
Old 05-08-2016 , 06:12   Re: Kviz ENG Version
Reply With Quote #3

Here you are:

Code:
/*   	Kviz v2.1 © 2010, ->UrOS<-
	Contact e-mail [email protected]
	
	Formatright
    
	*English*
	This plugin is free software;
	you can modify it under the terms of the
	GNU General Public License as published by the Free Software Foundation.
    
	*Serbian* 
	Ovaj plugin je besplatni program;
	mozete ga menjati postujuci prava autora, samo ga ne smete prodavati.
    
*/

#include <amxmodx>
#include <cstrike>
#include <amxmisc>
#include <nvault>
#include <colorchat>
#include <dhudmessage>

#define PRISTUP	    ADMIN_IMMUNITY

new const PLUGIN[] 	= "Kviz"
new const VERZIJA[] 	= "2.1"
new const AUTOR[] 	= "->UrOS<-"
new const KONTAKT[]	= "[email protected]"

new bool:kviz = false
new kvizResenje = 0
new kvizMaxPokusaji[33]
new kvizRank[33]
new kvizMenu[50]
new kvizTezina
new kvizPlusMinus
new kvizPuta
new kvizPokusaji
new kvizVreme
new kvizUcestalost
new kvizNagrada
new kvizPrikaz
new kvizGramatika
new kvizMuzika

new const UrOS1[] = "vox/bravo.wav"
new const UrOS2[] = "ambience/lv2.wav"
new const UrOS3[] = "buttons/bell1.wav"
new const UrOS4[] = "vox/access.wav"
new const UrOS5[] = "ambience/lv5.wav"
new const UrOS6[] = "vox/denied.wav"

public plugin_init()
{
	register_plugin( PLUGIN, VERZIJA, AUTOR )
	register_cvar(PLUGIN, VERZIJA , (FCVAR_SERVER|FCVAR_SPONLY))
	
	register_concmd("say", "kvizProvera", 0, "- Provera kviz resenja")
	register_concmd("say_team", "kvizProvera", 0, "- Provera kviz resenja")
	
	register_clcmd("say /quiz", "kvizPrikaziMenu")
	register_clcmd("say_team /quiz", "kvizPrikaziMenu")
	
	register_clcmd("say /quizmenu", "kvizGlavniMenu")
	register_clcmd("say_team /quzmenu", "kvizGlavniMenu")
	
	register_clcmd("say /quiztop15","kvizTop15")
	register_clcmd("say_team /quiztop15","kvizTop15")
	
	register_clcmd("say /quizrank","kvizPrikaziRank")
	register_clcmd("say_team /quizrank","kvizPrikaziRank")	
	
	register_clcmd("say /quizinfo","kvizMotd")
	register_clcmd("say_team /quizinfo","kvizMotd")
	
	kvizTezina = register_cvar("kviz_tezina", "2", PRISTUP)
	kvizPlusMinus = register_cvar("kviz_plus_minus", "30", PRISTUP)
	kvizPuta = register_cvar("kviz_puta", "12", PRISTUP)
	kvizPokusaji = register_cvar("kviz_pokusaji", "2", PRISTUP)
	kvizVreme = register_cvar("kviz_vreme", "25", PRISTUP)
	kvizUcestalost = register_cvar("kviz_ucestalost", "90", PRISTUP)
	kvizNagrada = register_cvar("kviz_nagrada", "1500", PRISTUP)
	kvizPrikaz = register_cvar("kviz_prikaz", "4", PRISTUP)
	kvizMuzika = register_cvar("kviz_muzika", "1", PRISTUP)

	set_task(get_pcvar_float(kvizUcestalost), "kvizPitanje")
}

public plugin_precache()
{
	precache_sound(UrOS1)
	precache_sound(UrOS2)
	precache_sound(UrOS3)
	precache_sound(UrOS4)
	precache_sound(UrOS6)
	precache_sound(UrOS5)
}

public client_putinserver(id)
{
	set_task(15.0, "kvizReklama", id, _, _, "a", 1) 
	kvizRank[id] = kvizUcitajRank(id)
}

public kvizProvera(id)
{
	if ( !kviz )
	{
		new Text[ 32 ]
		read_argv( 1, Text, 31 )
		
		new Odgovor = str_to_num(Text)
		if ( Odgovor == 0 && ( kvizResenje != 0 || Text[ 0 ] != '0' ) )
			return

		if ( kvizMaxPokusaji[id] > 0 )
		{
			if ( Odgovor == kvizResenje )
			{
				kviz = true

				static imeDobitnika[32]
				get_user_name(id, imeDobitnika, 31)
				
				kvizRank[id] += 1
				kvizSacuvajRank(id, kvizRank[id])			
				
				cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(kvizNagrada), 1)
					
				ColorChat(0, TEAM_COLOR, "^4[Kviz] ^3%s ^1is the first who guessed the answer, answer was^4(%i) ^1and he gets ^4%i$", imeDobitnika, Odgovor, get_pcvar_num(kvizNagrada))
				client_cmd(0, "speak %s", UrOS3)
				
				{
					client_cmd(id, "speak %s", UrOS1)
					ColorChat(id, TEAM_COLOR, "^4[Quiz] ^1Good job, your answer^4(%i) ^1is correct, you get ^4%i$", Odgovor, get_pcvar_num(kvizNagrada))	
				}
				
				set_dhudmessage(0, 0, 0, 0.00, 0.00, 0, 0.0, 0.0)
				for(new i=0;i<8;i++)
					show_dhudmessage(0, "PS: This invisible message is here, to remove some error ;)")
			}
			else
			{
				kvizMaxPokusaji[id]--
				new mnozina = kvizMaxPokusaji[id] == 1
	
				kvizGramatika = mnozina
				ColorChat(id, TEAM_COLOR, "^4[Quiz] ^1Your answer ^4(%i) ^1is wrong, you can try ^4%i ^1times%s", Odgovor, kvizMaxPokusaji[id], (kvizGramatika & mnozina) ? "" : "a")
			}
		}
		else
		{
			ColorChat(id, GREEN, "^4[Quiz] ^1You dont have again chance to guess, wait next question ^4:)")
		}
	}
}

public kvizIstekloVreme()
{
	if(!kviz)
	{
		kviz = true	
		client_cmd(0, "speak %s", UrOS3)
		ColorChat(0, TEAM_COLOR, "^4[Quiz] ^1You are too slower, start learning math, answer is ^4(%i)", kvizResenje)
	}
	set_task(get_pcvar_float(kvizUcestalost), "kvizPitanje")
}

public kvizPitanje()
{
	new Brojevi[7]
	new Znakovi[6]
	
	new Pitanje[64], Zagrada = 0

	for ( new a = 0; a < get_pcvar_num(kvizTezina); a++ )
	{
		switch ( random_num(1, 3) )
		{
			case 1:
			{
				Znakovi[a] = '+'
				Brojevi[a] = random_num(-get_pcvar_num(kvizPlusMinus), get_pcvar_num(kvizPlusMinus))
			}
			case 2:
			{
				Znakovi[a] = '-'
				Brojevi[a] = random_num(-get_pcvar_num(kvizPlusMinus), get_pcvar_num(kvizPlusMinus))
			}
			case 3:
			{
				Znakovi[a] = '*'
			}
		}
	}
	
	if ( Znakovi[get_pcvar_num(kvizTezina) - 1] == '+' || Znakovi[get_pcvar_num(kvizTezina) - 1] == '-' )
		Brojevi[get_pcvar_num(kvizTezina)] = random_num(-get_pcvar_num(kvizPlusMinus), get_pcvar_num(kvizPlusMinus))

	for ( new a = 0; a < get_pcvar_num(kvizTezina); a++ )
	{
		if ( Znakovi[a] == '*' )
		{
			Brojevi[a] = random_num(-get_pcvar_num(kvizPuta), get_pcvar_num(kvizPuta))
			Brojevi[a + 1] = random_num(-get_pcvar_num(kvizPuta), get_pcvar_num(kvizPuta))
		}
		
		Zagrada += formatex(Pitanje[Zagrada], 63 - Zagrada, " %s%d%s %c ",
					( Brojevi[a] < 0 ) ? "(" : "", Brojevi[a], ( Brojevi[a] < 0 ) ? ")" : "", Znakovi[a])
	}
	
	Zagrada += formatex(Pitanje[Zagrada], 63 - Zagrada, " %s%d%s",
				( Brojevi[get_pcvar_num(kvizTezina)] < 0 ) ? "(" : "",
				Brojevi[get_pcvar_num(kvizTezina)],
				( Brojevi[get_pcvar_num(kvizTezina)] < 0 ) ? ")" : "")

	if ( Znakovi[0] == '*' )
	{
		Znakovi[0] = '+'
		Brojevi[1] = (Brojevi[0] * Brojevi[1])
		Brojevi[0] = 0
	}
	for ( new a = 1; a < get_pcvar_num(kvizTezina); a++ )
	{
		if ( Znakovi[a] == '*' )
		{
			Znakovi[a] = Znakovi[a - 1]
			Brojevi[a + 1] = (Brojevi[a] * Brojevi[a + 1])
			Brojevi[a] = 0
		}
	}
	
	kvizResenje = Brojevi[0]
	
	for ( new a = 0; a < get_pcvar_num(kvizTezina); a++ )
	{
		if ( Znakovi[a] == '+' )
		{
			kvizResenje += Brojevi[a + 1]
		}
		else if ( Znakovi[a] == '-' )
		{
			kvizResenje -= Brojevi[a + 1]
		}
	}
	
	client_print(0, print_console, "^n+-+-+-+-+-+-+-+-+-+-+-+- KVIZ -+-+-+-+-+-+-+-+-+-+-+-+")
	client_print(0, print_console, " Question for %i$^n", get_pcvar_num(kvizNagrada))
	client_print(0, print_console, " How much is: %s^n", Pitanje)	
	client_print(0, print_console, " For informations of plugin type /quiz")
	client_print(0, print_console, "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+^n")

	if ( get_pcvar_num(kvizMuzika) == 1 )
	{
		client_cmd(0, "speak %s", UrOS2)
	}
	if ( get_pcvar_num(kvizMuzika) == 2 )
	{
		client_cmd(0, "speak %s", UrOS5)
	}
	if ( get_pcvar_num(kvizPrikaz) == 1 )
	{
		ColorChat(0, TEAM_COLOR,"^4[Quiz] ^3%s", Pitanje)
	}
	else if ( get_pcvar_num(kvizPrikaz) == 2 )
	{
		for(new i;i<5;i++)
			ColorChat(0, TEAM_COLOR,"^4[Quiz] ^3%s", Pitanje)
	}	
	else if ( get_pcvar_num(kvizPrikaz) == 3 )
	{
		set_dhudmessage(  0, 128, 0, 0.02, 0.53, 2, 1.0, get_pcvar_float(kvizVreme))
		show_dhudmessage(0, "%s", Pitanje)
	}
	else
	{
		set_dhudmessage(  85, 170, 255, 0.02, 0.53, 2, 1.0, get_pcvar_float(kvizVreme))
		show_dhudmessage(0, "%s", Pitanje)
	}
	
	for ( new a = 0; a < 33; a++ )
		kvizMaxPokusaji[a] = get_pcvar_num(kvizPokusaji)
	
	kviz = false
	
	set_task(get_pcvar_float(kvizVreme), "kvizIstekloVreme")
}

public kvizGlavniMenu( id )
{	
	if( !(get_user_flags( id ) & PRISTUP ) )
	{
		ColorChat(id, TEAM_COLOR,"^4[Quiz] ^1You dont have permission to this command!")
		client_cmd(id, "spk %s", UrOS4)
		set_task(0.6, "kvizPristup", id, _, _, "a", 1)
		return PLUGIN_CONTINUE
	}
	
	new minuti = get_pcvar_num(kvizUcestalost)/60
	new sekunde = get_pcvar_num(kvizUcestalost)-minuti*60
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\rQuiz \yv2.1 \r- Admin Menu")
	new menu = menu_create( kvizMenu, "kvizAdminMenu" )
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d Present \r[\d%i$\r]", get_pcvar_num(kvizNagrada))
	menu_additem( menu, kvizMenu, "0" )
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d Show \r[\d%i\r]", get_pcvar_num(kvizPrikaz))
	menu_additem( menu, kvizMenu, "1" )
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d Frequency \r[\d%d\d min %d sek\r]", minuti, sekunde)
	menu_additem( menu, kvizMenu, "2" )
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d Time \r[\d%i\d sek\r]", get_pcvar_num(kvizVreme))
	menu_additem( menu, kvizMenu, "3" )
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d Difficult \r[\d%i\r]", get_pcvar_num(kvizTezina))
	menu_additem( menu, kvizMenu, "4" )
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d Number of answer \r[\d%i\r]", get_pcvar_num(kvizPokusaji))
	menu_additem( menu, kvizMenu, "5" )
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d Music \r[\d%i\r]", get_pcvar_num(kvizMuzika))
	menu_additem( menu, kvizMenu, "6" )
	
	menu_display( id, menu )
	
	return PLUGIN_CONTINUE
}
    
public kvizAdminMenu( id, menu, item )
{
	if( item >= 0 ) 
	{
		new access, callback, actionString[ 2 ]		
		menu_item_getinfo( menu, item, access, actionString, charsmax( actionString ), _, _, callback )		
		
		new action = str_to_num( actionString )
		{
			switch( action )
			{
				case 0:
				{
					formatex( kvizMenu, charsmax( kvizMenu ), "\rQuiz \yv2.1 \r- Admin Menu")
					new menu = menu_create( kvizMenu, "kvizMenu1" )
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Present 500$")
					menu_additem( menu, kvizMenu, "0" )
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Present 1000$")
					menu_additem( menu, kvizMenu, "1" )
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Present 1500$")
					menu_additem( menu, kvizMenu, "2" )
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Present 2000$")
					menu_additem( menu, kvizMenu, "3" )
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Present 3000$")
					menu_additem( menu, kvizMenu, "4" )
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Present 5000$")
					menu_additem( menu, kvizMenu, "5" )
				
					menu_display( id, menu )
				}
				case 1:
				{
					formatex( kvizMenu, charsmax( kvizMenu ), "\rKviz \yv2.1 \r- Admin Menu", id )
					new menu = menu_create( kvizMenu, "kvizMenu2" )
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question be in chat")
					menu_additem( menu, kvizMenu, "0")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question be in chat more times")
					menu_additem( menu, kvizMenu, "1")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question be in hud with green color")
					menu_additem( menu, kvizMenu, "2")
					
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question be in hud with blue color")
					menu_additem( menu, kvizMenu, "3")
				
					menu_display( id, menu )
				}
				case 2:
				{
					formatex( kvizMenu, charsmax( kvizMenu ), "\rQuiz \yv2.1 \r- Admin Menu")
					new menu = menu_create( kvizMenu, "kvizMenu3")
					
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question open in every 30 seconds")
					menu_additem( menu, kvizMenu, "0")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question open in every 1 minute")
					menu_additem( menu, kvizMenu, "1")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question open in every 2 minutes")
					menu_additem( menu, kvizMenu, "2")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question open in every 3 minutes")
					menu_additem( menu, kvizMenu, "3")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question open in every 4 minutes")
					menu_additem( menu, kvizMenu, "4")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question open in every 5 minutes")
					menu_additem( menu, kvizMenu, "5")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d To question open in every 10 minutes")
					menu_additem( menu, kvizMenu, "6")
				
					menu_display( id, menu ) 
				}
				case 3:
				{
					formatex( kvizMenu, charsmax( kvizMenu ), "\rQuiz \yv2.1 \r- Admin Menu")
					new menu = menu_create( kvizMenu, "kvizMenu4")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Time for answer 15 seconds")
					menu_additem( menu, kvizMenu, "0")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Time for answer 20 seconds")
					menu_additem( menu, kvizMenu, "1")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Time for answer 30 seconds")
					menu_additem( menu, kvizMenu, "2")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Time for answer 40 seconds")
					menu_additem( menu, kvizMenu, "3")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Time for answer 50 seconds")
					menu_additem( menu, kvizMenu, "4")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Time for answer 60 seconds")
					menu_additem( menu, kvizMenu, "5")
				
					menu_display( id, menu )
				}
				case 4:
				{
					formatex( kvizMenu, charsmax( kvizMenu ), "\rKviz \yv2.1 \r- Admin Menu")
					new menu = menu_create( kvizMenu, "kvizMenu5")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Hard Question 1 \r(\dtoo much easy\r)")
					menu_additem( menu, kvizMenu, "0")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Hard Question 2 \r(\dmedium easy\r)")
					menu_additem( menu, kvizMenu, "1")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Hard Question 3 \r(\dmedium\r)")
					menu_additem( menu, kvizMenu, "2")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Hard Question 4 \r(\dmedium hard\r)")
					menu_additem( menu, kvizMenu, "3")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Hard Question 5 \r(\dhard\r)")
					menu_additem( menu, kvizMenu, "4")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Hard Question 6 \r(\dtoo much hard\r)")
					menu_additem( menu, kvizMenu, "5")
				
					menu_display( id, menu )
				}
                    
				case 5:
				{
					formatex( kvizMenu, charsmax( kvizMenu ), "\rQuiz \yv2.1 \r- Admin Menu")
					new menu = menu_create( kvizMenu, "kvizMenu6")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d One chance")
					menu_additem( menu, kvizMenu, "0")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Two chances")
					menu_additem( menu, kvizMenu, "1")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Three chances")
					menu_additem( menu, kvizMenu, "2")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Four chances")
					menu_additem( menu, kvizMenu, "3" )
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Five chances")
					menu_additem( menu, kvizMenu, "4")
				
					menu_display( id, menu )
				}
				case 6:
				{
					formatex( kvizMenu, charsmax( kvizMenu ), "\rQuiz \yv2.1 \r- Admin Menu")
					new menu = menu_create( kvizMenu, "kvizMenu7")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Melodic 1 \r(\dshorted\r)")
					menu_additem( menu, kvizMenu, "0")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Melodic 2 \r(\dlonger\r)")
					menu_additem( menu, kvizMenu, "1")
				
					formatex( kvizMenu, charsmax( kvizMenu ), "\d Turn off music")
					menu_additem( menu, kvizMenu, "2")
				
					menu_display( id, menu )
				}
			}
		}	
	}
	menu_destroy( menu )
	return PLUGIN_HANDLED	
}
    
public kvizMenu1( id, menu, item )
{
	if( item >= 0 ) 
	{
		new access, callback, actionString[ 2 ]		
		menu_item_getinfo( menu, item, access, actionString, charsmax( actionString ), _, _, callback )		
		
		new action = str_to_num( actionString )
		{
			switch( action )
			{
				case 0:
				{
					server_cmd("kviz_nagrada 500")
				}
				case 1:
				{
					server_cmd("kviz_nagrada 1000") 
				}
				case 2:
				{
					server_cmd("kviz_nagrada 1500") 
				}
				case 3:
				{
					server_cmd("kviz_nagrada 2000") 
				}
				case 4:
				{
					server_cmd("kviz_nagrada 3000") 
				}
				case 5:
				{
					server_cmd("kviz_nagrada 5000")
				}
			}
			ColorChat(id, TEAM_COLOR,"^4[Quiz] ^1Changes are succesfuly changed")			
		}	
	}   
	menu_destroy( menu )
	set_task(0.1, "kvizGlavniMenu", id, _, _, "a", 1)
	return PLUGIN_HANDLED
}

public kvizMenu2( id, menu, item )
{
	if( item >= 0 ) 
	{
		new access, callback, actionString[ 2 ]		
		menu_item_getinfo( menu, item, access, actionString, charsmax( actionString ), _, _, callback )		
		
		new action = str_to_num( actionString )
		{
			switch( action )
			{
				case 0:
				{
					server_cmd("kviz_prikaz 1")
				}
				case 1:
				{
					server_cmd("kviz_prikaz 2") 
				}
				case 2:
				{
					server_cmd("kviz_prikaz 3") 
				}
				case 3:
				{
					server_cmd("kviz_prikaz 4") 
				}				
			}
			ColorChat(id, TEAM_COLOR,"^4[Quiz] ^1Changed are succesfuly changed")			
		}	
	}
	menu_destroy( menu )
	set_task(0.1, "kvizGlavniMenu", id, _, _, "a", 1)
	return PLUGIN_HANDLED	
}
 
public kvizMenu3( id, menu, item )
{
	if( item >= 0 ) 
	{
		new access, callback, actionString[ 2 ]		
		menu_item_getinfo( menu, item, access, actionString, charsmax( actionString ), _, _, callback )		
		
		new action = str_to_num( actionString )
		{
			switch( action )
			{
				case 0:
				{
					server_cmd("kviz_ucestalost 30")
				}
				case 1:
				{
					server_cmd("kviz_ucestalost 60")
				}
				case 2:
				{
					server_cmd("kviz_ucestalost 120") 
				}
				case 3:
				{
					server_cmd("kviz_ucestalost 180") 
				}
				case 4:
				{
					server_cmd("kviz_ucestalost 240") 
				}
				case 5:
				{
					server_cmd("kviz_ucestalost 300") 
				}
				case 6:
				{
					server_cmd("kviz_ucestalost 600")
				}
			}
			ColorChat(id, TEAM_COLOR,"^4[Quiz] ^1Changes are succesfuly changed")			
		}	
	}    
	menu_destroy( menu )
	set_task(0.1, "kvizGlavniMenu", id, _, _, "a", 1)
	return PLUGIN_HANDLED	
}
  
public kvizMenu4( id, menu, item )
{
	if( item >= 0 ) 
	{
		new access, callback, actionString[ 2 ]		
		menu_item_getinfo( menu, item, access, actionString, charsmax( actionString ), _, _, callback )		
		
		new action = str_to_num( actionString )
		{
			switch( action )
			{
				case 0:
				{
					server_cmd("kviz_vreme 15")
				}
				case 1:
				{
					server_cmd("kviz_vreme 20") 
				}
				case 2:
				{
					server_cmd("kviz_vreme 30") 
				}
				case 3:
				{
					server_cmd("kviz_vreme 40") 
				}
				case 4:
				{
					server_cmd("kviz_vreme 50") 
				}
				case 5:
				{
					server_cmd("kviz_vreme 60")
				}
			}
			ColorChat(id, TEAM_COLOR,"^4[Quiz] ^1Changes are succesfuly changed")			
		}	
	}
	menu_destroy( menu )
	set_task(0.1, "kvizGlavniMenu", id, _, _, "a", 1)
	return PLUGIN_HANDLED
}

public kvizMenu5( id, menu, item )
{
	if( item >= 0 ) 
	{
		new access, callback, actionString[ 2 ]		
		menu_item_getinfo( menu, item, access, actionString, charsmax( actionString ), _, _, callback )		
		
		new action = str_to_num( actionString )
		{
			switch( action )
			{
				case 0:
				{
					server_cmd("kviz_tezina 1")
				}
				case 1:
				{
					server_cmd("kviz_tezina 2") 
				}
				case 2:
				{
					server_cmd("kviz_tezina 3") 
				}
				case 3:
				{
					server_cmd("kviz_tezina 4") 
				}
				case 4:
				{
					server_cmd("kviz_tezina 5") 
				}
				case 5:
				{
					server_cmd("kviz_tezina 6")
				}
			}
			ColorChat(id, TEAM_COLOR,"^4[Quiz] ^1Changes are succesfuly changed")			
		}	
	}
	menu_destroy( menu )
	set_task(0.1, "kvizGlavniMenu", id, _, _, "a", 1)
	return PLUGIN_HANDLED	
}

public kvizMenu6( id, menu, item )
{
	if( item >= 0 ) 
	{
		new access, callback, actionString[ 2 ]		
		menu_item_getinfo( menu, item, access, actionString, charsmax( actionString ), _, _, callback )		
		
		new action = str_to_num( actionString )
		{
			switch( action )
			{
				case 0:
				{
					server_cmd("kviz_pokusaji 1")
				}
				case 1:
				{
					server_cmd("kviz_pokusaji 2") 
				}
				case 2:
				{
					server_cmd("kviz_pokusaji 3") 
				}
				case 3:
				{
					server_cmd("kviz_pokusaji 4") 
				}
				case 4:
				{
					server_cmd("kviz_pokusaji 5") 
				}
			}
			ColorChat(id, TEAM_COLOR,"^4[Quiz] ^1Changes are succesfuly changed")			
		}	
	}
	menu_destroy( menu )
	set_task(0.1, "kvizGlavniMenu", id, _, _, "a", 1)
	return PLUGIN_HANDLED
}

public kvizMenu7( id, menu, item )
{
	if( item >= 0 ) 
	{
		new access, callback, actionString[ 2 ]		
		menu_item_getinfo( menu, item, access, actionString, charsmax( actionString ), _, _, callback )		
		
		new action = str_to_num( actionString )
		{
			switch( action )
			{
				case 0:
				{
					server_cmd("kviz_muzika 1")
				}
				case 1:
				{
					server_cmd("kviz_muzika 2") 
				}
				case 2:
				{
					server_cmd("kviz_muzika 0") 
				}				
			}
			ColorChat(id, TEAM_COLOR,"^4[Quiz] ^1Changes are succesfuly changed")			
		}	
	}
	menu_destroy( menu )
	set_task(0.1, "kvizGlavniMenu", id, _, _, "a", 1)
	return PLUGIN_HANDLED
}

public kvizPristup(id)
	client_cmd(id, "spk %s", UrOS6)

public kvizReklama(id)
{	
	if(is_user_connected(id))
	{
		ColorChat(id, TEAM_COLOR, "^4[Quiz] ^1This server is using ^3%s v%s ^1for more informations ^3say /quiz", PLUGIN, VERZIJA)	
		set_task(600.0, "kvizReklama", id, _, _, "a", 1) 
	}
}

public kvizPrikaziMenu(id)
{
	formatex( kvizMenu, charsmax( kvizMenu ), "\rQuiz \yv2.1 \r- Menu")
	new menu = menu_create( kvizMenu, "kvizPlayerMenu")
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d See Rank")
	menu_additem( menu, kvizMenu, "0")
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d See Top15")
	menu_additem( menu, kvizMenu, "1")
	
	formatex( kvizMenu, charsmax( kvizMenu ), "\d Information of plugin")
	menu_additem( menu, kvizMenu, "2" )
		
	if( !(get_user_flags( id ) & PRISTUP ) )
	{
		formatex( kvizMenu, charsmax( kvizMenu ), "\r Admin Menu")
		menu_additem( menu, kvizMenu, "3")
	}		
	else
	{
		formatex( kvizMenu, charsmax( kvizMenu ), "\d Admin Menu")
		menu_additem( menu, kvizMenu, "3")
	}
	menu_display( id, menu )
}

public kvizPlayerMenu( id, menu, item )
{
	if( item >= 0 ) 
	{
	new access, callback, actionString[ 2 ]		
	menu_item_getinfo( menu, item, access, actionString, charsmax( actionString ), _, _, callback )		
		
	new action = str_to_num( actionString )
	{
		switch( action )
			{
			case 0:
				{
					kvizPrikaziRank(id)
					set_task(0.1, "kvizPrikaziMenu", id, _, _, "a", 1)
				}
			case 1:
				{
					kvizTop15(id) 
					set_task(0.1, "kvizPrikaziMenu", id, _, _, "a", 1)				
				}
			case 2:
				{
					kvizMotd(id)
					set_task(0.1, "kvizPrikaziMenu", id, _, _, "a", 1)				
				}
			case 3:
				{
					kvizGlavniMenu(id)		
				}	
			}
		}	
	}   
	menu_destroy( menu )
	return PLUGIN_HANDLED
}

public kvizPrikaziRank(id) 
	ColorChat(id, TEAM_COLOR,"^4[Kviz] ^1Resili ste kviz ^4%d ^1puta", kvizRank[id])

public kvizMotd(id)
{	
	static motd[1501], len
	
	len = format(motd, 1500,"<body bgcolor=#000000><font color=#87cefa><pre>")
	len += format(motd[len], 1500-len,"<center><img src=^"http://img62.**************/img62/2709/kvizzz.gif^"></center></img>")
	len += format(motd[len], 1500-len,"<center><h4><font color=^"red^"><B>%s - Version %s</B> </font></h4></center>", PLUGIN, VERZIJA)
	len += format(motd[len], 1500-len,"<center><h4><font color=^"blue^"><B>Plugin has created by %s</B> </font></h4></center>", AUTOR)
	len += format(motd[len], 1500-len,"<center><h4><font color=^"white^"><B>Kontakt e-mail %s</B> </font></h4></center>", KONTAKT)
	len += format(motd[len], 1500-len,"<center><font color=^"white^"> </font></center>")	
	len += format(motd[len], 1500-len,"<center><h4><font color=^"red^"><B>-----------------------</B> </font></h4></center>")
	len += format(motd[len], 1500-len,"<center><font color=^"white^">For all questions and answers</font></center>")
	len += format(motd[len], 1500-len,"<center><font color=^"white^">contact e mail</font></center>")	
	len += format(motd[len], 1500-len,"<center><h4><font color=^"red^"><B>-----------------------</B> </font></h4></center>")	
	
	show_motd(id, motd, "Quiz - Informations")
	
	return 0
}

public kvizUcitajRank( id ) 
{
	new valut = nvault_open("Kviz_rank")
	
	new authid[33]
	new vaultkey[64], vaultdata[64]
	
	get_user_authid(id, authid, 32)
	
	format(vaultkey, 63, "_KVIZ_RANK_%s_BODOVI_", authid)
	
	nvault_get(valut, vaultkey, vaultdata, 63)
	nvault_close(valut)
	
	return str_to_num(vaultdata)
}

public kvizSacuvajRank(id,Bodovi)
{
	new valut = nvault_open("Kviz_rank")
	
	if(valut == INVALID_HANDLE)
		set_fail_state("Error nValut Kviz_rank (invalid handle)")
	
	new name[33], authid[32]
	new vaultkey[64], vaultdata[64]
	
	get_user_authid(id, authid, 31)
	get_user_name(id, name, 32)
	
	format(vaultkey, 63, "_KVIZ_RANK_%s_BODOVI_", authid)
	format(vaultdata, 63, "%d_NICK_^"%s^"^n", Bodovi, name)
	
	nvault_set(valut, vaultkey, vaultdata)
	nvault_close(valut)
}

public kvizTop15(id)
{
	new i, count
	static sort[33][2], maxPlayers
	
	if(!maxPlayers) maxPlayers = get_maxplayers()
	
 	for(i=1;i<=maxPlayers;i++)
	{
	sort[count][0] = i
	sort[count][1] = kvizRank[i]
	count++
	}
	
	SortCustom2D(sort,count,"kvizStats")	
	
	new buffer[2048] 
	new line[256]	 
	
	new len = format( buffer, 2047, "<body bgcolor=#000000 style=^"color:#ffffff^"><pre><Center><img src=^"http://img62.**************/img62/2709/kvizzz.gif^"><table width=100%% cellpadding=1 cellspacing=1 border=0>")         
	len += format( buffer[len], 2047-len, "<tr style=^"color:#8FABFF^"><th width=5%%>#<th width=60%%>Nick<th width=35%%>Bodovi")  
	
	new players[32], num
	get_players(players, num)
	
	new b = clamp(count,0,15)
	
	new name[42], player
	
	for(new a = 0; a < b; a++)
	{
		player = sort[a][0]
		
		get_user_name(player, name, 41)	
		
		while (containi(name, "<") != -1)
			replace(name, 63, "<", "<")
		while (containi(name, ">") != -1)
			replace(name, 63, ">", ">")
		
		format(line, 255, "<tr %s><td>%d<td style=^"color:%s^">%s<td>%d", ((a%2)==0) ? " bgcolor=#333333" : " bgcolor=#262626", a+1,((a%2)==0) ? "#9CFF7A" : "red", name, sort[a][1])   
		len += format( buffer[len], 2047-len, line )
	}
	
	format(line, 255, "</table><font color=^"red^">(Statistic of online players)</body></pre>" )
	len += format( buffer[len], 2047-len, line )
	show_motd(id, buffer, "Kviz - Top 15")
	
	return PLUGIN_CONTINUE
}

public kvizStats(elem1[],elem2[])
{
	if(elem1[1] > elem2[1]) return -1
	else if(elem1[1] < elem2[1]) return 1
		
	return 0
}
Ognjen7 is offline