Senior Member
|
03-08-2012
, 12:48
[REQ] Deathrun plugin edit
|
#1
|
Hi!
Here is the plugin:
PHP Code:
#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 /kviz", "kvizPrikaziMenu")
register_clcmd("say_team /kviz", "kvizPrikaziMenu")
register_clcmd("say /kvizmenu", "kvizGlavniMenu")
register_clcmd("say_team /kvizmenu", "kvizGlavniMenu")
register_clcmd("say /kviztop15","kvizTop15")
register_clcmd("say_team /kviztop15","kvizTop15")
register_clcmd("say /kvizrank","kvizPrikaziRank")
register_clcmd("say_team /kvizrank","kvizPrikaziRank")
register_clcmd("say /kvizinfo","kvizMotd")
register_clcmd("say_team /kvizinfo","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 ^1je prvi tacno odgovorio na pitanje i sa rezultatom ^4(%i) ^1osvaja ^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[Kviz] ^1Cestitamo vas odgovor ^4(%i) ^1je tacan, osvojili ste ^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: Ova ne vidljiva poruka je ovde da bi se uklonila jedna greska ;)")
}
else
{
kvizMaxPokusaji[id]--
new mnozina = kvizMaxPokusaji[id] == 1
kvizGramatika = mnozina
ColorChat(id, TEAM_COLOR, "^4[Kviz] ^1Vas odgovor ^4(%i) ^1je netacan, mozete pokusati jos ^4%i ^1put%s", Odgovor, kvizMaxPokusaji[id], (kvizGramatika & mnozina) ? "" : "a")
}
}
else
{
ColorChat(id, GREEN, "^4[Kviz] ^1Nemate vise pokusaja u ovom kolu, strpite se malo ^4:)")
}
}
}
public kvizIstekloVreme()
{
if(!kviz)
{
kviz = true
client_cmd(0, "speak %s", UrOS3)
ColorChat(0, TEAM_COLOR, "^4[Kviz] ^1Mnogo ste spori pocnite da ucite matematiku, resenje je ^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, " Pitanje za %i$^n", get_pcvar_num(kvizNagrada))
client_print(0, print_console, " Koliko je: %s^n", Pitanje)
client_print(0, print_console, " Za informacije o pluginu say /kviz")
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[Kviz] ^3%s", Pitanje)
}
else if ( get_pcvar_num(kvizPrikaz) == 2 )
{
for(new i;i<5;i++)
ColorChat(0, TEAM_COLOR,"^4[Kviz] ^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[Kviz] ^1Nemate pritup ovoj komandi!")
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 ), "\rKviz \yv2.1 \r- Admin Menu")
new menu = menu_create( kvizMenu, "kvizAdminMenu" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Nagrada \r[\d%i$\r]", get_pcvar_num(kvizNagrada))
menu_additem( menu, kvizMenu, "0" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Prikaz \r[\d%i\r]", get_pcvar_num(kvizPrikaz))
menu_additem( menu, kvizMenu, "1" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Ucestalost \r[\d%d\d min %d sek\r]", minuti, sekunde)
menu_additem( menu, kvizMenu, "2" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Vreme \r[\d%i\d sek\r]", get_pcvar_num(kvizVreme))
menu_additem( menu, kvizMenu, "3" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Tezina \r[\d%i\r]", get_pcvar_num(kvizTezina))
menu_additem( menu, kvizMenu, "4" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Broj Pokusaja \r[\d%i\r]", get_pcvar_num(kvizPokusaji))
menu_additem( menu, kvizMenu, "5" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Muzika \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 ), "\rKviz \yv2.1 \r- Admin Menu")
new menu = menu_create( kvizMenu, "kvizMenu1" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Nagrada 500$")
menu_additem( menu, kvizMenu, "0" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Nagrada 1000$")
menu_additem( menu, kvizMenu, "1" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Nagrada 1500$")
menu_additem( menu, kvizMenu, "2" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Nagrada 2000$")
menu_additem( menu, kvizMenu, "3" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Nagrada 3000$")
menu_additem( menu, kvizMenu, "4" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Nagrada 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 Pitanje izlazi u chat-u")
menu_additem( menu, kvizMenu, "0")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Pitanje izlazi u chat-u vise puta")
menu_additem( menu, kvizMenu, "1")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Pitanje zelene boje ispisuje u hud-u")
menu_additem( menu, kvizMenu, "2")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Pitanje plave boje ispisuje u hud-u")
menu_additem( menu, kvizMenu, "3")
menu_display( id, menu )
}
case 2:
{
formatex( kvizMenu, charsmax( kvizMenu ), "\rKviz \yv2.1 \r- Admin Menu")
new menu = menu_create( kvizMenu, "kvizMenu3")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Da pitanje izlazi na 30 sekundi")
menu_additem( menu, kvizMenu, "0")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Da pitanje izlazi na 1 minut")
menu_additem( menu, kvizMenu, "1")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Da pitanje izlazi na 2 minuta")
menu_additem( menu, kvizMenu, "2")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Da pitanje izlazi na 3 minuta")
menu_additem( menu, kvizMenu, "3")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Da pitanje izlazi na 4 minuta")
menu_additem( menu, kvizMenu, "4")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Da pitanje izlazi na 5 minuta")
menu_additem( menu, kvizMenu, "5")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Da pitanje izlazi na 10 minuta")
menu_additem( menu, kvizMenu, "6")
menu_display( id, menu )
}
case 3:
{
formatex( kvizMenu, charsmax( kvizMenu ), "\rKviz \yv2.1 \r- Admin Menu")
new menu = menu_create( kvizMenu, "kvizMenu4")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Vreme za odgovor 15 sekundi")
menu_additem( menu, kvizMenu, "0")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Vreme za odgovor 20 sekundi")
menu_additem( menu, kvizMenu, "1")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Vreme za odgovor 30 sekundi")
menu_additem( menu, kvizMenu, "2")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Vreme za odgovor 40 sekundi")
menu_additem( menu, kvizMenu, "3")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Vreme za odgovor 50 sekundi")
menu_additem( menu, kvizMenu, "4")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Vreme za odgovor 60 sekundi")
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 Tezina pitanja 1 \r(\dmnogo lako\r)")
menu_additem( menu, kvizMenu, "0")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Tezina pitanja 2 \r(\dsrednje lakse\r)")
menu_additem( menu, kvizMenu, "1")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Tezina pitanja 3 \r(\dsredjnje\r)")
menu_additem( menu, kvizMenu, "2")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Tezina pitanja 4 \r(\dsrednje tesko\r)")
menu_additem( menu, kvizMenu, "3")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Tezina pitanja 5 \r(\dtesko\r)")
menu_additem( menu, kvizMenu, "4")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Tezina pitanja 6 \r(\dmnogo tesko\r)")
menu_additem( menu, kvizMenu, "5")
menu_display( id, menu )
}
case 5:
{
formatex( kvizMenu, charsmax( kvizMenu ), "\rKviz \yv2.1 \r- Admin Menu")
new menu = menu_create( kvizMenu, "kvizMenu6")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Jedan pokusaj")
menu_additem( menu, kvizMenu, "0")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Dva pokusaja")
menu_additem( menu, kvizMenu, "1")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Tri pokusaja")
menu_additem( menu, kvizMenu, "2")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Cetiri pokusaja")
menu_additem( menu, kvizMenu, "3" )
formatex( kvizMenu, charsmax( kvizMenu ), "\d Pet pokusaja")
menu_additem( menu, kvizMenu, "4")
menu_display( id, menu )
}
case 6:
{
formatex( kvizMenu, charsmax( kvizMenu ), "\rKviz \yv2.1 \r- Admin Menu")
new menu = menu_create( kvizMenu, "kvizMenu7")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Melodija 1 \r(\dkraca\r)")
menu_additem( menu, kvizMenu, "0")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Melodija 2 \r(\dduza\r)")
menu_additem( menu, kvizMenu, "1")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Iskljuci Muziku")
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[Kviz] ^1Promene su uspesno sacuvane")
}
}
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[Kviz] ^1Promene su uspesno sacuvane")
}
}
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[Kviz] ^1Promene su uspesno sacuvane")
}
}
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[Kviz] ^1Promene su uspesno sacuvane")
}
}
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[Kviz] ^1Promene su uspesno sacuvane")
}
}
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[Kviz] ^1Promene su uspesno sacuvane")
}
}
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[Kviz] ^1Promene su uspesno sacuvane")
}
}
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[Kviz] ^1Ovaj server koristi ^3%s v%s ^1za informacije o pluginu ^3say /kviz", PLUGIN, VERZIJA)
set_task(600.0, "kvizReklama", id, _, _, "a", 1)
}
}
public kvizPrikaziMenu(id)
{
formatex( kvizMenu, charsmax( kvizMenu ), "\rKviz \yv2.1 \r- Menu")
new menu = menu_create( kvizMenu, "kvizPlayerMenu")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Vidi Rank")
menu_additem( menu, kvizMenu, "0")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Vidi Top15")
menu_additem( menu, kvizMenu, "1")
formatex( kvizMenu, charsmax( kvizMenu ), "\d Informacije o pluginu")
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 - Verzija %s</B> </font></h4></center>", PLUGIN, VERZIJA)
len += format(motd[len], 1500-len,"<center><h4><font color=^"blue^"><B>Plugin napravio %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^">Za sva pitanja i informacije</font></center>")
len += format(motd[len], 1500-len,"<center><font color=^"white^">pisite na gore navdeni e-mail</font></center>")
len += format(motd[len], 1500-len,"<center><h4><font color=^"red^"><B>-----------------------</B> </font></h4></center>")
show_motd(id, motd, "Kviz - Informacije")
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("Greska 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^">(Statistika trenutno pristutnih igrača)</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
}
If you can extract from this plugin the top15 by points and the maths exersises
|
|